Volume 3: General-Purpose and System Instructions - Stanford ...
Volume 3: General-Purpose and System Instructions - Stanford ... Volume 3: General-Purpose and System Instructions - Stanford ...
AMD64 Technology 24594 Rev. 3.10 February 2005PREFETCHlevelPrefetch Data to Cache Level levelLoads a cache line from the specified memory address into the data-cache levelspecified by the locality reference bits 5–3 of the ModRM byte. Table 3-16 on page 233lists the locality reference options for the instruction.This instruction loads a cache line even if the mem8 address is not aligned with thestart of the line. If the cache line is already contained in a cache level that is lowerthan the specified locality reference, or if a memory fault is detected, a bus cycle isnot initiated and the instruction is treated as a NOP.The operation of this instruction is implementation-dependent. The processorimplementation can ignore or change this instruction. The size of the cache line alsodepends on the implementation, with a minimum size of 32 bytes. AMD processorsalias PREFETCH1 and PREFETCH2 to PREFETCH0. For details on the use of thisinstruction, see the software-optimization documentation relating to particularhardware implementations.Mnemonic Opcode DescriptionPREFETCHNTA mem8 0F 18 /0 Move data closer to the processor using the NTA reference.PREFETCHT0 mem8 0F 18 /1 Move data closer to the processor using the T0 reference.PREFETCHT1 mem8 0F 18 /2 Move data closer to the processor using the T1 reference.PREFETCHT2 mem8 0F 18 /3 Move data closer to the processor using the T2 reference.232 PREFETCHlevel
24594 Rev. 3.10 February 2005 AMD64 TechnologyTable 3-16.Locality References for the Prefetch InstructionsLocalityReferenceNTAT0T1T2DescriptionNon-Temporal Access—Move the specified data into the processor with minimumcache pollution. This is intended for data that will be used only once, rather thanrepeatedly. The specific technique for minimizing cache pollution isimplementation-dependent and may include such techniques as allocating spacein a software-invisible buffer, allocating a cache line in only a single way, etc. Fordetails, see the software-optimization documentation for a particular hardwareimplementation.All Cache Levels—Move the specified data into all cache levels.Level 2 and Higher—Move the specified data into all cache levels except 0th level(L1) cache.Level 3 and Higher—Move the specified data into all cache levels except 0th level(L1) and 1st level (L2) caches.Related InstructionsPREFETCH, PREFETCHWrFLAGS AffectedNoneExceptionsNonePREFETCHlevel 233
- Page 212 and 213: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 214 and 215: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 216 and 217: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 218 and 219: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 220 and 221: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 222 and 223: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 224 and 225: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 226 and 227: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 228 and 229: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 230 and 231: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 232 and 233: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 234 and 235: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 236 and 237: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 238 and 239: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 240 and 241: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 242 and 243: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 244 and 245: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 246 and 247: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 248 and 249: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 250 and 251: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 252 and 253: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 254 and 255: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 256 and 257: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 258 and 259: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 260 and 261: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 264 and 265: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 266 and 267: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 268 and 269: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 270 and 271: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 272 and 273: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 274 and 275: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 276 and 277: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 278 and 279: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 280 and 281: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 282 and 283: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 284 and 285: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 286 and 287: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 288 and 289: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 290 and 291: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 292 and 293: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 294 and 295: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 296 and 297: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 298 and 299: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 300 and 301: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 302 and 303: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 304 and 305: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 306 and 307: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 308 and 309: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 310 and 311: AMD64 Technology 24594 Rev. 3.10 Fe
24594 Rev. 3.10 February 2005 AMD64 TechnologyTable 3-16.Locality References for the Prefetch <strong>Instructions</strong>LocalityReferenceNTAT0T1T2DescriptionNon-Temporal Access—Move the specified data into the processor with minimumcache pollution. This is intended for data that will be used only once, rather thanrepeatedly. The specific technique for minimizing cache pollution isimplementation-dependent <strong>and</strong> may include such techniques as allocating spacein a software-invisible buffer, allocating a cache line in only a single way, etc. Fordetails, see the software-optimization documentation for a particular hardwareimplementation.All Cache Levels—Move the specified data into all cache levels.Level 2 <strong>and</strong> Higher—Move the specified data into all cache levels except 0th level(L1) cache.Level 3 <strong>and</strong> Higher—Move the specified data into all cache levels except 0th level(L1) <strong>and</strong> 1st level (L2) caches.Related <strong>Instructions</strong>PREFETCH, PREFETCHWrFLAGS AffectedNoneExceptionsNonePREFETCHlevel 233