[理工] 102台联计组

楼主: danny0108 (范帅)   2018-01-19 17:01:42
第四题的第4小题我不懂详解为何这样写,想请教版上的神人们
题目的datapath
https://i.imgur.com/f75CQhg.jpg
题目的latency,第4小题题目
https://i.imgur.com/DiY1t9p.jpg
第4小题答案,张凡的书编号是第3小题
https://i.imgur.com/tVaRyRT.jpg
另外想问第6小题,题目说用delayed branch减少分支延迟,可是我刚刚发现这题的程式
码如果将指令重排之后,会因为load use hazard,使得执行周期数跟指令重排前一样(假
设分支成立),但是我不确定我的解释是否正确。另外想请教版上神人,如果有delayed b
ranch slot,那该如何用多重时脉管线图来表示呢?
第6小题题目
https://i.imgur.com/DiY1t9p.jpg
指令重排前我画出的多重时脉管线图
https://i.imgur.com/kFQjJIx.jpg
指令重排后,我画到一半就不会画的多重时脉管线图
https://i.imgur.com/Lg7iD5M.jpg
作者: aggress5566 (哩贺)   2018-01-19 19:49:00
第四题是拿Critical path往回推 你最慢就是在Fetchdata memory时signal memwrite要送到 至于题目给你55ps应该就是要吓你重算一遍critical path?
作者: PunchShadow (PunchShadow)   2018-01-19 19:55:00
4. critical path 是2200ps 减去I-Mem所Fetch前的时间和需要MemWrite的D-Mem的时间,中间可以产生讯号的间隔就是720ps6. 只要把SW移到BEQ下即可
作者: aggress5566 (哩贺)   2018-01-19 20:05:00
然后 from before塞的是你不管branch predict执行与否都不用flush 所以周期一样是有可能
作者: PunchShadow (PunchShadow)   2018-01-19 22:20:00
是的确实就像你说的,需要动用到hazard control,然后图上也没有画,所以我猜这题应该只是想问看看frombefore的运作,而且即便是把BEQ移上去,如果用hazard control是不会stall的
作者: sarsman (DeNT15T♠)   2018-01-20 08:45:00
我觉得你最后的管线图是对的,add的资料要等到EX/ME才能传打错xd ME/WB问号的部分应该继续填ID EX ME WB就好
作者: PunchShadow (PunchShadow)   2018-01-20 09:15:00
https://i.imgur.com/SJMUEWS.jpg抱歉可能没解释清楚,最多也只会stall一个clock,而我会说不会stall有两个原因,首先是白皮书对load usehazard的侦测码中,只考虑到后一个指令是否有hazard(不过也可能是那时候的branch还没移到ID所以没写上去),再者,虽然课本没这条forwarding资料线,不过branch是在ID阶段的最后面对两个registers做比较,所以我推测可能可以将MEM读出来的值回传到ID Stage的后半段(当然这课本上也没写....)上述如果有想法错误欢迎大家帮忙指正谢谢!然后我觉得以这题来说应该不用考虑那么多,因为他付的图连forwarding都没有,应该只是存粹考from before而已(我猜啦哈哈
作者: sarsman (DeNT15T♠)   2018-01-20 09:43:00
说起来题目好像也没说branch在ID跳吧,MEM跳就不用stall了不过就如P大所说这题应该不用太在意这部分
作者: PunchShadow (PunchShadow)   2018-01-20 09:52:00
1 cycle branch delay就是移到了ID Stage了吧
作者: sarsman (DeNT15T♠)   2018-01-20 09:53:00
欸对耶 没注意到那行

Links booklink

Contact Us: admin [ a t ] ucptt.com