Function core::arch::aarch64::_prefetch [−][src]
pub unsafe fn _prefetch<const RW: i32, const LOCALITY: i32>(p: *const i8)
This is supported on AArch64 only.
Expand description
使用给定的 RW
和 LOCALITY
获取包含地址 p
的缓存行。
RW
必须是以下之一:
-
_PREFETCH_READ
: 预取正在准备读取。 -
_PREFETCH_WRITE
: 预取正在准备写操作。
LOCALITY
必须是以下之一:
-
_PREFETCH_LOCALITY0
: 流或非时间预取,用于仅使用一次的数据。 -
_PREFETCH_LOCALITY1
: 提取到 3 级缓存中。 -
_PREFETCH_LOCALITY2
: 提取到 2 级缓存中。 -
_PREFETCH_LOCALITY3
: 提取到 1 级缓存中。
预取存储器指令向存储器系统发送信号,表明从指定地址进行的存储器访问可能发生在 future 附近。 内存系统可以通过采取某些措施来做出响应,这些措施可以在确实发生时加快内存访问的速度,例如将指定地址预加载到一个或多个高速缓存中。
因为这些信号只是提示,所以对于特定的 CPU,将任何或所有预取指令视为 NOP 是有效的。