在ARM手册中,什么';res0和res1的区别是什么?

在ARM手册中,什么';res0和res1的区别是什么?,arm,Arm,如寄存器字段描述中所示。例如: [47:0]BADDR[47:x] 翻译表基址,位[47:x]。位[x-1:0]是res0 RES0在《ARMv8体系结构参考手册》(另请参阅)中有正确的定义,但总而言之,它意味着一个具有未知值的保留字段,软件在初始化时必须使用所有0进行写入,然后保留(通过寄存器上的读-修改-写操作)。值得注意的是,软件不应依赖于随后读回为0的字段 正如您现在可能想象的那样,RES1仅在1s而不是0s时是完全相同的(即在设置所有位的情况下初始化) 这本质上是一种向前兼容性承诺,即

如寄存器字段描述中所示。例如:

[47:0]BADDR[47:x] 翻译表基址,位[47:x]。位[x-1:0]是res0


RES0在《ARMv8体系结构参考手册》(另请参阅)中有正确的定义,但总而言之,它意味着一个具有未知值的保留字段,软件在初始化时必须使用所有0进行写入,然后保留(通过寄存器上的读-修改-写操作)。值得注意的是,软件不应依赖于随后读回为0的字段

正如您现在可能想象的那样,RES1仅在1s而不是0s时是完全相同的(即在设置所有位的情况下初始化)


这本质上是一种向前兼容性承诺,即如果该字段的任何部分被重新调整用途,在未来版本的体系结构中具有某种意义,则当前保留值将是保留当前行为的“安全”设置。有时,它还用于在删除过时功能(例如,大多数保留的SCTLR位)的情况下保持向后兼容性。

RES0在ARMv8体系结构参考手册中有正确的定义(另请参见),但总而言之,它意味着具有未知值的保留字段,哪个软件在初始化时必须使用所有0进行写入,然后保留(通过寄存器上的读修改写操作)。值得注意的是,软件不应依赖于随后读回为0的字段

正如您现在可能想象的那样,RES1仅在1s而不是0s时是完全相同的(即在设置所有位的情况下初始化)


这本质上是一种向前兼容性承诺,即如果该字段的任何部分被重新调整用途,在未来版本的体系结构中具有某种意义,则当前保留值将是保留当前行为的“安全”设置。有时,它还用于保留已删除过时功能的向后兼容性(例如,大多数保留的SCTLR位)。

还值得注意的是,链接到的术语表Notlikethat也是ARM体系结构参考手册ARMv8 PDF的一部分,目前位于: 版本DDI0487A_j_armv8_arm,是所有armv8参考的末端


术语表出现在该文档末尾的“魔法”部分,没有章节编号。

还值得注意的是,链接到的术语表也是ARM体系结构参考手册ARMv8 PDF的一部分,当前位于: 版本DDI0487A_j_armv8_arm,是所有armv8参考的末端


术语表出现在文档末尾的“魔法”部分,没有章节编号。

这是一个关于所有ARM体系结构/处理器参考的一般性问题。我应该让我的标题更具描述性。这是公平的,但没有理由假设所有手册都使用相同的术语,很明显,你在一本手册中找到了它,而对于这个问题,这是唯一相关的实例。如果您想询问其他手册中的其他实例,那么您可以列出这些手册以及这些实例。如果你想从现在到永远了解arm技术作家的想法,这个问题太宽泛了。十分钟后,arm可以更改您正在阅读的手册,当更新出来时,整个问题和答案都将失效。@dwelch RES0是ARMv8以后的标准术语,取代了以前所称的UNK/SBZP。这是一个关于所有arm体系结构/处理器参考的一般性问题。我应该让我的标题更具描述性。这是公平的,但没有理由假设所有手册都使用相同的术语,很明显,你在一本手册中找到了它,而对于这个问题,这是唯一相关的实例。如果您想询问其他手册中的其他实例,那么您可以列出这些手册以及这些实例。如果你想从现在到永远了解arm技术作家的想法,这个问题太宽泛了。十分钟后,arm可以更改您正在阅读的手册,当更新出来时,整个问题和答案都将失效。@dwelch RES0是ARMv8以后的标准术语,取代了以前称为UNK/SBZP的术语。我知道很多人会得到
s/0/1/
的内容,但是你可能会想说一些类似“1而不是0”的东西,因为那些不懂正则表达式的人可能会被混淆。固定的!我知道很多人会得到<代码> S/0/1/< /代码>,但是你可能会想说“1而不是0”,因为那些不懂正则表达式的人可能会被混淆。固定的!