[问题] [计概]机器指令周期中的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