Computer a programma memorizzato: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
←Nuova pagina: {{s|informatica}} Il '''computer a programma memorizzato''' è una tipologia di computer programmabile la quale si contraddistingue per memorizzare il [[Programma (... |
riscrivo sezione riducendo ripetizioni |
||
(30 versioni intermedie di 19 utenti non mostrate) | |||
Riga 1:
{{F|computer|data=febbraio 2012}}
{{s|informatica}}▼
Il '''computer a programma memorizzato''' è una tipologia particolare di [[computer]]
È in grado di offrire versalità e velocità di [[Programmazione (informatica)|programmazione]] neanche comparabili con quelle offerte dal computer a programma cablato e per tale motivo attualmente il computer programmabile è tipicamente implementato proprio 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.
== Terminologia ==
L'espressione nasce invece come traduzione letterale dell'originale [[lingua inglese|inglese]] ''stored-program computer'', coniata da [[John von Neumann]] e usata per la prima volta in ''[[First draft of a report on the EDVAC]]'',<ref>"First draft of a report on the EDVAC" è un titolo [[Lingua inglese|inglese]] che tradotto in italiano significa "prima bozza di una relazione sull'EDVAC".</ref> e siccome tale testo è stato il riferimento per la progettazione della prima generazione di questa tipologia di computer, l'espressione si è diffusa, e permane tutt'oggi, con il significato particolare che gli attribuì von Neumann.
== Descrizione ==
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 ==
La realizzazione pratica del computer a programma memorizzato è riconosciuta ai progettisti dell'[[EDVAC]], i quali 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 nellla pubblicazione scientifica del [[1936]] ''[[On computable numbers, with an application to the Entscheidungsproblem]]''. I progettisti dell'EDVAC lessero tale pubblicazione. Anche [[Konrad Zuse]] (il "padre" del primo computer programmabile: lo [[Z1 (computer)|Z1]]), in una richiesta di brevetto del [[1936]] (respinta), menziona concettualmente il computer a programma memorizzato. ▼
Prima del computer a programma memorizzato venivano memorizzati in [[memoria centrale]] esclusivamente i [[dati]] del programma e i risultati dell'[[Elaborazione dati|elaborazione]]. Il programma invece era [[hardware]] (nei [[computer a programma cablato]]) oppure [[software]] ma memorizzato nella [[memoria di massa]].
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 memoria 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.<ref>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]].</ref> 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]],<ref>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).</ref> 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]]
▲== Primi computer a programma memorizzato ==
▲Di seguito sono elencati i primi computer a programma memorizzato della storia:
Anche [[Konrad Zuse]] (il "padre" del primo computer programmabile della storia: lo [[Z1 (computer)|Z1]]), in una richiesta di brevetto del [[1936]] (respinta), menziona concettualmente il computer a programma memorizzato.
== Primi computer a programma memorizzato nella memoria centrale ==
Di seguito sono elencati i primi cinque computer della storia a programma memorizzato nella memoria centrale:
* [[IBM Selective Sequence Electronic Calculator]] (costruito negli [[Stati Uniti]]; operativo a partire dal gennaio [[1948]]);
*[[Small-Scale Experimental Machine]] (costruito nel [[Regno Unito]]; operativo a partire dal giugno [[1948]]);
*[[Electronic Numerical Integrator and Computer]] (costruito negli Stati Uniti; operativo a partire dal settembre [[1948]]);<ref>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]].</ref>
*[[Manchester 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]]).
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 (informatica)|memoria]] [[Read Only Memory|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 computer a programma cablato).
== Note ==
Riga 25 ⟶ 44:
*[[Computer a programma cablato]]
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Portale|informatica}}
[[Categoria:Terminologia informatica]]▼
▲[[Categoria:Terminologia informatica]]
|