作者z598998599 (iamthinking)
看板Grad-ProbAsk
标题[理工] 计组 算盘 P281
时间Sun Nov 8 11:55:15 2020
https://i.imgur.com/VeWb1O6.jpg
嗨,请教一下,这里的IF/ID register,将左半涂色代表正在写入,右半代表读取
那假设一个指令A正在ID阶段,指令B在IF阶段,是A在前半个cycle先读取,B在後半个cycle
写入吗?
因为照前几章Register的画法,涂色左半代表前半个cycle,右半代表後半个cycle,但IF/I
D Register这里如果用同个逻辑想,先写後读,就会拿到错的Data了,所以很困惑......
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.95.24 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1604807717.A.A27.html
1F:→ seafoodccu: 可是AB指令在不同stage,使用不同function unit 11/08 20:36
2F:→ seafoodccu: 啊啊你是问IF/ID reg 11/08 20:39
3F:→ seafoodccu: 看不太懂你的问题QQ 11/08 20:44
4F:→ z598998599: 我写得不太清楚,是指假设一个指令A正在下面的图的状 11/08 21:50
5F:→ z598998599: 态,一个指令B在上面的图的状态,A在ID,B在IF, 11/08 21:50
6F:→ z598998599: B这时候要写入IF/ID register,A在这时候要读取IF/ID 11/08 21:50
7F:→ z598998599: register, 11/08 21:50
8F:→ z598998599: 这样是让A读完才让B写入吗? 11/08 21:50
9F:→ z598998599: 是各别用半个cycle去做吗? 11/08 21:50
12F:推 joey11121: 也就是说,PC某种程度上也会算成是一个pipeline reg 11/09 11:57
13F:→ z598998599: 好详细,了解了,谢谢你 11/09 16:40