作者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://www.ptt.cc/bbs/Grad-ProbAsk/M.1541253446.A.4F9.html
推 skyHuan: 你想的沒有錯 PC+4就是指下一行 11/03 22:24
推 skyHuan: 你執行這個指令的時候PC在beq 11/03 22:27
→ skyHuan: 下個clock變成PC+4 然後會加上imm16 11/03 22:27
→ skyHuan: 所以是(PC+4) + 100 11/03 22:27
→ skyHuan: 如果要跳的話下個clock才會進ALU算目的位址 11/03 22:27
→ befdawn: 所以是剛load到這行指令時,pc還在這一行,所以就是加4 11/04 19:48
→ befdawn: 就好了 11/04 19:48
→ befdawn: 十分謝謝s大 11/04 19:48