[理工] 計組上冊324(2)!

作者: Aa841018 (andrew)   2018-11-14 15:56:19
https://i.imgur.com/AihTSZK.jpg
請問一下,為何(2)是load,不是store?兩個都是20%,cpi又都是3,是怎麼區分的啊?
作者: ss455032 (ss455032)   2018-11-14 16:06:00
Register-mem,add $t0,t1,0(S2),可以想成先load到一個register在相加
作者: Aa841018 (andrew)   2018-11-14 16:12:00
可是store也是register-memory啊!怎麼就不是store?
作者: b10007034 (Warren)   2018-11-14 23:41:00
覺得詳解不知道在幹麻,如果q2是如詳解這樣寫,那為何q3計算load的部份沒有把cpi=3改為cpi=2?我的想法是load&store都是受益者,新的cpi計算為2*0.4+2*0.2+2*0.2+2*0.2=2,新的cpu time=IC*2*1.05T仍然大於舊的,因此不選擇新的有人可以解釋一下嗎,我也想知道解答寫啥QQ自問自答,我剛剛查了一下知道怎麼了,store-load其實是reg-reg的架構,原文書是這樣的定義。同第一個的推文,只要想add $1,$2,imm,這樣類似的指令可以直接存取記憶體就好只有load的原因是因為原來要做運算的話一定要把資料從記憶體搬到reg(load)才可以,而這個定址模式解放這個限制了,所以load的數量就會變少。沒有store的原因也就是上述說明的相反,沒有人希望在記憶體做運算,因為可以在reg算就盡量在reg算,reg跟記憶體的解碼速度差太多了,還有sram跟dram的差別。
作者: seika555 (kakkoii)   2018-11-15 02:13:00
題目開始有假設ALU的cpi及總cycle time都增加,又他是從reg-reg改成reg-mem 因此合理的假設ALU多了access mem的部分,然後在做運算時是要取暫存器的值,sw 是把reg存回mem不會影響讀取,因此能減少的就是原本lw 的指令,分給ALU讓他可access mem 和運算,就不用全透過lw去access 不知道這樣想對不對
作者: b10007034 (Warren)   2018-11-15 09:17:00
你是從MIPS現有架構去思考這個問題嗎?假設要相容現有架構的話,我認為是從instruction decode就有access mem.的部份了
作者: seika555 (kakkoii)   2018-11-15 09:25:00
哦哦對耶 沒考慮到 不過我想說的是多pipelined 的第4個step

Links booklink

Contact Us: admin [ a t ] ucptt.com