[理工] 計組 P.380 (3)

作者: jean20157 (自然捲)   2019-12-28 22:58:32
https://i.imgur.com/3zNiWMH.jpg
想請教第三小題
前面已有人問過,但我還是有一個疑問
問題ㄧ:解答中2 or 31的值是怎麼來的呢?
前面已有人回答:「因為beq指令的RegDst是X(所以可以是1也可以是0),所以他可能會有兩個值,可以選Instructions [20-16]或者[15-11] 」
問題二:所以此題的WriteRegister的input可以來自rs或rt欄位,對嗎?
感謝回答的各位
作者: mistel (Mistel)   2019-12-28 23:09:00
簡單一點想,其實進入write register的值他的來源有兩種,分別是rt或是rd,在一般寫入的情況為了寫入正確的值所以我們會控制多工器讓rt或rd的值流入,但在beq時我們並不在乎這個值是什麼,所以rt或rd流入都沒差,反正ALU會把regWrite設成0, 在0這個訊號會把錯誤的值擋下來2. rt或rd 去對照一下single cycle machine的電路圖rs的是25-21 rt對應20-16 rd對應的是15-11 只是在beq這個指令中,流入regWrite的是rt跟rd,而原本應該是pseudo address的15-0也會流到他該流的地方不是都可以,流進去的值就那兩種,所以你只能寫那兩種OP CODE不用背

Links booklink

Contact Us: admin [ a t ] ucptt.com