cenni sull'architettura degli elaboratori - units.it · cos’èunsistemadielaborazione?...

46
Cos’è un sistema di elaborazione? Cenni sull’Architettura degli Elaboratori Eugenio G. Omodeo Dip. Matematica e Geoscienze — DMI Trieste, 07/10/2015 E. G. Omodeo Cenni sull’Architettura degli Elaboratori 1/16

Upload: dongoc

Post on 18-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Cos’è un sistema di elaborazione?

Cenni sull’Architettura degli Elaboratori

Eugenio G. Omodeo

Dip. Matematica e Geoscienze — DMI

Trieste, 07/10/2015

E. G. Omodeo Cenni sull’Architettura degli Elaboratori 1/16

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/16

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/16

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/16

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/16

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/16

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 4/16

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 4/16

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 5/16

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 5/16

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. . .

E. G. Omodeo Cenni sull’Architettura degli Elaboratori 6/16

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. . .

E. G. Omodeo Cenni sull’Architettura degli Elaboratori 6/16

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. . .E. G. Omodeo Cenni sull’Architettura degli Elaboratori 6/16

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 7/16

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 7/16

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 7/16

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 7/16

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 8/16

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 9/16

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 10/16

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 10/16

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 10/16

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 10/16

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 10/16

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 10/16

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 10/16

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 10/16

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 11/16

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 12/16

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 12/16

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 12/16

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 12/16

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 12/16

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 13/16

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 13/16

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 13/16

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 14/16

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 14/16

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 14/16

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 15/16

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 15/16

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 15/16

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 15/16

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 15/16

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 15/16

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 16/16