[理工] 108交大 計組

作者: gash55025502 (白影弓)   2019-11-13 18:59:36
想問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好像也沒找到類似的詞 這是交大自己創出來誤導的選
項嗎?
如果想法有錯再麻煩訂正了...感謝
作者: b10007034 (Warren)   2019-11-13 20:01:00
17a意思就是不管怎麼樣control hazard就是無法避免理由是不可能可以預測到未來17c跟你看法一樣
作者: zuchang (chang)   2019-11-13 20:52:00
16a更明顯的錯是最後一句 c是錯在not necessary
作者: mistel (Mistel)   2019-11-13 22:03:00
請問16.c的latch是什麼? 這個選項可以解釋一下嗎另外17c 算盤有提到是發生在mem stage的hazard
作者: b10007034 (Warren)   2019-11-13 22:09:00
那是structrual hazard 不只發生在memory這個元件上
作者: mistel (Mistel)   2019-11-13 22:13:00
不是 這跟ex hazard一起被歸類在Data hazard這個項目下https://i.imgur.com/tPsUxlq.jpg
作者: b10007034 (Warren)   2019-11-13 22:21:00
但這個data hazard跟這邊提到的是兩回事它那個MEM是表示MEM stage並非Memory16.c latch意思就是D Flip-Flop那個latch,把它想成用來儲存資料的暫存區即可對multi-cycle machine來說為了保持一個cycle一個instr使用,必須要用暫存區儲存上一個instr.運算後的結果這跟pipelined machine是一樣的概念,所以它說不是必需就是錯的,大概是這樣
作者: gash55025502 (白影弓)   2019-11-13 23:10:00
multi-cycle 不是一個指令自己在datapath中過好幾個cycle嗎?為何需要暫存區呢16.c不是應該要是pipeline register嗎?所以是latch=pipeline register嗎?
作者: mistel (Mistel)   2019-11-13 23:22:00
跟樓上原po同樣問題@@
作者: zuchang (chang)   2019-11-13 23:36:00
作者: b10007034 (Warren)   2019-11-13 23:55:00
Multi-cycle還是要讀一下課本(概略、方塊圖、文字描述),不然我也很難解釋清楚說latch的原因還是怕跟register file 搞混,這兩個雖然都是暫時保存資料,但實際上電路實作還是差很多的。
作者: mistel (Mistel)   2019-11-13 23:58:00
剛剛翻到張凡的課本了 感謝兩位大大!mem那個是我搞錯了 我覺得b大說的對
作者: gash55025502 (白影弓)   2019-11-14 00:42:00
好的我再研究一下 感謝各位大大https://i.imgur.com/8s39Zx4.jpg
作者: b10007034 (Warren)   2019-11-14 11:41:00
是這樣理解沒錯,這個邏輯跟pipelined machine 是一樣的
作者: gash55025502 (白影弓)   2019-11-14 12:03:00
了解 非常感謝 那如果是Single cycle的話 是否就真的不需要暫存器了呢?
作者: b10007034 (Warren)   2019-11-14 13:08:00
不需要一個暫存區特別暫存上一個指令的值,因爲已經儲存到reg. file 了,並不是不需要暫存器
作者: gash55025502 (白影弓)   2019-11-14 13:10:00
了解!感謝大大

Links booklink

Contact Us: admin [ a t ] ucptt.com