.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Architettura degli elaboratori e delle reti (http://www.dsy.it/forum/forumdisplay.php?forumid=210)
-- [Borghese] - risoluzione II compitino 03/04 (http://www.dsy.it/forum/showthread.php?threadid=19897)


Posted by grilmar on 04-06-2005 11:06:

[Architettura - Borghese] - risoluzione II compitino 03/04

Ciao, mi servirebbe un chiarimento sul 1° punto dell'esercizio n° 4 del II compitino del 2003/2004

Riporto il testo:

4. Con riferimento alla CPU riportata qui a fianco specificare il contenuto dei
registri ed il valore dei segnali di controllo al termine (prima della commutazione
del clock) del terzo stadio di esecuzione dell’istruzione lw: [8]
400: add $t0, $t1, $t2
404: addi $t1, $t2, 100
408: lw $t4, 0($t7)
412: beq $t5, $t6, -32
416: add $t0, $t1, $t2
Tenere conto che i codici operativi sono: add = 0, addi = 8, beq = 4, lw = 35, che il
campo funct della add = 32 e che $t0 = $7.
Come si deve modificare la CPU a destra per potere mettere la pipe-line in stallo?
[4].

Io pensavo così:
-Sapendo che gli stadi sono 5 (IF,ID,EX,MEM,WB), il termine del 3° stadio indica lo stadio EX
-Quindi i registri conterranno le istruzioni :
- IF/ID: 416: add $t0, $t1, $t2
- ID/EX: 412: beq $t5, $t6, -32
- EX/MEM: 408:lw $t4, 0($t7)
- MEM/WB: 404: addi $t1, $t2, 100



Lasciando perdere i particolari di cosa è contenuto, è giusta la mia soluzione, e quindi nei registri (prima della commutazione del clock) metto lo stato master del registro? Oppure devo mettere lo stato slave? O entrambi?


Posted by tandrea85 on 06-06-2005 16:07:

non vorrei dire una cazzata, ma i 5 stadi della pipeline (IF/ID/EX/MEM/WB) nn contengono solo 1 ustruzione??
nn era una cosa del genere:
IF ID EX MEM WB (1 istruzione)
.... IF ID EX MEM WB (2 istruzione)
........ IF ID EX MEM WB (3 istruzione)

anke io nn riesco a capire bene questo esercizio.. se qualcuno sa qualcosa di + ci fa un favore!


Posted by Simeon on 06-06-2005 17:13:

Nella fase di esecuzione della lw


IF/ID dovrebbe contenere la fetch di add $t0,$t1,$t2 ( quindi il pc+4 e l'istruzione )

ID/EX la decodifica di beq $t5, $t6, -32 ( i registri rt rs ed rd, il pc+4 e i vari segnali di controllo )

EX/MEM l'esecuzione di lw $t4, 0($t1) ( il pc+4 + offset*4, lo zero, il risultato della alu, il registro destinazione )

MEM/WB l'accesso alla memoria di addi $t1,$t2,100 ( il risultato della alu, il dato eventuale letto dalla mdr, ancora il registor destinazione )

e poi non so bene dove mettere il writeback di add $t0,$t1, $t2

Cmq e' qualcosa del genere... O almeno credo. Conferme ?


Posted by Simeon on 06-06-2005 18:21:

Ma poi col suddetto esercizio venivano forniti i codici operativi delle varie istruzioni, a cosa servirebbero alla fine ? Visto che il codice operativo e' contenuto unicamente nella fase di fetch, e quindi nel nostro caso ci servirebbe solo quello della ADD


Posted by grilmar on 06-06-2005 19:23:

Il segnale di writeback per la add viene settato nella fase di decodifica. per adesso non si prende in considerazione.


I codici delle operazioni sono necessari, perchè l'istruzione viene comunque passata ai registri degli stadi successivi.


Posted by Simeon on 06-06-2005 19:50:

Originally posted by grilmar
Il segnale di writeback per la add viene settato nella fase di decodifica. per adesso non si prende in considerazione.


I codici delle operazioni sono necessari, perchè l'istruzione viene comunque passata ai registri degli stadi successivi.


Quindi ad ogni stadio, oltre a tutti i dati che ho elencato io, viene passata pure l'intera istruzione... Ok grazie :)


All times are GMT. The time now is 08:45.
Show all 6 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.