PowerPC架构:从汇编语言到内存组织的全面解析
1. 设备访问与地址处理
PowerPC系统的段寄存器除了包含VSID之外,还有一个字段用于详细说明逻辑地址是否指向外设。若指向外设,将跳过页面转换,直接使用逻辑地址生成处理相应设备的指令和地址序列。只要操作系统正确设置了段寄存器的值,PowerPC上的设备访问就和内存访问一样简单,在实际操作中二者相同。
2. 汇编语言
2.1 算术运算
PowerPC的汇编语言与其他系统有两个明显区别:
- 寄存器采用编号而非命名。
- 指令采用不常见的三参数格式。
例如,加法指令的写法如下:
add r3,r2,r1
# register 3 = register 2 + register 1
在这个计算中,第二个和第三个参数(寄存器1和2)不受影响,可在后续重复使用。通过重复参数,能实现更传统的操作,如:
add r2,r2,r1
# 等同于 x86 的 ADD R2,R1
一般来说,任何二元运算(算术、逻辑或比较)都以这种方式表达。这种三参数格式结合大量可用寄存器,为程序员或编译器在执行计算和存储中间结果时提供了极大的灵活性,也让计算机在需要时能灵活调整计算顺序。
三参数格式的原因在于PowerPC的设计,其每条指令统一为32位。32个寄存器组中,指定一个寄存器需5位,指定三个寄存器约占15位,这意味着
超级会员免费看
订阅专栏 解锁全文
1371

被折叠的 条评论
为什么被折叠?



