作者ggLer (thu大学吃喷啦~机车)
看板Grad-ProbAsk
标题[问题] 97中央 计组
时间Tue Mar 17 08:31:46 2009
http://140.115.130.224:8080/~arhui/cexamn/exam/EC02_97_02.pdf
第一题的a小题该怎麽画呢?
题目说beq可以在ID stage决定branch
add s1 s2 s3 F D X M W
sub s2 s3 s1 F D X M W
lw s1 s2(0) F D X M W
or s3 s2 s1 F D * X M W
beq s2 s3 loop F * D X M W
addi s1 s3 2 * * F D X M W
sw s1 s2(0) ...
subi s2 s1 2
or beq addi 这三条 该怎麽画呢?
lw or load use 要 stall 1 个才能forwarding
or beq和beq 跟addi呢?
爬文好像没画到beq和下一指令的...
谢谢:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.99.94.18
1F:推 s987692:beq 那条需要stall两个clocks 03/17 16:00
2F:→ ssccg:beq s2 s3 loop F * * D X M W 03/17 16:26
3F:→ ssccg:addi s1 s3 2 * * F //题目说branch taken 03/17 16:28
4F:→ ssccg:add s1 s2 s3 F D X M W 03/17 16:29
5F:→ ssccg:beq第一个stall跟or一样是在等lw,第二次是等or的EX 03/17 16:30
6F:→ ssccg:上面addi那两个*应该不用,还没进pipeline 03/17 16:34
7F:→ ggLer:请问...beq的第二个stall不能用forward解决吗? 03/17 17:47
8F:→ ssccg:从EX/MEM forward到ID,beq ID还是要在or EX的後一个cycle吧 03/17 17:50
9F:→ ggLer:X->X....@@... 03/17 17:50
10F:推 ssccg:beq在ID决定所以要X→D 03/17 17:53
11F:→ ggLer:ok.......谢谢:) 03/17 17:54