Computer a programma memorizzato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
piccola modifica
riscrivo sezione riducendo ripetizioni
 
(24 versioni intermedie di 16 utenti non mostrate)
Riga 1:
{{F|argomento=informaticacomputer|data=febbraio 2012}}
Il '''computer a programma memorizzato''' è una tipologia particolare di [[computer]] programmabile la quale si contraddistingue per memorizzarefunzionare ilin base ad un [[Programma (informatica)|programma]] nellamemorizzato su un [[supporto di memoria]], contrapponendosi al [[computer a programma centralecablato]].
 
È 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.
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 cablato (nei [[computer a programma cablato]]) oppure 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 memorizzato nella memora di massa e ancora di più in caso di programma cablato, la velocità di calcolo permessa dalla tecnologia [[elettronica]] sarebbe stata completamente vanificata dalla programmazione del computer.<ref>In caso di programma cablato infatti la programmazione del computer può comportare, a seconda della complessità del computer, anche molte ore in quanto è necessario cablare manualmente il computer. In caso di programma memorizzato nella memoria di massa, all'epoca la memoria di massa era implementata con la [[scheda perforata]] o il [[nastro perforato]], [[supporti di memoria]] che certamente non possono essere letti alla 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 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.
 
== Etimologia ==
L'espressione "computer a programma memorizzato" nasce come traduzione letterale dell'espressione originale [[lingua inglese|inglese]] "stored-program computer" utilizzata nel ''[[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> di [[John von Neumann]].
 
== Terminologia ==
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 (computer)|Z3]] o l'[[Harvard Mark I]]), sia un computer a programma memorizzato. L'espressione "computer a programma memorizzato" viene invece utillizata escusivamente in riferimento alla [[memoria centrale]]. Tale utilizzo ha motivazioni esclusivamente storiche: fu [[John von Neumann]] ad utilizzarla in ''[[First draft of a report on the EDVAC]]'' con il significato 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 che gli ha attribuito John von Neumann.
 
L'espressione "computernasce a programma memorizzato" nasceinvece come traduzione letterale dell'espressione originale [[lingua inglese|inglese]] "''stored-program computer"'', utilizzataconiata nelda [[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 [[linguaLingua 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 [[Johnquesta tipologia di computer, l'espressione si è diffusa, e permane tutt'oggi, con il significato particolare che gli attribuì von Neumann]].
Da notare che mentre esiste un'espressione consolidata per indicare un computer che memorizza il programma nella [[memoria centrale]] ("computer a programma memorizzato"), non esiste invece un'espressione consolidata per indicare un computer che memorizza il programma nella [[memoria di massa]]. Esiste solo l'espressione generica "computer programmabile" che può indicare sia un computer che memorizza il programma nella memoria centrale e/o di massa sia un [[computer a programma cablato]] (come ad esempio è l'[[ENIAC]]).<ref>Un evoluzione successiva (del settembre [[1948]]) ha reso l'ENIAC un computer a programma memorizzato.</ref>
 
== Descrizione ==
{{S sezione|informatica}}
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 ==
=== PrimiPrima del computer a programma memorizzato ===
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 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.
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]].
 
Di=== seguitoNascita sono elencati i primidel 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.
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 cablato (nei [[computer a programma cablato]]) oppure 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 memoramemoria di massa e ancora di più in caso di programma cablatohardware, la velocità di calcolo permessa dalla tecnologia [[elettronica]] sarebbe stata completamente vanificata dalladai tempi di programmazione del computer.<ref>In caso di programma cablatohardware infatti la programmazione del computer può comportare, a seconda della complessità del computer, anche molte ore in quanto è necessario cablaremodificare manualmentel'hardware ildel computer. In caso di programma software memorizzato nella memoria di massa, all'epoca la memoria di massa era implementatarappresentata con ladalla [[scheda perforata]] oe ildal [[nastro perforato]], [[supporti di memoria]] che certamente non possono essere letti allacon 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]],<ref>L'[[EDVAC]] icomunque 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.</ref> qualiche 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.
Il computer a programma memorizzato rappresenta un passo fondamentale nella lunga evoluzione storica del computer (durata secoli) che ha portato al computer moderno E oggi il computer a programma memorizzato rappresenta la norma per un computer programmabile. Quindi, nonostante che a metà del [[XX secolo]] il computer a programma memorizzato abbia rappresentato una vera e propria rivoluzione nella realizzazione del computer, oggi l'espressione "computer a programma memorizzato" è quasi del tutto inutilizzata.
 
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 ==
 
Di seguito sono elencati i primi computer a programma memorizzato della storia:
== 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 31 ⟶ 44:
*[[Computer a programma cablato]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Portale|informatica}}
[[Categoria:Terminologia informatica]]
 
[[Categoria:Terminologia informatica]]
[[en:Stored-program computer]]
[[ja:プログラム内蔵方式]]
[[ko:프로그램 내장식 컴퓨터]]