[問題] [計概]機器指令週期中的pc=pc+1

作者: loveyou999 (lovelovelove)   2015-08-14 22:52:06
請問pc=pc+1這個動作會在IF(抓取指令)後執行,還是WM(write result to memory)後呢?
計概的書很像是前者,計組計的書很像是寫後者? 還是由使用者自行決定? 謝謝先
作者: lingpxs (Kelly Lin)   2015-08-15 00:40:00
後者才是 抓取指令執行完才會加1
作者: loveyou999 (lovelovelove)   2015-08-15 23:25:00
謝謝,可是我目前看到2本書寫前者,兩本書寫後者~怎麼會這樣 orz
作者: emstarbucks (花榭清風)   2015-08-16 01:55:00
IF因為pipeline就直接往下抓下一個指令exe會知道是否要branch mem會把值丟回去IF配合branch taken/not taken 猜錯就移除中間錯的指令計組也是寫IF吧@@就算你不是pipeline branch的值也在exe就出來了mem也會丟回去差別只在他會等WB完 下一個指令才開始動IF ID EXE MEM WBIF ID .....pipeline是上面這樣~ 中間判斷要不要stall的就不提了那兩行你就看的出來IF做完 馬上PC+4 下一個IF馬上開始 ~應該說IF階段就PC+4@@ 說做完怪怪的XD
作者: loveyou999 (lovelovelove)   2015-08-16 06:44:00
對也~我都沒想到,如果在rm後才加1,就無法先做下一次的if了~謝謝那你覺得pc+1是在pc值丟給mar後就+1,還是等pc值丟到IR後呢?http://i.imgur.com/bRNxFnV.jpg上圖它把pc+1列為最後一步
作者: emstarbucks (花榭清風)   2015-08-17 10:52:00
那是哪本書 ? 計概 + 計組都是寫IF (MIPS架構下)高等計結課堂中實作的CPU也是把PC+4放在IF那個圖的流程第一次看到 我比較不看坊間自己出的書

Links booklink

Contact Us: admin [ a t ] ucptt.com