Esercizio??? Clicca QUI per vedere il messaggio nel forum |
| Cri |
Ciao ragazzi, qualcuno mi sa dire come si risolve qst esercizio:
Dato il seguente segmento di codice:
addi $s0, $t1, 64
lw $t2, 0($t0)
sub $t2, $s2, $t2
add $t3, $t3, $t3
or $t5, $t5, $t6
Scrivere il contenuto di tutti i registri di pipe-line (l’uscita) quando l’istruzione or $t5, $t5, $t6 si trova nella
fase di fetch [5].
d) Definire cos’è un hazard e cos’è uno stallo. Identificare se nel frammento di codice di cui sopra ci sono
hazard. Eventualmente modificare la CPU in modo tale che riesca a gestire al meglio questi hazard: [4].
grazie |
| Marcoverga |
Dipende dal disegno dell'architettura... Devi scrivere il contenuto di tutti i registri intermedi (IF/ID, ID/EX, EM/MEM, MEM/WB) in base alle frecce...
"Semplicemente" guardi quali frecce entrano nei vari registri e scrivi il contenuto di quelle frecce... Quindi se dal reg. file esce una freccia da "1° porta di Lettura", nel registro ID/EXun campo che contiene quel dato, e devi scrivere cosa c'è in quel campo... Tieni conto che ci sono anche i segnali di controllo che, purtroppo, sono da sapere a memoria...
Penso che possa servirti guardare sul sito del prof. Marchi le esercitazioni dell'anno scorso relative alla CPU (pipeline e a signolo ciclo)!
So che è una spiegazione molto semplicistica, ma in altre parole non saprei come spiegartelo!
L'unico consiglio che posso darti è quello di mandare una mail al prof. e chiedere se ti riceve per farti spiegare bene come funziona... A me è servito parecchio! |
| guitux |
ciao!
leggi attentamente questo esercizio svolto, guarda attentamente i disegni.... ;) http://marchi.usr.dsi.unimi.it/Teac...9-Soluzioni.pdf
purtroppo spiegarti l'esercizio qui nel forum diventa una cosa lunghissima e complicata... ma con quel link dovresti gia trovare tutto ciò di cui hai bisogno ;)
PS interessati a studiare in gruppo all'uni (magari qlk settimana prima dell'esame...)? basta creare un nuovo topic: "studiamo assieme" |
|
|
|