capitolo 5 elementi architetturali di base - isti::home pageglami/sistemi/05.elem.arch.base.pdf ·...
TRANSCRIPT
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Capitolo 5Elementi architetturali di
base
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Giuseppe Lami
Istituto di Scienza e Tecnologie dell’InformazioneCNRVia Moruzzi, 1 - Pisa
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Struttura
- Unità di elaborazione e controllo o CPU (Cenral Processing Unit)-UO: calcolo e manipolazione informazioni-UC: gestione/coordinamento delle attività della UO, I/O, memoria
- Memoria- Sistema di ingresso o uscita (I/O, Input/Output)- Sistema di interconnessione (bus)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
John Von Neumann (1903-1957)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
John Von Neumann (1903-1957)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Organizzazione
Bus indirizzi: origina dalla CPU e contiene gli indirizzi della cella di memoria da leggere/scrivereBus controlli: comandi della CPU, risposte, indicatori di statoBus Dati
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La Memoria
- composta da celle o locazioni
- a ogni cella corrisponde un indirizzo
- il complesso delle possibili posizioni in memoria è lo spazio degli indirizzi
- per leggere è necessario fornire l’indirizzo (A0 .. A m-1) e il comando di lettura
- per scrivere sono necessari indirizzo, dato (D0 .. Dd-1) e il comando di scrittura
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
CPU effettua un ciclo di lettura in 3 cicli di clockT1: CPU: asserisce l’indirizzo di memoria e il comando di lettura MreadT2: la memoria pilota il bus dati con il contenuto della cellaT3: CPU legge dal bus datiIl segnale wait (in ingresso alla CPU), comandato da una logica esterna alla CPU (controllore della memoria), serve a ovviare alla lentezza della memoria rispetto alla CPU, introducendo cicli di attesa.
La Memoria - temporizzazione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
CPU effettua un ciclo di scrittura in 4 cicli di clockT1: CPU: asserisce l’indirizzo di mem., il dato da scrivere e il comando di lettura MwriteT2: CPU campiona (controlla) l’ingresso wait (attivo) – l’operazione id scrittura è in corsoTw: Il segnale wait (in ingresso alla CPU), comandato da una logica esterna alla CPU (controllore della memoria), serve a ovviare alla lentezza della memoria rispetto alla CPU, introducendo un ciclo di attesa waitT3: scrittura completata.
La Memoria - temporizzazione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La Memoria
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
(Linguaggio assemblativo) LD R1, Var ; (forma compatta) R1 � M[Var]
ADD Rd, Rs1, Rs2 ; Rd � Rs1 + Rs2
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
Rappresentazione binariaCodice operativo su 6 bit: LD -> 100011Id. Registro su 5 bit: R1 -> 00001Indirizzo di memoria su 21 bit -> 0 0000 0000 0011 1111 1100
LD R1, Var -> 10 0011 0 0001 0 0000 0000 0011 1111 1100
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
Rappresentazione binaria di ADD R7, R10, R3Codice operativo su 6 bit: ADD -> 000101Id. Registro su 5 bit: R7 -> 00111, R10 -> 01010, R3 -> 00011I restanti 11 bit sono inutilizzati
ADD R7, R10, R3 -> 00 0101 0 1010 0 0011 0 0111 xxxxxxxxxxx
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Sequenze di istruzioni in memoria
Lo statement a = b + c si traduce come:LD R2, B ;B indirizzo a cui è allocata la parola bLD R3, C ;C indirizzo a cui è allocata la parola cADD R1, R2, R3ST A, R1 ;A indirizzo a cui è allocata la parola a
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
UC: responsabile dell’esecuzione delle istruzioni:- Legge le istruzioni dalla memoria- interpreta il OP e lo trasforma in sequenze temporizzate di comandi alla OU e/o alla memoria / dispositivi di I/O
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
OU: esegue le manipolazioni dell’informazione:- Legge i dati dalla memoria usando registri locali- esegue i comandi della UC sui dati acquisiti attraverso la ALU (rete che esegue operazioni logiche e aritmetiche)- fornisce alla UC informazioni intermedie della elaborazione (condizioni)- produce dati in uscita (memoria – I/O)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPUIl funzionamento della CPU èscandito dal clock.
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPUMacrofasi del processo di elaborazione di una istruzione
Fetch: -viene letta l’istruzione contenuta nella cella indirizzata dal PC (registro Program Counter)-Viene decodificata l’istruzione per pilotare la sua esecuzione
Execute:- Viene eseguita l’istruzione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPUMacrofasi del processo di elaborazione di una istruzione
Es. I (LD, R2, B)
a)La UC comanda la lettura della istruzione (parola) presente nell’indirizzo di Memoria contenuto nel PC (registro della CPU che contiene l’indirizzo (puntatore)
dell’istruzione successiva da eseguire).a)In base al OP (LD) la UC pilota la OU alla lettura della parola nell’indirizzo Bin memoria; la OU riceve il dato e lo memorizza nel suo registro R2b)Il PC viene incrementato di 4 per puntare alla instruzione successiva.
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
PC (Program Counter)
ALU (Arithmetic and Logic Unit): rete combinatoria
IR (Instruction Register) usato per contenere l’istruzione in corso di esecuzioneviene caricato nella fase di fetch e rappresenta l’ingresso che detrmina la azioni svolte nella fase di esecuzione.
General Purpose Registers R1, R2, .. , Rn impiegati per contenere i dati su cui l’ALU esegue le proprie operazioni
MAR (Memory Address Register) deputato a contenere l’indirizzo della locazionedi memoria da leggere o scrivere. La sua uscita è sul bus indirizzi e viene abilitata durante le operazioni di lettura/scrittura
DTR (Data Transfer Register) registro attraverso il quale viene scambiata l’informazione fra la memoria e la CPU
Parti componenti la CPU
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Esempio di organizzazione interna (bus singolo)I Registri TO e TI sono registri temporanei in appoggio alla ALU
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Esecuzione delle istruzioniFase di Fetch
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Esecuzione delle istruzioniFase di esecuzione
I segnali vengono generati per svolgere le azioni dall’istruzione in esecuzione (in IR) e di eventuali istruzioni di saltoEsempio: ADD R1, R2, R3 (tre cicli di clock)1.TI <- R2 (occorre appogiare il primo operando poichè c’è un solo bus2.R3 viene passato in ingresso alla ALU. L’uscita della ALU va in TO (il bus èoccupato dal valore del secondo operando)3.R1 <- TO
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Temporizzazione
Trasferimento da registro a registroTrasferimento da RB a RA (RA <- RB):• RBout –abilita l’uscita di RB• RAin – abilita l’ingresso in RASono entrambi segnali asseriti dalla UC all’inizio del Ti, sul fronte finale del Tiavviene il trasferimento.Ti: RBout, RAin
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Temporizzazione
Utilizzo della ALUEsempio: RD<-RA+RB
Ti: RAout, TIinTi+1: RBout, ADD, TOinTi+2: TOout , RDin
Aggiornamento del PC:Ti: PCout, SEL4, ADD, TOinTi+1: TOout, Pcin
TI, TO dovuti alla presenza di un solo bus
Esiste una linea di comando che, se asserita, viene presentata alla
ALU la costante 4
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
TemporizzazioneFase di Fetch
T1: PCout, MARin
T2: Mread, DTRin
T3: DTRout, IRin
Considerando anche l’aggiornamento del PC (istruzioni non di salto)
T1: PCout, MARin, SEL4, ADD, TOin
T2: Mread, DTRin, TOout, PCin
T3: DTRout, IRin
Se la memoria determina unritardo e non risponde entroT2.
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Temporizzazione
Esempio completo ADD R1, R2, R3
T1: PCout, MARin, SEL4, ADD, TOinT2: Mread, DTRin, TOout, PCinT3: DTRout, IRin
T4: R2out, TIinT5: R3out, ADD, TOinT6: TOout, R1in
Fase di fetch
Fase di esecuzione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Percorsi interni
T4: R2out, TIinT5: R3out, ADD, TOinT6: TOout, R1in
T4: R2out, R3out, R1in , ADD3 bus
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Il file dei registri
Banco dei registri – blocco funzionale A collegata al bus S1, B collegata al bus S2 D collegata al bus DEsempio ADD R1, R2, Rd1. Portare dal registro IR il contenuto dei campi R1 e R2 ai due ingressi RR1 e RR2,e portare il contenuto del campo Rd all’ingresso RW2. Asserire il comando ADD alla ALU e asserire il comando RWrite
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Il file dei registri
Dettaglio relativo al registro generico i
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Unità di controllo a logica cablataT1: PCout, MARin, SEL4, ADD, TOinT2: Mread, DTRin, TOout, PCinT3: DTRout, IRinT4: R2out, TIinT5: R3out, ADD, TOinT6: TOout, R1in
Es:Il segnale PCout deve essere asserito solo a T1Quindi, PCout = T1
Il segnale TOout, deve essere asserito a T2 e T6 (qui solo in presenza dell’istruzione ADD)Quindi, TOout = T2 + T6*ADD
contatore
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Unità di controllo a logica cablata
Ingressi:-Segnali di temporizzazione (T1, T2, ..., Tn)- Contenuto dell’IR- stato della OU- variabili di stato della UC medesima
-Complessità della rete combinatoria dipendente dal numero degli ingressi e delle uscite (prodotto)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Unità di controllo a logica microprogrammata
Microprogrammazione: la UC viene vista come un elementare calcolatore che esegue passi di µprogramma. La UC è composta da una memoria (contenente le parole di controllo (µistruzioni)) eda una rete in grado di indirizzare le parole di controllo (esecuzione).L’effetto è quello di presentare alla OU sequenze di µistruzioni.
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Unità di controllo a logica microprogrammata
Funzionamento schematico:
1.Inizio fase di fetch: µPC punta allacella della ROM contenente la sequenza delle µistruzioni chedeterminano la fase di fetch (la prima è MAR<-PC).2.Fine fase di fetch: il codice dell’operazione IR viene usato per accedere alle celle che contengono la µroutine relativa alla specifica operazione.3.Durante l’esecuzione della µroutine il valore del µPC puo variare in modo non incrementale4.Al termine della fase di esecuzione il µPC viene fatto puntare all’inizio della sequenza corrispondente alla fase di fetch