continua Informatica Hardware insieme dei componenti fisici Software insieme dei programmi che consentono al calcolatore di operare e di elaborare dati Informatica Architettura di un elaboratore 1
Cenni storici Mani, Abaco, Pallottoliere Azionate a manovella 1623-1662: 1662: Blaise Pascal dispositivo meccanico per l esecuzione l di somme e sottrazioni 1646-1716: 1716: Gottfried Wilhelm von Leibniz moltiplicazioni e divisioni 1792-1871: 1871: Charles Babbage difference engine per il calcolo di polinomi Informatica Architettura di un elaboratore 2
continua 1792-1871: 1871: Charles Babbage analytical engine per calcoli generici anni 30 e 40: Konrad Zuse (Germania) macchine calcolatrici automatiche basate su relè elettromagnetici anni 30: John Atanasoff aritmetica binaria, memoria m su condensatori rinfrescati periodicamente anni 40: Howard Aiken (USA) implementa il lavoro di Babbage sfruttando i relè elettromagnetici: Mark I Informatica Architettura di un elaboratore 3
continua 1943: COLOSSUS (Inghilterra) a valvole termoioniche 1946: ENIAC 18 000 valvole, 1500 relè e 30 tonnellate, superficie 180 mq John von Neumann programmi e dati in forma binaria nella stessa memoria Informatica Architettura di un elaboratore 4
continua 1948: John Bardeen,, Walter Brattain e William Shockley transistor Sviluppo della tecnologia d integrazioned 360 di IBM PDP-11 di DEC VLSI 10 5 10 7 transistor integrati per chip Apple (CPU Motorola) IBM e compatibili (CPU Intel) Informatica Architettura di un elaboratore 5
Caratteristiche dell architettura flessibilità di uso: non specializzata modularità della struttura: a ogni componente viene demandato lo svolgimento di una funzione specifica del sistema complessivo standardizzazione dei componenti: interfaccia modularità + standardizzazione = upgrade e estendibilità semplicità ed economicità Informatica Architettura di un elaboratore 6
Modello concettuale 1. Elaborazione 2. Memorizzazione 4. Interconnessione 3. Interfaccia Informatica Architettura di un elaboratore 7
continua 1. Elaborazione 2. Memorizzazione Interconnessione 3. Comunicazione (interfaccia) Informatica Architettura di un elaboratore 8
Schema di riferimento PC ALU Memoria di massa Video/tastiera (terminale) Registri CPU Memoria Interfaccia di I/O Interfaccia di I/O dati BUS indirizzi controllo Informatica Architettura di un elaboratore 9
Informatica Architettura di un elaboratore 10
Scheda madre Connettori per schede di I/O aggiuntive Zoccolo per CPU Connettori per la memoria Connettori per dischi fissi Informatica Architettura di un elaboratore 11
CPU Le successioni di istruzioni che la CPU è in grado di interpretare, scritte in linguaggio macchina, sono eseguite in base ai seguenti principi: dati e istruzioni sono memorizzati in una memoria unica che permette sia la scrittura che la lettura; i contenuti della memoria sono indirizzati in base alla loro posizione, indipendentemente dal tipo di dato o istruzione contenuto; le istruzioni vengono eseguite in modo sequenziale. Informatica Architettura di un elaboratore 12
Ciclo Fetch-Decode Decode-Execute Fetch Decode Execute Informatica Architettura di un elaboratore 13
continua Tempo Istruzione 1 Lettura Decodifica Esecuzione Istruzione 2 Lettura Decodifica Esecuzione Istruzione 3 Ordine di esecuzione delle istruzioni Informatica Architettura di un elaboratore 14
Parti della CPU Data path 1. si occupa dell effettiva elaborazione dei dati una o più ALU registri Unità di controllo 1. coordina le operazioni di tutto il processore 2. regola il flusso dei dati e indica quali registri debbano essere collegati agli ingressi e all uscita dell ALU 3. invia all ALU il codice dell operazione da eseguire 4. riceve indicazioni sull esito dell operazione appena eseguita dall ALU e gestisce opportunamente queste informazioni registri di uso specifico Informatica Architettura di un elaboratore 15
Data path Registri R00 R01 R02 R03 Registri ingresso ALU Istruzione (e.g. add) esito X Y X Registro uscita ALU A L U X + Y X + Y Y Informatica Architettura di un elaboratore 16
Unità di controllo Data path CPU Unitàdi controllo PSW ALU Registri IR PC Memoria Fetch Esecuzione istruzioni trasferimento dati tra registri e memoria Informatica Architettura di un elaboratore 17
Esempio A A + B + C 789 load R02,4000 790 load R03,4004 791 add R01,R02,R03 792 load R02,4008 793 add R01,R01,R02 794 store R01,4000 Informatica Architettura di un elaboratore 18
CPU Esempio: situazione iniziale Memoria Data path ALU Registri Unità di controllo PSW IR 789 load R02,4000 790 load R03,4004 791 add R01,R02,R03 792 load R02,4008 793 add R01,R01,R02 794 store R01,4000 R05 R04 R03 R02 R01 R00 789 PC 4000 1492 4004 1918 4008 2006 Collegamenti per il Collegamenti per il Collegamenti trasferimento dati trasferimento di controllo istruzioni Informatica Architettura di un elaboratore 19
CPU R05 R04 Data path ALU Registri Esempio: lettura istruzione 789 Unità di controllo load R02,4000 PSW IR PC lettura load R02,4000 lettura load R02,4000 Memoria 789 load R02,4000 790 load R03,4004 791 add R01,R02,R03 792 load R02,4008 793 add R01,R01,R02 794 store R01,4000 R03 R02 R01 R00 789 789 789 4000 1492 4004 1918 4008 2006 Informatica Architettura di un elaboratore 20
CPU R05 R04 Data path ALU Registri Esempio: esecuzione istruzione 789 Unità di controllo PSW load R02,4000 IR PC lettura 4000 lettura Memoria 789 load R02,4000 790 load R03,4004 791 add R01,R02,R03 792 load R02,4008 793 add R01,R01,R02 794 store R01,4000 R03 R02 R01 R00 1492 789+1=790 1492 1492 4000 4000 1492 4004 1918 4008 2006 Informatica Architettura di un elaboratore 21
Clock La frequenza dell impulso di sincronizzazione determina la velocità con cui le varie fasi delle operazioni di controllo ed esecuzione efettuate dalla CPU sono svolte Informatica Architettura di un elaboratore 22
Parametri CPU Frequenza clock (multipli Hz) Dimensione registri e bus dati (bit) Frequenza bus (MT/s) Informatica Architettura di un elaboratore 23
La memoria 1. Supporto alla CPU deve fornire alla CPU dati e istruzioni il più rapidamente possibile elettronica: veloce, ma costosa e volatile Informatica Architettura di un elaboratore 24
continua 2. Archivio deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo magnetica, ottica, elettronica: non volatile ed economica, ma molto lenta Informatica Architettura di un elaboratore 25
Volatilità Velocità Performance: parametri access time: intervallo di tempo tra il momento in cui una richiesta di accesso dalla CPU arriva alla memoria e l istante in cui la memoria termina il proprio compito tempo di ciclo: tempo di accesso + tempo che deve trascorrere prima che possa iniziare un successivo accesso alla memoria transfer rate: quantità di dati trasferiti nell unità di tempo Informatica Architettura di un elaboratore 26
continua Costo (per bit) Modalità di accesso diretta sequenziale mista associativa Informatica Architettura di un elaboratore 27
Capacità: Multipli del byte binary digit = bit, solo due stati 0 1 Byte = 8 bit, 2 8 = 256 stati KiloByte [KB] = 2 10 Byte = 1024 Byte ~ 10 3 Byte MegaByte [MB]= = 2 20 Byte ~ 10 6 Byte GigaByte [GB] = 2 30 Byte ~ 10 9 Byte TeraByte [TB] = 2 40 Byte ~ 10 12 Byte PetaByte [PB] = 2 50 Byte ~ 10 15 Byte ExaByte [EB] = 2 60 Byte ~ 10 18 Byte Informatica Architettura di un elaboratore 28
Grandezza Nome Simbo lo Dimensione SI Diff. % Kilo binario Kibi Ki 2 10 1'024 10 3 2.40% Mega binario Giga binario Tera binario Peta binario Mebi Mi (2 10 ) 2 1'048'576 (10 3 ) 2 4.86% Gibi Gi (2 10 ) 3 1'073'741'824 (10 3 ) 3 7.37% Tebi Ti (2 10 ) 4 1'099'511'627'776 (10 3 ) 4 9.95% Pebi Pi (2 10 ) 5 1'125'899'906'842'62 4 (103 ) 5 12.59% Exa binario Exbi Ei (2 10 ) 6 1'152'921'504'606'84 6'976 (103 ) 6 15.29% Zetta binario Yotta binario Lo standard IEC per i prefissi binari Zebi Zi (2 10 ) 7 1'180'591'620'717'41 1'303'424 (103 ) 7 18.06% Yobi Yi (2 10 ) 8 1'208'925'819'614'62 9'174'706'176 (103 ) 8 20.89% Informatica Architettura di un elaboratore 29
continua Ambiguità: dischi fissi - SI (produttori): 120 GB = 120'000'000'000 byte, - IEC (utenti): 120 GB = 120 2 30 = 128'849'018'880 byte, - la differenza è del 7.37% 120 GB = 111.76 GiB; telecomunicazioni - SI: velocità di trasmissione dei dati lungo una rete di 100 megabit/secondo = 100 10 6 bit/secondo, - utenti: velocità di trasmissione dei dati lungo una rete di 100 megabit/secondo = 100 2 20 bit/secondo. Informatica Architettura di un elaboratore 30
La memoria centrale Mantiene al proprio interno i dati le istruzioni dei programmi in esecuzione e Caratteristiche: volatile, riscrivibile, veloce, meno capace, costosa, ad accesso random DRAM SRAM Informatica Architettura di un elaboratore 31
Eccezioni ROM: elettronica, permanente e di sola lettura PROM: elettronica, permanente, programmabile un unica volta tramite impulsi elettrici EPROM: elettronica, permanente, cancellabile tramite raggi ultravioletti e riprogrammabile con attrezzatura specifica EEPROM: elettronica, permanente, riprogrammabile tramite impulsi elettrici Flash: elettronica, permanente, riprogrammabile Informatica Architettura di un elaboratore 32
RAM Costituita da una successione di elementi bistabili raggruppati in celle di uguale lunghezza, ciascuna dotata di un indirizzo univoco (posizione all interno della sequenza) Informatica Architettura di un elaboratore 33
linea 0 0 linea 1 0 linea 2 0 linea 3 0 linea 4 0 0110 Bus indirizzi DECODIFICATORE linea 5 linea 6 linea 7 linea 8 linea 9 0 1 0 0 0 0 1 1 0 1 1 0 0 parola selezionata linea 10 0 linea 11 0 linea 12 0 linea 13 0 linea 14 0 linea 15 0 leggi/scrivi Bus di controllo 0 1 1 0 1 1 0 0 Dato (letto o da scrivere) Informatica Architettura di un elaboratore 34 Bus dati
costo Gerarchia velocità tecnologia magnetica (HD esterni) capacità Supporti esterni tecnologia ottica (CD, DVD) tecnologia elettronica (flash disk) Registri Cache I liv Cache II liv Informatica Architettura di un elaboratore 35 RAM C P U Disco fisso (hard disk) tecnologia magnetica C ir c u ito In te g ra to (c h ip ) S c h e d a m a d re (m o th e r b o a rd ) In v o lu c ro e ste rn o d e l c a lc o la to re (c a se )
Perché la gerarchia Località spaziale Località temporale Politica di sostituzione: : LRU tecnologia magnetica (HD esterni) Supporti esterni tecnologia ottica (CD, DVD) tecnologia elettronica (flash disk) SRAM Registri Cache I liv Cache II liv Informatica Architettura di un elaboratore 36 RAM DRAM C P U Disco fisso (hard disk) tecnologia magnetica C ir c u ito In te g ra to (c h ip ) S c h e d a m a d re (m o th e r b o a rd ) In v o lu c ro e ste rn o d e l c a lc o la to re (c a se )