Computer a programma memorizzato

Da Wikipedia, l'enciclopedia libera.

Il computer a programma memorizzato è una tipologia particolare di computer la quale si contraddistingue per funzionare in base ad un programma memorizzato su un supporto di memoria. In quanto tale, il computer a programma memorizzato si contrappone al computer a programma cablato.

Il computer a programma memorizzato è in grado di offrire versalità e velocità di programmazione neanche comparabili con quelle offerte dal computer a programma cablato. Per tale motivo attualmente il computer programmabile è tipicamente implementato come computer a programma memorizzato. In particolare il computer a programma memorizzato nella memoria centrale ha rappresentato un passo fondamentale nella storia evolutiva del computer (durata secoli) che ha portato al moderno computer programmabile. Inizialmente infatti il programma veniva memorizzato nella memoria di massa che, come noto, è più lenta della memoria centrale.

Etimologia[modifica | modifica wikitesto]

L'espressione "computer a programma memorizzato" nasce come traduzione letterale dell'espressione originale inglese "stored-program computer" utilizzata nel First draft of a report on the EDVAC[1] di John von Neumann.

Terminologia[modifica | modifica wikitesto]

Se non si conosce il significato dell'espressione "computer a programma memorizzato", essa può trarre in inganno perché può far pensare che anche un computer che memorizza il programma nella memoria di massa (come ad esempio fanno lo Z3 o l'Harvard Mark I) sia un computer a programma memorizzato. L'espressione "computer a programma memorizzato" viene invece utillizata in riferimento alla memoria centrale. Tale utilizzo ha motivazioni storiche: fu John von Neumann ad utilizzarla in First draft of a report on the EDVAC con il significato particolare che gli attribuiamo oggi. E siccome First draft of a report on the EDVAC è stato il testo di riferimento per la progettazione della prima generazione di computer a programma memorizzato, l'espressione "computer a programma memorizzato" si è diffusa con il significato particolare che gli ha attribuito John von Neumann.

Descrizione[modifica | modifica wikitesto]

Un computer a programma memorizzato può essere sia un computer programmabile che un computer non programmabile. In caso di computer programmabile, il programma può essere memorizzato sul supporto di memoria attraverso il computer stesso (e in tal caso il supporto di memoria può essere sia un supporto removibile che un supporto non removibile) oppure può essere memorizzato sul supporto di memoria non attraverso il computer stesso (e in tal caso il supporto di memoria è sempre un supporto removibile). In caso di computer non programmabile invece, il programma non può essere memorizzato sul supporto di memoria attraverso il computer stesso e il supporto di memoria è sempre un supporto non removibile.

Funzionando in base ad un programma memorizzato su supporto di memoria, il processore del computer ha sempre un certo grado di astrazione e una determinata elaborazione dati è data dal programma.

Storia[modifica | modifica wikitesto]

Prima del computer a programma memorizzato[modifica | modifica wikitesto]

Prima del computer a programma memorizzato venivano memorizzati in memoria centrale esclusivamente i dati del programma e i risultati dell'elaborazione. Il programma invece era hardware (nei computer a programma cablato) oppure software ma memorizzato nella memoria di massa.

Nascita del computer a programma memorizzato[modifica | modifica wikitesto]

Con l'avvento del computer elettronico digitale fu subito chiaro che memorizzare anche il programma in memoria centrale sarebbe stata una tappa obbligata in quanto, in caso di programma software memorizzato nella memora di massa e ancora di più in caso di programma hardware, la velocità di calcolo permessa dalla tecnologia elettronica sarebbe stata completamente vanificata dai tempi di programmazione del computer.[2] Il computer elettronico digitale programmabile che non memorizza il programma in memoria centrale rappresenta infatti, nella storia del computer, solo una brevissima parentesi: dopo il Colossus Mark I del 1943, il Colossus Mark II del 1944 e l'ENIAC del 1946,[3] viene realizzato nel 1948 lo Small-Scale Experimental Machine, il primo computer elettronico a programma memorizzato della storia. A partire dal 1948 il computer a programma memorizzato si diffonde rapidamente diventando in breve tempo la norma per il computer programmabile.

La realizzazione pratica del computer elettronico a programma memorizzato è riconosciuta ai progettisti dell'EDVAC[4] che l'hanno resa di dominio pubblico con il documento First draft of a report on the EDVAC datato 30 giugno 1945. Il concetto teorico del computer a programma memorizzato può essere invece fatto risalire ad Alan Turing (il "padre" dell'informatica moderna), in particolare alla Macchina di Turing universale. Essa è stata descritta da Alan Turing nella pubblicazione scientifica del 1936 On computable numbers, with an application to the Entscheidungsproblem. Pubblicazione scientifica a cui si sono ispirati i progettisti dell'EDVAC.

Anche Konrad Zuse (il "padre" del primo computer programmabile della storia: lo Z1), in una richiesta di brevetto del 1936 (respinta), menziona concettualmente il computer a programma memorizzato.

Primi computer a programma memorizzato nella memoria centrale[modifica | modifica wikitesto]

Di seguito sono elencati i primi cinque computer della storia a programma memorizzato nella memoria centrale:

L'IBM Selective Sequence Electronic Calculator è il primo computer della storia a programma memorizzato nella memoria centrale. Ma non è un computer completamente elettronico. È un computer ibrido elettromeccanico/elettronico. Gli altri quattro computer sono invece computer elettronici.

Come computer a programma memorizzato l'Electronic Numerical Integrator and Computer è il più limitato di tutti perché è l'unico a memorizzare il programma in una memoria ROM (memoria a sola lettura). Gli altri computer invece memorizzano il programma in una memoria a lettura e scrittura. Questa limitazione fa dell'Electronic Numerical Integrator and Computer un computer a programma memorizzato non programmabile (è invece un computer programmabile come comuter a programma cablato).

Note[modifica | modifica wikitesto]

  1. ^ "First draft of a report on the EDVAC" è un titolo inglese che tradotto in italiano significa "prima bozza di una relazione sull'EDVAC".
  2. ^ In caso di programma hardware infatti la programmazione del computer può comportare, a seconda della complessità del computer, anche molte ore in quanto è necessario modificare l'hardware del computer. In caso di programma software memorizzato nella memoria di massa, all'epoca la memoria di massa era rappresentata dalla scheda perforata e dal nastro perforato, supporti di memoria che certamente non possono essere letti con la velocità con cui i segnali elettrici viaggiano all'interno dei circuiti elettronici.
  3. ^ Il Colossus Mark I, il Colossus Mark II e l'ENIAC sono rispettivamente il primo, secondo e terzo computer elettronico digitale programmabile della storia. Tutti e tre sono computer a programma cablato (l'ENIAC rimane un computer a programma cablato fino al settembre 1948 quando diventa un computer a programma memorizzato).
  4. ^ L'EDVAC comunque non è stato il primo computer elettronico a programma memorizzato della storia. Per vari problemi l'EDVAC divenne operativo solo nel 1951. Quindi altri computer elettronici a programma memorizzato furono operativi prima dell'EDVAC.
  5. ^ L'Electronic Numerical Integrator and Computer è operativo a partire dal luglio 1946. Ma come computer a programma memorizzato è operativo solo a partire dal settembre 1948.

Voci correlate[modifica | modifica wikitesto]


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