作者svanavs (svanavs)
看板Grad-ProbAsk
标题Re: [理工] [计组]-control hazard
时间Wed Sep 23 20:21:30 2009
※ 引述《yesa315 (XD)》之铭言:
: http://www.lib.ntu.edu.tw/exam/graduate/89/89271-1.htm
: 89台大计组考题 第2大题
: 解答写说未改变设计之前 jump需多花1 clock cycle
: conditional branch taken需多花2 clock cycle
: CPI=1+5%*1+20%*60%*2 = 1.29 cycles
: 这题的指令只有branch 跟 jump吗..?
: 到底是怎麽看的呢...?
原本设计 :
因为是预测 not taken, 只要不taken CPI 都是 1
当 taken 时 : jump 付出的额外代价是 1 cycle(一个指令白做)
branch 付出的代价是 2 cycles(两个指令白做)
actual CPI 为 : not taken 时的 CPI + taken 时付出的代价
=> 1 + ( 0.05*1 + 0.2*0.6*2 ) = 1.29
IF 拆成 2个stages :
jump 需要 IF1 IF2 ID 3 个 cycles
branch 则 需要 IF1 IF2 ID EX 4 个 cycles
taken 时 : jump 付出的代价是 2 cycles
branch 付出的代价是 3 cycles
actual CPI 为 : 1 + 0.05*2 + 0.2*0.6*3 = 1.46
原本设计 cycle time 10 ns , 改变後 cycle time 8 ns
performance 为 1.29*10 / 1.46*8 = 12.9 / 11.68 ≒ 1.1
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.222.93
1F:推 yesa315:感谢解答!! 09/23 21:04