Architettura di von Neumann

Da Wikipedia, l'enciclopedia libera.

L'architettura di von Neumann è una tipologia di architettura hardware per computer digitali programmabili a programma memorizzato la quale condivide i dati del programma e le istruzioni del programma nello stesso spazio di memoria. Per tale caratteristica l'architettura di von Neumann si contrappone 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. E se si pensa che è stata sviluppata più di settant'anni fa (negli anni quaranta del XX secolo), si può comprendere quanto erano notevoli anche le capacità di chi l'ha concepita. Primi fra tutti 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).

Terminologia[modifica | modifica wikitesto]

Un computer basato sull'architettura di von Neumann è detto "macchina di von Neumann".

Storia[modifica | modifica wikitesto]

L'architettura di von Neumann prende nome dal matematico e informatico John von Neumann il quale inizialmente ha contribuito a svilupparla per l'EDVAC e successivamente l'ha adottata per la IAS machine. L'EDVAC è un computer elettronico costruito dalla Moore School of Electrical Engineering (una ex scuola universitaria dell'Università della Pennsylvania)[1] su commissione dell'Ordnance Department (un ex dipartimento dell'esercito degli Stati Uniti d'America).[2] 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 del calibro di Albert Einstein).

John von Neumann non è stato il principale progettista dell'EDVAC, ma quello che ha descritto l'architettura dell'EDVAC nella relazione First draft of a report on the EDVAC datata 30 giugno 1945. In seguito il tenente 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:

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.

Descrizione[modifica | modifica wikitesto]

Architettura di von Neumann
Schema dell'architettura di von Neumann

Lo schema si basa su cinque componenti fondamentali:

  1. CPU (o unità di lavoro) che si divide a sua volta in
    1. Unità operativa, nella quale uno dei sottosistemi più rilevanti è l'unità aritmetica e logica (o ALU)
    2. Unità di controllo
  2. Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, Random Access Memory)
  3. Unità di input, tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati
  4. Unità di output, necessaria affinché i dati elaborati possano essere restituiti all'operatore
  5. Bus, un canale che collega tutti i componenti fra loro

All'interno dell'ALU è presente un registro detto 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: 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 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 memorie di massa sono considerate dispositivi di I/O.
Il motivo di ciò è innanzitutto storico, in quanto negli 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 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 o da hard-disk.

Note[modifica | modifica wikitesto]

  1. ^ 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.
  2. ^ L'Ordnance Department è diventato l'Ordnance Corps.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica