Esercizio V-DLX
Calcolatori Elettronici L-A
Esercizio
Con riferimento al DLX pipelined visto a lezione non dotato
di unità di cycle split; indicare quanti stalli risultano
nell’esecuzione delle istruzioni seguenti durante la prima
iterazione del ciclo. Si considerino i due casi di:
a) DLX non dotato di forwarding unit
b) DLX dotato di forwarding unit
loop:
ADD
R1,R0,R0
; R1 ← 0
ADDI
R2,R0,8
; R2 ← 8
ADD
R1,R1,R2
; R1 ← R1+R2
ADDI
R2,R2,-1
; R2 ← R2 – 1
BNEZ
R2,-12
; se R2 non è zero salta a loop
Punto a)
Caso del DLX pipelined non dotato di unità di cycle-split e
non dotato di forwarding unit
IF
ID
EX MEM WB
IF
ID
IF
ADDI
R2,R2,-1
BNEZ
R2,-12
ADD
EX MEM WB
R1,R0,R0
ADDI
R2,R0,8
ID
EX MEM WB
IF
ID
IF
ADD
R1,R1,R2
EX MEM WB
ID
EX MEM WB
Punto b)
Caso del DLX pipelined non dotato di unità di cycle-split ma
dotato di forwarding unit
IF
ADD
R1,R0,R0
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
ADDI
R2,R2,-1
BNEZ
R2,-12
ADDI
R2,R0,8
ADD
R1,R1,R2
EX MEM WB