Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione
Architettura degli Elaboratori Seconda parte
Central Processing Unit (CPU) È costituita da: –Registri –Unità aritmetico logica (ALU) –Unità di Gestione e Controllo Clock di sistema (unità di misura usata per il clock è Hertz)
Tipi di Operazioni della CPU Lettura (normalmente: da una cella di memoria a un registro della CPU) Scrittura (in memoria, dei dati di un registro) Spostamento (di informazioni in memoria) Salto (a un’altra istruzione: PC modificato adeguatamente) Aritmetiche (fra registri) Logiche (confronto, inversione)
Unità Aritmetico Logica - ALU Si occupa dell’esecuzione delle operazioni aritmetiche e logiche in base agli ordini ricevuti dall’unità di controllo e governo –Somma, sottrazione... –Operatori condizionali (AND, OR,...)
CPU: Descizioni Velocità: MIPS - microistruzioni al secondo (4.77, 100, 200, …, 500,...) Distinzione in base al set di istruzioni: –CISC (Complete Instruction Set Computer): insieme ampio di microistruzioni, più facile scrivere programmi per compiti diversi –RISC (Reduced Instruction Set Computer): solo istruzioni più usate, guadagno in velocità
CPU Evoluzione tecnologica: –Valvole –Transistor –Circuiti stampati –VLSI (Very Large Scale of Integration) Storia del PC attraverso le CPU –Intel 8086, 8088, 286, 386, 486, Pentium, Pentium Pro, Pentium III, Pentium IV,...
BUS Collega tra loro due o più componenti dell’elaboratore (CPU, Memoria Centrale ed Interfacce delle periferiche). È un mezzo di trasmissione condiviso, e quindi: –tutti i dispositivi vedono i dati trasmessi –affinché venga garantita l’integrità dei dati, una sola componente per volta può trasmettere sul bus –È composto da linee elettriche lungo in cui fluiscono, in parallelo, i dati Unità Centrale Interfacce delle Periferiche Menoria Centrale BUS DATI BUS CONTROLLO BUS INDIRIZZI LINEE DI SERVIZIO (tensione, terra) BUS
BUS: suddivisione logica Logicamente è suddiviso in: –Bus Dati: costituisce il percorso per trasferire i dati tra le componenti dell’elaboratore. Il numero di linee che lo compongono specifica la dimensione del bus –Bus Indirizzi: indica la sorgente o la destinazione dei dati che transitano sul bus dati –Bus di Controllo: è usato per controllare l’uso e l’accesso al bus dati ed al bus indirizzi
BUS: operazioni – caso 1 Una componente A invia dei dati ad una componente B: –A attraverso il bus di controllo acquisisce il diritto all’uso del bus –A scrive nel bus di controllo il codice del comando –A scrive nel bus dati il dato da inviare a B –A scrive nel bus indirizzi l’identificativo di B e la posizione in B dove scrivere i dati
BUS: operazioni – caso 2 Una componente A richiede dei dati di una componente B: –A attraverso il bus di controllo acquisisce il diritto all’uso del bus –A scrive nel bus di controllo il codice del comando –A scrive nel bus indirizzi l’identificativo di B e la posizione in B dove si trovano i dati da ricevere –A si mette in attesa dei dati
Unità di Controllo: fasi d’esecuzione
Fasi d’esecuzione: dettagli Fase di Acquisizione (Fetch) –Il contenuto del registro PC e’ trasferito nel registro AR –Lettura da memoria (all’indirizzo AR). Il dato letto e’ trasferito in DR –Il contenuto di DR e’ trasferito in CIR –PC conterrà l’indirizzo della prossima istruzione PC=PC+1 (o PC=PC+k) Fase di Interpretazione (Decode) : si determina il tipo di istruzione da eseguire Fase di Esecuzione (Execute) : esecuzione effettiva dell’operazione
Esempio d’esecuzione: configurazione iniziale A B C PC0 CIR Reg1 Reg2 Reg3 Memoria (istruzioni e dati) Parole di 8 bit Alcuni Registri
Esempio d’esecuzione: la prima istruzione A B C PC0 CIR Reg1 Reg2 Reg3 Fetch: 1.PC AR: AR diventa 0 2.Lettura AR DR: DR diventa DR CIR: CIR diventa Incremento PC Decode: CIR istruzione: “load A Reg1” Execute: A B C PC1 CIR Reg Reg2 Reg3
Esempio d’esecuzione: la seconda istruzione A B C PC1 CIR Reg Reg2 Reg3 Fetch: 1.PC AR: AR diventa 1 2.Lettura AR DR: DR diventa DR CIR: CIR diventa Incremento PC Decode: CIR istruzione: “load B Reg2” Execute: A B C PC2 CIR Reg Reg Reg3
Esempio d’esecuzione: la terza istruzione A B C Fetch: 1.PC AR: AR diventa 2 2.Lettura AR DR: DR diventa DR CIR: CIR diventa Incremento PC Decode: CIR istruzione: “sum Reg1 Reg2 Reg3” Execute: A B C PC2 CIR Reg Reg Reg3 PC3 CIR Reg Reg Reg
Esempio d’esecuzione: la quarta istruzione A B C Fetch: 1.PC AR: AR diventa 3 2.Lettura AR DR: DR diventa DR CIR: CIR diventa Incremento PC Decode: CIR istruzione: “write Reg3 C” Execute: A B C PC3 CIR Reg Reg Reg PC4 CIR Reg Reg Reg
Esempio d’esecuzione: configurazione finale A B C PC4 CIR Reg Reg Reg Memoria (istruzioni e dati) Parole di 8 bit Alcuni Registri