[理工] 計組/交大/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