Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Il livello Microarchitetturale
Lezione 4_0 Microarchitettura e Datapath
2
Agenda Significato del livello Caratteristiche del Data Path
Microistruzioni Ciclo completo di Data Path
3
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
4
Data Path ALU, Shifter e diversi registri 6 linee di controllo ALU
Altre 18 linee per altri componenti
5
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
6
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)
7
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)
8
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)
9
Decode ? Ma MBR materializza l’istruzione ISA !
Come la interpreto in una istruzione di microprogramma ? E cos’è, ovvero, a cosa serve una (micro)istruzione ?
10
Microistruzioni 9 segnali per il bus C 4 segnali per il bus B
8 segnali per ALU e Shifter 2 per R/W per memoria 1 per R su PC/MBR
11
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)
12
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
13
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
14
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)
15
…..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)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.