MIPS中分支和跳转的地址范围

(仅作为读书笔记)
例题:
1.在MIPS中条件分支的地址范围(K=1024)是多大?
2.在MIPS中跳转和跳转链接指令的地址范围(M=1024K)是多大?

1.条件分支指令

op reg reg address
6位 5位 5位 16位

其中后16位用于指定分支地址。
MIPS条件分支指令寻址采用PC相对寻址,分支指令的地址为 PC 加上分支地址。
PC包含当前指令地址。分支地址有16位,因此可跳转到离当前指令距离为±2^15个字(注意是字,因为PC相对寻址是按字寻址),1个字等于4个字节,所以条件分支指令的地址范围是:±2 ^15 * 4 = ± 2 ^17 = ± 128K,即分支前后地址范围各大约128K,即地址范围为256K。

2.跳转指令

op adress
6位 26位

其中后26位用于指定跳转地址,其为字地址,它可以表示为28位的字节地址。MIPS跳转指令寻址采用伪直接寻址,跳转指令的目标地址由当前的PC的高4位与跳转指令的低26位左移2位后相加而成。
所以可跳转的地址范围为2^28 = 256M

你可能感兴趣的:(计算机组成原理)