Architettura dell’elaboratore Claudia Raibulet [email protected] ACCOUNT Per poter accedere ai computer durante il laboratorio di informatica e’ richiesto un ACCOUNT In uno dei laboratori che si trovano in U1, U2, U3… chiedere un account per poter accedere ai computer dei laboratori Orario dei laboratori si trova sul sito: • www.lib.unimib.it I lab si trovano in: • • • • U1 – Lab 101 e Lab 111 U2 – Lab 221 U3 – Lab 311 U5 – Lab 521 Nuovo orario laboratorio TURNO A Lunedi’ 22 maggio 14.00 – 18.00 (4h) Lunedi’ 29 maggio 14.00 – 18.00 (4h) Lunedi’ 5 giugno 9.30 – 13.30 (4h) Venerdi’ 16 giugno 14.00 – 18.00 (4h) Lunedi’ 19 giugno 9.30 – 13.30 (4h) Lunedi’ 26 giugno 9.30 – 13.30 (4h) Nuovo orario laboratorio TURNO B Martedi’ 23 maggio 14.00-17.00 (3h) Mercoledi’ 24 maggio 13.30-16.30 (3h) Lunedi’ 29 maggio 09.30-12.30 (3h) Lunedi’ 05 giugno 13.30-16.30 (3h) Venerdi’ 09 giugno 09.30-13.30 (4h) Venerdi’ 16 giugno 09.30-13.30 (4h) Venerdi’ 23 giugno 09.30-13.30 (4h) Struttura funzionale dell’elaboratore Moduli principali: Unità di elaborazione Unità di memoria Elaborazione Memorizzazione canali di comunicazione Acquisizione-comunicazione di dati (comunicazione con il mondo esterno) Unità di input e unità di output Scopo: Esecuzione di programmi Architettura dell’elaboratore Macchina di Von Neumann Moduli principali: • CPU (Central Processing Unit) – il processore, l’unita’ di elaborazione o o o o Unita’ di Controllo (CU) Unita’ Aritmetico Logica (ALU) Registri Clock • Memoria o Tipi di memoria: RAM (Random Access Memory), ROM (Read Only Memory), cache, di massa (hard disk) • Bus di sistema • Periferiche - Unita’ di I/O o Tastiera (input), video (output), stampante (output), lettore ottico (input) Architettura dell’elaboratore Collegamento Bus di sistema Esecuzione istruzioni Unità di Elaborazione (CPU) Memoria Centrale (CM) Memoria di lavoro Interfaccia Periferica P1 Interfaccia Periferica P2 Memoria di massa, stampante, terminale… Architettura dell’elaboratore Bus di comunicazione (collegano le unità Bus esterni funzionali del calcolatore) Bus interni video tastiera Unità di controllo (UC) Unità aritmetico logica (ALU) stampante Dispositivi di I/O Registri Memoria centrale Celle di memoria indirizzo delle celle CPU Architettura dell’elaboratore Tra la CPU e la memoria centrale Memoria Memoria cache Periferiche contiene la CPU e i circuiti di controllo Memoria di massa La scheda madre Fa da supporto e connessione a tutte le componenti interne dell’elaboratore Contiene dispositivi di controllo delle varie parti Svolgono anche funzioni audio, video e di rete (specialmente nei PC di marca) Sulla scheda madre si inseriscono come componenti separati il microprocessore, la RAM e le varie schede di espansione Si trovano anche i collegamenti per l’hard disk e i dischi mobili CPU Contiene dispositivi elettronici in grado di acquisire, interpretare ed eseguire le istruzioni di un programma Funzioni principali della CPU: • preleva le istruzioni di un programma dalla memoria del calcolatore e le esegue • legge e scrive dati dalla/nella memoria contrale e li elabora sulla base del programma in fase di esecuzione • riceve ed invia dati dalle/alle periferiche e li elabora sulla base del programma in fase di esecuzione Struttura della CPU (processore) L’unita’ piu’ complessa del calcolatore Costituita da: • Unita’ di controllo o o o legge le istruzioni dalla memoria determina il tipo dell’istruzione genera i segnali di controllo che provocano i trasferimenti o le collaborazioni necessarie per l’esecuzione dell’istruzione corrente • Unita’ aritmetico logica o Esegue le operazioni aritmetiche e logiche • Clock o Sincronizza le operazioni rispetto ad una data frequenza • Registri o o o Elementi di memoria ad alta velocita’ Memorizzano risultati parziali o informazioni necessarie al controllo Due tipi di registri: generici e di uso specifico BUS interno del Processore CPU Campi dell’Istruzione (all’Unità di Controllo) BUS del Calcolatore Indirizzi 32 32 Dati PC 16 32 Decodificatore delle Istruzioni 32 MAR 32 32 32 IR 32 32 PC – program counter (contatore di programma) IR – instruction register (registro delle istruzioni) Comandi ALU MAR – memory address (dall’Unità di Controllo) register (registro di Add Sub indirizzamento della 1 XOR memoria) MDR – memory data register (registro dati di memoria) TEMP – temporary register PSW – program status word 32 MDR 32 32 Y 32 32 A B 1 ALU C 32 Riporto in Ingresso (dall’Unità di Controllo) 32 R0 . . . . . . . . . . . R31 32 Z 32 TEMP Segnali di controllo del processore BUS interno della CPU porta di scrittura Campi della Istruzione 1 Riin 32 32 Ri 32 Read Write WMFC WPFC 1 Riout Unità di Controllo porta di lettura 1 Yin 32 BUS di Controllo del Calcolatore Schema logico di (parte del) processore, con il flusso di dati e le relative porte di lettura/scrittura, con i segnali di controllo Yout 1 Y Clear Y 32 32 Comandi ALU Add Sub A B 1 ALU 1 XOR Carry-in (riporto in ingresso) C 32 1 Zin Z 32 1 Zout Elementi base dell’architettura Transistor • • • • Rappresenta l’elemento base degli attuali elaboratori elettronici digitali E’ di piccole dimensioni Ha un basso consumo di energia Alta velocita’ di funzionamento (milioni di operazioni al secondo) Chip • Nei chip i transistor sono stampati su fogli di silicio -> in pochi millimetri quadrati risiedono migliaia/milioni di transistor Microprocessore • E’ un circuito (chip) ad altissimo grado di integrazione in cui risiedono tutte le funzioni tipiche dalle CPU Memoria Nella memoria vengono rappresentate e memorizzate le informazioni: • dati e istruzioni Come? In che formato? ->problema della rappresentazione dell’informazione Unita’ di informazione: BIT (binary digit) Perche’ il bit? -> i dispositivi fisici dell’elaboratore lavorano su segnali elettrici con due valori di tensione significativi: alto e basso Situazione fisica Valore di tensione basso Valore di tensione alto Rappresentazione logica 0 1 La memoria e’ costituita da elementi bistabili (flip-flop): dispositivi che possono assumere e conservare stabilmente due soli stati Memoria Organizzata in celle Le celle hanno uguale dimensione e contengono un numero finito di bit Ogni cella di memoria e’ caratterizzata da un indirizzo e da un contenuto (valore in essa memorizzato); il contenuto e’ una sequenza di bit Osservazione: anche l’indirizzo delle celle di memoria e’ rappresentato mediante una sequenza di bit 0 1 0 0 1 1 0 1 Contenuto di una cella di memoria (parola) (la cella ha in questo caso lunghezza 8 bit) Memoria 1 bit – possibili valori: 0 oppure 1 Insieme di 8 bit = 1 BYTE (binary term) La dimensione della memoria si misura in byte: • 1 KiloByte (KB) = 1024 byte = 210 byte • 1 MegaByte (MB) = 1024 KB = 220 byte • 1 GigaByte (GB) = 1024 MB = 230 byte L’unita’ minima di memoria che puo’ essere singolarmente indirizzata e’ detta parola di memoria Le distinte sequenze di bit di lunghezza n sono 2n Domanda: perche’ la dimensione della memoria e data in byte e non in parole di memoria? RAM e ROM RAM – Random Access Memory • Si puo’ leggere e scrivere • Volatile -> le informazioni rimangono memorizzate fintanto che la memoria e’ “alimentata” -> a causa di un arresto di corrente le informazioni contenute nella RAM vengono perse ROM - Read Only Memory • Si puo’ solo leggere (la scrittura delle informazioni avviene una tantum) • Non e’ volatile • Contiene informazioni di base utilizzate all’accesnsione della macchina (in programma con le prime istruzioni che la CPU deve eseguire) EPROM – Programmable ROM (si puo’ programmare una sola volta) EPROM – Erasable PROM (e’ cancellabile, si puo’ riprogrammare) EEPROM – Electrically Erasable PROM (riprogrammabile elettricamente) Memoria cache Sono memorie ad accesso veloce poste tra la RAM e la CPU (di solito si trovano sullo stesso chip della CPU) Sono di accesso molto veloce ma sono costose -> se ne usano poche e di picole dimensioni Il loro uso e’ combinato a quello della memoria centrale Utilita’ durante l’esecuzione di programmi (per ridurre i tempi di accesso ai dati) Osservazione: le memorie cache risiedono anche su alcune periferiche (per esempio stampanti) Esecuzione delle istruzioni 3 fasi principali: • FETCH o Preleva dalla memoria l’istruzione il cui indirizzo e’ nel registro PC e la memorizza nel registro IR o Incrementa il registro PC che cosi contiene l’indirizzo della prossima istruzione • DECODE o Determina il tipo dell’istruzione attiva o Se e’ necessario un dato allora determina il suo indirizzo • EXECUTE o Se necessario mette il dato in un registro o Esegue l’istruzione o Torno al primo punto di fetch per eseguire l’istruzione successiva Esecuzione di un programma