ARMv8架构特殊寄存器介绍-0

一、zero 寄存器

复制代码
零寄存器用作源寄存器时读取零,用作目标寄存器时丢弃结果。您可以在大多数指令中使用零寄存器,但不是所有指令。

二、sp寄存器

复制代码
在ARMv8架构中,要使用的堆栈指针的选择在某种程度上与Exception级别。默认情况下,异常为目标选择堆栈指针异常级别,SP_ELn。例如,对EL1采取异常将选择SP_EL1。每一个异常级别有自己的堆栈指针,SP_EL0、SP_EL1、SP_EL2和SP_EL3。

当在AArch64中处于EL0以外的异常级别时,处理器可以使用:
  • 与异常级别(SP_ELn)相关联的专用64位堆栈指针。

  • 与EL0 (SP_EL0)相关的堆栈指针。

    EL0只能访问SP_EL0。

    后缀"t"表示选择SP_EL0堆栈指针。h后缀表示SP_ELn堆栈指针被选中。SP不能被大多数指令引用。然而,某些形式的算术指令,例如ADD指令,可以对当前栈指针进行读写调整函数中的堆栈指针。

bash 复制代码
	例如:
	ADD SP, SP, #0x10 //将SP调整为当前值之前的0x10字节

三、Program Counter寄存器(PC)

原始ARMv7指令集的一个特点是使用了R15,即程序计数器(PC)作为通用寄存器。个人电脑实现了一些聪明的编程技巧,但它介绍了编译器的复杂性和复杂管道的设计。直接删除在ARMv8中访问PC使返回预测更容易,并简化了ABI规范。

PC永远不能作为命名寄存器访问。它的用法隐含在某些指令中,例如与pc相关的负载和地址生成。不能将PC指定为数据的目的地处理指令或加载指令。

相关推荐
Shulex39 分钟前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
钱工的门窗技术笔记1 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
码农小旋风1 小时前
Ray分布式计算引擎介绍
人工智能·架构
ZhengEnCi2 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
星融元asterfusion2 小时前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
天远数科3 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化供应商资质穿透核验网关
人工智能·架构·自动化
深蓝AI4 小时前
苹果智能入华拆解:八样首批功能、支持的机型、千问在三个入口的位置
人工智能·架构
海宇大数据5 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化持牌网络小贷小微商户极速助业贷秒级全维风险决策网关
网络·人工智能·架构·自动化
Nablai9 小时前
LX系列多国语言能力技术解析:ESP32双栈架构下的语种策略设计
人工智能·架构
阿俊-全栈开发11 小时前
LikeShop 多商户 Java 版商城微服务模块拆分与部署架构演进实践
java·微服务·架构·likeshop开源商城·多商户源码