Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
allievi elettronici
Soluzione dell’esercizio 1
della prova scritta del 27/6/07
1
Pipeline non bloccante con più
unità funzionali multiciclo
• Un DLX con Tck = T dispone di tre unità funzionali, A, M e D
“multiciclo”capaci di eseguire le seguenti istruzioni su operandi in
virgola mobile:
• A: FADD (in 2T) - M: FMUL (in 3T) - D: FDIV (in 4T).
• Si faccia l’ipotesi che in T1 si abbia Fi=i per ogni valore di i
compreso tra 0 e 31 Si consideri il seguente frammento di codice:
FADD F20,F2,F1
FDIV F2,F2,F20
FMUL F6,F1,F2
FMUL F25, F25, F3
FMUL F1,F9,F10
FADD F9, F3, F1
2
Quesiti
• Stimare il numero di colpi di clock al di sotto del quale non è possibile
scendere nell’esecuzione del codice assegnato, qualunque sia il numero di
RS, CRB e stadi di Fetch e Decode disponibili, e si motivi la risposta (punti 2)
• mostrare la dinamica dell’esecuzione nel caso di 1 CRB, uno stadio IF e uno
stadio ID, e 2 RS per ogni unità funzionale (punti 4)
• si supponga ora di poter apportare le seguenti modifiche all’architettura:
1. aumento di RS a una o più unità funzionali
2. raddoppio del CRB per poter eseguire due fasi di WB per clock
3. aggiunta di un’altra unità funzionale con due RS
4. raddoppio degli stadi IF e ID per poter decodificare contemporaneamente due
istruzioni.
• Quali modifiche converrebbe apportare? Nella soluzione scelta si mostri
quanti clock si risparmierebbero rispetto al punto 2 (a tal fine si disegni la
dinamica della pipeline risultante) e si indichi quale CPImedio si otterebbe
(punti 4)
3
Scheduling dinamico con l’approccio di Tomasulo
(schema di principio)
• Schema di una pipeline con unità di esecuzione dotate di “reservation
stations” (RS) per la gestione dinamica di esecuzione fuori ordine
(Execution Around Data Hazards)
Res.St. (3)
Check
Alee
Strutturali s1 Store Load
EX-1 Buffers Buffers
(Es.
s2 ADD/SUB)
IF ID op
Es.: 5 Tck
MAIN
Res.St. (3) MEM
s1
EX-2 ST1 LD1
ST2 Es.: 30 Tck LD2
s2 (Es.
ST3 LD3
MUL/DIV)
Register
File op Es.: 15 Tck
4
Unità di Esecuzione
DEC
RS_id CR
B
UE_id
Unità di
esecuzione
A
OE*
A0 A1 A2 A3
CRB_owner
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20
FADD
IF ID A0E A0E WB
F20,F2,F1
F20
FDIV
IF ID C0w C0w C0E C0E C0E C0E WB
F2,F2,F20
F2, F20
FMUL
IF ID B0W B0W B0W B0W B0W B0w B0E B0E B0E WB
F6,F1,F2
F2
FMUL
IF ID B1E B1E B1E WB
F25,F25, F3
FMUL
IF ID ID ID ID ID B1R B1R B1R B1E B1E B1E WB
F1,F9,F10
F1
FADD F9,F3,
IF IF IF IF IF ID A0W A0W A0W A0W A0W A0E A0E WB
F1 A0W
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20
FADD
IF ID A0E A0E WB
F20,F2,F1
F20
FDIV
IF ID C0w C0w C0E C0E C0E C0E WB
F2,F2,F20
F2, F20
FMUL
IF ID B0W B0W B0W B0W B0W B0w B0E B0E B0E WB
F6,F1,F2
F2
FMUL
IF ID B1E B1E B1E WB
F25,F25, F3
FMUL
IF ID ID ID ID ID B1R B1R B1R B1E B1E B1E WB
F1,F9,F10
F1
FADD F9,F3,
IF IF IF IF IF ID A0W A0W A0W A0W A0W A0E A0E WB
F1 A0W
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20
FADD
IF ID A0E A0E WB
F20,F2,F1
FDIV
IF ID C0w C0w C0E C0E C0E C0E WB
F2,F2,F20
FMUL
IF ID B0W B0W B0W B0W B0W B0w B0R B0R B0R B0E B0E B0E WB
F6,F1,F2
FMUL
IF ID B1E B1E B1E WB
F25,F25, F3
FMUL
IF ID ID ID ID ID B1E B1E B1E WB
F1,F9,F10
F1
FADD
IF IF IF IF IF ID A0W A0W A0W A0E A0E WB WB
F9,F3, F1
11
Dinamica dell’esecuzione nel caso di 3 RS davanti
all’unità MUL
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19
FADD
IF ID A0E A0E WB
F20,F2,F1
F20
FDIV
IF ID C0w C0w C0E C0E C0E C0E WB
F2,F2,F20
F2, F20
FMUL
IF ID B0W B0W B0W B0W B0W B0W B0R B0E B0E B0E WB
F6,F1,F2
F2
FMUL
IF ID B1E B1E B1E WB
F25,F25, F3
FMUL
IF ID B2R B2R B2E B2E B2E WB
F1,F9,F10
F1
FADD F9,F3,
IF ID A0W A0W A0W A0W A0W A0E A0E WB WB
F1
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19
FADD
IF ID A0E A0E WB
F20,F2,F1
F20
FDIV
IF ID D0w D0w D0E D0E D0E D0E WB
F2,F2,F20
F2, F20
FMUL
IF ID B0W B0W B0W B0W B0W B0W B0E B0E B0E WB
F6,F1,F2
F2
FMUL
IF ID B1E B1E B1E WB
F25,F25, F3
FMUL
IF ID C0E C0E C0E WB
F1,F9,F10
F1
FADD F9,F3,
IF ID A0W A0W A0W A0E A0E WB
F1
A : FADD (in 2T); B,C : FMUL (in 3T); D: FDIV (in 4T)
13
Conclusioni
14