※ 引述《ching4562 (monster710623)》之铭言:
: 标题: [理工] 计系 108中央 第2、4题
: 时间: Sat Jan 11 22:31:34 2020
:
: https://i.imgur.com/cUcEQOw.jpg
: 问个这两题怎么算?
:
: 推 kaichu02: D大 想请问第4题是pipeline为什么要拆成各个类型的指令 01/14 14:15
: → kaichu02: 乘以cycle数去计算 01/14 14:15
: → kaichu02: *第5题 01/14 14:15
: 推 bochengchen: D大我想要请问你是用multicycle 的做法吗? 01/15 23:16
: → bochengchen: 这题是pipeline第五题的答案应该是 01/15 23:17
: → bochengchen: 1+0.24*1*1/4+0.2*1*1/2+0.06*1 01/15 23:18
真的很抱歉
我当时写的是multicycle算法没错
写错的部分当时没看到(真的不是要暗黑兵法)
今天翻到才发现希望还来的及
bochengchen说的才是对的
题目如下:
在一个pipeline中
load中有1/4是load-use
branch有一半的机率会猜错造成1 cycle delay
jump则是一律会有1 cycle delay
如果执行的指令中有24%是load、20%是store、30%是ALU、20% branch、6% jump
pipeline CPI计算为: 1(ideal pipeline CPI, 题目没说但通常是1)
+0.24 * 1 * 1/4(load有1/4是load-use)
+0.2 * 1 * 1/2(branch有一半的机率会猜错)
+0.06 * 1(jump)
: 推 ftg89214: 像第五题没有说是否forwarding 要自己假设有吗? 01/21 03:21
这边题目没说的很清楚,我不敢说到底要不要,上面的做法是假设有的。
而题目特别提到load-use且没有其他data hazrd我想可能是默认有forwarding。
然后区分一下
multicycle implementation
依照题目给的比例下去算即可(load: 5 cycles, store: 4 cycles, R: 4 cycles
branch: 3 cycles, jump: 3 cycles)
啊...应该是没错了,如果哪边又出问题还希望大家提醒我。