ARM 64 位汇编指令集全解析
1. ARM 64 位指令集的目标
ARM 64 位指令集有两个主要目标:
- 简化编译器开发 :在 32 位指令集中,使用条件指令生成代码、构造操作数 2 以及处理重叠寄存器等操作,都增加了编译器开发者的工作难度。而 64 位指令集的很多变化,都是为了让编译器更轻松地生成高效代码。
- 优化硬件执行流水线 :帮助 ARM 硬件工程师创建更高效的执行流水线,大幅减少流水线执行停顿,并允许更多指令并行执行。许多被移除的“特性”都是为了实现这一目标。
2. 更多更大的寄存器
- 寄存器大小和数量 :每个寄存器大小为 64 位,共有 31 个通用寄存器,标记为 X0 - X30。可以通过 W0 - W30 访问这些寄存器的低 32 位。当使用指令写入这些寄存器时,对应的 X 寄存器的高 32 位会被置为零。
- 特殊寄存器 :
- 链接寄存器(LR) :X30 是链接寄存器,其规则与 32 位中的 LR 相同。
- 程序计数器(PC) :PC 不属于这个寄存器集,它是独立的,不能像其他寄存器那样直接访问,只有特定指令才能改变它。这大大简化了执行流水线的优化,防止停顿。
3. SP 和零寄存器
- 栈指针(SP)
超级会员免费看
订阅专栏 解锁全文
930

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



