[理工] 计组 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