Eugenio G. Omodeo

50
Cos’è un sistema di elaborazione? Cenni sull’Architettura degli Elaboratori Eugenio G. Omodeo Dip. Matematica e Geoscienze — DMI Trieste, 15/10/2019 E. G. Omodeo Cenni sull’Architettura degli Elaboratori 1/18

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