background image

12

AMD Athlon™ Processor Model 6 Revision Guide

24332E—December 2002   

Preliminary Information

 21

A Speculative SMC Store Followed by an Actual SMC Store May Cause One-Time Stale
Execution

Products Affected. 

A0, A2, A5

Normal Specified Operation. 

Self-modifying code sequences should be correctly detected and handled in a

manner consistent with canonical results; stale code should not be executed.

Non-conformance. 

The following scenario can result in a one-time execution of stale instructions:

1. A speculative store instruction initiates a request (R) to modify a 64-byte cache line with address 

A, which currently resides within the L1 instruction cache.

2.

The speculative store instruction is ultimately not executed because of a branch misprediction. 
However, the store R is still in flight attempting to bring the line into the data cache in the 
modified state.

3.

The instruction cache, which fetches instructions 16 bytes at a time, is redirected by the branch 
into the cache line with address A and fetches a portion of the line into the instruction buffer.

4.

R then invalidates the instruction cache line with address A and brings the line into the L1 data 
cache, marking it as modified. However, the instruction buffer, which also contains some bytes 
from address A, is not invalidated.

5.

The instruction fetch mechanism attempts to read the next 16-byte chunk of code and must issue a 
request to bring the 64-byte line back into the instruction cache.

6.

This instruction cache request for address A hits on the modified line now in the L1 cache, and 
evicts it from the data cache to the L2.

7.

A second store instruction (S) from the instruction buffer is issued into the execution units. S is a 
self-modifying code reference to another instruction that currently exists in the 64-byte cache 
block at address A and is also in the instruction buffer.

8.

The execution of S detects that an instruction request to fetch address A is in flight. However, the 
store request is given priority. Since it now hits in the L2 and the L2 state is modified, it assumes 
that the line cannot be in the instruction cache or the instruction buffer.

Potential Effect on System. 

The processor will execute stale code instructions.

Suggested Workaround. 

None. This failure has only been observed in internally generated synthetic code.

Resolution Status. 

No fix planned.

Summary of Contents for Athlon 6

Page 1: ...AMD Athlon Processor Model 6 Revision Guide Publication 24332 Rev E Issue Date December 2002 Preliminary Information...

Page 2: ...et forth in AMD s Standard Terms and Conditions of Sale AMD assumes no liability whatsoever and disclaims any express or implied warranty relating to its products including but not limited to the impl...

Page 3: ...December 2002 E Added errata 22 24 July 2002 D Added errata 20 and 21 October 2001 C Added silicon revision A5 information Added erratum 18 and 19 Added Table 2 Cross reference of Erratum to Processo...

Page 4: ...model 6 to deviate from the published specifications Revision Determination This section which starts on page 16 shows the AMD Athlon processor model 6 identification numbers returned by the CPUID ins...

Page 5: ...that have been resolved from early revisions of the processor have been deleted and errata that have been reconsidered may have been deleted or renumbered Table 1 Cross Reference of Product Revision t...

Page 6: ...Errata Number Workstation Server1 Desktop2 Mobile3 16 X X X 17 X 18 X 19 X X X 20 X X X 21 X X X 22 X X X 23 X X X 24 X X X Notes 1 The workstation server segment currently includes the AMD Athlon MP...

Page 7: ...logical address Non conformance When the logical address designated by the INVLPG instruction is mapped by a 4 Mbyte page mapping and LA 21 is equal to one it is possible that the TLB will still retai...

Page 8: ...the other processor B is trying to read the same cacheable I O block and at the same time both processors are also trying to write a different memory based cache block then processor B may hang Should...

Page 9: ...ial cycle is issued Several bus clocks later the WrVictimBlk command for the victim will be issued This violates the specification which states that all processor based commands should be finished bef...

Page 10: ...perly after a microcode patch is loaded Non conformance The processor has the patch RAM BIST function disabled Since BIST is not run on the patch RAM reliable operation of the patch RAM cannot be guar...

Page 11: ...structions that are uncounted only when certain data dependencies exist are LAR LSL VERR VERW if they clear the Zero Flag FXSAVE FXRSTOR if FERR is changed FPU instructions with exceptional data condi...

Page 12: ...validates the instruction cache line with address A and brings the line into the L1 data cache marking it as modified However the instruction buffer which also contains some bytes from address A is no...

Page 13: ...tion exception Non conformance If the RDPMC is executed in real mode with a specific illegal value of ECX 4 then the processor may incorrectly enter the GP fault handler as if it were in 32 bit real m...

Page 14: ...formance When a task gate is used by a CALL or JMP instruction and any debug breakpoint is enabled through the DR7 LE or GE bits the processor may under certain timing scenarios incorrectly use the ne...

Page 15: ...art the processor should immediately enter the debug trap handler Non conformance Under this scenario the processor does not enter the debug trap handler but instead returns to the instruction followi...

Page 16: ...rmation 2 Revision Determination Table 3 shows the AMD Athlon processor model 6 identification numbers returned by the CPUID instruction for each revision of the processor Table 3 CPUID Values for the...

Page 17: ...information AMD Athlon XP Processor Data Sheet Processor Model 6 order 24309 Mobile AMD Athlon 4 Processor Model 6 CPGA Data Sheet order 24319 AMD Athlon MP Processor Model 6 Data Sheet Multiprocesso...

Reviews: