[理工] 计组/交大/pipeline

楼主: wacheck (94不爱喝水)   2018-12-03 19:30:47
大家晚安
想请问以下下面几题
1.https://i.imgur.com/Csan39Q.jpg
想问这题的b小题(解答已用黑线框在下面)
看不太懂图为何这样画
我对这lw指令转换的认知:从Reg file读出r5后 和30相加再放到r1 之后再把r1内容载到r3
我对这解答图的认知: 从reg file读出r1、r5后,r1+r5,同时取出r3内容 之后???
2.https://i.imgur.com/1nTvOwh.jpg
想问红色圈起来的部分(解答给都是true)
(1).c选项若改成multicycle-cycle implementation,则这选项还会对吗?
(2).d选项和20题的b选项,这里的clock cycle是指cycle time?
我知道cycle time跟clock cycle不同
而且若是single 则cycle time由最长指令的critical path决定,
(若这样20题b就说得通了)
而multi.的则是最长step决定(
但课本好像没特别提到clock cycle怎么决定...?
3.https://i.imgur.com/Tzsy0Rm.jpg
最后这题想问jump指令为何只有用到IF?
在Multicycle machine那里有写说jump指令的CPI是3,因为会经过IF,ID,EXE
这3个STAGE吗
麻烦大家了 谢谢
楼主: wacheck (94不爱喝水)   2018-12-03 19:32:00
最后一张图好像不太清楚 这是修过的https://i.imgur.com/https://i.imgur.com/Tzsy0Rm.jpg
作者: skyHuan (Huan)   2018-12-04 02:36:00
1的意思是所有lw/sw指令都没有offset,所以原本有offset的必须被拆成"两个"分开没有关系的指令,这样EX跟MEM就没有先后次序关系,可以合并成一个stage2多时脉白算盘已经删除了,张凡的课本在第四章最后面有大略提到,就是把原本的single尽量平均切成好几个部分(MIPS切五分),每个指令只要跑需要用到的部分就好(e.g. R type跑IF ID EX WB四个部分就好,所以CPI=4),如此的cycle time就是最长步骤时间。其实跟第五章pipeline概念有点像,但一次只会有一个指令在跑看你的图片看得好辛苦rrrrr XD刚刚没看清楚2你的问题,我觉得d应该改成single才是对的,multi每个指令的cycle都不一样,而clock cycle的话就如你说要找最长的步骤。c的话不太懂他的意思,pipeline本来不就是从single来的吗,single的实作会让设计pipeline更容易(?)
楼主: wacheck (94不爱喝水)   2018-12-04 21:57:00
S大先谢谢你的回复,我知道第一章图ex跟mem可在同stage我不懂的是为什么他线是这样画 这样ofsset30是从哪来..?最后就是 下次图会改进 上网抓XD 抱歉 QQ
作者: skyHuan (Huan)   2018-12-04 22:34:00
他改善之后就没有offset的问题了题目说取消offset的机制,也就是说如果真的要读offset的地址只能先把offset加进暂存器,再去暂存器的地址去内存读,这样就不用在读内存前还要用ALU计算地址,两个才能合并,也因为这样题目才会说原本的lw/sw要分成那两个指令
楼主: wacheck (94不爱喝水)   2018-12-04 22:57:00
QQ 还是不太懂 所以我可以解读成DM左边两个input是..什么 刚刚原本想打DM左边input是r1和r3 但是边看你的回应 结果脑袋就deadlock了 XD阿阿阿阿阿阿阿我懂了! 感谢你S大(跪

Links booklink

Contact Us: admin [ a t ] ucptt.com