[理工] 计组forwarding跟branch stall观念

楼主: a0953781935 (欧尼酱)   2020-11-17 19:16:23
想问一下,
r-type接branch指令有harzard, 如果能forward to ID的话就1stall, 如果不能就2 stall
load接branch指令有harzard,就是2 stall这样的观念正确吗?
load接branch指令stall 1 clock不是刚好mem stage forward to EX stage吗?
为啥要2个stall?
能不能forward to ID stage要怎么看啊?不是看ID stage有没有XOR吗?
可是这题有啊?



作者: sevfouyu11 (sevfouyu11)   2020-11-18 00:05:00
因为“MIPS“的5-stage pipeline的Branch是在ID stage决定的,所以Load接Branch有hazard的时候要stall 2个clock让ID stage吃到从MEM出来的正确data而不是EXstage然后关于能不能forward到ID stage的问题,张凡上课的时候有提到事实上有四条Forwarding(课本的两条加上“EX/MEM to ID”和“MEM/WB to MEM”),但课本上只提到“EX/MEM to EX”和“MEM/WB to EX”这两条,又说如果题目说Pipeline有forwarding的能力那就是四条都有,所以我的想法是:如果题目只说有forwarding能力,没有加其他条件限制,那就4条都能用,但是台科的这题他给有给图,是类似课本的图,而课本的图是没有另外两条forwarding的,所以我就当作他限制我只能用课本提到的那两条,也就不能forward到ID stage以上我的理解,有错还请纠正

Links booklink

Contact Us: admin [ a t ] ucptt.com