作者gash55025502 (白影弓)
看板Grad-ProbAsk
标题[理工] 108交大 计组
时间Wed Nov 13 18:59:36 2019
想问16 17题
https://i.imgur.com/ufJTG9m.jpg
a选项我认为反例是reg file可被存取两次,但只有一份copy
d选项是错最後一句
b的话不懂为什麽是对的
然後c是错在latch这个字吗?
https://i.imgur.com/4Txu0B6.jpg
这题的话不知道为何a是对的
c没有听过memory hazard...google好像也没找到类似的词 这是交大自己创出来误导的选
项吗?
如果想法有错再麻烦订正了...感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.75.253.231 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1573642778.A.381.html
※ 编辑: gash55025502 (42.75.253.231 台湾), 11/13/2019 19:00:24
1F:推 b10007034: 17a意思就是不管怎麽样control hazard就是无法避免 11/13 20:01
2F:→ b10007034: 理由是不可能可以预测到未来 11/13 20:03
3F:→ b10007034: 17c跟你看法一样 11/13 20:03
4F:推 zuchang: 16a更明显的错是最後一句 c是错在not necessary 11/13 20:52
5F:推 mistel: 请问16.c的latch是什麽? 这个选项可以解释一下吗 11/13 22:03
6F:→ mistel: 另外17c 算盘有提到是发生在mem stage的hazard 11/13 22:04
7F:推 b10007034: 那是structrual hazard 不只发生在memory这个元件上 11/13 22:09
8F:推 mistel: 不是 这跟ex hazard一起被归类在Data hazard这个项目下 11/13 22:13
10F:→ b10007034: 但这个data hazard跟这边提到的是两回事 11/13 22:21
11F:→ b10007034: 它那个MEM是表示MEM stage并非Memory 11/13 22:22
12F:→ b10007034: 16.c latch意思就是D Flip-Flop那个latch,把它想成用 11/13 22:24
13F:→ b10007034: 来储存资料的暂存区即可 11/13 22:25
14F:→ b10007034: 对multi-cycle machine来说为了保持一个cycle一个instr 11/13 22:27
15F:→ b10007034: 使用,必须要用暂存区储存上一个instr.运算後的结果 11/13 22:28
16F:→ b10007034: 这跟pipelined machine是一样的概念,所以它说不是必需 11/13 22:29
17F:→ b10007034: 就是错的,大概是这样 11/13 22:29
18F:→ gash55025502: multi-cycle 不是一个指令自己在datapath中过好几 11/13 23:10
19F:→ gash55025502: 个cycle吗?为何需要暂存区呢 11/13 23:10
20F:→ gash55025502: 16.c不是应该要是pipeline register吗?所以是latch 11/13 23:12
21F:→ gash55025502: =pipeline register吗? 11/13 23:12
22F:推 mistel: 跟楼上原po同样问题@@ 11/13 23:22
24F:推 b10007034: Multi-cycle还是要读一下课本(概略、方块图、文字描 11/13 23:55
25F:→ b10007034: 述),不然我也很难解释清楚 11/13 23:55
26F:→ b10007034: 说latch的原因还是怕跟register file 搞混,这两个虽 11/13 23:57
27F:→ b10007034: 然都是暂时保存资料,但实际上电路实作还是差很多的。 11/13 23:57
28F:推 mistel: 刚刚翻到张凡的课本了 感谢两位大大! 11/13 23:58
29F:推 mistel: mem那个是我搞错了 我觉得b大说的对 11/14 00:04
30F:→ gash55025502: 好的我再研究一下 感谢各位大大 11/14 00:42
32F:推 b10007034: 是这样理解没错,这个逻辑跟pipelined machine 是一样 11/14 11:41
33F:→ b10007034: 的 11/14 11:41
34F:→ gash55025502: 了解 非常感谢 那如果是Single cycle的话 是否就真 11/14 12:03
35F:→ gash55025502: 的不需要暂存器了呢? 11/14 12:03
36F:推 b10007034: 不需要一个暂存区特别暂存上一个指令的值,因爲已经储 11/14 13:08
37F:→ b10007034: 存到reg. file 了,并不是不需要暂存器 11/14 13:08
38F:→ gash55025502: 了解!感谢大大 11/14 13:10