La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI...

80
1 Bogdan Maris (2014) La parte fisica di un computer (hardware)

Transcript of La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI...

Page 1: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

1! Bogdan Maris (2014)

La parte fisica di un computer (hardware)

Page 2: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

2! Bogdan Maris (2014)

MACCHINA DI TOURING E MODELLO DI VON NEUMANN

Page 3: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

3! Bogdan Maris (2014)

I padri del calcolatore moderno

Ø Alan Mathison Turing (1912-1954)

Ø Matematico e logico Ø A 25 anni elaborò la teoria della “macchina di Turing”

Ø John Von Neumann (1903-1957) Ø Matematico e informatico Ø Propose il modello di Von Neumann

Page 4: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

4! Bogdan Maris (2014)

Il problema dell’esecutore

Ø  Due domande fondamentali: Ø È sempre possibile trovare una soluzione algoritmica ad un

problema? Ø Esiste un esecutore automatico in grado di eseguire un

algoritmo e se sì come è fatto?

Ø  A queste domande risponde la teoria della computabilità

Page 5: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

5! Bogdan Maris (2014)

La computabilità

Ø  La teoria della computabilità Ø E’ parte fondamentale dell’informatica teorica Ø Definisce quali caratteristiche un problema deve avere per

ammettere una soluzione computabile

Ø  Computabilità secondo Turing Ø Un problema è computabile secondo Turing se esiste una

Macchina di Turing che lo risolve

Ø  Risultati analoghi forniti anche da Church

Page 6: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

6! Bogdan Maris (2014)

Tesi di Church-Turing

Ø Risultato fondamentale: Ø Un problema è computabile se è computabile secondo Turing, ovvero se esiste una macchina di Touring in grado di risolverlo

Ø Tesi non dimostrata, ma dedotta dalla sostanziale equivalenza delle varie definizioni proposte per la computabilità e mai contraddetta finora

Ø Conseguenze: Ø Tutti gli esecutori sono equivalenti alla Macchina di Turing Ø Gli esecutori differiscono tra loro solo nella velocità di risoluzione dei problemi, non nella capacità di risolverli

Page 7: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

7! Bogdan Maris (2014)

La Macchina di Turing

Ø  Primo modello di esecutore automatico Ø E’ un modello teorico (ovvero non realizzabile praticamente)

che risolve automaticamente un determinato problema Ø Composta da un nastro infinito ed una unità di controllo con

stato che può scrivere, leggere e cancellare simboli sul nastro

Ø  Idea fondamentale: l’”impiegato diligente” Ø La macchina opera eseguendo istruzioni del tipo “se è vero

che… allora esegui…” Ø Set di istruzioni minimo (una!) e completo (tesi)

Page 8: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

8! Bogdan Maris (2014)

La macchina di Turing

Ø Macchina teorica in grado di eseguire procedure logiche e matematiche

Componenti: •  un nastro diviso in celle (memoria esterna); •  una unità di lettura e scrittura; •  un insieme finito di simboli; •  una memoria interna. La macchina permette di formalizzare la nozione di procedura effettiva di calcolo, o algoritmo.

Page 9: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

9! Bogdan Maris (2014)

Limiti

Ø  Troppo elementare Ø La disponibilità di una sola istruzione rende complesso

realizzare anche algoritmi semplici Ø La soluzione dipende molto da una buona codifica e quindi

dalla scelta dell’alfabeto di simboli del nastro

Ø  Non realizzabile praticamente Ø Nastro infinito (si potrebbe rilassare l’ipotesi) Ø Lentezza (problema di carattere pratico) Ø Macchinosità della programmazione

Page 10: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

10! Bogdan Maris (2014)

Modello di Von Neumann Ø Più pragmatico

Ø Equivalente alla Macchina di Turing

Ø Architettura orientata alla realizzazione pratica

Ø Alla base dei calcolatori odierni

Nastro di input

Nastro di output

Memoria indirizzabile a

registri generali

Unità centrale di elaborazione

Unità di controllo

Unità logico-aritmetica

Page 11: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

11! Bogdan Maris (2014)

ARCHITETTURA DEL CALCOLATORE

Page 12: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

12! Bogdan Maris (2014)

Funzionalità di un calcolatore

Elaborazione

Controllo

Memorizzazione

Trasferimento

Ambiente esterno

Page 13: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

13! Bogdan Maris (2014)

Interconnessione

Il calcolatore: modello concettuale

1. Elaborazione

2. Memorizzazione

3. Comunicazione (interfaccia)

Page 14: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

14! Bogdan Maris (2014)

1. Elaborazione Interconnessione

2. Memorizzazione

3. Comunicazione (interfaccia)

Unità Centrale di Elaborazione

Memoria Elettronica

Memoria Magnetica

Il calcolatore: modello architetturale

Periferiche

Collegamenti (BUS/Cavi)

Page 15: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

15! Bogdan Maris (2014)

Lo schema di riferimento

Interfaccia di I/O

Video/tastiera (terminale)

Memoria di massa

dati

controllo indirizzi BUS

Interfaccia di I/O Memoria CPU

Page 16: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

16! Bogdan Maris (2014)

Lo schema di riferimento

Memoria di massa

Bus dati Bus indirizzi Bus di controllo

CPU RAM

Scheda madre (motherboard)

Interfaccia di I/O

Schermo Tastiera e mouse Altoparlanti

Interfacce di I/O

Interfacce di I/O

Page 17: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

17! Bogdan Maris (2014)

Dentro la scatola

Page 18: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

18! Bogdan Maris (2014)

Dentro la scatola: la CPU

Page 19: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

19! Bogdan Maris (2014)

Dentro la scatola: la memoria centrale

Page 20: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

20! Bogdan Maris (2014)

Dentro la scatola: l’hard disk

Page 21: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

21! Bogdan Maris (2014)

Dentro la scatola: il bus

Page 22: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

22! Bogdan Maris (2014)

Dentro la scatola: le porte

Page 23: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

23! Bogdan Maris (2014)

Dentro la scatola: gli slot di espansione

Page 24: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

24! Bogdan Maris (2014)

Collegamento a BUS

Ø Vantaggi Ø Semplicità

Ø un’unica linea di connessione à costi ridotti di produzione Ø Estendibilità

Ø aggiunta di nuovi dispositivi molto semplice Ø Standardizzabilità

Ø regole per la comunicazione da parte di dispositivi diversi Ø Svantaggi

Ø Lentezza Ø utilizzo in mutua esclusione del bus

Ø Limitatà capacità Ø al crescere del numero di dispositivi collegati

Ø Sovraccarico del processore (CPU) Ø perchè funge da master sul controllo del bus

Page 25: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

25! Bogdan Maris (2014)

Scheda madre

Zoccolo per la CPU

Connettori per la memoria

Connettori per schede di I/O aggiuntive

Connettori per dischi fissi

Page 26: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

26! Bogdan Maris (2014)

CPU (UNITÀ CENTRALE DI ELABORAZIONE)

Page 27: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

27! Bogdan Maris (2014)

Il processore

Ø C.P.U. Central Processing Unit Ø Esecutore dei programmi Ø Interagisce con la RAM

Ø Composto da: Ø Unità di Controllo Ø Datapath

Ø ALU Ø Unità di memoria (registri)

Ø Ogni CPU ha un set di istruzioni diverso, e incompatibile tra diversi produttori. Ø Il software compilato per Windows (CPU Intel) non può funzionare su Apple (CPU Motorola).

Page 28: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

28! Bogdan Maris (2014)

L’interazione tra CPU e memoria

Ø CPU (Central Processing Unit) Ø CU (Control Unit o Unità di controllo)

Ø Esegue le istruzioni Ø Coordina le attività del processore Ø Controlla il flusso di informazioni con la memoria

Ø ALU (Arithmetic Logic Unit o Unità Aritmetico-Logica) Ø Effettua le operazioni aritmetiche Ø Effettua le operazioni logiche

Ø Le due unità collaborano con la memoria in quattro fasi (ciclo della macchina).

Page 29: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

29! Bogdan Maris (2014)

Unità di controllo

Ø Coordina le operazioni di tutto il processore (anche quelle del data path); Ø Regola il flusso dei dati e indica quali registri debbano essere collegati agli ingressi e all’uscita dell’ALU; Ø Invia all’ALU il codice dell’operazione da eseguire; Ø Riceve indicazioni sull’esito dell’operazione appena eseguita dall’ALU e gestisce opportunamente queste informazioni; Ø Comprende alcuni registri di uso specifico

Ø Program Counter (PC) – qual è l’istruzione successiva; Ø Instruction Register (IR) – istruzione in corso d’esecuzione; Ø …

Page 30: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

30! Bogdan Maris (2014)

Unità di controllo

PC

PSW

Memoria

Data path

Unità di controllo

CPU

Bus

dat

i

Bus

ind

iriz

zi

Bus

con

trol

lo

IR

Page 31: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

31! Bogdan Maris (2014)

Datapath

Ø E’ la parte che si occupa dell’effettiva elaborazione dei dati Ø Comprende dispositivi diversi

Ø una o più unità aritmetico-logiche, dette ALU (Arithmetic Logic Unit) Ø alcune unità di memorizzazione temporanea, i registri, memoria ad alta velocità usata per risultati temporanei e informazioni di controllo

Page 32: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

32! Bogdan Maris (2014)

Data Path Registri

ingresso ALU R00 R01 R02 R03 … … … … Registri

A L U

Registro uscita ALU X

Y

X + Y

add esito

X Y

X + Y

Page 33: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

33! Bogdan Maris (2014)

Ciclo della macchina

Page 34: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

34! Bogdan Maris (2014)

Fase di caricamento (Fetch)

Page 35: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

35! Bogdan Maris (2014)

Fase di decodifica (Decode)

Page 36: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

36! Bogdan Maris (2014)

Fase di esecuzione (Execute)

Page 37: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

37! Bogdan Maris (2014)

Fase di memorizzazione

Page 38: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

38! Bogdan Maris (2014)

Intel Ø 4004/8008 Ø 8086/8088 Ø 286, 386, 486 Ø Pentium, Pentium II, III, IV Ø Core 2 Duo, Core 2 Quad Ø i3, i5, i7

AMD Ø K5 Ø K6 Ø K7

Ø Athlon, Duron, Sempron Ø  K8

Ø Athlon 64, Sempron 64

Alcune CPU Intel e AMD

Page 39: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

39! Bogdan Maris (2014)

Velocità del microprocessore

Ø Velocità del clock Ø Megahertz (Mhz o milioni di cicli al secondo) Ø Esempio

Ø Intel i5-540M ha una frequenza di 2.53Ghz

Ø Un’istruzione può richiedere più di un ciclo di clock per essere eseguita

Page 40: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

40! Bogdan Maris (2014)

INCREMENTARE LE PRESTAZIONI CON IL PARALLELISMO

Page 41: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

41! Bogdan Maris (2014)

Migliorare le prestazioni di una CPU

Ø La frequenza di clock Ø influenza direttamente il tempo di ciclo del data path e quindi le prestazioni di un calcolatore Ø è limitata dalla tecnologia disponibile

Ø Il parallelismo permette di migliorare le prestazioni senza modificare la frequenza di clock. Esistono due forme di parallelismo: Ø parallelismo a livello delle istruzioni (architetture pipeline o architetture superscalari); Ø parallelismo a livello di processori (Array computer, multiprocessori o multicomputer).

Page 42: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

42! Bogdan Maris (2014)

Architettura pipeline

Ø Organizzazione della CPU come una “catena di montaggio” Ø la CPU viene suddivisa in “stadi”, ognuno dedicato all’esecuzione di un compito specifico; Ø l’esecuzione di un’istruzione richiede il passaggio attraverso (tutti o quasi tutti) gli stadi della pipeline; Ø in un determinato istante, ogni stadio esegue la parte di sua competenza di una istruzione; Ø in un determinato istante, esistono diverse istruzioni contemporaneamente in esecuzione, una per ogni stadio.

Page 43: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

43! Bogdan Maris (2014)

Esempio di pipeline

Ø Pipeline in cinque stadi: Ø S1 [MI] lettura istruzioni dalla memoria, caricamento IR e incremento PC; Ø S2 [LR] lettura dai registri degli operandi richiesti; Ø S3 [AL] esecuzione delle operazioni aritmetico-logiche necessarie; Ø S4 [MD] accesso alla memoria dati (per lettura o scrittura); Ø S5 [SR] scrittura nei registri dei risultati.

Memoria Istruzioni

(MI)

Lettura Registri

(LR)

ALU

(AL)

Memoria Dati (MD)

Scrittura Registri

(SR)

Stadio 1 Stadio 2 Stadio 3 Stadio 4 Stadio 5

10 ns 10 ns 10 ns 5 ns 5 ns

Page 44: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

44! Bogdan Maris (2014)

Esempio di pipeline

Istr. 5 Istr. 4 Istr. 3 Istr. 2 Istr. 1

Istr. 6 Istr. 5 Istr. 4 Istr. 3 Istr. 2

Istr. 3 Istr. 2 Istr. 1

Istr. 4 Istr. 3 Istr. 2 Istr. 1

Istr. 1

Istr. 2 Istr. 1

S1 S2 S3 S4 S5

t5

t6

t3

t4

t1

t2

tem

po

Page 45: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

45! Bogdan Maris (2014)

Esecuzione in pipeline

All’istante ti+2 ci sono 5 istruzioni in esecuzione

i + 4 i + 3 i + 2 i + 1 i

S1 S2 S3 S4 S5

ti+3

ti+4

ti+1

ti

i + 3 i + 2 i + 1 i i - 1

i + 1 i i - 1 i - 2 i - 3 i i - 1 i - 2 i - 3 i - 4

ti+2 i + 2 i + 1 i i - 1 i - 2

Page 46: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

46! Bogdan Maris (2014)

Esecuzione in pipeline

Lo stadio S3 esegue la parte di sua competenza su istruzioni successive l’una all’altra.

i + 2 i + 1 i - 1 i - 2

i + 4 i + 3 i + 1 i

ti+3

ti+4

ti+1

ti

i + 3 i + 2 i i - 1

i + 1 i i - 2 i - 3

i i - 1 i - 3 i - 4

ti+2

i + 2

i + 1

i - 1

i - 2

i

S1 S2 S4 S5 S3

Page 47: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

47! Bogdan Maris (2014)

Con e senza pipeline

Ø Esempio: Ø Senza pipeline T = 145ns Ø Con pipeline T = 80ns Ø Rapporto 145/80 = 1.81

Ø Con 1M istruzioni Ø Senza pipeline T ≥ 30ms Ø Con pipeline T = 10ms+40ns Ø Rapporto 30/10.00004 = 2.99998

lw R01,R11,421

lw R02,R11,842

add R03,R01,R02

sw R03,R11,421

MI LR AL SR MD

MI LR AL SR MD

MI LR AL SR

MI LR AL MD

Ordine di esecuzione delle istruzioni

Tempo

40 ns

40 ns

30 ns

35 ns

145 ns

lw R01,R11,421

lw R02,R11,842

add R03,R01,R02

sw R03,R11,421

MI LR AL SR MD

MI LR AL SR MD

MI LR AL SR

MI LR AL MD

Ordine di esecuzione delle istruzioni

Tempo

10 ns

10 ns

80 ns

10 ns

Page 48: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

48! Bogdan Maris (2014)

Prestazioni di una pipeline

Ø Il tempo di esecuzione (latenza) della singola istruzione non diminuisce, anzi aumenta Ø il tempo di attraversamento (latenza) della pipeline corrisponde al numero degli stadi (N) moltiplicato per il tempo di ciclo (T); Ø il tempo di ciclo è limitato dallo stadio più lento!

Ø Aumenta il numero di istruzioni completate nell’unità di tempo (throughput) Ø si completa un’istruzione a ogni ciclo di clock; Ø l’incremento di throughput è quasi proporzionale al numero degli stadi!

Page 49: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

49! Bogdan Maris (2014)

Architetture multiprocessore

Ø Diverse CPU condividono una memoria comune: Ø le CPU debbono coordinarsi per accedere alla memoria; Ø esistono diversi schemi di collegamento tra CPU e memoria (che complicano il progetto della scheda madre, più cara), quello più semplice prevede che ci sia un bus condiviso;

Ø se i processori sono veloci il bus diventa un collo di bottiglia; Ø esistono soluzioni che permettono di migliorarne le prestazioni, ma si adattano a sistemi con un numero limitato di CPU (<20).

Ø La memoria condivisa rende più semplice il modello di programmazione: Ø si deve parallelizzare l’algoritmo, ma si può trascurare la “parallelizzazione” dei dati.

CPU CPU CPU CPU mem

bus condiviso

Page 50: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

50! Bogdan Maris (2014)

Architetture multicomputer

Ø Sistemi composti da tanti calcolatori collegati fra loro Ø ogni calcolatore è dotato di una memoria privata e non c’è memoria in comune; Ø comunicazione tra CPU basata su scambio di messaggi; Ø uso di reti di calcolatori (spesso con tecnologie specializzate).

Ø Non è efficiente collegare ogni calcolatore a tutti gli altri, quindi vengono usate topologie particolari: Ø griglie a 2/3 dimensioni, alberi e anelli; Ø i messaggi, per andare da fonte a destinazione, spesso devono passare da uno o più calcolatori intermedi o switch. Ø Tempi di trasferimento dei messaggi dell’ordine di alcuni microsecondi sono comunque facilmente ottenibili.

Ø Sono stati costruiti multicalcolatori con ~10.000 CPU.

Page 51: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

51! Bogdan Maris (2014)

Struttura di un multicomputer

CPU CPU CPU CPU

bus condiviso

mem mem mem mem

Page 52: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

52! Bogdan Maris (2014)

MEMORIA PRINCIPALE

Page 53: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

53! Bogdan Maris (2014)

Tipi di memoria

ROM = memoria non volatile, in cui è memorizzato il firmware. RAM = memoria volatile, random (accesso libero a qualunque sua parte), in cui si memorizza il software.

Page 54: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

54! Bogdan Maris (2014)

Capacità della memoria

Ø La capacità della memoria si misura in byte Ø 1 byte = 8 bit Ø 1 Kilobyte = 210 byte = 1024 byte Ø 1 Megabyte = 220 byte = 1.048.576 byte Ø 1 Gigabyte = 230 byte = 1073741824 byte

Page 55: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

55! Bogdan Maris (2014)

La memoria centrale (RAM)

Ø Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Ø Memoria ad accesso “casuale” Ø Tecnologia elettronica

Ø veloce ma volatile e costosa Ø Dimensioni

Ø Primi PC: 128 KB Ø Oggi: almeno 2 GB

Ø Due “eccezioni” Ø ROM: elettronica ma permanente e di sola lettura Ø Flash: elettronica ma non volatile e riscrivibile

Page 56: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

56! Bogdan Maris (2014)

Memoria cache

Ø Memoria più veloce della RAM che contiene i dati utilizzati più di recente Ø Possono esserci vari livelli di cache

Ø Livello 1 Ø Cache interna o primaria o L1 Ø interna al processore

Ø Livello 2 Ø Cache esterna o secondaria o L2 Ø Esterna al processore

Page 57: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

57! Bogdan Maris (2014)

Funzionamento della cache

La memoria cache è velocissima ma il suo contenuto può essere superfluo per le operazioni in corso, quindi risultare inutile.

Page 58: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

58! Bogdan Maris (2014)

Perché ha senso la cache?

Ø Località spaziale Ø quando si accede all’indirizzo A, è molto probabile che gli accessi successivi richiedano celle vicine ad A.

Ø le istruzioni del codice vengono in genere lette da locazioni consecutive della memoria;

Ø Località temporale Ø quando si accede all’indirizzo A, è molto probabile negli accessi successivi si richieda di nuovo la cella A.

Ø cicli di istruzioni accedono ripetutamente alle stesse locazioni di memoria; Ø istruzioni vicine tendono ad utilizzare le stesse variabili.

Page 59: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

59! Bogdan Maris (2014)

Memoria virtuale

Ø Estensione della memoria RAM utilizzando parte del disco fisso Ø Vantaggi

Ø Esecuzione di programmi più grandi della RAM Ø Esecuzione di un maggior numero di programmi rispetto a quelli che potrebbero stare nella sola RAM

Page 60: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

60! Bogdan Maris (2014)

Funzionamento della memoria virtuale

La memoria virtuale rallenta l'esecuzione dei programmi, ma permette di far funzionare applicazioni più grandi della ram stessa.

Page 61: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

61! Bogdan Maris (2014)

MEMORIA DI MASSA (SECONDARIA)

Page 62: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

62! Bogdan Maris (2014)

I diversi supporti

Per la memoria a stato solido, oggi la più diffusa, vengono usati chip del tutto simili a quelli della RAM, ma che non perdono le informazioni una volta spenta l'alimentazione di corrente.

Page 63: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

63! Bogdan Maris (2014)

La memoria magnetica

Le particelle magnetiche presenti sul supporto ricevono una polarità che le allinea, traducendo fisicamente i codici binari fatti di 0 e 1 come polarità positiva o negativa. In questo modo registrano i dati gli hard disk.

Page 64: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

64! Bogdan Maris (2014)

Tutti questi meccanismi sono “compressi” in una scatoletta sigillata e sottovuoto grande come la metà di un contenitore per DVD. Il rumore che spesso fanno può sollevare dei dubbi, ma pensate che possono arrivare a fare tanti giri al minuto quanto un motore di Formula 1!

Come è fatto un disco fisso

Page 65: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

65! Bogdan Maris (2014)

Tracce e settori

Ø Traccia (track): sequenza circolare di bit scritta mentre il disco compie una rotazione completa

Ø Settore (sector): parte di una traccia corrispondente a un settore circolare del disco

Ø Formattazione: operazione che predispone tracce e settori per la lettura/scrittura

Page 66: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

66! Bogdan Maris (2014)

Tracce e settori

Page 67: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

67! Bogdan Maris (2014)

Un sottile raggio laser legge le scanalature presenti sulla superficie come un alternarsi di 0 e 1, a seconda della direzione del riflesso di luce. In questo modo funzionano i CD e i DVD.

La memoria ottica

Page 68: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

68! Bogdan Maris (2014)

Importanza del backup

Ø Backup permette di copiare i dati su altri supporti. Ø Il computer ci trasmette spesso una sensazione di indistruttibilità, ma non è affatto così. Non esiste utente di computer che, almeno una volta, non abbia perso dei dati per uno dei motivi illustrati qui a fianco.

Page 69: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

69! Bogdan Maris (2014)

Una gerarchia di memoria

Ø Ottenuta per “generalizzazione” dell’applicazione del principio di località e tipicamente costituita da Ø registri contenuti nella CPU (qualche KB) Ø cache (da circa 32KB a circa 1024KB) Ø memoria principale (da circa 64MB a qualche GB) Ø dischi fissi (da qualche GB a qualche TB) Ø nastri magnetici e dischi ottici (da qualche GB a qualche TB per ogni supporto)

Ø Man mano che ci si sposta verso il basso nella gerarchia aumenta il valore dei parametri fondamentali: Ø aumenta il tempo di accesso; Ø aumenta la capacità di memorizzazione; Ø ma diminuisce il costo per bit.

Page 70: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

70! Bogdan Maris (2014)

Una gerarchia di memoria

CPU

Registri

Cache I liv

Cache II liv Cir

cuit

o In

tegr

ato

(chip

)

RAM

Sched

a m

adre

(m

otherb

oard

)

Disco fisso (hard disk) tecnologia magnetica

Invo

lucr

o est

ern

o del ca

lcol

ator

e (

case

)

Supporti esterni

tecnologia magnetica

(HD esterni)

tecnologia elettronica (flash disk)

tecnologia ottica

(CD, DVD)

Page 71: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

71! Bogdan Maris (2014)

Memorie Flash

Ø Funzioni: Ø trasferimento dati (la capacità dei floppy è limitata) Ø archiviazione dati “sensibili”

Ø Tecnologia elettronica non volatile Ø bassi consumi Ø piccole dimensioni Ø capacità dai 256MB ai 128GB

Ø File system come per i dischi Ø Il sistema operativo gestisce l’accesso come se fossero dischi

Page 72: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

72! Bogdan Maris (2014)

PERIFERICHE DI INGRESSO/USCITA (I/O)

Page 73: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

73! Bogdan Maris (2014)

Dispositivi di I/O

I dispositivi di I/O sono molti di più di quelli qui illustrati. Innanzitutto un computer può essere un mezzo di input per un altro, trasmettendogli informazioni: poi, non vanno dimenticati i mezzi “special purpose” usati in molti settori, come termometri, sensori, telecamere digitali, e molti altri.

Page 74: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

74! Bogdan Maris (2014)

Connessioni con periferiche

Ø Porta seriale o parallela Ø connessioni “storiche” dei computer, usate la prima per il modem e la seconda per le stampanti.

Ø Porta USB e Firewire Ø più recenti, hanno molti vantaggi rispetto alle precedenti connessioni.

Ø Velocità. Ø Si possono connettere in serie, un dispositivo dopo l'altro. Ø Riconoscimento automatico dei dispositivi connessi(Plug & Play).

Page 75: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

75! Bogdan Maris (2014)

Universal Serial Bus – USB

Ø Definito da un consorzio (Intel, Compaq, Microsoft, …), con l’intento di sostituire le attuali porte seriali e parallele. Ø Velocità di 12 MBit/sec. (da 1,5Mbit/sec fino a 4,8Gbit/sec) Ø Collega fino a 127 periferiche in cascata. Ø Può alimentare direttamente le periferiche a basso consumo (e.g. tastiere e mouse). Ø Completamente Plug and Play (anche per collegamento “a caldo”). Ø USB 2.0 (1999) arriva fino a 360-480Mbps USB 3.0 4,8Gbit/sec

Page 76: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

76! Bogdan Maris (2014)

Firewire 1394

Ø Bus seriale ad alte prestazioni per la connessione di periferiche. Ø Connette 64 periferiche in cascata. Ø Supporta il Plug and Play e connessione a caldo. Ø Velocità di trasferimento di 400/800 Mbps. Ø Adatto per videocamere e videoregistratori digitali, lettori DVD e periferiche audio.

Page 77: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

77! Bogdan Maris (2014)

Concetti base dell'output Ø Pixel = picture element

Ø più piccolo elemento di una griglia in cui è diviso lo schermo. Ø A ogni pixel si assegna un indirizzo in memoria, così che il computer può deciderne cololore e luminosità.

Ø Cella = unità minima nella quale è divisa la pagina stampata Ø Le sfumature di colore dipendono dalla tonalità preponderante nei puntini all'interno della cella.

Ø Risoluzione = qualità di un'immagine Ø per gli schermi conta il nmero di pixel (640x480, 1024x768, etc.) Ø per le stampanti la qualità è misurata in dpi (dot per inch, punti per pollice).

Page 78: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

78! Bogdan Maris (2014)

Concetti base dell’output

Ø Font = un tipo di carattere con uno stile e una forma propri. Si classificano con un nome, che ne distingue il tipo, uno stile e una dimensione.

Ø Esempio Ø Tahoma, tondo, 18

Ø Times New Roman, corsivo, 22 Ø Verdana, grassetto corsivo, 18

Ø Oggi la tecnica più usata per memorizzare i font è quella di usare i font scalabili: all'interno del file di font sono memorizzate le formule matematiche che ne descrivono la struttura, in modo da poter realizzare qual font in qualunque dimensione (rasterizzazione).

Ø Grazie a questa tecnica i font dello schermo e della stampante sono gli stessi, realizzando una modalità di lavoro WYSIWYG (what you see is what you get) per la quale sullo schermo vediamo esattamente il documento che otterremo dalla stampante.

Page 79: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

79! Bogdan Maris (2014)

Concetti base dell’output

Ø Tavolozza Ø insieme di colori, rappresentati da numeri, che può assumere un singolo pixel.

Ø Profondità di colore Ø numero di bit assegnati a ciascun pixel per le informazioni sul colore. 1 bit = o bianco o nero; 24 bit = 16 milioni di colori.

Ø Quindi: Ø per un'immagine in bianco e nero a 640x480 pixel serviranno 640x480x1 = 37,5 Kb di memoria, mentre per una foto grande 1024x768 pixel a colori occorreranno 1024x768x24 = 4 Mb di memoria.

Page 80: La parte fisica di un computer (hardware)€¦ · (hardware) Bogdan Maris (2014) 2! MACCHINA DI TOURING E MODELLO DI VON NEUMANN . Bogdan Maris (2014) 3! I padri del calcolatore moderno

80! Bogdan Maris (2014)

Calcolatore o calcolatrice?

Ø Qual’ è la differenza tra un calcolatore e una calcolatrice?

Ø Da Wikipedia Ø Un computer è un dispositivo fisico che implementa il funzionamento di una macchina di Turing

Ø La calcolatrice è un dispositivo in grado di eseguire calcoli numerici, non qualificabile come macchine di Turing