ETC AMDATHLON

Preliminary Information
AMD Athlon™ Processor Model 6
Revision Guide
Publication # 24332
Rev: G
Issue Date: October 2003
Preliminary Information
© 2001–2003 Advanced Micro Devices, Inc.
All rights reserved.
The contents of this document are provided in connection with Advanced
Micro Devices, Inc. (“AMD”) products. AMD makes no representations or
warranties with respect to the accuracy or completeness of the contents of
this publication and reserves the right to make changes to specifications and
product descriptions at any time without notice. No license, whether express,
implied, arising by estoppel or otherwise, to any intellectual property rights
is granted by this publication. Except as set 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 implied warranty of merchantability, fitness for a particular
purpose, or infringement of any intellectual property right.
The AMD products described herein may contain design defects or errors
(“Product Errata”) that cause AMD products to deviate from published specifications. Currently characterized Product Errata may be available upon
request.
AMD’s products are not designed, intended, authorized or warranted for use
as components in systems intended for surgical implant into the body, or in
other applications intended to support or sustain life, or in any other application in which the failure of AMD’s product could create a situation where personal injury, death, or severe property or environmental damage may occur.
AMD reserves the right to discontinue or make changes to its products at any
time without notice.
Trademarks
AMD, the AMD Arrow logo, AMD Athlon, and combinations thereof, are trademarks of Advanced Micro Devices,
Inc.
Other product names used in this publication are for identification purposes only and may be trademarks of
their respective companies.
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
24332G—October 2003
Revision History
Date
Rev
Description
October 2003
G
Revised erratum #25.
June 2003
F
Added erratum #25.
December 2002
E
Added errata #22–24.
July 2002
D
Added errata #20 and #21.
■
■
October 2001
C
■
■
May 2001
B
Added silicon revision A5 information
Added erratum #18 and #19
Added Table 2: Cross-reference of Erratum to Processor Segments to include all processor
segments
Updated reference documents listed in section 3.1
Initial public release.
3
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
24332G—October 2003
AMD Athlon™ Processor Model 6
Revision Guide
The purpose of the AMD Athlon™ Processor Model 6 Revision Guide is to communicate updated product
information on the AMD Athlon processor model 6 to designers of computer systems and software
developers. This revision guide applies to the AMD Athlon processor model 6, mobile AMD Athlon
processor model 6, and AMD Athlon MP processor model 6. This guide consists of three sections:
■
Product Errata: This section, which starts on page 5, provides a detailed description of product
errata, including potential effects on system operation and suggested workarounds. An erratum is
defined as a deviation from the product’s specification. A product errata may cause the behavior of
the AMD Athlon processor model 6 to deviate from the published specifications.
■
Revision Determination: This section, which starts on page 18, shows the AMD Athlon processor
model 6 identification numbers returned by the CPUID instruction for each revision of the
processor.
■
Technical and Documentation Support: This section, which starts on page 19, provides a listing of
available technical support resources. It also lists corrections, modifications, and clarifications to
listed documents. Please refer to the data sheets listed in this section for product marking
information.
Revision Guide Policy
Occasionally AMD identifies deviations from or changes to the specification of the AMD Athlon
processor model 6. These changes are documented in the AMD Athlon™ Processor Model 6 Revision
Guide as errata. Descriptions are written to assist system and software designers in using the
AMD Athlon processor model 6 and corrections to AMD’s documentation on the AMD Athlon
processor model 6 are included. This release documents currently characterized product errata.
4
Preliminary Information
24332G—October 2003
1
AMD Athlon™ Processor Model 6 Revision Guide
Product Errata
This section documents AMD Athlon™ Processor Model 6 product errata. The errata are divided into
categories to assist referencing particular errata. A unique tracking number for each erratum has been
assigned within this document for user convenience in tracking the errata within specific revision
levels. Table 1 cross-references the revisions of the processor to each erratum. An “X” indicates that
the erratum applies to the stepping. The absence of an “X” indicates that the erratum does not apply
to the stepping. Table 2 on page 6 cross-references erratum to each processor segment. An “X”
indicates that the erratum applies to the processor segment.
Note:
Table 1.
There can be missing errata numbers. Errata 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.
Cross-Reference of Product Revision to Errata
Revision
Numbers
Errata Numbers and Description
A0
A2
16 INVLPG Instruction Does Not Flush Entire Four-Megabyte Page Properly with
Certain Linear Addresses
X
X
17 Deadlock May Occur in a Two-Processor System in the Presence of Probe to
Memory- Mapped I/O
X
X
18 Processor May Issue Non-Connect Bus Cycle After FID Special Cycle
X
X
19 Processor Does Not Support Reliable Microcode Patch Mechanism
A5
X
X
20 Processor Performance Counters Do Not Count Some x86 Instructions
X
X
X
21 A Speculative SMC Store Followed by an Actual SMC Store May Cause OneTime Stale Execution
X
X
X
22 Real Mode RDPMC with Illegal ECX May Cause Unpredictable Operation
X
X
X
23 Using Task Gates With Breakpoints Enabled May Cause Unexpected Faults
X
X
X
24 Single Step Across I/O SMI Skips One Debug Trap
X
X
X
25 Software Prefetches May Report A Page Fault
X
X
X
5
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
Table 2.
24332G—October 2003
Cross-Reference of Erratum to Processor Segments
Errata
Number
Workstation/Server1
Desktop2
Mobile3
16
X
X
X
17
X
X
18
19
X
X
X
20
X
X
X
21
X
X
X
22
X
X
X
23
X
X
X
24
X
X
X
25
X
X
X
Notes:
1. The workstation/server segment currently includes the AMD Athlon™ MP processor.
2. The desktop segment currently includes the AMD Athlon XP processor.
3. The mobile segment currently includes the AMD Athlon 4 processor.
6
Preliminary Information
24332G—October 2003
16
AMD Athlon™ Processor Model 6 Revision Guide
INVLPG Instruction Does Not Flush Entire Four-Megabyte Page Properly with Certain
Linear Addresses
Products Affected. A0, A2
Normal Specified Operation. After executing an INVLPG instruction the TLB should not contain any
translations for any part of the page frame associated with the designated logical address.
Non-conformance. When the logical address designated by the INVLPG instruction is mapped by a 4Mbyte page mapping and LA[21] is equal to one it is possible that the TLB will still retain translations
after the instruction has finished executing.
Potential Effect on System. The residual data in the TLB can result in unexpected data access to stale or
invalid pages of memory.
Suggested Workaround. When using the INVLPG instruction in association with a page that is mapped via
a 4-Mbyte page translation, always clear bit 21.
Resolution Status. Fix planned for a future revision.
7
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
17
24332G—October 2003
Deadlock May Occur in a Two-Processor System in the Presence of Probe to MemoryMapped I/O
Products Affected. A0, A2, A5
Normal Specified Operation. Processor should not hang.
Non-conformance. In a multiprocessor system, if one processor (A) is continuously writing to a cacheable
memory-mapped I/O block while 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 this occur and processor A fields an interrupt, the deadlock will be
resolved.
Potential Effect on System. System will hang or exhibit performance degradation.
Suggested Workaround. The current processor design assumes that memory-mapped I/O is incoherent and
does not handle all deadlock cases. System logic should not generate probes for memory mapped I/O
addresses.
Resolution Status. No fix planned.
8
Preliminary Information
24332G—October 2003
18
AMD Athlon™ Processor Model 6 Revision Guide
Processor May Issue Non-Connect Bus Cycle After FID Special Cycle
Products Affected. A0, A2
Normal Specified Operation. The first processor cycle after a FID Change special cycle should be a Connect
special cycle.
Non-conformance. In rare circumstances, a processor victim write may be pending inside the processor
when the FID Change special 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 before the FID change special cycle.
Potential Effect on System. The core logic may become confused.
Suggested Workaround. System core logic can wait for numerous bus clocks after receiving the FID change
special cycle before attempting to disconnect in order to generate a window sufficiently large enough
to allow the WrVictimBlk transaction to take place prior to the disconnect.
Resolution Status. Fix planned for a future revision.
9
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
19
24332G—October 2003
Processor Does Not Support Reliable Microcode Patch Mechanism
Products Affected. A5
Normal Specified Operation. The processor should function properly 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 guaranteed. Therefore it should not be
used.
Potential Effect on System. When a microcode patch is loaded, the system may not behave properly.
Suggested Workaround. Do not load a microcode patch.
Resolution Status. Fix planned for a future revision.
10
Preliminary Information
24332G—October 2003
20
AMD Athlon™ Processor Model 6 Revision Guide
Processor Performance Counters Do Not Count Some x86 Instructions
Products Affected. A0, A2, A5
Normal Specified Operation. The processor should count all x86 instructions when programmed to do so.
Non-conformance. There are two types of uncounted instructions. One set of instructions is always
uncounted. Another set of instructions are uncounted only if a certain data dependency exists.
Instructions never counted are: RDMSR, WRMSR, FSTENV, FSAVE, FLDENV, FPTAN, FYL2XP1,
FCLEX, LLDT, LTR, MOV CRx, LGDT, LIDT, INVLPG, INVD, WBINVD, MOV DRx, CPUID, and
SFENCE.
Instructions 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 conditions
■
IO instructions that detect an interrupt
■
POPF with the trap flag =1
■
POPFD and PUSHFD with IOPL not equal 3 and Virtual Mode enabled
■
POPFD when Alignment Check is being enabled
■
MOV SS with the trap flag =1
■
Segment Loads that generate accessed bit exceptions
■
STI with the trap flag or the interrupt flag already a 1
■
CLTS with the CR0.TS flag =1
■
LMSW that changes any bit
Potential Effect on System. Performance counter may under count the actual number of x86 instructions.
Suggested Workaround. Versions of the AMD Athlon™ processor not affected by this erratum may be used
to gather instruction counts.
Resolution Status. No fix planned.
11
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
21
24332G—October 2003
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.
12
Preliminary Information
24332G—October 2003
22
AMD Athlon™ Processor Model 6 Revision Guide
Real Mode RDPMC with Illegal ECX May Cause Unpredictable Operation
Products Affected. A0, A2, A5
Normal Specified Operation. Illegal values of ECX (that is, ECX>3) for the RDPMC (Read Performance
Monitor Counter) instruction cause the processor to take a general protection 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 mode.
Potential Effect on System. Incorrect instruction decode leading to unpredictable system failure.
Suggested Workaround. When in real mode, restrict use of the RDPMC instruction to legal counter values
(0-3). This circumstance is not expected to occur in normal operation and has only been detected in a
simulation environment.
Resolution Status. No fix planned.
13
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
23
24332G—October 2003
Using Task Gates With Breakpoints Enabled May Cause Unexpected Faults
Products Affected. A0, A2, A5
Normal Specified Operation. Task gates should correctly use the TSS selector out of the task gate for CALL
and JMP instructions.
Non-conformance. 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 new TSS base[15:0] contained in the new TSS as a selector. This will most likely cause a GP
fault with an error code of the new TSS base.
Potential Effect on System. System failure.
Suggested Workaround. When using software that uses task gates with CALL or JMP instructions, do not
enable breakpoints.
Resolution Status. No fix planned.
14
Preliminary Information
24332G—October 2003
24
AMD Athlon™ Processor Model 6 Revision Guide
Single Step Across I/O SMI Skips One Debug Trap
Products Affected. A0, A2, A5
Normal Specified Operation. When single stepping (with EFLAGS.TF) across an IN or OUT instruction that
detects an SMI, the processor correctly defers taking the debug trap and instead enters SMM. Upon
RSM (without I/O restart), 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 following the I/O instruction.
Potential Effect on System. When using the single step debug mode, following an I/O operation that detects
an SMI, one instruction may appear to be skipped.
Suggested Workaround. None required as this is a debug limitation only. If a workaround is desired,
modify the SMM handler to detect this case and enter the debug handler directly.
Resolution Status. No fix planned.
15
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
25
24332G—October 2003
Software Prefetches May Report A Page Fault
Products Affected. A0, A2, A5
Normal Specified Operation. Software prefetches should not report page faults if they encounter them.
Non-conformance. Software prefetch instructions are defined to ignore page faults. Under highly specific
and detailed internal circumstances, a prefetch instruction may report a page fault if both of the
following conditions are true:
■
The target address of the prefetch would cause a page fault if the address was accessed by an
actual memory load or store instruction under the current privilege mode;
■
The prefetch instruction is followed in execution-order by an actual or speculative byte-sized memory access of the same modify-intent to the same address.
PREFETCH and PREFETCHNTA/0/1/2 have the same modify-intent as a memory load access.
PREFETCHW has the same modify-intent as a memory store access.
The page fault exception error code bits for the faulting prefetch will be identical to that for a bytesized memory access of the same-modify intent to the same address.
Note that some misaligned accesses can be broken up by the processor into multiple accesses where at
least one of the accesses is a byte-sized access.
If the target address of the subsequent memory access of the same modify-intent is aligned and not
byte-sized, this errata does not occur and no workaround is needed.
Potential Effect on System. An unexpected page fault may occur infrequently on a prefetch instruction.
Suggested Workaround. Two workarounds are described for this erratum.
Kernel Workaround
The Operating System kernel can work around the erratum by allowing the page fault handler to
satisfy the page fault to an "accessible" page regardless of whether the fault was due to a load, store,
or prefetch operation. If the faulting instruction is permitted access to the page, return to it as usual.
(An "accessible" page is one for which memory accesses are allowed under the current privilege mode
once the page is resident in memory).
If the faulting instruction is trying to access an "inaccessible" page, scan the instruction stream bytes
at the faulting Instruction Pointer to determine if the instruction is a prefetch. (An "inaccessible"
page is one for which memory accesses are not allowed under the current privilege mode.) If the
faulting instruction is a prefetch instruction, simply return back to it; the internal hardware conditions
that caused the prefetch to fault should be removed and operation should continue normally. If it is not
a prefetch instruction, generate the appropriate memory access control violation as appropriate. The
performance impact of doing the scan is small because the actual errata is infrequent and does not
produce an excessive number of page faults that affect system performance.
General Workaround
If the page-fault handler for a kernel can be patched as described in the preceding kernel workaround,
no further action by software is required. The following general workarounds should only be
considered for kernels where the page-fault handler can not be patched and a prefetch instruction
could end up targeting an address in an "inaccessible" page.
16
Preliminary Information
24332G—October 2003
AMD Athlon™ Processor Model 6 Revision Guide
Because the actual errata is infrequent, it does not produce an excessive number of page faults that
affect system performance. Therefore a page fault from a prefetch instruction for an address within an
"accessible" page does not require any general workaround.
Software can minimize the occurrence of the errata by issuing only one prefetch instruction per cacheline (a naturally-aligned 64-byte quantity) and ensuring one of the following:
■
In many cases, if a particular target address of a prefetch is known to encounter this errata, simply
change the prefetch to target the next byte.
■
Avoid prefetching inaccessible memory locations, when possible.
■
In the general case, ensure that the address used by the prefetch is offset into the middle of an
aligned quadword near the end of the cache-line. For example, if the address desired to be
prefetched is "ADDR", use an offset of 0x33 to compute the address used by the actual prefetch
instruction as: "(ADDR & ~0x3f) + 0x33".
Resolution Status. No fix planned.
17
Preliminary Information
AMD Athlon™ Processor Model 6 Revision Guide
2
24332G—October 2003
Revision Determination
Table 3 shows the AMD Athlon™ processor model 6 identification number returned by the CPUID
instruction for each revision of the processor.
Table 3.
18
CPUID Values for the Revisions of the AMD Athlon™ Processor Model 6
Revision
CPUID
A0
660
A2
661
A5
662
Preliminary Information
24332G—October 2003
3
AMD Athlon™ Processor Model 6 Revision Guide
Technical and Documentation Support
The following documents provide additional information regarding the operation of the AMD Athlon™
processor model 6. Please refer to the data sheets listed in this section for product marking
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 Multiprocessor-Capable for Workstation and Server
Platforms, order #24685
■
AMD Athlon™ MP Processor OPGA Data Sheet for Multiprocessor Platforms: Processor Model 6,
order #25480
For the latest updates, refer to www.amd.com and download the appropriate files. For documents
under NDA, please contact your local sales representative for updates.
19