NTL.ALL 会改变下一条 load/store 的结果吗?
不会。它不改变目标指令的架构可见效果。
Zihintntl 所有缓存非时间局部性提示,作用于紧随其后的显式内存访问目标指令。
RV32/RV64 Zihintntl 1.0;ntl.all 没有显式操作数,固定字段不表示可选的源或目标寄存器。
32 位 ADD HINT:funct7=0000000、rs2=x5、rs1=rd=x0、funct3=000、opcode=0110011;编码为 0x00500033。
只描述紧随其后的目标指令的显式内存访问;实现可忽略提示,不改变目标指令的架构可见效果。
NTL 不影响 Zicbom 缓存管理;不鼓励后接非显式内存访问指令。目标陷入时,建议忽略提示,而不是将其用于处理程序首条指令。
NTL.ALL 是 Zihintntl 定义的非时间局部性 HINT,编码为 ADD x0, x0, x5。它表示紧随其后的目标指令的显式内存访问在内存层级的任何缓存层级容量内不具有时间局部性。该提示不改变架构状态,也不改变目标指令的架构可见效果;实现可以自由忽略它。NTL 影响除 Zicbom 缓存管理指令外的所有内存访问指令,也可作用于 Zicbop 预取提示。
从 ADD 字段解码,并展示目标指令条件与架构可见边界。
动画只展示非特权 ISA 定义的 NTL 架构语义;不推断特定缓存层级、分配策略、时序或性能结果。
NTL.ALL 是描述紧随其后指令的显式内存访问局部性的 HINT,不改变目标指令的架构可见效果。
结合 «ntl.all» 等实际代码理解该场景。
结合 «ntl.all» 等实际代码理解该场景。
结合 «ntl.all» 等实际代码理解该场景。
不会。它不改变目标指令的架构可见效果。
可以。它是 HINT,软件不能依赖它保证性能或正确性。