作者befdawn (蜜蜂P助)
看板Grad-ProbAsk
标题[理工] 计组 program counter
时间Sat Nov 3 21:57:24 2018
https://i.imgur.com/P1DuBsy.jpg
https://i.imgur.com/WpQse79.jpg
各位大大好,
请问这题第三行解答 goto 的 address 部分
当 bne 被执行的时候,pc 不是已经在下一行(+4) 了?也就是要 goto 的 address 应
该是 pc + 100?
我的想法是 [bne 的 address] + 4 + 100 才是要跳的 address,不知道正不正确
谢谢~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.254.162
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1541253446.A.4F9.html
1F:推 skyHuan: 你想的没有错 PC+4就是指下一行 11/03 22:24
2F:推 skyHuan: 你执行这个指令的时候PC在beq 11/03 22:27
3F:→ skyHuan: 下个clock变成PC+4 然後会加上imm16 11/03 22:27
4F:→ skyHuan: 所以是(PC+4) + 100 11/03 22:27
5F:→ skyHuan: 如果要跳的话下个clock才会进ALU算目的位址 11/03 22:27
6F:→ befdawn: 所以是刚load到这行指令时,pc还在这一行,所以就是加4 11/04 19:48
7F:→ befdawn: 就好了 11/04 19:48
8F:→ befdawn: 十分谢谢s大 11/04 19:48