[资工]交大102计算机系统第25题(计组/pipeline)

楼主: qoojordon (颖川琦)   2014-10-06 20:09:05
102交大资工 计组25题
http://ppt.cc/QBpD
我简化题目叙述如下:
假设指令执行时 , beq都预测分支发生 , 但实际执行时分支不发生
在有forwarding机制下 , 讨论以下条件下 , 指令片段执行完成之所需时间?
lw $s0,0($t0)
lw $s1,0($t0)
beq $s0,$s1 L1
add $s2,$s0,$s1
(1) 分支是否发生在 MEM 阶段被决定 // 张凡ans:(5-1)+4+1+1=10
(2) 分支是否发生在 ID 阶段决定 // 张凡ans:(5-1)+4+1+2=11
Q1:
完全不懂延后到MEM才能决定分支 , 可是所花执行周期数比较少
我自己画的 分支于MEM阶段决定的周期图
黄色是暂停管线等lw做好 绿色是发生前馈后处理错误指令的时间
cc1 cc2 cc3 cc4 cc5 cc6 cc7 cc8 cc9 cc10 cc11 cc12
lw $s0,0($t0) IF ID EX MEM WB
lw $s1,0($t0) IF ID EX MEM WB
beq $s0,$s1 L1 IF ID ID EX MEM WB
猜错的冤大头#1 IF IF ID EX NOP
猜错的冤大头#2 IF ID NOP
猜错的冤大头#3 IF NOP
add $s2,$s0,$s1 IF ID EX MEM WB
共花12个cycle
作者: AgentSkye56 (大安周渝民)   0000-00-00 00:00:00
第一题 感觉beq后只需要一个NOP应该只要清掉一个 add吧(不确定对不对XD)应该是移到ID后加上来比较的电路计算耗1个cycle吧?!
作者: AgentSkye56 (大安周渝民)   0000-00-00 00:00:00
第一题 感觉beq后只需要一个NOP应该只要清掉一个 add吧(不确定对不对XD)应该是移到ID后加上来比较的电路计算耗1个cycle吧?!SORRY 我觉得你第一题写得应该是对的 吧
楼主: qoojordon (颖川琦)   0000-00-00 00:00:00
搜寻中 , 我多做几年题目再跟你确认 , 或是看板上有没有上题库班的同学囉 QQ
作者: happy8155 (Chickey)   0000-00-00 00:00:00
Q1的add的EX在beq 的MEM后即可(因为在MEM完就知道结果)所以是10sorry没看到预测错误xD他应该有假设mem前半读后半写之类的东东吧@@ 这样beq就可以往前拉 我猜是这样xD
作者: AgentSkye56 (大安周渝民)   2014-10-06 23:02:00
第一题 感觉beq后只需要一个NOP应该只要清掉一个 add吧(不确定对不对XD)应该是移到ID后加上来比较的电路计算耗1个cycle吧?!SORRY 我觉得你第一题写得应该是对的 吧
楼主: qoojordon (颖川琦)   2014-10-08 00:04:00
搜寻中 , 我多做几年题目再跟你确认 , 或是看板上有没有上题库班的同学囉 QQ
作者: happy8155 (Chickey)   2014-10-08 00:08:00
Q1的add的EX在beq 的MEM后即可(因为在MEM完就知道结果)所以是10sorry没看到预测错误xD他应该有假设mem前半读后半写之类的东东吧@@ 这样beq就可以往前拉 我猜是这样xD
作者: HiltonCool (野兽疯)   2014-10-16 23:59:00
今天看了一下这题,我也觉得你的答案才是对的

Links booklink

Contact Us: admin [ a t ] ucptt.com