...

Lezione 4_0

by user

on
Category: Documents
19

views

Report

Comments

Transcript

Lezione 4_0
Il livello Microarchitetturale
Lezione 4_0
Microarchitettura e Datapath
Agenda




Significato del livello
Caratteristiche del Data Path
Microistruzioni
Ciclo completo di Data Path
Il livello Microarchitettura


Esiste un programma ISA, composto da
istruzioni ISA
La microarchitettura compie il ciclo:



Fetch: legge l’istruzione ISA
Decode: interpreta in una(nelle) istruzioni
microarchitettura
Execute: esegue la (le) istruzioni di
microarchitettura
Data Path

ALU, Shifter e diversi registri


6 linee di controllo ALU
Altre 18 linee per altri componenti
Un ciclo di data path (execute)

Sincronizzazione del data path





segnali di controllo si stabilizzano
registri vengono scritti sul bus B
ALU e shifter calcolano
segnali risultato su bus C
memorizzazione sui registri
Ciclo di DP: e la memoria ?


MAR e PC vengono caricati comunque
sul fronte di salita, quindi alla fine del
ciclo
Se va bene (PC) il nuovo MBR è
disponibile al ciclo successivo (ovvero al
prossimo edge in salita)
Interazioni con la memoria (R/W)

MAR, memory address register, indica
un indirizzo di memoria dove si trova il
contenuto di:

MDR, memory data register

lettura e scrittura dati ISA (parole)
Interazioni con la memoria (Fetch)

PC, program counter, indica un indirizzo
di memoria (cache) dove si trova il
contenuto di:

MBR, memory branch register

lettura istruzione ISA (byte)
Decode ?



Ma MBR materializza l’istruzione ISA !
Come la interpreto in una istruzione di
microprogramma ?
E cos’è, ovvero, a cosa serve una
(micro)istruzione ?
Microistruzioni





9
4
8
2
1
segnali per il bus C
segnali per il bus B
segnali per ALU e Shifter
per R/W per memoria
per R su PC/MBR
Microistruzioni

24 segnali pilotano il ciclo di data path
…….. e la prossima istruzione ??

NEXT-ADDRESS e JAM


N-A, indirizzo della microistruzione
successiva
J, come selezionare la microistruzione
successiva

Totale 36 segnali (bit)
Control Store


Figura 4.6
E’ la memoria (ROM) che contiene le
microistruzioni


suo registro dati è MIR, che contiene la
microistruzione indicata da MPC
suo registro indirizzi è MPC viene
valorizzato o con N-A o con MBR a seconda
del valore che ha un bit di JAM
Istruzione successiva



Se JAMC = 1, allora prendo il contenuto
di MBR (branch)
Se JAMC e/o JAMN = 1 allora viene
messo a 1 msb di N-A
Se JAMs = 0 allora N-A come si
presenta
Ciclo completo data path






1, discesa, carica in MIR ciò che c’è in MPC
(decode)
2, carico in B registro selezionato (execute)
3, elaborazione ALU e shifter (execute)
4, propagazione su bus C (execute)
5, salita, carica i dati nei registri, in MBR e
MDR, Flip-Flop N e Z (execute R/W e/o Fetch)
6, quando MBR disponibile, carica MPC, il
clock è alto (fetch)
…..ciclo completo: oppure

1, discesa, carica in MIR ciò che c’è in MPC
(decode)





2, carico in B registro selezionato (execute)
3, elaborazione ALU e shifter (execute)
4, propagazione su bus C (execute)
5, salita, carica i dati nei registri, in MBR e
MDR, Flip-Flop N e Z (execute R/W e/o fetch)
6, copia N-A su MPC (fetch)
Fly UP