pub unsafe fn _prefetch(p: *const i8, const RW: i32, const LOCALITY: i32)
🔬This is a nightly-only experimental API. (
stdsimd
#48556)Available 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 是有效的。