简体   繁体   English

ARm prfm 和 prfum 指令

[英]ARm prfm and prfum instructions

can someone explain what is the difference between the arm instructions prfm and prfum and usage of these ?有人可以解释手臂指令 prfm 和 prfum 之间的区别以及它们的用法吗?

PRFUM https://developer.arm.com/documentation/dui0802/b/PRFUM PRFUM https://developer.arm.com/documentation/dui0802/b/PRFUM

PRFM https://developer.arm.com/documentation/dui0801/g/A64-Data-Transfer-Instructions/PRFM--literal- PRFM https://developer.arm.com/documentation/dui0801/g/A64-Data-Transfer-Instructions/PRFM--literal-

For questions like this, your primary source is the ARMv8 Architecture Reference manual.对于此类问题,您的主要来源是 ARMv8 架构参考手册。 I happen to have the edition Ea at hand, so page numbers are going to refer to that edition.我手头有 Ea 版,所以页码将指那个版本。

On Page C6-1136, PRFM (immediate) is described.在 C6-1136 页上,描述了PRFM (立即)。 It allows to prefetch data that is at an offset that is a multiple of 8 in the range of 0 to +32760 relative to the value in a base register.它允许预取相对于基址寄存器中的值在 0 到 +32760 范围内的偏移量为 8 的倍数的数据。

On Page C6-1142, PRFUM is described.在第 C6-1142 页上,描述了PRFUM It allows to prefetch data that is at any kind of offset (not just multiples of 8) in the range -256 to +255 relative to the value in a base register.它允许预取相对于基址寄存器中的值在 -256 到 +255 范围内的任何偏移量(不仅仅是 8 的倍数)的数据。

So if you need (for some reasons, like working with strings) to prefetch with byte accuracy, or you need to prefetch with a negative offset, you have to use PRFUM .因此,如果您需要(出于某些原因,例如使用字符串)以字节精度预取,或者需要使用负偏移量预取,则必须使用PRFUM On the other hand, if you want to prefetch with an offset of 256 or higher, you have to use PRFM .另一方面,如果您想以 256 或更高的偏移量预取,则必须使用PRFM

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM