Re: [理工] 計組 Jump範圍
※ 引述《NccuShuai (政帥)》之銘言:
: 1.PC is set to 0x2000 0000
: 最大可跳到 0x2001 FFFC
: 最小可跳到 0x1FFE 0000
: 2.PC is set to 0x0000 0000
: 最大可跳到 0x0001 FFFC
: 最小可跳到 0xFFFE 0000
以上兩種皆為branch跳躍
1. Branch指令位址長度為16 bits
當Label解譯成Target address時,
為有號整數,故數值範圍為 (-2^15) ~ (2^15 + 1)
2. MIPS指令為4bytes長度, 故alined的位址
要再加上2bits(皆為4的倍數一數)
運算方法為 PC = PC + target
跳躍範圍為 PC + 2^17 -4 (正數)
到 PC - 2^17 (負數)
-----------------------------------------------
1. Jump指令長度為26bits, 無號整數
2. 同branch, 要加上2bits
運算方法為
PC[31:0] = PC[31:28] :: jump[0:25] :: 00
範圍在同一個block之內, 可以任意跳躍在28 bit之間
不過要alined在instruction上
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.35.29
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1457926713.A.E0B.html
※ 編輯: OppOops (180.177.35.29), 03/14/2016 11:39:55
※ 編輯: OppOops (180.177.35.29), 03/14/2016 11:43:35
推
03/16 01:27, , 1F
03/16 01:27, 1F
討論串 (同標題文章)