Sei sulla pagina 1di 17

Capitolo 5

Elementi architetturali di
base

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Giuseppe Lami

Istituto di Scienza e Tecnologie dell’Informazione


CNR
Via Moruzzi, 1 - Pisa

giuseppe.lami@isti.cnr.it

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
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 organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

John Von Neumann (1903-1957)

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
John Von Neumann (1903-1957)

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Organizzazione

Bus indirizzi: origina dalla CPU e contiene gli indirizzi della cella di memoria da
leggere/scrivere
Bus controlli: comandi della CPU, risposte, indicatori di stato
Bus Dati
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
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 organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

La Memoria - temporizzazione

CPU effettua un ciclo di lettura in 3 cicli di clock


T1: CPU: asserisce l’indirizzo di memoria e il comando di lettura Mread
T2: la memoria pilota il bus dati con il contenuto della cella
T3: CPU legge dal bus dati
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 cicli di attesa.
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
La Memoria - temporizzazione

CPU effettua un ciclo di scrittura in 4 cicli di clock


T1: CPU: asserisce l’indirizzo di mem., il dato da scrivere e il comando di lettura Mwrite
T2: CPU campiona (controlla) l’ingresso wait (attivo) – l’operazione id scrittura è in corso
Tw: 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 wait
T3: scrittura completata
Calcolatori elettronici – Architettura e organizzazione
.
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl

La Memoria

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
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 organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

La codifica delle istruzioni

Rappresentazione binaria
Codice operativo su 6 bit: LD -> 100011
Id. Registro su 5 bit: R1 -> 00001
Indirizzo 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 organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
La codifica delle istruzioni

Rappresentazione binaria di ADD R7, R10, R3


Codice operativo su 6 bit: ADD -> 000101
Id. Registro su 5 bit: R7 -> 00111, R10 -> 01010, R3 -> 00011
I restanti 11 bit sono inutilizzati

ADD R7, R10, R3 -> 00 0101 0 1010 0 0011 0 0111 xxxxxxxxxxx


Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Sequenze di istruzioni in memoria

Lo statement a = b + c si traduce come:


LD R2, B ;B indirizzo a cui è allocata la parola b
LD R3, C ;C indirizzo a cui è allocata la parola c
ADD R1, R2, R3
ST A, R1 ;A indirizzo a cui è allocata la parola a

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
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 organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

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 organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
La CPU
Il funzionamento
della CPU è
scandito dal clock.

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

La CPU
Macrofasi 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 organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
La CPU
Macrofasi 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 B
in memoria; la OU riceve il dato e lo memorizza nel suo registro R2
b)Il PC viene incrementato di 4 per puntare alla instruzione successiva.
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Parti componenti la
CPU
PC (Program Counter)

ALU (Arithmetic and Logic Unit): rete


combinatoria

IR (Instruction Register) usato per


contenere l’istruzione in corso di esecuzione
viene 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 locazione


di 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
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
Esempio di organizzazione interna (bus singolo)
I Registri TO e TI sono registri temporanei in appoggio alla ALU
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Esecuzione delle istruzioni


Fase di Fetch

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
Esecuzione delle istruzioni
Fase di esecuzione

I segnali vengono generati per svolgere le azioni dall’istruzione in esecuzione (in IR)
e di eventuali istruzioni di salto
Esempio: ADD R1, R2, R3 (tre cicli di clock)
1.TI <- R2 (occorre appogiare il primo operando poichè c’è un solo bus
2.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 organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Temporizzazione

Trasferimento da registro a registro


Trasferimento da RB a RA (RA <- RB):
• RBout –abilita l’uscita di RB
• RAin – abilita l’ingresso in RA
Sono entrambi segnali asseriti dalla UC all’inizio del Ti, sul fronte finale del Ti
avviene il trasferimento.
Ti: RBout, RAin
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
Temporizzazione
Esiste una linea di comando che,
se asserita, viene presentata alla
ALU la costante 4

TI, TO dovuti alla presenza


di un solo bus

Utilizzo della ALU


Esempio: RD<-RA+RB

Ti: RAout, TIin


Ti+1: RBout, ADD, TOin
Ti+2: TOout , RDin

Aggiornamento del PC:


Ti: PCout, SEL4, ADD, TOin
Ti+1: TOout, Pcin

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Temporizzazione
Fase di Fetch

T1: PCout, MARin


T2: Mread, DTRin
T3: DTRout, IRin

Considerando anche
T1: PCout, MARin, SEL4, ADD, TOin l’aggiornamento del PC
T2: Mread, DTRin, TOout, PCin (istruzioni non di salto)
T3: DTRout, IRin

Se la memoria determina un
ritardo e non risponde entro
T2.
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
Temporizzazione

Esempio completo ADD R1, R2, R3

T1: PCout, MARin, SEL4, ADD, TOin Fase di fetch


T2: Mread, DTRin, TOout, PCin
T3: DTRout, IRin

T4: R2out, TIin


Fase di esecuzione
T5: R3out, ADD, TOin
T6: TOout, R1in

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Percorsi interni

T4: R2out, TIin


T5: R3out, ADD, TOin 3 bus T4: R2out, R3out, R1in , ADD
T6: TOout, R1in
Calcolatori elettronici – Architettura e organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
Il file dei registri

Banco dei registri – blocco funzionale A collegata al bus S1, B collegata al bus S2
D collegata al bus D
Esempio ADD R1, R2, Rd
1. 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 RW
2. Asserire il comando ADD alla ALU e asserire il comando RWrite

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Il file dei registri

Dettaglio
relativo al
registro
generico i

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
Unità di controllo a logica cablata
T1: PCout, MARin, SEL4, ADD, TOin
T2: Mread, DTRin, TOout, PCin
T3: DTRout, IRin
T4: R2out, TIin
T5: R3out, ADD, TOin
T6: TOout, R1in

Es:
Il segnale PCout deve essere
asserito solo a T1
Quindi, 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 organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

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 organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci
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)) e
da 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 organizzazione
Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci

Unità di controllo a logica microprogrammata

Funzionamento schematico:

1.Inizio fase di fetch: µPC punta alla


cella della ROM contenente la
sequenza delle µistruzioni che
determinano 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 incrementale
4.Al termine della fase di esecuzione il µPC viene fatto puntare
all’inizio della sequenza corrispondente alla fase di fetch

Calcolatori elettronici – Architettura e organizzazione


Copyright © 2009 – The McGraw-Hill Companies srl
Giacomo Bucci