Architettura di von Neumann: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di ~2025-28924-18 (discussione), riportata alla versione precedente di YogSothoth
Etichetta: Rollback
 
(154 versioni intermedie di 94 utenti non mostrate)
Riga 1:
{{F|computer|maggio 2012}}
 
L{{'}}'''architettura di vonVon Neumann''' è una tipologia di [[architettura hardware|architettura ''hardware'']] per ''[[computer]]'' [[Digitale (informatica)|digitali]] programmabili [[Computer a programma memorizzato|a programma memorizzato]] la quale condivide i dati del [[Programma (informatica)|programma]] e le [[Istruzione (informatica)|istruzioni]] del programma nello stesso spazio di [[memoria (informatica)|memoria]]. Per tale caratteristica l'architettura di [[John von Neumann|von Neumann]] si, contrapponecontrapponendosi all'[[architettura Harvard]] nella quale invece i dati del programma e le istruzioni del programma sono memorizzati in spazi di memoria distinti.
 
L'importanza dell'architettura di von Neumann è notevole in quanto è l'architettura hardware su cui è basata la maggior parte dei moderni computer programmabili. Tra chi ha concepito questa architettura vi sono [[J. Presper Eckert]] e [[John Mauchly]], principali progettisti anche dell'[[ENIAC]] (primo computer elettronico ''[[general purpose]]'' della storia e primo computer elettronico [[Turing completo]] della storia).
 
Un computer basato sull'architettura di von Neumann è detto "modello di von Neumann" oppure come la chiamò Von Neumann "stored-program computer".
 
== Storia ==
L'architettura di vonVon Neumann prende nome dal [[matematico]] e [[informatico]] [[John von Neumann|John Von Neumann]], il quale inizialmente ha contribuito a svilupparla per l'[[EDVAC]] e successivamente l'ha adottatariadattata per la [[IAS machine]]. L'EDVAC è un ''computer'' [[elettronica|elettronico]] costruito dalla [[Moore School of Electrical Engineering]] (una ex scuola universitaria dell'[[Università della Pennsylvania]])<ref name=":0">La Moore School of Electrical Engineering è stata unita ad altri dipartimenti dell'Università della Pennsylvania. L'attuale discendente della Moore School of Electrical Engineering è la [[School of Engineering and Applied Science]].</ref> su commissione dell'[[Ordnance Department]] (un ex dipartimento dell'[[esercito degli Stati Uniti d'America]]).<ref name=":1">L'Ordnance Department è diventato l'[[Ordnance Corps]].</ref> Anche la IAS machine è un computer elettronico, ma è stato costruito dall'[[Institute for Advanced Study]] (un istituto di ricerca degli [[Stati Uniti d'America]], situato a [[Princeton]] nel [[New Jersey]], dove lavorarono scienziati come [[Albert Einstein]]).
 
John von Neumann non è stato il principale progettista dell'EDVAC, mabensì quellocolui che ha descritto l'architettura dell'EDVAC nella relazione ''[[First draft of a report on the EDVAC]]'' datata 30 giugno [[1945]]. In seguito il matematico [[Herman Goldstine]], supervisore alla Moore School of Electrical Engineering per l'Ordnance Department, ha fatto distribuire copie di tale relazione in molte università degli Stati Uniti d'America. L'architettura hardware dell'EDVAC è così diventata di dominio pubblico e ''First draft of a report on the EDVAC'' è diventata il testo di riferimento per una nuova generazione di ''computer'' basati sull'architettura ''hardware'' dell'EDVAC. Di conseguenza tale architettura è diventata nota come "architettura di von Neumann" suscitando malcontento tra gli altri progettisti dell'EDVAC.
 
Sebbene l'architettura di von Neumann sia stata sviluppata per l'EDVAC, non è stato l'EDVAC il primo ''computer'' operativo della storia basato sull'architettura di von Neumann. Prima dell'EDVAC sono diventati operativi i seguenti computer basati sull'architettura di von Neumann:
* [[Small-Scale Experimental Machine]] (costruito nel [[Regno Unito]]; operativo a partire dal giugno [[1948]]);
* [[Manchester Mark 1|Ferranti Mark 1]] (costruito nel Regno Unito; operativo a partire dall'aprile [[1949]]);
* [[Electronic Delay Storage Automatic Calculator]] (costruito nel Regno Unito; operativo a partire dal maggio [[1949]]);
* [[Binary Automatic Computer]] (costruito negli [[Stati Uniti d'America]]; operativo a partire dal settembre [[1949]]);
* [[Council for Scientific and Industrial Research Automatic Computer]] (costruito in [[Australia]]; operativo a partire dal novembre [[1949]]).
 
L'EDVAC è stato consegnato al Ballistics Research Laboratory nell'agosto [[1949]] ma è diventato operativo solo nel [[1951]] a causa di alcuni malfunzionamenti scoperti solo in seguito.
 
Attraverso i decenni degli anni 1960 e 1970 i ''computer'' in generale sono diventati più piccoli e veloci, cosa che ha portato ad alcune evoluzioni nella loro architettura. Ad esempio, la memoria mappata l'I / O mappato in memoria consente ai dispositivi di ingresso e di uscita di essere trattati allo stesso modo della memoria. A volte è utilizzato un ''bus'' di sistema unico per fornire un sistema modulare con costi inferiori. Questo è talvolta chiamato una "razionalizzazione" dell'architettura. Nei decenni successivi, microcontrollori semplici hanno a volte omesso delle caratteristiche nei modelli per ridurre i costi e le dimensioni. Ai computers''computer'' più grandi sono state aggiunte funzioni per prestazioni più elevate.
 
==Caratteristiche Descrizione ==
[[File:Von Neumann.gif|thumb|upright=1.5|Architettura di von Neumann]]
[[File:Computer system bus.svg|thumb|upright=1.3|Schema dell'architettura System bus, evoluzione di quella di von Neumann]]
Lo schema si basa su sei componenti fondamentali:
# [[CPU]] (o unità di lavoro) che si divide a sua volta in [[unità aritmetica e logica]] (o [[Unità aritmetica e logica|ALU]]) e [[unità di controllo (informatica)|Unità di controllo]];
#Unità di [[Memoria (informatica)|memoria]], intesa come memoria di lavoro o memoria principale ([[RAM]], Random Access Memory);
#Unità di [[input]], tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati;
#Unità di [[output]], necessaria affinché i dati elaborati possano essere restituiti all'operatore;
#[[Bus (informatica)|Bus]], un canale che collega tutti i componenti fra loro.
 
Lo schema si basa su seicinque componenti fondamentali:
All'interno dell'ALU è presente un registro detto [[accumulatore (informatica)|accumulatore]], che fa da ponte tra [[input]] e [[output]] grazie a una speciale istruzione che carica una parola dalla memoria all'accumulatore e viceversa.
# [[CPU]]|'''Unità (o unitàcentrale di lavoroelaborazione (CPU)''']], che si divide a sua volta in [[unità aritmetica e logica]] (o [[Unità aritmetica e logica|ALU]] o unità di calcolo) e [[unità di controllo (informatica)|Unitàunità di controllo]];
#'''Unità di [[Memoria (informatica)|memoria]]''', intesa come memoria di lavoro o memoria principale ([[RAM]], Random Access Memory);
#'''Unità di ''[[periferica di input|input]]''''', tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati;
#'''Unità di ''[[periferica di output|output]]''''', necessaria affinché i dati elaborati possano essere restituiti all'operatore;
#[[Bus (informatica)|'''Bus''']], un canale che collega tutti i componenti fra loro.
 
Queste cinque unità fondamentali vengono raggruppate a loro volta in quattro categorie:
È importante sottolineare che tale architettura, a differenza di altre, si distingue per la caratteristica di immagazzinare all'interno dell'unità di memoria, sia i dati dei programmi in esecuzione che il codice di questi ultimi.
# Sottosistema di interfaccia, che fornisce il collegamento verso le periferiche del calcolatore permettendo lo scambio di informazioni tra computer e mondo esterno;
# Sottosistema di memorizzazione, che memorizza e fornisce l'accesso ai dati e programmi da eseguire, diventando un passaggio fondamentale per le informazioni in ingresso e uscita;
# Sottosistema di elaborazione, che esegue le istruzioni per l'elaborazione dei dati e svolge anche funzione di controllo;
# Bus che svolgono funzioni di trasferimento dati e informazioni tra le varie componenti del ''computer''.
 
All'interno dell'ALU è presente un registro detto [[accumulatore (informatica)|accumulatore]], che fa da ponte tra [[''input]]'' e [[''output]]'' grazie a una speciale istruzione che carica una parola dalla memoria all'accumulatore e viceversa. È importante sottolineare che tale architettura, a differenza di altre, si distingue per la caratteristica di immagazzinare all'interno dell'unità di memoria, sia i dati dei programmi in esecuzione che il codice di questi ultimi.
Bisogna comunque precisare che questa è una schematizzazione molto sintetica, sebbene molto potente e espressiva: basti pensare che i moderni computer di uso comune sono progettati secondo l'architettura Von Neumann. Difatti essa regola non solo gli insiemi, ma l'intera architettura logica interna degli stessi, ovvero la disposizione delle [[Porta logica|porte logiche]], perlomeno per quanto riguarda la parte elementare, sulla quale si sono sviluppate le successive progressioni.
 
Bisogna comunque precisare che questa è una schematizzazione molto sintetica, sebbene molto potente e espressiva: basti pensare che i moderni ''computer'' di uso comune sono progettati secondo l'architettura Vonvon Neumann. Difatti essa regola non solo gli insiemi, ma l'intera architettura logica interna degli stessi, ovvero la disposizione delle [[Porta logica|porte logiche]], perlomeno per quanto riguarda la parte elementare, sulla quale si sono sviluppate le successive progressioni.
Inoltre, quando si parla di ''unità di memoria'' si intende la [[memoria primaria]], mentre le [[memoria di massa|memorie di massa]] sono considerate dispositivi di I/O.
 
Inoltre, quando si parla di ''unità di memoria'' si intende la [[memoria primaria]], mentre le [[memoria di massa|memorie di massa]] sono considerate dispositivi di I/O. Il motivo di ciò è innanzitutto storico, in quanto negli [[anni 1940|anni quaranta]], epoca a cui risale questa architettura, la tecnologia non lasciava neanche presupporre dispositivi come ''[[hard disk]]'', [[CD-ROM]], [[DVD-ROM]] o anche solo [[nastro magnetico|nastri magnetici]], ma anche tecnico, se si considera che in effetti i dati da elaborare devono comunque essere caricati in [[RAM]], siano essi provenienti da [[tastiera (informatica)|tastiera]] o da ''hard-disk''.
 
== Note ==
Riga 47 ⟶ 46:
 
== Voci correlate ==
* [[Architettura dei calcolatori]]
* [[Architettura Harvard]]
* [[Ciclo del processore]]
* [[Architettura di un processore basato su registri generali]]
* [[Ciclo del processore]]
* [[Data path]]
* [[Macchina RASP]]
 
== Altri progetti ==
{{interprogetto|preposizione=sull'}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|1url=http://home.gna.org/vov/|2titolo=Emulatore macchina di von Neumann|lingua=en|=|accesso=15 febbraio 2008|urlarchivio=https://web.archive.org/web/20080219131555/http://home.gna.org/vov/#|dataarchivio=19 febbraio 2008|urlmorto=sì}}
* {{en}} [httphttps://sourceforge.net/projects/johnnysimulator/ JOHNNY] Emulatore macchina di von Neumann particolarmente per l'insegnamento (Open Source)
 
{{portale|informatica}}