Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf ·...

17
Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl Capitolo 5 Elementi architetturali di base Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl Giuseppe Lami Istituto di Scienza e Tecnologie dell’Informazione CNR Via Moruzzi, 1 - Pisa [email protected]

Transcript of Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf ·...

Page 1: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

[email protected]

Page 2: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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)

Page 3: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 4: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 5: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 6: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 7: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 8: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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)

Page 9: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 10: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 11: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 12: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 13: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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.

Page 14: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 15: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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

Page 16: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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)

Page 17: Capitolo 5 Elementi architetturali di base - ISTI::Home Pageglami/sistemi/05.Elem.Arch.Base.pdf · Calcolatori elettronici – Architettura e organizzazione Giacomo Bucci Copyright

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