The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

Publication 20734 Revision: 3.04 Issue Date: September 2003 2000-


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Processor Recognition
Publication 20734 Revision: 3.04 Issue Date: September 2003
2000-2003 Advanced Micro Devices, Inc. rights reserved. contents this document provided connection with Advanced Micro Devices, Inc. ("AMD") products. makes representations warranties with respect accuracy completeness contents this publication reserves right make changes specifications product descriptions time without notice. license, whether express, implied, arising estoppel otherwise, intellectual property rights granted this publication. Except forth AMD's Standard Terms Conditions Sale, assumes liability whatsoever, disclaims express implied warranty, relating products including, limited implied warranty merchantability, fitness particular purpose, infringement intellectual property right. AMD's products designed, intended, authorized warranted components systems intended surgical implant into body, other applications intended support sustain life, other application which failure AMD's product could create situation where personal injury, death, severe property environmental damage occur. reserves right discontinue make changes products time without notice.
Trademarks AMD, Arrow logo, Athlon, Duron, Opteron combinations thereof, AMD-K7, 3DNow! PowerNow! trademarks AMD-K6, AMD-K6-2, AMD-K6-III, Am486 registered trademarks Advanced Micro Devices, Inc. HyperTransport licensed trademark HyperTransport Technology Consortium. trademark Intel Corporation. Microsoft registered trademark Microsoft Corporation. Other product names used this publication identification purposes only trademarks their respective companies.
20734
Rev. 3.04
September 2003
Processor Recognition
Contents
Chapter Chapter Chapter Introduction CPUID Instruction Overview Using CPUID Instructions Testing CPUID Instruction 3.1.1 3.1.2 Illegal Instruction Exception Method EFLAGS ID-Bit Method
Using CPUID Functions Identifying Processor Vendor Testing Extended Functions Determining Processor Signature Identifying Supported Features 3.6.1 3.6.2 3.6.3 Determining Instruction Support Processor Signature (Extended Function)
Displaying Processor Name 3.6.3.1 Differentiation Processors Same Model Number 3.6.3.2 State Considerations 3.6.3.3 Recommended Name String Displaying Cache Information Determining Power Management Capabilities Determining Maximum Physical Linear Address Size Determining Vendor-Specific Feature Flags Example CPUID Code Example Function Call Displaying Athlon64, OpteronTM, AthlonTM, DuronProcessor Name Strings DisplayNameString Subroutine DisplayNameSubstring
3.6.4 3.6.5 3.6.6 3.6.7 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 Chapter
Code Samples
Summary CPUID Differences Changed Functions Contents
Processor Recognition
20734
Rev. 3.04 September 2003
4.1.1
4.1.1.1 4.1.1.2 4.1.1.3 4.1.1.4 4.1.1.5
Standard Function 0000_0001h-Processor Version Information Feature Flags Extended Family Extended Model EAX) 8-Bit Brand EBX) CLFLUSH size EBX) Initial APIC_ID EBX) Standard Feature Flags EDX) Extended Function 8000_0000h-Highest Extended Function Available
4.1.2 4.1.3
Extended Function 8000_0001h-Processor Version Information Extended Feature Flags 4.1.3.1 Extended Family Extended Model EAX) 4.1.3.2 12-Bit Brand EBX) 4.1.3.3 Extended Feature Flags EDX) Extended Functions 8000_0005h 8000_0006h-Cache Information
4.1.4 4.1.5 4.1.6 4.2.1 Chapter
Extended Function 8000_0007h-Advanced Power Management Information Extended Function 8000_0008h-Address Size Information Extended Functions Feature Flags
Functions
CPUID Instruction Definition CPUID Instruction Standard Functions 5.2.1 5.2.2 Function 0-Largest Standard Function Input Value Vendor Identification String
Function 1-Processor Signature Standard Feature Flags 5.2.2.1 EAX-Version (Family, Model Stepping) Information 5.2.2.2 EBX-8-Bit Brand CFLUSH, APIC Information 5.2.2.2.1 8-Bit Brand 5.2.2.2.2 CLFLUSH Size 5.2.2.2.3 Initial APIC_ID 5.2.2.3 EDX-Standard Feature Flags Function 8000_0000h-Largest Extended Function Input Value Function 8000_0001h-Processor Version Information Contents
Extended Functions 5.3.1 5.3.2
20734
Rev. 3.04
September 2003
Processor Recognition
5.3.2.1 5.3.2.2 5.3.2.3 5.3.2.4
Extended Feature Flags EAX-Version (Family, Model, Stepping) Information EBX-12-bit Brand ECX-Extended Feature Flag EDX-Extended Feature Flags Extended Functions 8000_0002h, 8000_0003h, 8000_0004h-Processor Name String Extended Function 8000_0005h-L1 Cache Information Athlon64, OpteronTM, AthlonTM, DuronProcessors Function 8000_0005h-L1 Cache Information AMD-K5 AMD-K6® Processors Extended Function 8000_0006h-L2 Cache Information Athlon64 OpteronTM, AthlonTM, DuronProcessors
5.3.3 5.3.4
5.3.5 5.3.6
5.3.7
Function 8000_0006h-L2 Cache Information AMD-K6®-III Processor 5.3.7.1 Associativity Field Definitions 5.3.7.1.1 Associativity Caches TLBs 5.3.7.1.2 Associativity Caches TLBs Function 8000_0007h Advanced Power Management Feature Flags Function 8000_0008h Physical Address Linear Address Size Extended Functions Feature Flags
5.3.8 5.3.9 5.3.10
Appendix Register Values Returned Family Processors Athlon64 OpteronProcessor Values AthlonProcessor DuronProcessor Values AMD-K6® Processor Values Am486®, Am5x86, AMD-K5 Processor Values
Appendix Programming Name String Athlon64 OpteronProcessors Brand Constructing Name String Programming Processor Name String
Contents
Processor Recognition
20734
Rev. 3.04 September 2003
Contents
20734
Rev. 3.04
September 2003
Processor Recognition
List Figures
Figure Figure Figure Figure Figure Contents Register Returned Function 8000_0001h Fields Standard Function 0000_0001h Extended Function 8000_0001h Fields Standard Function 0000_0001h. Fields Extended Function 8000_0007h Fields Extended Function 8000_0008h
List Figures
Processor Recognition
20734
Rev. 3.04 September 2003
List Figures
20734
Rev. 3.04
September 2003
Processor Recognition
List Tables
Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Summary CPUID Functions Athlon64 OpteronProcessor. Summary CPUID Functions Athlonand DuronProcessors Summary CPUID Functions Processors. Summary Processor Signatures Processors Recommended Name String Platform Segment Athlonand DuronFamily Processors Models Above. Processor Name Strings Athlonand DuronFamily Processors Through Model Model Number Mappings AthlonFamily Processors with 256-Kbyte Cache Model Number Mappings AthlonFamily Processors with 512-Kbyte Cache Initial APIC_ID Definitions Standard Feature Flag Descriptions Athlon64 OpteronProcessors Standard Feature Flag Descriptions AthlonProcessors Standard Feature Flag Descriptions DuronProcessors Standard Feature Flag Descriptions AMD-K6®-2 AMD-K6®-III Processors Extended Feature Flags-AMD Athlon64 OpteronProcessors Extended Feature Flag Descriptions AthlonProcessors Extended Feature Flag Descriptions DuronProcessors Extended Feature Flag Descriptions AMD-K6®-2 AMD-K6®-III Processors Standard Feature Flags Versus Extended Feature Flags Format Returned Function 8000_0005h Format Returned Function 8000_0005h Format Returned Function 8000_0005h Format Returned Function 8000_0005h Format Returned Function 8000_0005h Format Returned Function 8000_0005h
List Tables
Processor Recognition
20734
Rev. 3.04 September 2003
Table Table Table Table Table Table Table Table Table Table Table Table Table
Format Returned Function 8000_0005h Format Returned Function 8000_0006h Format Returned Function 8000_0006h Format Returned Function 8000_0006h Format Returned Function 8000_0006h AMD-K6®-III Processor Associativity Values Caches TLBs Values Returned Athlon64 OpteronProcessors Values Returned Athlonand DuronProcessors Models Higher. Values Returned Mobile AthlonProcessors Models Higher, Mobile DuronProcessors Models Values Returned AthlonProcessors Models DuronProcessors Model Values Returned AMD-K6® Processors Values Returned Am486®, Am5x86, AMD-K5 Processors Processor Name String Values Athlon64 OpteronProcessors
List Tables
20734
Rev. 3.04
September 2003
Processor Recognition
Revision History
Date September 2003 August 2003 June 2003 2003 April 2003 Revision 3.04 3.03 3.02 3.01 3.00 Description Incorporated additional Athlon64, Athlon64 OpteronCPUID feature identification branding information. Incorporated additional Athlon64 branding information. Added Athlon information made minor corrections. Added 3000+ 3200+ models table Added content Opteronprocessor. Changed technical document format, which includes look feel well revision system. November 2002 November 2002 August 2002 August 2002 Revised Table Appendix Revised Table Added additional model numbers 2600+, 2700+, 2800+ Added 2400+ 2600+ models table Added Athlonprocessor model information following: Table "Summary CPUID Functions Athlonand DuronProcessors" Table "Summary Processor Signatures Processors," page Table "Recommended Name String Platform Segment Athlonand DuronFamily Processors Models Above," page Table "Model Number Mappings AthlonFamily Processors," page Table "Standard Feature Flag Descriptions AthlonProcessors" Table "Extended Feature Flag Descriptions AthlonProcessors" Table "Values Returned Athlonand DuronProcessors models
Revision History
Processor Recognition
20734
Rev. 3.04 September 2003
Date January 2002
Revision
Description Added following: "Name String Supports Characters" page "Differentiation Processors Same Model Number" page State Considerations" page "Recommended Name String" page Table "Processor Name Strings Athlonand DuronFamily Processors Through Model page Revised following: Table "Summary CPUID Functions Athlonand DuronProcessors," page "Testing Extended Functions" page Table "Summary Processor Signatures Processors," page Table "Summary Standard Extended Feature Bits," page Table "Recommended Name String Platform Segment Athlonand DuronFamily Processors Models Above," page Table "Model Number Mappings AthlonFamily Processors," page Table "Standard Feature Flag Descriptions AthlonProcessors," page Table "Standard Feature Flag Descriptions DuronProcessors," page Table "Extended Feature Flag Descriptions AthlonProcessors," page Table "Extended Feature Flag Descriptions DuronProcessors," page Table "Values Returned Athlonand DuronProcessors Models page Table "Values Returned Mobile AthlonProcessors Models Mobile DuronProcessors Models page
July 2001 June 2000
Added information about mobile Athlon4 processor, AthlonMP processor, mobile Duronprocessors. Added information about Duronprocessor throughout document. Revised "CPUID Instruction Overview" page Added "The DuronProcessor" page Added Table "Processor Name Strings DuronProcessor," page
Revision History
20734
Rev. 3.04
September 2003
Processor Recognition
Date June 2000
Revision
Description Added information about Athlonprocessor Model throughout document. Revised "CPUID Instruction Overview" page Revised Table "Processor Name String," page Added code sample "Code Samples" page Added "Displaying Athlonor DuronProcessor Name String" page "DisplayK7NameString Subroutine" page Revised information about Table "Summary Standard Extended Feature Bits," page Revised name string Athlonprocessor Model Table "Processor Name String," page Made Table "Standard Feature Flag Descriptions AMD-K6®-2 AMD-K6-III Processors," page specific these processors. Added Table "Standard Feature Flag Descriptions AthlonProcessors," page which specific these processors. Clarified instruction family generation being derived from function function 8000_0001 respectively. Made Table "Extended Feature Flag Descriptions AMD-K6®-2 AMD-K6-III Processors," page specific these processors. Added Table "Extended Feature Flag Descriptions AthlonProcessors," page which specific these processors. Revised Table "Values Returned AthlonProcessor," page
1999
Added Athlon processor Model information throughout document. Model refers Athlon processor manufactured with 0.25-micron process technology Model refers Athlon processor manufactured with 0.18-micron process technology. Clarified usage "Code Samples" page Added "Example Function Call" page Merged standard extended feature bits into table. Table "Summary Standard Extended Feature Bits," page Revised Table "Values Returned AthlonProcessor," page
1999 August 1999
August 1999
Added Athlonprocessor information throughout document. Added www.amd.com/products/cpg/bin, where codes samples utilities available. Revised "Testing CPUID Instruction" page Revised "Determining Instruction Support" page Revised Tables through cross-reference section-"Associativity Field Definitions" page
Revision History
Processor Recognition
20734
Rev. 3.04 September 2003
Date 1999 1999 1999
Revision
Description Table page changed function 8000_0001h entries Models from 0080_01BFh 0080_05BFh. Added note about name string AMD-K6-2 processor Table page Added cache information Table page Added Function 8000_0006h "Displaying Cache Information" page Added Function 8000_0006h Cache Information Table "ECX Format Returned Function 8000_0006h," page Added AMD-K6-III processor Model values three notes Table page
1998
"Standard Functions" page clarified AMD's vendor identification string stored registers EBX, EDX, ECX. Table "Values Returned AMD-K6® Processors," page changed function 8000_0001h, value AMD-K6 processor Model deleted note
1998
Revised "Functions 8000_0002h, 8000_0003h, 8000_0004h Processor Name String" page Added return values AMD-K6 processor Model Table page Divided Appendix table into separate tables.
1998 1997
Added revised description alternate test AMD-K6-2 "Identifying Supported Features" page Changed part names AMD-K6 processor Models Table page Added 3DNow!instructions feature (bit Table page Table page Added AMD-K6®-2 processor return values Table page
Sept 1997
Moved SYSCALL/SYSRET instruction feature extended feature function 8000_0001h) from Table page Table page Added extended feature function 8000_0001h feature. Table page Table page Added support AMD-K6® processor Models Table page Table page Added return values AMD-K6 processor Model Table page
Sept 1997 Sept 1997 Sept 1997
Revision History
20734
Rev. 3.04
September 2003
Processor Recognition
Chapter
Introduction
number choices available Instruction Architecture (ISA) processor marketplace grew, need simple hardware software identify type processor feature became critical. CPUID instruction added instruction this purpose. This document contains information CPUID instruction identify processors their features. After detecting processor capabilities, software tuned system maximum performance benefit users. example, software roughly determine performance level particular processor detecting type speed processor. performance level high enough, software enable additional capabilities more advanced algorithms. Another example involves testing presence 3DNow!instruction, SSE, MMXinstruction support processor. (The combined support 3DNow! instruction extensions known 3DNow! Professional technology.) software finds these features present when checks feature bits, utilize these more powerful extensions dramatically better performance multimedia software.
Chapter
Introduction
Processor Recognition
20734
Rev. 3.04 September 2003
Introduction
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Chapter
CPUID Instruction Overview
Software operating privilege level execute CPUID instruction identify processor feature set. CPUID instruction implements multiple functions, each providing different information about processor, including vendor, model number, revision (stepping), features, cache organization, processor name. multiple-function approach allows CPUID instruction return complete picture processor capabilities-more detailed information than could returned single function. addition gathering information calling multiple functions, CPUID instruction provides flexibility making only call obtain specific data requested. functions divided into types: standard functions extended functions. Standard functions provide simple method software access information common processors. Extended functions provide information vendor-specific processor features (such those AMD). flexibility CPUID instruction allows addition CPUID functions future generations processors. Chapter "CPUID Instruction Definition," contains detailed description CPUID instruction.
Chapter
CPUID Instruction Overview
Processor Recognition
20734
Rev. 3.04 September 2003
CPUID Instruction Overview
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Chapter
Using CPUID Instructions
Testing CPUID Instruction
CPUID instruction, software must first determine processor supports CPUID instruction. Note: family processors, beginning with Am486® processor, support CPUID instruction. CPUID support determined following ways: Illegal Instruction Exception: Execute CPUID instruction check whether illegal instruction exception occurs. exception occurs, processor does have CPUID support. EFLAGS ID-Bit: Check (bit EFLAGS register writable. writable (that modified), CPUID instruction supported.
Operating System (OS) environment determines which approach more appropriate. These methods described following sections.
3.1.1
Illegal Instruction Exception Method
This method requires user program detect handle illegal instruction exceptions. Where such capabilities present, this method represents reliable detecting support CPUID instruction. CPUID sample code starting page uses this method.
3.1.2
EFLAGS ID-Bit Method
This method retrieves contents EFLAGS using PUSHFD instruction, toggles bit, uses POPFD instruction write modified value into EFLAGS register. then retrieves contents EFLAGS using second PUSHFD instruction checks whether value differs from original value. value changed, CPUID instruction available identifying processor features. following code sample demonstrates program uses PUSHFD POPFD instructions test bit.
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
pushfd ebx, eax, 00200000h push popfd pushfd eax, NO_CPUID
Save EFLAGS stack Store EFLAGS Save testing later Switch Copy changed value stack Save changed EFLAGS Push EFLAGS stack Store EFLAGS changed change, CPUID
potential problem with this method that interrupt trap (such debug trap) occur between POPFD following PUSHFD, that interrupt trap handler code destroys value bit. Where possible, preceding code should preceded instruction followed instruction, which ensures that interrupts occur between POPFD PUSHFD. However, traps still occur, even code preceded instruction followed instruction.
Using CPUID Functions
When software uses CPUID instruction identify processor, important that software uses instruction appropriately. instruction been defined make easy identify type features processors manufactured many different vendors. standard functions (EAX=0 EAX=1) same processors. Having standard functions simplifies software task testing implementing features common processors. Software test these features and, processors released, benefit from these capabilities immediately. Extended functions report information vendor-specific processor features. These functions provide additional information about processors that software identify enhanced features functions. test extended functions, software checks value least 8000_0001h register returned function 8000_0000h. Within family processors, different members execute different number functions. Table page Table page Table page summarize CPUID functions currently implemented processors. Table
Standard Function
Summary CPUID Functions Athlon64 OpteronProcessor
Extended Function Description Athlon64 OpteronProcessors (Models
Vendor String Largest Standard Function Value Processor Signature Standard Feature Bits
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Standard Function
Summary CPUID Functions Athlon64 OpteronProcessor
Extended Function Description Athlon64 OpteronProcessors (Models
Notes:
8000_0000h 8000_0001h 8000_0002h 8000_0003h 8000_0004h 8000_0005h 8000_0006h
Largest Extended Function Value Extended Processor Signature Extended Feature Bits Processor Name Processor Name Processor Name
TLB1/Cache Information TLB/Cache Information Advanced Power 8000_0007h Management Feature Flags Physical Address Linear 8000_0008h Address Size 8000_0009h through Vendor-Specific Feature Flags 8000_0018h
Future versions these processors implement additional functions. Chapter "CPUID Instruction Definition," contains detailed descriptions functions. Translation Lookaside Buffer.
Table
Summary CPUID Functions Athlonand DuronProcessors
Extended Function Athlon Athlon Duron Duron Athlon Athlon Processor Processor Processor Duron Processor Processor Model Model Model Models Processors Model Model
Standard Function
Description
Vendor String Largest Standard Function Value Processor Signature Standard Feature Bits Largest Extended 8000_0000h Function Value Extended Processor 8000_0001h Signature Extended Feature Bits 8000_0002h Processor Name
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Summary CPUID Functions Athlonand DuronProcessors
Extended Function Athlon Athlon Duron Duron Athlon Athlon Processor Processor Processor Duron Processor Processor Models Model Model Model Processors Model Model
Standard Function
Description
Notes:
8000_0003h Processor Name 8000_0004h Processor Name
Information TLB/Cache 8000_0006h Information Advanced Power 8000_0007h Management Feature Flags Physical Address 8000_0008h Linear Address Size
8000_0005h /Cache
Future versions these processors implement additional functions. Chapter "CPUID Instruction Definition", contains detailed descriptions functions. Translation Lookaside Buffer. Athlonprocessor model includes Athlon processor, Athlon processor, mobile Athlon
processor. Duronprocessor model includes Duron processor mobile Duron processor.
Duron processor model includes both Duron processor mobile Duron processor. Athlon processor models include Athlon processor, Athlon processor, mobile Athlon processor.
Table
Summary CPUID Functions Processors
AMD-K5 Processor (Model Am486®DX4, Am5x86 Processors AMD-K5 Processor (Models AMD-K6® Processor (Models AMD-K6-2 Processor (Model AMD-K6®-III Processor (Model
Standard Function
Extended Function
Description
Vendor String Largest Standard Function Value Processor Signature Standard Feature Bits Largest Extended 8000_0000h Function Value Extended Processor 8000_0001h Signature Extended Feature Bits 8000_0002h Processor Name
8000_0003h Processor Name
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Summary CPUID Functions Processors
AMD-K5 Processor (Model Am486®DX4, Am5x86 Processors AMD-K5 Processor (Models AMD-K6® Processor (Models AMD-K6-2 Processor (Model AMD-K6®-III Processor (Model
Standard Function
Extended Function
Description
Notes:
8000_0004h Processor Name 8000_0005h
TLB*/Cache Information TLB/Cache 8000_0006h Information Advanced Power 8000_0007h Management Feature Flags Physical Address 8000_0008h Linear Address Size
Future versions these processors implement additional functions. Chapter "Using CPUID Instructions", contains detailed descriptions functions. Translation Lookaside Buffer.
Identifying Processor Vendor
Software must execute standard function EAX=0. CPUID instruction returns 12-character string that identifies vendor processor. instruction also returns largest standard function input value defined CPUID instruction processor. processors, function returns vendor string "AuthenticAMD". This string informs software follow AMD's definition subsequent CPUID functions registers returned those functions. Once software identifies vendor processor, knows definition functions supplied CPUID instruction. using these functions, software obtains processor information needed tune functionality capabilities processor.
Testing Extended Functions
Software must test extended functions with function 8000_0000h. register returns largest extended function input value defined CPUID instruction processor. this value least 8000_0001h, extended functions supported.
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
Determining Processor Signature
Standard function (EAX=1) CPUID instruction returns standard processor signature feature bits. standard processor signature returned register provides information regarding specific revision (stepping) model processor instruction family level supported processor. revision level used determine processor supports specific features. However, recommended that revision level used this manner unless this information available through standard extended feature bits. Athlon64 Opteronprocessors (Models belong family 0Fh. Athlonprocessor models Duronprocessor belong instruction family AMD-K6® processor models belong instruction family returned function Figure shows contents returned function
Extended Family Family Model Stepping
Reserved,
Extended Model Reserved,
Bits 31-28 27-20 19-16 15-12 11-8
Mnemonic Reserved Extended Family1 Extended Model1 Reserved Family Model Stepping
Definition (Family 0Fh), provides additional family information (Family 0Fh), provides additional model information Processor/Instruction Family Processor Model Processor Stepping (revision)
Note: These fields supported only Athlon64 Opteronprocessors. Athlon Duron processors, earlier processors, these fields reserved RAZ.
Figure
Contents Register Returned Function 8000_0001h
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table summarizes specific processor signature values returned processors. Table Summary Processor Signatures Processors
Processor Am486® Am5x86 Processors AMD-K5 Model AMD-K5 Model AMD-K5 Model AMD-K5 Model AMD-K6® Model AMD-K6 Model AMD-K6 Model AMD-K6®-III Model AthlonModel Athlon Model DuronModel Athlon Model Athlon Model Athlon Model Mobile Athlon Model Duron Model Mobile Duron Model Duron Model Mobile Duron Model Athlon Model Athlon Model Mobile Athlon XP-M Model Mobile Athlon XP-M (LV) Model Athlon Model Athlon Model Mobile Athlon XP-M Model Mobile Athlon XP-M (LV) Model
Notes:
Extended Instruction Family [27:20]
Extended Model [19:16]
Instruction Family [11:8] 0100b (4h) 0101b (5h) 0101b (5h) 0101b (5h) 0101b (5h) 0101b (5h) 0101b (5h) 0101b (5h) 0101b (5h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h)
Model [7:4] yyyy1 0000b (0h) 0001b (1h) 0010b (2h) 0011b (3h) 0110b (6h) 0111b (7h) 1000b (8h) 1001b (9h) 0001b (1h) 0010b (2h) 0011b (3h) 0100b (4h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0110b (6h) 0111b (7h) 0111b (7h) 1000b (8h) 1000b (8h) 1010b (Ah) 1010b (Ah) 1010b (Ah) 1010b (Ah) 1010b (Ah) 1010b (Ah)
Stepping [3:0] xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb xxxxb
Contact your representative model identifier information. Stepping change. Consult appropriate processor revision guide, contact your representative latest stepping information. Athlon processors same model numbers share same revision guide. Duron processors same model number share same Revision Guide.
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Summary Processor Signatures Processors (Continued)
Processor Extended Instruction Family [27:20] Extended Model [19:16] Instruction Family [11:8] 1111b (0Fh) 1111b (0Fh) Model [7:4] 0100b (04h) 0101b (05h) Stepping [3:0] xxxxb xxxxb
Athlon64 Model OpteronModel
Notes:
Contact your representative model identifier information. Stepping change. Consult appropriate processor revision guide, contact your representative latest stepping information. Athlon processors same model numbers share same revision guide. Duron processors same model number share same Revision Guide.
Identifying Supported Features
feature bits returned register CPUID functions: standard function extended function 8000_0001h. Each corresponds specific feature indicates that feature present processor. table summaries standard extended feature bits, view tables through Chapter "CPUID Instruction Definition". Before using enhanced features added latest generation processors, software should test each feature returned functions 8000_0001h identify capabilities available processor. example, software must test feature determine processor executes MMXtechnology instructions. Attempting execute unavailable feature cause errors exceptions. returned extended function 8000_0001h, designates presence 3DNow!technology. Other processor vendors have adopted this technology, considered open standard. Chapter "CPUID Instruction Definition", Appendix "Register Values Returned Family Processors", contain details locations values.
3.6.1
Determining Instruction Support
preferable CPUID feature flags much possible, rather than deriving capabilities from vendor specifiers combined with CPUID model numbers. simplify detection instructions supported Athlon Opteron processors different models Athlonand Duronfamily processors, including original 3DNow! instructions, Enhanced 3DNow!, 3DNow! Professional (combining 3DNow! support), following algorithm. CPUID Test Establish that processor support CPUID. "Using CPUID Instructions" page
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Standard Function Test Execute CPUID function which returns processor vendor string highest standard function supported. step indicates that highest standard function least execute CPUID function which returns standard feature flags register. MMXTest standard feature flags "1", MMXtechnology supported. instruction support basic minimum processor feature required support other instruction extensions. Test standard feature flags Athlon Opteron processor either Athlonor Duronprocessor model greater, instructions supported. Optionally, standard feature flags previous processor, streaming SIMD extensions (SSE) capabilities. Further qualification done checking support. support might present processor usable lack support additional architected registers. Extended Functions Test Execute CPUID extended function 8000_0000h. This function returns highest extended function supported EAX. EAX=0, there support extended functions. highest extended function supported least 8000_0001h, execute CPUID function 8000_0001h. This function returns extended feature flags EDX. 3DNow!Instruction Test extended feature flags "1", 3DNow!instructions supported. 3DNow!Instruction Extensions Test extended feature flags "1", additions 3DNow! instruction supported. MMXExtensions Test extended feature flags "1", multimedia enhancement instructions that augment instruction supported. Long Mode Test extended feature flags "1", then "long mode" (including 64-bit mode) x86-64 supported. Chapter Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
PREFETCH PREFETCHW Test either extended feature flags (either Long Mode 3DNow! instructions supported), then PREFETCH PREFETCHW instructions supported. No-Execute Page Protection Test extended feature flags "1", then No-Execute Page feature processor enabled.
3.6.2
Processor Signature (Extended Function)
Extended function 8000_0001h returns processor signature. signature returned register provides generation, model, stepping information processors. Starting with Athlon Opteron processors, 8000_0001h function supplements family model numbers with fields: extended family extended model fields. These fields expand family model numbering scheme. Figure page shows contents returned register. terms effective family effective model describe expanded 8-bit family 8-bit model numbers computed using extended family, family, extended model, model fields. Software that displays uses processor family model must aware extended family extended model fields combine with family model fields produce effective family effective model numbers. Software must computed 8-bit effective family effective model numbers when displaying using processor's family model numbers. Failure results display incorrect values. family field (EAX bits 11-8) equal 1111b (0Fh), extended family extended model fields compute 8-bit effective family effective model numbers shown following sample code:
CPUID(0000_0001) Family EAX.11:8 Model EAX.7:4 ExtendedFamily EAX.27:20 ExtendedModel EAX.19:16 (Family 0Fh) EFFECTIVE_FAMILY EFFECTIVE_MODEL ExtendedFamily Family (ExtendedModel Model bits bits, zero extended bits bits bits, zero extended bits
bits bits
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
3.6.3
Displaying Processor Name
Functions 8000_0002h, 8000_0003h, 8000_0004h return ASCII string containing name processor. These functions eliminate need software search processor name lookup table, process requiring large block memory frequent updates. Instead, software simply call these three functions obtain name string ASCII characters little-endian format) display screen. Although name string characters length, shorter names have remaining byte locations filled with ASCII NULL character (00h). simplify display routines avoid using screen space, software only needs display characters until NULL character detected. Note: processor name string supports characters, name strings characters. example, name string "AMD Athlon(tm)" uses characters. Future name strings longer, BIOS vendors should take this into consideration when displaying name string boot-up system configuration screen. Unlike previous generations processors, Athlon Opteron processors have pre-programmed default name string. These processors return ASCII NULLs until name string programmed BIOS. Therefore, Athlon Opteron processors must have processor name string programmed BIOS before general purpose application software uses extended functions that read name string. processors support MSRs programming processor name string. information about programming name string, Appendix "Programming Name String Athlon64 OpteronProcessors". Athlon Opteron processors implement extended functions 8000_0002h, 8000_0003h, 8000_0004h same manner previous processors; therefore, necessary change software that displays processor name string. sample code display name string, "Displaying Athlon64, OpteronTM, AthlonTM, DuronProcessor Name Strings" page example properly obtain display processor name string. 3.6.3.1 Differentiation Processors Same Model Number
Athlon Duron processors model higher must have name string programmed properly according values Table page depending processor's cache size. cache size value reported extended function 8000_0006h bits[31:16] greater, then processor Athlon family processor. cache size reported less than 256, then processor Duron family processor. 3.6.3.2 State Considerations
Before entering S3-Suspend (STR)-state, BIOS must save processor name string MSRs. Upon exiting state, BIOS must then reload processor name string back into appropriate MSRs. Chapter Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
3.6.3.3
Recommended Name String
namestring Athlon Opteron processor must programmed into processor BIOS. Appendix "Programming Name String Athlon64 OpteronProcessors" page more information.
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table summarizes recommended name strings Athlon Duron processors through models above. Table Recommended Name String Platform Segment Athlonand DuronFamily Processors Models Above
Capable (bit Extended Feature Flags) Reserved Reserved Reserved Reserved Reserved Platform Segment Multiprocessing Desktop Mobile Multiprocessing Multiprocessing Desktop Mobile Desktop Mobile Desktop Mobile Multiprocessing Multiprocessing Desktop Desktop Mobile Desktop Multiprocessing OPGA Mobile µPGA Mobile
Processor
CPUID
Recommended Name String1
AthlonModel Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model DuronModel Duron Model Duron Model Duron Model Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model Athlon Model
Notes:
N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3 N/A3
Athlon(tm) Athlon(tm) mobile Athlon(tm) Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 mobile Athlon(tm) Duron(tm) mobile Duron(tm) Duron(tm) mobile Duron(tm) Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 mobile Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 Athlon(tm) [xxxxx]2 mobile Athlon(tm) XP-M [xxxxx]2 mobile Athlon(tm) XP-M (LV) [xxxxx]2
This name string must programmed into processor BIOS. document, Displaying Programming Processor Name String BIOS Application Note, order# 90056. Table page Table page proper model number insert into name string. Recommended name strings Duronprocessors models Athlonprocessors models vary CPUID stepping value.
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
Table summarizes recommended name strings Athlon Duron processors through model Table Processor Name Strings Athlonand DuronFamily Processors Through Model
Processor AthlonModel Athlon Model DuronModel Mobile Duron Model Athlon Model
Notes:
ASCII Name String AMD-K7(tm) processor Athlon(tm) processor Duron(tm)1 mobile Duron(tm)1 Athlon(tm)1
This name string must programmed into processor BIOS. document, Displaying Programming Processor Name String BIOS Application Note, order# 90056.
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table Table page summarizes recommended name strings Athlon processors through model through Table Model Number Mappings AthlonFamily Processors with 256-Kbyte Cache
Frequency1 (MHz) 9502 10002 11002 12002 13003,4 1333 1400 1467 15004 1533 1600 1667 1733 1800 2000 20835 2133 21675 22505,
Notes:
Model Number 1100+ 1200+ 1300+ 1400+ 1500+ 1500+ 1600+ 1700+ 1800+ 1800+ 1900+ 2000+ 2100+ 2200+ 2400+ 2600+ 2600+ 2700+ 2800+
recommended that BIOS display processor name string, including model number, whenever displaying processor information during bootup. processor frequency displayed, processor name string, including model number, must also displayed. Motherboards will pass validation posted recommended motherboard site, during bootup processor frequency displayed BIOS without also displaying name string model number Athlonmodel model model processors having frequencies with corresponding model numbers. model number 1200 MHz, 1100 MHz, 1000 MHz, should displayed only mobile Athlonmodel processor. mobile Athlonmodel processors, frequency below 1300 MHz, model number should shown name string. Also, mobile Athlonmodel processors below 1300 have name string "mobile Athlon(tm) Frequencies 1300 1500 only offered mobile low-power desktop processors using Front Side Bus. Frequencies 2083 MHz, 2167 MHz, 2250 only offered desktop processors using Front Side Bus. frequency above 2250 MHz, model number should omitted from name string show simply "AMD Athlon(tm) multiprocessing segment, "AMD Athlon(tm) desktop lowpower desktop, "mobile Athlon(tm) XP-M" OPGA mobile, "mobile Athlon(tm) XP-M (LV)" µPGA mobile.
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Model Number Mappings AthlonFamily Processors with 512-Kbyte Cache
Frequency1 (MHz) 13002 14002 14672 15332 16002 16672 18002 18333 18672 19173 20002 20833 21004 21335 21673 22004,6 Model Number 1700+ 1800+ 1900+ 2000+ 2100+ 2200+ 2400+ 2500+ 2500+ 2600+ 2600+ 2800+ 3000+ 2800+ 3000+ 3200+
Notes:
recommended that BIOS display processor name string, including model number, whenever displaying processor information during bootup. processor frequency displayed, processor name string, including model number, must also displayed. Motherboards will pass validation posted recommended motherboard site, during bootup processor frequency displayed BIOS without also displaying name string model number Athlonmodel processors having frequencies with corresponding model numbers. Frequencies 1300 MHz, 1400 MHz, 1467 MHz, 1533 MHz, 1600 MHz, 1667 MHz, 1800 MHz, 1867 MHz, 2000 only offered mobile processors using Front Side Bus. Frequencies 1833 MHz, 1917 MHz, 2083 MHz, 2167 only offered desktop processors using Front Side Bus. Frequencies 2100 2200 only offered desktop processors using Front Side Bus. Frequency 2133 offered mobile workstation/server processors using Front Side Bus. frequency above 2200 MHz, model number should omitted from name string show simply "AMD Athlon(tm) multiprocessing segment, "AMD Athlon(tm) desktop lowpower desktop, "mobile Athlon(tm) XP-M" OPGA mobile, "mobile Athlon(tm) XP-M (LV)" µPGA mobile.
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
3.6.4
Displaying Cache Information
Functions 8000_0005h 8000_0006h provide cache information processor, although function 8000_0006h only supported Athlon Opteron processors, Athlon processors, Duron processors, AMD-K6®-III processor model Some diagnostic software displays information about system processor configuration. common this type software provide cache size organization information. Functions 8000_0005h 8000_0006h provide simple software obtain information about on-chip cache Translation Lookaside Buffer (TLB) structures. size organization information returned registers described Chapter "CPUID Instruction Definition". Software simply display these values, eliminating need large pieces code test memory structures.
3.6.5
Determining Power Management Capabilities
Athlon Opteron processors support detection power management features through function 8000_0007h. These features include on-chip thermal diode, Voltage transitioning, Frequency transitioning, thermal trip. Athlon family processors model greater Duron family processors model also support detection power management features through function 8000_0007h. These features include on-chip thermal diode, Voltage transitioning, Frequency transitioning. Desktop varieties model model processors will have support only thermal diode. Mobile varieties model model processors support thermal diode, Voltage (VID) transitioning, Frequency (FID) transitioning.
3.6.6
Determining Maximum Physical Linear Address Size
Athlon Opteron processors, Athlon family processors model greater, Duron family processors model support function 8000_0008h, which provides maximum physical maximum linear address size supported processor.
3.6.7
Determining Vendor-Specific Feature Flags
Athlon Opteron processor introduces several Extended CPUID functions. Functions 8000_0009h through 8000_0018h reserved future expansion vendorspecific feature flags. Chapter "CPUID Instruction Definition" more information.
Code Samples
Developers want create their processor-features detection code should follow sample code described "Example CPUID Code." Chapter Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
more elaborate function call, which detects full range CPUID information, provided sample code "Example Function Call" page
3.7.1
Example CPUID Code
Developers want create their processor detection program should follow algorithm "cpuid_ex" program. code sample available from AMD's website following URL: source code included, along with executable that compiled with Microsoft® Visual Studio C/C++ Versions This example provides simple algorithm developer follow accommodated many different processors. source code, cpuid_ex.c, follows recommendations described this document. display list supported features processor, program typing cpuid_ex
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
convenience, example CPUID code displayed follows:
following code follows guidelines described this document, meant serve only example, there other ways accomplish processor detection. #include <stdio.h> #include <excpt.h> Symbolic constants feature flags CPUID standard feature flags #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define CPUID_STD_FPU CPUID_STD_VME CPUID_STD_DEBUGEXT CPUID_STD_4MPAGE CPUID_STD_TSC CPUID_STD_MSR CPUID_STD_PAE CPUID_STD_MCHKXCP CPUID_STD_CMPXCHG8B CPUID_STD_APIC CPUID_STD_SYSENTER CPUID_STD_MTRR CPUID_STD_GPE CPUID_STD_MCHKARCH CPUID_STD_CMOV CPUID_STD_PAT CPUID_STD_PSE36 CPUID_STD_MMX CPUID_STD_FXSAVE CPUID_STD_SSE 0x00000001 0x00000002 0x00000004 0x00000008 0x00000010 0x00000020 0x00000040 0x00000080 0x00000100 0x00000200 0x00000800 0x00001000 0x00002000 0x00004000 0x00008000 0x00010000 0x00020000 0x00800000 0x01000000 0x02000000
Symbolic constants feature flags CPUID extended feature flags #define CPUID_EXT_3DNOW 0x80000000 #define CPUID_EXT_AMD_3DNOWEXT 0x40000000 #define CPUID_EXT_AMD_MMXEXT 0x00400000
Symbolic constants application specific feature flags #define #define #define #define #define #define #define #define #define FEATURE_CPUID FEATURE_STD_FEATURES FEATURE_EXT_FEATURES FEATURE_TSC FEATURE_MMX FEATURE_CMOV FEATURE_3DNOW FEATURE_3DNOWEXT FEATURE_MMXEXT 0x00000001 0x00000002 0x00000004 0x00000010 0x00000020 0x00000040 0x00000080 0x00000100 0x00000200
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
#define FEATURE_SSEFP #define FEATURE_K6_MTRR #define FEATURE_P6_MTRR
0x00000400 0x00000800 0x00001000
Older compilers support CPUID instruction inline assembly #define cpuid _asm _emit 0x0f _asm _emit 0xa2
get_feature_flags extracts features application wants know about from CPUID information returns string application specific feature bits. following design criteria apply: Processor capabilities should directly derived from CPUID feature bits wherever possible, instead being derived from vendor strings processor signatures. However, some features indicated CPUID feature flags (whether basic extended) require looking vendor strings processor signatures. Applications also choose implement pseudo capabilities, example indicating performance levels. basic feature flags returned CPUID function compatible across processor vendors with very exceptions therefore common feature checks things like support require vendor check before evaluating basic feature flag information. unsure about particular feature, review processor vendor's literature. 3DNow! technology open standard. Therefore 3DNow! instruction capabilities indicated extended feature flags regardless processor vendor. Applications should always treat floating-point part part separate capabilities because requires support that might available, while works with operating systems.
unsigned get_feature_flags(void) unsigned result unsigned signature char vendor[13] "UnknownVendr"; Define known vendor strings here
Needs exactly chars
char vendorAMD[13] "AuthenticAMD"; Needs exactly chars Step Check processor CPUID support. processor faults with illegal instruction exception instruction supported. This step catches exception immediately returns with feature string bits with exception occurs.
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
_try _asm _asm _asm _asm _asm
cpuid
eax, ebx, ecx, edx,
_except (EXCEPTION_EXECUTE_HANDLER) return (0); result FEATURE_CPUID; _asm Step Check CPUID supports function (signature/std features) cpuid test dword [vendor], dword [vendor+4], dword [vendor+8], eax, $no_standard_features [result], FEATURE_STD_FEATURES; eax, CPUID function largest func/vendor string save vendor string largest standard function==0? yes, standard features func does have standard features
Step standard feature flags signature cpuid eax, [signature], CPUID function signature/std feature flgs save processor signature
Step Extract desired features from standard feature flags Check time stamp counter support ecx, CPUID_STD_TSC ecx, ecx, ecx, FEATURE_TSC [result], indicates support supports CPUID_STD_TSC:0 supports supports 0xffffffff:0 supports FEATURE_TSC:0 merge into feature flags
Check support
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
ecx, CPUID_STD_MMX ecx, ecx, ecx, FEATURE_MMX [result],
indicates support supports CPUID_STD_MMX:0 supports supports 0xffffffff:0 supports FEATURE_MMX:0 merge into feature flags
Check CMOV support ecx, CPUID_STD_CMOV ecx, ecx, ecx, FEATURE_CMOV [result], indicates CMOV support supports CMOV?CPUID_STD_CMOV:0 supports CMOV supports CMOV 0xffffffff:0 supports CMOV FEATURE_CMOV:0 merge into feature flags
Check support P6-style MTRRs ecx, CPUID_STD_MTRR ecx, ecx, ecx, FEATURE_P6_MTRR [result], indicates MTRR support supports MTRR?CPUID_STD_MTRR:0 supports MTRR supports MTRR 0xffffffff:0 supports MTRR FEATURE_MTRR:0 merge into feature flags
Check initial support. There still partial support. Step will check partial support. ecx, ecx, ecx, ecx, indicates support supports CPUID_STD_SSE:0 supports supports 0xffffffff:0 (FEATURE_MMXEXT+FEATURE_SSEFP) supports FEATURE_MMXEXT+FEATURE_SSEFP:0 [result], merge into feature flags CPUID_STD_SSE
Step Check CPUID extended functions cpuid eax, 0x80000000 $no_extended_features [result], FEATURE_EXT_FEATURES; eax, 0x80000000 extended function 0x80000000 largest extended function function 0x80000000 yes, extended feature flags does have ext. feature flags
Step extended feature flags
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
eax, 0x80000001 CPUID ext. function 0x80000001 cpuid extended feature flags Step Extract vendor independent features from extended flags Check 3DNow! instruction support (vendor independent) ecx, CPUID_EXT_3DNOW ecx, ecx, ecx, FEATURE_3DNOW [result], indicates 3DNow! support supports 3DNow! ?CPUID_EXT_3DNOW:0 supports 3DNow! supports 3DNow! 0xffffffff:0 support 3DNow!?FEATURE_3DNOW:0 merge into feature flags
Step Determine vendor repe esi, vendorAMD edi, vendor ecx, cmpsb $not_AMD AMD's vendor string this CPU's vendor string strings characters compare lowest highest current vendor string AMD's vendor
Step Check specific extended features test ecx, CPUID_EXT_AMD_3DNOWEXT ecx, ecx, ecx, FEATURE_3DNOWEXT [result], [result], FEATURE_MMXEXT $has_mmxext indicates 3DNow! ext. 3DNow! ext? 3DNow! 3DNow! 0xffffffff 3DNow! ext?FEATURE_3DNOWEXT:0 merge into feature flags
determined support? yes, don't need check again
Check support AMD's multimedia instruction additions ecx, CPUID_EXT_AMD_MMXEXT ecx, ecx, ecx, FEATURE_MMXEXT [result], indicates extension ext?CPUID_EXT_AMD_MMXEXT:0 ext? ext? 0xffffffff FEATURE_MMXEXT:0 merge into feature flags
$has_mmxext:
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
Step Check AMD-specific features reported CPUID Check support AMD-K6 processor-style MTRRs $not_AMD: Extract features specific CPUs $no_extended_features: $no_standard_features: $all_done: part introduces architectural state therefore requires support from operating system. even CPUID indicates support application might able CPUID indicates support check here whether also supported turn feature there support Operating systems that support return illegal instruction exception execution instruction performed. Here, sample instruction executed, checked exception using (non-standard) _try/_except mechanism Microsoft Visual (result FEATURE_SSEFP) _try _asm _emit 0x0f _asm _emit 0x56 _asm _emit 0xC0 orps xmm0, xmm0 return (result); eax, [signature] processor signature eax, 0xFFF extract family/model/stepping eax, 0x588 AMD-K6-2/CXT edx, AMD-K6-2/CXT 0xffffffff:0 AMD-K6-2/CXT 0:0xffffffff eax, 0x600 Athlon ecx, AMD-K6 0xffffffff:0 ecx, (CPU>=AMD-K6-2/CXT)&& (CPU<AMD Athlon) 0xffffffff:0 ecx, FEATURE_K6_MTRR (CPU>=AMD-K6-2/CXT)&& (CPU<AMD Athlon) FEATURE_K6_MTRR:0 [result], merge into feature flags $all_done desired features determined
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
_except (EXCEPTION_EXECUTE_HANDLER) return (result (~FEATURE_SSEFP)); else return (result);
sample "application"
main (void) unsigned capabilities get_feature_flags(); printf ("features %08x\n", capabilities); printf ("CPU supports CPUID: %c\n", capabilities FEATURE_CPUID 'n'); printf ("CPU supports CPUID STD: %c\n", capabilities FEATURE_STD_FEATURES 'n'); printf ("CPU supports CPUID EXT: %c\n", capabilities FEATURE_EXT_FEATURES 'n'); printf ("CPU supports TSC: %c\n", capabilities FEATURE_TSC 'n'); printf ("CPU supports CMOV: %c\n", capabilities FEATURE_CMOV 'n'); printf ("CPU supports MMX: %c\n", capabilities FEATURE_MMX 'n'); printf ("CPU supports 3DNOW: %c\n", capabilities FEATURE_3DNOW 'n'); printf ("CPU supports 3DNOW_EXT: %c\n", capabilities FEATURE_3DNOWEXT 'n'); printf ("CPU supports AMD-K6-MTRR: %c\n", capabilities FEATURE_K6_MTRR 'n'); printf ("CPU supports P6-MTRR: %c\n", capabilities FEATURE_P6_MTRR 'n'); printf ("CPU supports MMX: %c\n", capabilities FEATURE_MMXEXT 'n'); printf ("CPU supports FPU: %c\n", capabilities FEATURE_SSEFP 'n'); return (0);
3.7.2
Example Function Call
function call code sample detects full range CPUID information allows user query capabilities through simple function call. code sample available from AMD's website following URL: Chapter Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
file contains files-DETECT.C ADETECT.H. Follow these steps function call: Copy DETECT.C ADETECT.H into your project directory. DETECT.C your source project. user make calls GetCPUCaps() module that includes ADETECT.H. function call with following statement: #include "ADETECT.H" This source code compiles under Microsoft® Visual Studio C/C++ Versions
3.7.3
Displaying Athlon64, OpteronTM, AthlonTM, DuronProcessor Name Strings
Athlon Opteron processor Athlon Duron family processors support CPUID extended functions 8000_0002h, 8000_0003h, 8000_0004h. These functions return ASCII string containing name processor. These functions eliminate need operating systems application software search processor name look-up table. Instead, software simply call these three functions obtain name string ASCII characters little-endian format) display screen. character string terminated with (ASCII null character). following code samples illustrate methods that used display processor name string required Athlon Opteron, Athlon, Duron processors branding strategy.
3.7.4
DisplayNameString Subroutine
name string Athlon Opteron processors, well Athlon Duron family processors, displayed calling DisplayNameString subroutine. following code sample displays processor name string.
DisplayNameString: Returns: cf=0 possible characters displayed cf=1 string reached ;-DisplayNameString proc near push push push
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
push eax, 80000002h 0Fh, 0A2h ;CPUID instruction call DisplayNameSubstring; ;End string? eax, 80000003h 0Fh, 0A2h ;CPUID instruction call DisplayNameSubstring; ;End string? eax, 80000004h 0Fh, 0A2h ;CPUID instruction call DisplayNameSubstring; DisplayNameString endp
3.7.5
DisplayNameSubstring
DisplayNameSubstring subroutine called three times display ASCII characters returned each CPUID function call.
DisplayNameSubstring: Returns: cf=0 errors cf=1 string reached ;-DisplayNameSubstring proc near;Displays eax, ebx, ecx, call DisplayEaxAscii ;End string? xchg eax, call DisplayEaxAscii ;End string? xchg eax, call DisplayEaxAscii ;End string? xchg eax, call DisplayEaxAscii DisplayNameSubstring endp
Chapter
Using CPUID Instructions
Processor Recognition
20734
Rev. 3.04 September 2003
DisplayEaxAscii DisplayNameSubstring subroutine calls DisplayEaxAscii subroutine four times. DisplayEaxAscii displays four bytes register ASCII characters starting with least-significant byte (little endian). subroutine DisplayAlChar used example generic name subroutine that displays value register ASCII character. This type subroutine common type BIOS under variety names.
DisplayEaxAscii: Returns: cf=0 errors cf=1 string reached ;-DisplayEaxAscii proc near push push ;End string? ;(assume string) YES-assumed correctly call DisplayAlChar NO-display character eax, ;next char loop ;repeat ;Restore regs DisplayEaxAscii endp
Using CPUID Instructions
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Chapter
Summary CPUID Differences
CPUID instruction provides complete information about processor (vendor, type, name, etc.) features. CPUID instruction designed flexible extensible, that provide information future generations processors. Athlon64 Opteronprocessors introduce several CPUID functions, well changes existing functions. This section summarizes features changes. Chapter "CPUID Instruction Definition" detailed description each CPUID function.
Changed Functions
CPUID instruction implements multiple functions, each providing information about specific processor features. following sections describe changes CPUID functions they exist Athlonand Duronfamily processors.
4.1.1
Standard Function 0000_0001h-Processor Version Information Feature Flags
Standard Function been enhanced return following fields flags. 4.1.1.1 Extended Family Extended Model EAX)
These fields, conjuction with existing family model fields, expand family model numbering scheme bits. "AMD Processor Signature (Extended Function)" page important information about calculating displaying family model numbers Athlon Opteron processors. 4.1.1.2 8-Bit Brand EBX)
certain models, brand 8-bit field that identifies processor with unique features specific brand. Other models have 12-bit Brand "12-Bit Brand EBX)" page details.The BIOS 8-bit 12-bit brand program ASCII processor name string returned CPUID functions 8000_0002h, 8000_0003h, 8000_0004h. "8Bit Brand page details. 4.1.1.3 CLFLUSH size EBX)
This field reports size cache line flushed CLFLUSH instruction. "CLFLUSH Size" page details.
Chapter
Summary CPUID Differences
Processor Recognition
20734
Rev. 3.04 September 2003
4.1.1.4
Initial APIC_ID EBX)
Initial APIC field reports node "Initial APIC_ID" page details. 4.1.1.5 Standard Feature Flags EDX)
Athlon Opteron processors report same standard features Athlon processor, with following additions: CLFLUSH instruction SSE2
4.1.2
Extended Function 8000_0000h-Highest Extended Function Available
Athlon Opteron processors return 8000_0018h highest extended function available.
4.1.3
Extended Function 8000_0001h-Processor Version Information Extended Feature Flags
Extended Function 8000_0001h been enhanced return several fields flags. 4.1.3.1 Extended Family Extended Model EAX)
These fields, conjuction with existing family model fields, expand family model numbering scheme bits. "AMD Processor Signature (Extended Function)" page important information calculating displaying family model numbers Athlon Opteron processors. 4.1.3.2 12-Bit Brand EBX)
certain models, brand 12-bit field that identifies processor with unique features specific brand. Other models have 8-bit brand "8-Bit Brand EBX)" page details. BIOS 8-bit 12-bit brand program ASCII processor name string returned CPUID functions 8000_0002h, 8000_0003h, 8000_0004h. "EBX-12-bit Brand page details. 4.1.3.3 Extended Feature Flags EDX)
Athlon Opteron processors these extended feature flags: No-execute page protections (NX) Long Mode capable (LM)
Summary CPUID Differences
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
"Function 8000_0001h-Processor Version Information Extended Feature Flags" page details.
4.1.4
Extended Functions 8000_0005h 8000_0006h-Cache Information
These functions return information about processor TLBs caches. format information returned these functions identical Athlon Duron processors, although field values differ. "Extended Function 8000_0005h-L1 Cache Information Athlon64, OpteronTM, AthlonTM, DuronProcessors" page "Extended Function 8000_0006h-L2 Cache Information Athlon64 OpteronTM, AthlonTM, DuronProcessors" page details.
4.1.5
Extended Function 8000_0007h-Advanced Power Management Information
This function returns following flag: Thermal Trip (TTP)
4.1.6
Extended Function 8000_0008h-Address Size Information
Athlon Opteron processors return bits (30h) maximum linear address (Virtual Address) size bits (28h) maximum physical address size. "Function 8000_0008h Physical Address Linear Address Size" page details.
Functions
Athlon Opteron processors introduce several extended CPUID functions.
4.2.1
Extended Functions Feature Flags
Functions 8000_0009h through 8000_0018h reserved future expansion vendor-specific feature flags. Each function reserved specific vendor. "Extended Functions 8000_0009h- 8000_0018h-Vendor-Specific Feature Flags" page details.
Chapter
Summary CPUID Differences
Processor Recognition
20734
Rev. 3.04 September 2003
Summary CPUID Differences
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Chapter
CPUID Instruction Definition
This chapter contains detailed description CPUID instruction.
CPUID Instruction
Opcode Description Identify processor feature none EAX, EBX, ECX, none none
Mnemonic CPUID Privilege: Registers Affected: Flags Affected: Exceptions Generated:
CPUID instruction application-level instruction that software executes identify processor feature set. This instruction offers multiple functions, each providing different information about processor. CPUID instruction executed from privilege level. Software information returned this instruction tune functionality specific processor features. processors implement CPUID instruction. Therefore, software must test determine instruction present processor. (21) EFLAGS register writeable, CPUID instruction implemented. CPUID instruction supports multiple functions. information associated with each function obtained executing CPUID instruction with function number register. Functions divided into types: standard functions extended functions. Standard functions found function space, 0000_0000h through 7FFF_FFFFh. general, processors have same standard function definitions. Extended functions defined specifically processors supplied vendor listed vendor identification string. Extended functions found high function space, 8000_0000h through 8FFF_FFFFh. Because vendors have defined extended functions, software must test their presence processor. processors have extended functions 8000_0000h function returns value least 8000_0001h register.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Standard Functions
Standard functions provide simple method software access information common processors.
5.2.1
Input:
Function 0-Largest Standard Function Input Value Vendor Identification String
Output: Largest function input value recognized CPUID instruction EBX, EDX, Vendor identification string This standard function found processors implementing CPUID instruction. returns values. first value returned register indicates largest standard function value recognized processor. second value vendor identification string. This 12-character ASCII string returned EBX, EDX, registers little endian format. processors return vendor identification string "AuthenticAMD" follows:
Registers Alpha Characters ASCII Codes
Software uses vendor identification string follows:
identify processor processor apply AMD's definition CPUID instruction additional function calls
5.2.2
Function 1-Processor Signature Standard Feature Flags
Function returns values-the Processor Signature Standard Feature Flags. Input: Output: 0000_0001h Version (family, model stepping) information 8-Bit Brand CLFLUSH APIC information1 (Reserved) Standard Feature Flags
Note: Reserved AthlonTM, DuronTM, earlier processors
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
5.2.2.1
EAX-Version (Family, Model Stepping) Information
processor belongs certain family processors (for example-AMD-K6® microprocessor, Athlon, Athlon Opteronprocessors). Within that family, several models exist. Additionally, each processor stepping revision number. This function returns information about processor instruction family, model, stepping numbers register, shown Figure
Extended Family Family Model Stepping
Reserved,
Extended Model Reserved,
Bits
Mnemonic
Definition (Family 0Fh), provides additional family information (Family 0Fh), provides additional model information Processor/Instruction Family Processor Model Processor Stepping (revision)
31-28 Reserved 27-20 Extended Family1 19-16 Extended Model1 15-12 11-8 Reserved Family Model Stepping
Note: These bits only returned Athlon64 Opteronprocessors. Athlonand Duronprocessors these bits reserved.
Figure
Fields Standard Function 0000_0001h Extended Function 8000_0001h
extended family extended model fields Athlon Opteron processors will implemented future processor families. These fields, conjunction with existing family stepping fields, form 8-bit effective family effective model number described "AMD Processor Signature (Extended Function)" page
5.2.2.2
EBX-8-Bit Brand CFLUSH, APIC Information
This function returns information regarding processor brand register, along with CLFLUSH APIC information, shown Figure
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Initial APIC_ID
Reserved,
CLFLUSH Size
8-Bit Brand
Bits 31-24 23-16 15-8
Mnemonic Initial APIC_ID Reserved CLFLUSH Size 8-Bit Brand
Description Initial local APIC physical Cache line size quadwords) Processor Brand Identification
Figure
Fields Standard Function 0000_0001h
5.2.2.2.1 8-Bit Brand certain models, brand 8-bit field that identifies processor with unique features specific brand. Other models have 12-bit brand "EBX-12-bit Brand page details. BIOS 8-bit 12-bit brand program processor's ASCII name string returned CPUID functions 8000_0002h, 8000_0003h, 8000_0004h. "Extended Functions 8000_0002h, 8000_0003h, 8000_0004h-Processor Name String" page details. value this field indicates either that processor reports 12-bit brand through CPUID function 8000_0001h that engineering sample. BIOS programmers should Appendix page information about procedure program processor name string that corresponds each brand value. This field Opteron processors. 5.2.2.2.2 CLFLUSH Size 8-bit CLFLUSH Size field reports size cache line flushed CLFLUSH instruction. number reported cache line size quadword (8-byte) increments. This field implemented only CLFLUSH instruction supported. Software must test CLFLUSH feature standard feature flags returned determine CLFLUSH instruction implemented. information about returned flag values, "EDX-Standard Feature Flags." This field Athlon Opteron processors. 5.2.2.2.3 Initial APIC_ID 8-bit initial APIC_ID field contains initial value processor's local APIC physical Athlon Opteron processors derive initial value local APIC physical from node Subsequent writes software local APIC register change initial APIC value returned CPUID instruction, shown Table This value continues reflect node CPUID Instruction Definition Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
26-24 31-27
Initial APIC_ID Definitions
Name NodeID Reserved Function Node
This field Athlon Opteron processors. 5.2.2.3 EDX-Standard Feature Flags
standard feature flags returned register indicate presence specific features. most cases, indicates feature present, indicates feature present. Table page contains list currently defined standard feature flags Athlon Opteron processors. Table page contains list currently defined standard feature flags Athlon family processors. Table page contains list currently defined standard feature flags Duron family processors. Table page contains list currently defined standard feature flags AMD-K6® processor models (See Table through Table Appendix "Register Values Returned Family Processors," family processor register definitions, including AMD-K6 processor models Reserved bits will used features they added. more information, Chapter "CPUID Instruction Overview".
Table
Standard Feature Flag Descriptions Athlon64 OpteronProcessors
Feature1 Athlon64 OpteronProcessors Models
Notes:
Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions)
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC return (supported). SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Standard Feature Flag Descriptions Athlon64 OpteronProcessors (Continued)
Feature1 Athlon64 OpteronProcessors Models
20-22 27-31
Notes:
Machine Check Exception CMPXCHG8B Instruction APIC Reserved processors SYSENTER/SYSEXIT Instructions3 MTRR (Memory Type Range Registers) Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved processors CLFLUSH Instruction Reserved processors MMXInstructions FXSAVE/FXRSTOR Instructions SSE2 Reserved processors
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC return (supported). SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Standard Feature Flag Descriptions AthlonProcessors
AthlonProcessor Model Model Model Model Model Model
Feature1 Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved processors SYSENTER/SYSEXIT3 MTRR (Memory Type Range Registers) Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved processors MMXInstructions FXSAVE/FXRSTOR Instructions4 Reserved processors
18-22 26-31
Notes:
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. instruction support only present when processor support BIOS. Athlonand DuronProcessor BIOS, Software, Debug Developers Guide, order# 21656.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Standard Feature Flag Descriptions DuronProcessors
Feature1 Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved processors SYSENTER/SYSEXIT3 MTRR (Memory Type Range Registers) Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved processors MMXInstructions FXSAVE/FXRSTOR Instructions4 Reserved processors
DuronProcessor
Model
Model
Model
18-22 26-31
Notes:
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. instruction support only present when processor support BIOS. Athlonand DuronProcessor BIOS, Software, Debug Developers Guide, order# 21656.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Standard Feature Flag Descriptions AMD-K6®-2 AMD-K6®-III Processors
Notes:
Feature
AMD-K6®-2 Processor (Model
AMD-K6®-III Processor (Model
Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved AMD-K6® processors SYSENTER/SYSEXIT2 Memory Type Range Registers Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved AMD-K6 processors MMXInstructions FXSAVE/FXRSTOR Reserved AMD-K6 processors
definitions: Support, Support. SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. Table page more information about Global Paging Extensions AMD-K6®-2 processor model
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
5.3.1
Extended Functions
Function 8000_0000h-Largest Extended Function Input Value
Extended functions provide information extensions specific vendor's processor.
Extended function 8000_0000h returns highest extended function input value defined processor. Software must test existence extended functions using this function. value (reported EAX) least 8000_0000h, processor supports extended functions. Input: Output: 8000_0000h 8000_0018h Reserved Reserved Reserved
5.3.2
Function 8000_0001h-Processor Version Information Extended Feature Flags
Function 8000_0001h CPUID instruction returns types information about processor-version features. version information identifies specific processor providing family, model, revision (stepping). This information same that provided function This function also returns extended feature flags, which indicate presence specific features introduced processors. Input: Output: 8000_0001h Version (family, model, stepping) information 12-bit Brand (Reserved Future Features) Extended Feature Flags
Note: This field only returned Athlon64 Opteronprocessors. reserved AthlonTM, DuronTM, earlier processors.
5.3.2.1
EAX-Version (Family, Model, Stepping) Information
processor belongs certain family processors (for example-AMD-K6 microprocessor, Athlon, Athlon Opteron processors). Within that family, several models exist. Additionally each processor revision number stepping number. This function returns information about processor instruction family, model, stepping numbers register. CPUID Instruction Definition Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
This information identical that returned standard function diagram fields, Figure page 5.3.2.2 EBX-12-bit Brand
certain models Athlon Opteron processors, brand 12-bit field that identifies processor with unique features specific brand. Other models have 8-bit brand See"8-Bit Brand page details. BIOS 8-bit 12-bit brand program processor's ASCII name string returned CPUID functions 8000_0002h, 8000_0003h, 8000_0004h. "Extended Functions 8000_0002h, 8000_0003h, 8000_0004h-Processor Name String" page details. value this field indicates either that processor reports 8-bit brand through CPUID function 0000_0001h that engineering sample. BIOS programmers should Appendix "Programming Name String Athlon64 OpteronProcessors" page information about procedure program processor name string that corresponds each Brand value. This field Athlon Opteron processors. This reserved Athlon, Duron, earlier processors. 5.3.2.3 ECX-Extended Feature Flag
reserved future features. 5.3.2.4 EDX-Extended Feature Flags
extended feature flags returned register. Each corresponds specific feature. indicates that feature present, indicates that feature present. Most standard feature bits from function (See "Function 1-Processor Signature Standard Feature Flags" page replicated extended feature flags, along with bits specific extensions architecture. Table list differences between standard function feature flags extended function feature flags. Table page shows complete extended feature flags Athlon Opteron processors.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Extended Feature Flags-AMD Athlon64 OpteronProcessors
Feature1 Athlon64 OpteronProcessors Models
Notes:
Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte Pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved processors SYSCALL SYSRET Instructions3 MTRR (Memory Type Range Registers) Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved Athlon64 Opteronprocessors Reserved Athlon Opteron processors No-execute Page Protection (NX) Reserved processors
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). implementation SYSCALL SYSRET instructions same Athlon Opteron processors, Athlon, Duron processor AMD-K6® processor models through SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Extended Feature Flags-AMD Athlon64 OpteronProcessors (Continued)
Feature1 Athlon64 OpteronProcessors Models
25-28
Notes:
Extensions MMXInstruction Instructions FXSAVE/FXRSTOR Instructions Reserved processors Long Mode Capable (LM) 3DNow!Instruction Extensions 3DNow! Instructions
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). implementation SYSCALL SYSRET instructions same Athlon Opteron processors, Athlon, Duron processor AMD-K6® processor models through SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table contains list currently defined feature flags Athlon processors. Table Extended Feature Flag Descriptions AthlonProcessors
AthlonProcessor Model Model Model Model Model Model
Feature1 Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte Pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved processors SYSCALL SYSRET Instructions3 MTRR (Memory Type Range Registers) Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved processors
Notes:
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). implementation SYSCALL SYSRET instructions same Athlonprocessors, Duronprocessors, well AMD-K6® processors models SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. This value AthlonMP model processors with CPUID value greater. Although value Athlon processors model with CPUID value 661, these processors also multiprocessing capable. reserves right report other model processors which tested, supported, intended used operation multiprocessing platforms. Athlon Processor Model Revision Guide, order# 24332, processor revision information corresponding these model CPUID values. This value Athlon model model processors other Athlon model model processors, including Athlon processor mobile Athlon processor.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Extended Feature Flag Descriptions AthlonProcessors (Continued)
Feature1 Multiprocessing Capable Reserved processors Extensions MMXInstruction Instructions FXSAVE/FXRSTOR Instructions Reserved processors 3DNow!Instruction Extensions 3DNow! Instructions AthlonProcessor Model Model Model Model Model Model
20-21 25-29
Notes:
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). implementation SYSCALL SYSRET instructions same Athlonprocessors, Duronprocessors, well AMD-K6® processors models SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. This value AthlonMP model processors with CPUID value greater. Although value Athlon processors model with CPUID value 661, these processors also multiprocessing capable. reserves right report other model processors which tested, supported, intended used operation multiprocessing platforms. Athlon Processor Model Revision Guide, order# 24332, processor revision information corresponding these model CPUID values. This value Athlon model model processors other Athlon model model processors, including Athlon processor mobile Athlon processor.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table contains list currently defined feature flags Duron processor. Table Extended Feature Flag Descriptions DuronProcessors
Feature1 Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte Pages) Time Stamp Counter (with RDTSC disable bit) Family Processors Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved processors SYSCALL SYSRET Instructions3 MTRR (Memory Type Range Registers) Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved processors Multiprocessing Capable
DuronProcessor
Model
Model
Model
Notes:
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). implementation SYSCALL SYSRET instructions same Athlonproceessors Duronprocessors,as well AMD-K6® processors models SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. reserves right report Duron model model processors which tested, supported, intended used operation multiprocessing platforms.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Extended Feature Flag Descriptions DuronProcessors (Continued)
Feature1 Reserved processors Extensions MMXInstruction Instructions FXSAVE/FXRSTOR Instructions Reserved processors 3DNow!Instruction Extensions 3DNow! Instructions
DuronProcessor
20-21 25-29
Notes:
Model
Model
Model
definitions: Support, Support. processor contains local APIC. BIOS must enable local APIC order return (supported). implementation SYSCALL SYSRET instructions same Athlonproceessors Duronprocessors,as well AMD-K6® processors models SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions. reserves right report Duron model model processors which tested, supported, intended used operation multiprocessing platforms.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table contains list currently defined feature flags AMD-K6 processor models Table Extended Feature Flag Descriptions AMD-K6®-2 AMD-K6®-III Processors
Notes:
Feature
AMD-K6®-2 Processor (Model
AMD-K6®-III Processor (Model
Floating-Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions (4-Mbyte Pages) Time Stamp Counter (with RDTSC disable bit) Family Processors' Model-Specific Registers (with RDMSR WRMSR) (Page Address Extensions) Machine Check Exception CMPXCHG8B Instruction APIC Reserved AMD-K6 processors SYSCALL SYSRET Instructions2 Memory Type Range Registers Global Paging Extension Machine Check Architecture Conditional Move Instruction (Page Attribute Table) PSE-36 (Page Size Extensions) Reserved AMD-K6 processors Extensions MMXInstruction Instructions FXSAVE/FXRSTOR Reserved AMD-K6 processors 3DNow!Instruction Extensions 3DNow! Instructions
definitions: Support, Support. SYSENTER SYSEXIT instructions have different implementations than SYSCALL SYSRET instructions.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Before Athlon Opteron processors, most standard feature bits returned function were duplicated extended feature flags returned function 8000_0001h. Starting with Athlon Opteron processors, standard feature bits will replicated extended feature flags. Extended feature bits only added extensions architecture. Table lists differences between standard function feature flags extended function feature flags. Table
Standard Feature Flags Versus Extended Feature Flags
Standard Feature Flag Extended Feature Flag SYSENTER SYSEXIT Instructions SYSCALL SYSRET Instructions CFLUSH Instruction Reserved Reserved Instructions SSE2 Reserved Reserved Reserved Reserved No-execute Page Protection (NX) MMXInstruction Extensions Reserved Reserved Long Mode Capable (LM) 3DNow!Instruction Extensions 3DNow! Instructions
Features that compatible with extensions made other vendors will reported feature function reserved that vendor. details, "Extended Functions 8000_0009h-8000_0018h- Vendor-Specific Feature Flags" page Tables through Appendix "Register Values Returned Family Processors" page family processor register definitions.
5.3.3
Extended Functions 8000_0002h, 8000_0003h, 8000_0004h-Processor Name String
Functions 8000_0002h, 8000_0003h 8000_0004h each return part processor name string EAX, EBX, ECX, registers. Input: Output: 8000_0002h, 8000_0003h, 8000_0004h Processor Name String Processor Name String Processor Name String Processor Name String
These three functions four registers return ASCII string characters little-endian byte order. Function 8000_0002h returns first characters processor name. first character resides least significant byte EAX, last character this group resides most significant byte EDX. Functions 8000_0003h 8000_0004h return Chapter CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
second third group characters similar fashion. ASCII character (00h) indicates processor name string. With Athlon Opteron processor, processor name string NULs (ASCII 00h) upon reset must programmed BIOS during system initialization. Appendix "Programming Name String Athlon64 OpteronProcessors" information about program processor name string. some versions Athlon Duron processors, processor name string must reprogrammed.
5.3.4
Extended Function 8000_0005h-L1 Cache Information Athlon64, OpteronTM, AthlonTM, DuronProcessors
Function 8000_0005h returns cache information. Input: Output: 8000_0005h Large Page Information 4-Kbyte Page Information Data Cache Information Instruction Cache Information
Function 8000_0005h returns information about processor TLBs caches. format information returned 8000_0005h function Athlon Opteron processors same format used Athlon Duron processors, although field values differ. Table through Table page list values returned function 8000_0005h Athlon Opteron, Athlon, Duron processors. Table Format Returned Function 8000_0005h
Two-Mbyte/4-Mbyte Pages Data Associativity1
Notes:
Instruction Entries2 Bits 23-16 Associativity1 Bits 15-8 Entries2 Bits
Bits 31-24
"Associativity Caches TLBs" page more information. number entries returned number entries available 2-Mbyte large pages. Because 4-Mbyte large pages require 2-Mbyte entries, number entries available 4-Mbyte large pages one-half returned value.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Format Returned Function 8000_0005h
Four-Kbyte Pages Data Associativity* Entries Bits 23-16 Instruction Associativity* Bits 15-8 Entries Bits
Note:
Bits 31-24
"Associativity Caches TLBs" page more information.
Table
Format Returned Function 8000_0005h
Data Cache Size (Kbytes) Associativity* Bits 23-16 Lines Bits 15-8 Line Size (bytes) Bits
Note:
Bits 31-24
"Associativity Caches TLBs" page more information.
Table
Format Returned Function 8000_0005h
Instruction Cache Size (Kbytes) Associativity* Bits 23-16 Lines Bits 15-8 Line Size (bytes) Bits
Note:
Bits 31-24
"Associativity Caches TLBs" page more information.
5.3.5
Function 8000_0005h-L1 Cache Information AMD-K5 AMD-K6® Processors
8000_0005h Reserved Page Information Data Cache Information Instruction Cache Information
Input: Output:
Function 8000_0005h returns information about processor's on-chip caches associated TLBs. Tables provide format information returned 8000_0005h function AMD-K5 AMD-K6® processors. Chapter CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Format Returned Function 8000_0005h
Data Associativity* Bits 31-24 Entries Bits 23-16 Instruction Associativity* Bits 15-8 Entries Bits
Note:
"Associativity Caches TLBs" page more information.
Table
Format Returned Function 8000_0005h
Data Cache Size (Kbytes) Associativity* Bits 23-16 Lines Bits 15-8 Line Size (bytes) Bits
Note:
Bits 31-24
"Associativity Caches TLBs" page more information.
Table
Format Returned Function 8000_0005h
Instruction Cache Size (Kbytes) Associativity* Bits 23-16 Lines Bits 15-8 Line Size (bytes) Bits
Note:
Bits 31-24
"Associativity Caches TLBs" page more information.
5.3.6
Extended Function 8000_0006h-L2 Cache Information Athlon64 OpteronTM, AthlonTM, DuronProcessors
Note: cache Athlon processor model model must configured prior invoking this function. Function 8000_0006h returns information about processor TLBs cache. format information returned 8000_0006h function Athlon Opteron processors same format used Athlon Duron processors, although field values differ. Tables through list values returned function 8000_0006h Athlon Opteron processors.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Input: Output:
8000_0006h Large Page Information 4-Kbyte Page Information Unified Cache Information Reserved
Table
Format Returned Function 8000_0006h
Two-Mbyte/4-Mbyte Pages Data TLB2 Associativity1 Entries Bits 27-16 Instruction Unified Associativity1 Bits 15-12 Entries Bits 11-0
Notes:
Bits 31-28
"Associativity Caches TLBs" page more information. unified indicated value 0000h upper bits register. Unified information then referenced lower bits register.
Table
Format Returned Function 8000_0006h
Four-Kbyte Pages Data TLB2 Associativity1 Entries Bits 27-16 Instruction Unified Associativity1 Bits 15-12 Entries Bits 11-0
Notes:
Bits 31-28
"Associativity Caches TLBs" page more information. unified indicated value 0000h upper bits register. Unified information then referenced lower bits register.
Table
Format Returned Function 8000_0006h
Cache Size (Kbytes) Associativity* Bits 15-12 Lines Bits 11-8 Line Size (bytes) Bits
Note:
Bits 31-16
"Associativity Caches TLBs" page more information.
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
5.3.7
Function 8000_0006h-L2 Cache Information AMD-K6®-III Processor
Function 8000_0006h returns information about processor's cache.
Input: Output:
8000_0006h Reserved Reserved Unified Cache Information Reserved
Table provides format information returned 8000_0006h function. Table Format Returned Function 8000_0006h AMD-K6®-III Processor
Cache Size (Kbytes)
Note:
Associativity* Bits 15-12
Lines Bits 11-8
Line Size (bytes) Bits
Bits 31-16
"Associativity Caches TLBs" page more information.
5.3.7.1
Associativity Field Definitions
This section describes values returned associativity fields. 5.3.7.1.1 Associativity Caches TLBs associativity fields data cache, instruction cache, data TLB, instruction eight bits wide. Except (Reserved) (Full), number returned associativity field represents actual number ways, with range through FEh. example, returned value indicates two-way associativity returned value indicates four-way associativity. 5.3.7.1.2 Associativity Caches TLBs associativity fields cache, data TLB, instruction four bits wide. Table shows values returned these associativity fields. Table Associativity Values Caches TLBs
Bits 15-12 Associativity
0000b 0001b
Direct mapped
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Bits 15-12
Associativity Values Caches TLBs
Associativity
0010b 0011b 0100b 0101b 0110b 0111b 1000b 1001b 1010b 1011b 1100b 1101b 1110b 1111b
2-way Reserved 4-way Reserved 8-way Reserved 16-way Reserved Reserved Reserved Reserved Reserved Reserved Full
5.3.8
Function 8000_0007h Advanced Power Management Feature Flags
Function 8000_0007h returns information about advanced power management features supported processor. function returns power management feature flags register, shown Figure Each corresponds specific feature. indicates that feature present indicates that feature present. EAX, EBX, reserved future advanced power management features. Input 8000_0007h
Output Reserved Reserved Reserved Advanced Power Management feature flags
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
Reserved,
Bits 31-4
Mnemonic Reserved
Definition Thermal Trip1 Voltage Control Frequency Control Temperature Sensor
Value
Note: This function available only Athlon64 Opteronprocessors.
Figure
Fields Extended Function 8000_0007h
more details, BIOS Requirements PowerNow!Technology Application Note, order# 25264, BIOS Requirements PowerNow!Technology Low-Power Desktop Processors Application Note, order# 25541.
5.3.9
Function 8000_0008h Physical Address Linear Address Size
Function 8000_0008h returns information about maximum physical linear address width bits) supported processor, shown Figure page width reported maximum supported mode. long mode capable processors, size reported independent whether long mode enabled. Input: Output: 8000_0008h Physical Linear Address Width Reserved Reserved Reserved
Athlon Opteron processors return bits) maximum linear address (Virtual Address) size bits) maximum physical address size.
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Reserved,
Virtual Address Width
Physical Address Width
Bits
Definition
Value bits) bits)
31-16 Reserved 15-8 Maximum Virtual Address Width Maximum Physical Address Width
Figure
Fields Extended Function 8000_0008h
5.3.10
Extended Functions Feature Flags
Functions 8000_0009h through 8000_0018h reserved future expansion vendor-specific feature flags. Each function reserved specific vendor. Input: Output: 8000_0009h 8000_0018h (Reserved vendor-specific features) (Reserved vendor-specific features) (Reserved vendor-specific features) (Reserved vendor-specific features)
Features that compatible with extensions made other vendors will reported feature function reserved that vendor. check certain feature across multiple vendors, software need only check vendor-specific feature flags vendor that first implemented that feature. Currently, Intel features reported function 0000_0001h features reported function 8000_0001h. Functions 8000_0009h 8000_000Ah reserved expansion Intel respectively. 8000_0009h reserved Intel feature flag expansion 8000_000Ah reserved feature flag expansion 8000_000B-8000_0018h reserved vendors determined
Chapter
CPUID Instruction Definition
Processor Recognition
20734
Rev. 3.04 September 2003
CPUID Instruction Definition
Chapter
20734
Rev. 3.04
September 2003
Processor Recognition
Appendix Register Values Returned Family Processors
Tables 31-36 contain values returned processors CPUID instruction.
Table
Athlon64 OpteronProcessor Values
Values Returned Athlon64 OpteronProcessors
Athlon64 Processor (Model Athlon64 OpteronProcessors (Model
Function Register
Function: Function: Function: 8000_0000h
Notes:
0000_0001h 6874_7541h 444D_4163h 6974_6E65h 0000_0F4Xh XX00_08XXh1 Reserved 078B_F9FFh2
0000_0001h 6874_7541h 444D_4163h 6974_6E65h 0000_0F5Xh XX00_08XXh1 Reserved 078B_F9FFh2
8000_0018h Reserved Reserved Reserved
8000_0018h Reserved Reserved Reserved
Function byte returns 8-bit Brand some versions Opteron (see section 5.2.2.2.1.) byte returns initial APIC which system-dependent (see section 5.2.2.2.3.). 2.The processor contains APIC, reflected this value. BIOS enables APIC, value would 078B_FBFFh. 8000_0001h returns 12-bit Brand EBX. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". 8000_0002/3/4 return until name string programmed BIOS. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". processor contains APIC, reflected this value. BIOS enables APIC, value E1D3_FBFFh.
Appendix
Register Values Returned Family Processors
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Function Register
Values Returned Athlon64 OpteronProcessors
Athlon64 Processor (Model Athlon64 OpteronProcessors (Model
Function: 8000_0001h Function: 8000_0002h4 Function: 8000_0003h4 Function: 8000_0004h4
Notes:
0000_0F4Xh 0000_0XXXh3 Reserved E1D3_F9FFh5
0000_0F5Xh 0000_0XXX3 Reserved E1D3_F9FFh5
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
Function byte returns 8-bit Brand some versions Opteron (see section 5.2.2.2.1.) byte returns initial APIC which system-dependent (see section 5.2.2.2.3.). 2.The processor contains APIC, reflected this value. BIOS enables APIC, value would 078B_FBFFh. 8000_0001h returns 12-bit Brand EBX. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". 8000_0002/3/4 return until name string programmed BIOS. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". processor contains APIC, reflected this value. BIOS enables APIC, value E1D3_FBFFh.
Register Values Returned Family Processors
Appendix
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Function Register
Values Returned Athlon64 OpteronProcessors
Athlon64 Processor (Model Athlon64 OpteronProcessors (Model
Function: 8000_0005h Function: 8000_0006h Function: 8000_0007h Function: 8000_0008h Function: 8000_0009h
Notes:
0408_FF08h FF20_FF10h 4002_0140h 4002_0140h
0408_FF08h FF20_FF10h 4002_0140h 4002_0140h
0000_0000h 4100_4100h 0400_8140h Reserved
0000_0000h 4100_4100h 0400_8140h Reserved
Reserved Reserved Reserved ****_***Fh
Reserved Reserved Reserved ****_***Fh
0000_3028h Reserved Reserved Reserved
0000_3028h Reserved Reserved Reserved
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
Function byte returns 8-bit Brand some versions Opteron (see section 5.2.2.2.1.) byte returns initial APIC which system-dependent (see section 5.2.2.2.3.). 2.The processor contains APIC, reflected this value. BIOS enables APIC, value would 078B_FBFFh. 8000_0001h returns 12-bit Brand EBX. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". 8000_0002/3/4 return until name string programmed BIOS. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". processor contains APIC, reflected this value. BIOS enables APIC, value E1D3_FBFFh.
Appendix
Register Values Returned Family Processors
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Function Register
Values Returned Athlon64 OpteronProcessors
Athlon64 Processor (Model Athlon64 OpteronProcessors (Model
Function: 8000_000Ah Function: 8000_000Bh- 8000_0018h
Notes:
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
Function byte returns 8-bit Brand some versions Opteron (see section 5.2.2.2.1.) byte returns initial APIC which system-dependent (see section 5.2.2.2.3.). 2.The processor contains APIC, reflected this value. BIOS enables APIC, value would 078B_FBFFh. 8000_0001h returns 12-bit Brand EBX. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". 8000_0002/3/4 return until name string programmed BIOS. more information, Appendix "Programming Name String Athlon64 OpteronProcessors". processor contains APIC, reflected this value. BIOS enables APIC, value E1D3_FBFFh.
Register Values Returned Family Processors
Appendix
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Function
AthlonProcessor DuronProcessor Values
Values Returned Athlonand DuronProcessors Models Higher
Processor (Model 0000_0001h 6874_7541h 444D_4163h 6974_6E65h 0000_066Xh Reserved Reserved 0183_F9FFh2 Processor (Model 0000_0001h 6874_7541h 444D_4163h 6974_6E65h 0000_067Xh Reserved Reserved 0183_F9FFh2 Processor (Model 0000_0001h 6874_7541h 444D_4163h 6974_6E65h 0000_068Xh Reserved Reserved 0183_F9FFh2 Processor (Model 10)1 0000_0001h 6874_7541h 444D_4163h 6974_6E65h 0000_068Xh Reserved Reserved 0183_F9FFh2
Register
Function: Function: Function: 8000_0000h Function: 8000_0001h
Notes:
8000_0008h Reserved Reserved Reserved
8000_0008h Reserved Reserved Reserved
8000_0008h Reserved Reserved Reserved
8000_0008h Reserved Reserved Reserved
0000_076Xh Reserved Reserved C1C3_F9FFh3
0000_077Xh Reserved Reserved C1C3_F9FFh3
0000_078Xh Reserved Reserved C1C3_F9FFh3
0000_078Xh Reserved Reserved C1C3_F9FFh3
returned values Athlonand Duronprocessors models higher non-mobile processors, including Athlon Athlon Duron processors. processors models higher contain APIC, reflected this value. BIOS enables APIC, value would 0183_FBFFh. processors models higher contain APIC, reflected this value. BIOS enables APIC, value would C1C3_FBFFh. This value also varies based setting Table page Table page details. cache size associativity processors product specific. Athlon processor model cache size 512-Kbyte with 16-way associativity. Athlon processor models have cache size 256-Kbyte with 16-way associativity. Duron processor models greater have cache size 64-Kbyte with 16-way associativity.
Appendix
Register Values Returned Family Processors
Processor Recognition
20734
Rev. 3.04 September 2003
Table
Function
Values Returned Athlonand DuronProcessors Models Higher (Continued)
Processor (Model Processor (Model Processor (Model Processor (Model 10)1
Register
Function: 8000_0002h Function: 8000_0003h Function: 8000_0004h Function: 8000_0005h
Notes:
2044_4D41h 6C68_7441h 7428_6E6Fh 5020_296Dh
2044_4D41h 6F72_7544h 6D74_286Eh 7250_2029h
2044_4D41h 6C68_7441h 7428_6E6Fh 5020_296Dh
2044_4D41h 6C68_7441h 7428_6E6Fh 5020_296Dh
6563_6F72h 726F_7373h 0000_0000h 0000_0000h
7365_636Fh 0072_6F73h 0000_0000h 0000_0000h
6563_6F72h 726F_7373h 0000_0000h 0000_0000h
6563_6F72h 726F_7373h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0000_0000h 0000_0000h 0000_0000h 0000_0000h
0408_FF08h FF20_FF10h 4002_0140h 4002_0140h
0408_FF08h FF20_FF10h 4002_0140h 4002_0140h
0408_FF08h FF20_FF10h 4002_0140h 4002_0140h
0408_FF08h FF20_FF10h 4002_0140h 4002_0140h
returned values Athlonand Duronprocessors models higher non-mobile processors, including Athlon Athlon Duron processors. processors models higher contain APIC, reflected this value. BIOS enables APIC, value would 0183_FBFFh. processors models higher contain APIC, reflected this value. BIOS enables APIC, value would C1C3_FBFFh. This value also varies based setting Table page Table page details. cache size associativity processors product specific. Athlon processor model cache size 512-Kbyte with 16-way associativity. Athlon processor models have cache size 256-Kbyte with 16-way associativity. Duron processor models greater have cache size 64-Kbyte with 16-way associativity.
Register Values Returned Family Processors
Appendix
20734
Rev. 3.04
September 2003
Processor Recognition
Table
Function
Values Returned Athlonand DuronProcessors Models Higher (Continued)
Processor (Model Processor (Model Processor (Model Processor (Model 10)1
Register
Function: 8000_0006h Function: 8000_0007h Function: 8000_0008h
Notes:
0000_0000h 4100_4100h ****_*140h4 Reserved
0000_0000h 4100_4100h ****_*140h4 Reserved
0000_0000h 4100_4100h ****_*1

Other recent searches


TK15467S - TK15467S   TK15467S Datasheet
SX4617-1 - SX4617-1   SX4617-1 Datasheet
NJU7704 - NJU7704   NJU7704 Datasheet
NJU7705 - NJU7705   NJU7705 Datasheet
LM342 - LM342   LM342 Datasheet
IMP1232LP - IMP1232LP   IMP1232LP Datasheet
IMP1232LPS - IMP1232LPS   IMP1232LPS Datasheet
CPC1727 - CPC1727   CPC1727 Datasheet
CGRM4001 - CGRM4001   CGRM4001 Datasheet
CGRM4007 - CGRM4007   CGRM4007 Datasheet
501503b00000 - 501503b00000   501503b00000 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive