Eugenio G. Omodeo
Transcript of Eugenio G. Omodeo
Cos’è un sistema di elaborazione?
Cenni sull’Architettura degli Elaboratori
Eugenio G. Omodeo
Dip. Matematica e Geoscienze — DMI
Trieste, 15/10/2019E. G. Omodeo Cenni sull’Architettura degli Elaboratori 1/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Interno di un calcolatore desktop
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 2/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Interno di un calcolatore desktop
( In che differisce, questo, da un laptop ? )E. G. Omodeo Cenni sull’Architettura degli Elaboratori 2/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Interno di un calcolatore desktop
( Il disco è un HD o un SSD ? )E. G. Omodeo Cenni sull’Architettura degli Elaboratori 2/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Altro ritratto di un computer
( Come individuare ciò che davvero caratterizza un computer ? )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 3/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Altro ritratto di un computer
( Come individuare ciò che davvero caratterizza un computer ? )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 3/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Una definizione rigorosa
???
Poiché ha poca importanza se il computer èconnesso a una stampante o a un accelerometror¨ ¨ ¨ s chiameremo i computer con il loro nome piútecnico, processore. Un processore comprende laCPU e una piccola area di memoria chiamatacache, ed è connesso a dispositivi di input e output.La differenza principale la fanno i dispositiviconnessi al computer e, naturalmente, il software.
Lawrence Snyder, Alessandro Amoroso ( 2015 )
Dubbio: Non è una concezione troppo minimalista ?
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 4/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Una definizione rigorosa ???
Poiché ha poca importanza se il computer èconnesso a una stampante o a un accelerometror¨ ¨ ¨ s chiameremo i computer con il loro nome piútecnico, processore. Un processore comprende laCPU e una piccola area di memoria chiamatacache, ed è connesso a dispositivi di input e output.La differenza principale la fanno i dispositiviconnessi al computer e, naturalmente, il software.
Lawrence Snyder, Alessandro Amoroso ( 2015 )
Dubbio: Non è una concezione troppo minimalista ?
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 4/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Una definizione rigorosa
???
Calcolatore “Def dispositivo elettronico veloce cheaccetta in ingresso informazione digitalizzata, laelabora in base a una lista ( detta programma ) diistruzioni memorizzate al suo interno e fornisce inuscita l’informazione risultante.
V. C. Hamacher, Z. G. Vrasenic, S. G. Zaky ( 2001 )
Dubbio: Quanto è cruciale l’elettronica ?
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 5/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Una definizione rigorosa ???
Calcolatore “Def dispositivo elettronico veloce cheaccetta in ingresso informazione digitalizzata, laelabora in base a una lista ( detta programma ) diistruzioni memorizzate al suo interno e fornisce inuscita l’informazione risultante.
V. C. Hamacher, Z. G. Vrasenic, S. G. Zaky ( 2001 )
Dubbio: Quanto è cruciale l’elettronica ?
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 5/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Breve digressione
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 6/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Breve digressione
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 6/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Breve digressione
Moderni orientamenti della scienza e della tecnica, Etas-Kompass, 1966
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 6/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
L’hardware
L’aspetto hardware del calcolatore è rappresentato dai circuitielettronici ed elettromeccanici che lo compongono;
l’architettura del calcolatore, invece, è definita come lacombinazione delle funzionalità operative delle singole unitàhardware che costituiscono il sistema di calcolo, il flusso diinformazioni tra queste unità e il relativo controllo.
V. C. Hamacher, Z. G. Vrasenic, S. G. Zaky ( 2001 )
E il software1 ?
1
Ossia i programmi, le app. . .
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 7/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
L’hardware
L’aspetto hardware del calcolatore è rappresentato dai circuitielettronici ed elettromeccanici che lo compongono;
l’architettura del calcolatore, invece, è definita come lacombinazione delle funzionalità operative delle singole unitàhardware che costituiscono il sistema di calcolo, il flusso diinformazioni tra queste unità e il relativo controllo.
V. C. Hamacher, Z. G. Vrasenic, S. G. Zaky ( 2001 )
E il software1 ?
1
Ossia i programmi, le app. . .
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 7/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
L’hardware
L’aspetto hardware del calcolatore è rappresentato dai circuitielettronici ed elettromeccanici che lo compongono;
l’architettura del calcolatore, invece, è definita come lacombinazione delle funzionalità operative delle singole unitàhardware che costituiscono il sistema di calcolo, il flusso diinformazioni tra queste unità e il relativo controllo.
V. C. Hamacher, Z. G. Vrasenic, S. G. Zaky ( 2001 )
E il software1 ?
1Ossia i programmi, le app. . .E. G. Omodeo Cenni sull’Architettura degli Elaboratori 7/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
HW / SW“Al tempo dei primi calcolatori la distinzione frahardware e software era chiarissima. Nel temposi è piuttosto confusa ¨ ¨ ¨Hardware e software sono logicamente equivalenti.
Qualsiasi operazione venga effettuata dal softwarepuò essere direttamente inglobata nell’hardware:
L’hardware è software pietrificato.
Naturalmente è vero anche il contrario: qualsiasiistruzione eseguita dall’hardware può venir simulatadal software. La decisione di inglobare certe funzioninell’hardware e altre nel software si basa su fattoricome costo, velocità, affidabilità, e frequenza con cui
si prevede che la funzione cambi.”A. S. Tenenbaum ( 2000 )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 8/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
HW / SW“Al tempo dei primi calcolatori la distinzione frahardware e software era chiarissima. Nel temposi è piuttosto confusa ¨ ¨ ¨Hardware e software sono logicamente equivalenti.
Qualsiasi operazione venga effettuata dal softwarepuò essere direttamente inglobata nell’hardware:
L’hardware è software pietrificato.
Naturalmente è vero anche il contrario: qualsiasiistruzione eseguita dall’hardware può venir simulatadal software. La decisione di inglobare certe funzioninell’hardware e altre nel software si basa su fattoricome costo, velocità, affidabilità, e frequenza con cui
si prevede che la funzione cambi.”A. S. Tenenbaum ( 2000 )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 8/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
HW / SW“Al tempo dei primi calcolatori la distinzione frahardware e software era chiarissima. Nel temposi è piuttosto confusa ¨ ¨ ¨Hardware e software sono logicamente equivalenti.
Qualsiasi operazione venga effettuata dal softwarepuò essere direttamente inglobata nell’hardware:
L’hardware è software pietrificato.
Naturalmente è vero anche il contrario: qualsiasiistruzione eseguita dall’hardware può venir simulatadal software.
La decisione di inglobare certe funzioninell’hardware e altre nel software si basa su fattoricome costo, velocità, affidabilità, e frequenza con cui
si prevede che la funzione cambi.”A. S. Tenenbaum ( 2000 )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 8/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
HW / SW“Al tempo dei primi calcolatori la distinzione frahardware e software era chiarissima. Nel temposi è piuttosto confusa ¨ ¨ ¨Hardware e software sono logicamente equivalenti.
Qualsiasi operazione venga effettuata dal softwarepuò essere direttamente inglobata nell’hardware:
L’hardware è software pietrificato.
Naturalmente è vero anche il contrario: qualsiasiistruzione eseguita dall’hardware può venir simulatadal software. La decisione di inglobare certe funzioninell’hardware e altre nel software si basa su fattoricome costo, velocità, affidabilità, e frequenza con cuisi prevede che la funzione cambi.”
A. S. Tenenbaum ( 2000 )E. G. Omodeo Cenni sull’Architettura degli Elaboratori 8/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
A proposito di architettura del calcolatore
Considerando quanto è sfumata la distinzione fra HW e SW, piuttostoche di calcolatore ( o ‘computer’ ) qui sarebbe proprio parlare disistema di elaborazione.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 9/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Un’intramontabile organizzaz. dell’hardware
John Louis von Neumann, nato János Lajos Neumann( Budapest, 1903 – Washington, 1957 ), poliedrico“matematico” ungherese naturalizzato statunitense.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 10/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore
2 Memoria centrale3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC IAS Machine ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale
3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC IAS Machine ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale3 Interfacce con le periferiche
4 Bus di sistema ( tripartito )
EDVAC IAS Machine ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC IAS Machine ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC
IAS Machine ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC IAS Machine
ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC IAS Machine ACE (?)
loooooooooooooooomoooooooooooooooon
CISC vs RISC
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Schema dell’architettura di von Neumann
In senso orario:1 Microprocessore2 Memoria centrale3 Interfacce con le periferiche4 Bus di sistema ( tripartito )
EDVAC IAS Machine ACE (?)loooooooooooooooomoooooooooooooooon
CISC vs RISCE. G. Omodeo Cenni sull’Architettura degli Elaboratori 11/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
L’architettura di von Neumann è innovabile ?
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 12/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Computer a programma memorizzato
L’espressione “stored-program computer” ( “computer a programmamemorizzato” ) viene utilizata in riferimento alla memoria centrale:fu von Neumann a introdurla in First draft of a report on theEDVAC, datato 30 giugno 1945, con il significato particolare che gliattribuiamo oggi.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 13/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Computer a programma memorizzato
Pregio: Rapidità di accesso alle istruzioni.
Vulnerabilità: Possibilità che un programma, alterando leproprie istruzioni, pregiudichi il suo stessofunzionamento.
Pregio: Possibilità che un programma modifichi leproprie istruzioni, com’è giusto avvengain un processo di apprendimento.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 13/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Computer a programma memorizzato
Pregio: Rapidità di accesso alle istruzioni.Vulnerabilità: Possibilità che un programma, alterando le
proprie istruzioni, pregiudichi il suo stessofunzionamento.
Pregio: Possibilità che un programma modifichi leproprie istruzioni, com’è giusto avvengain un processo di apprendimento.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 13/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Computer a programma memorizzato
Pregio: Rapidità di accesso alle istruzioni.Vulnerabilità: Possibilità che un programma, alterando le
proprie istruzioni, pregiudichi il suo stessofunzionamento.
Pregio: Possibilità che un programma modifichi leproprie istruzioni, com’è giusto avvengain un processo di apprendimento.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 13/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Computer a programma memorizzato
Dopo il Colossus Mark I del 1943, il Colossus Mark II del 1944 el’ENIAC del 1946, viene realizzato nel 1948 a Manchester, UK, loSmall-Scale Experimental Machine, primo computer elettronico aprogramma memorizzato della storia. A partire dal 1948 ilcomputer a programma memorizzato si diffonde, diventando inbreve tempo la norma per il computer programmabile.
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 13/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Lo sviluppo di software a livelli
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 14/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Dalle componenti a un’architettura
( Marco Vanneschi )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 15/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Dalle componenti a un’architettura
( Marco Vanneschi )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 15/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Dalle componenti a un’architettura
( Marco Vanneschi )E. G. Omodeo Cenni sull’Architettura degli Elaboratori 15/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Gerarchia di macchine virtuali ( Vanneschi )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 16/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Gerarchia di macchine virtuali ( Vanneschi )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 16/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Gerarchia di macchine virtuali ( Vanneschi )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 16/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Esempio: Un programma Java ‘multi-threaded’. . .
Posso scrivere un programma Java ( si tratta di un testo ) che
una volta tradotto in codice JVM( ossia codice per la ‘Java Virtual Machine’ ). . .
. . . può essere mandato in esecuzione su qualsiasi(?) Sistemadi Elaborazione. . .
. . . creando l’illusione che vi siano piú micro processori . . .
. . . e che la memoria abbia una capienza maggiore della suacapacità fisica
( CPU virtuali, Memoria virtuale. . . )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 17/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Esempio: Un programma Java ‘multi-threaded’. . .
Posso scrivere un programma Java ( si tratta di un testo ) che
una volta tradotto in codice JVM( ossia codice per la ‘Java Virtual Machine’ ). . .
. . . può essere mandato in esecuzione su qualsiasi(?) Sistemadi Elaborazione. . .
. . . creando l’illusione che vi siano piú micro processori . . .
. . . e che la memoria abbia una capienza maggiore della suacapacità fisica
( CPU virtuali, Memoria virtuale. . . )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 17/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Esempio: Un programma Java ‘multi-threaded’. . .
Posso scrivere un programma Java ( si tratta di un testo ) che
una volta tradotto in codice JVM( ossia codice per la ‘Java Virtual Machine’ ). . .
. . . può essere mandato in esecuzione su qualsiasi(?) Sistemadi Elaborazione. . .
. . . creando l’illusione che vi siano piú micro processori . . .
. . . e che la memoria abbia una capienza maggiore della suacapacità fisica
( CPU virtuali, Memoria virtuale. . . )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 17/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Esempio: Un programma Java ‘multi-threaded’. . .
Posso scrivere un programma Java ( si tratta di un testo ) che
una volta tradotto in codice JVM( ossia codice per la ‘Java Virtual Machine’ ). . .
. . . può essere mandato in esecuzione su qualsiasi(?) Sistemadi Elaborazione. . .
. . . creando l’illusione che vi siano piú micro processori . . .
. . . e che la memoria abbia una capienza maggiore della suacapacità fisica
( CPU virtuali, Memoria virtuale. . . )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 17/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Esempio: Un programma Java ‘multi-threaded’. . .
Posso scrivere un programma Java ( si tratta di un testo ) che
una volta tradotto in codice JVM( ossia codice per la ‘Java Virtual Machine’ ). . .
. . . può essere mandato in esecuzione su qualsiasi(?) Sistemadi Elaborazione. . .
. . . creando l’illusione che vi siano piú micro processori . . .
. . . e che la memoria abbia una capienza maggiore della suacapacità fisica
( CPU virtuali, Memoria virtuale. . . )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 17/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Esempio: Un programma Java ‘multi-threaded’. . .
Posso scrivere un programma Java ( si tratta di un testo ) che
una volta tradotto in codice JVM( ossia codice per la ‘Java Virtual Machine’ ). . .
. . . può essere mandato in esecuzione su qualsiasi(?) Sistemadi Elaborazione. . .
. . . creando l’illusione che vi siano piú micro processori . . .
. . . e che la memoria abbia una capienza maggiore della suacapacità fisica
( CPU virtuali, Memoria virtuale. . . )
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 17/18
Cos’è un sistema di elaborazione?Struttura fisica di un computerHardware e softwareArchitettura e macchine virtuali
Morale: “J’ai vu l’ombre d’un cocher¨ ¨ ¨ ”
E. G. Omodeo Cenni sull’Architettura degli Elaboratori 18/18