AMD Processor Recognition Application Note

AMD Processor Recognition Application Note

AMD Processor Recognition Application Note Publication # 20734 Revision: 3.00 Issue Date: April 2003 © 1997-2003 Advanced Micro Devices, Inc. All rights reserved. The contents of this document are provided in connection with Advanced Micro Devices, Inc. (“AMD”) products. AMD makes no representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to make changes to specifications and product descriptions at any time without notice. No license, whether express, implied, arising by estoppel or otherwise, to any intellectual property rights is granted by this publication. Except as set forth in AMD’s Standard Terms and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims any express or implied warranty, relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or infringement of any intellectual prop- erty right. AMD’s products are not designed, intended, authorized or warranted for use as components in systems intended for surgical implant into the body, or in other applications intended to support or sustain life, or in any other application in which the failure of AMD’s product could create a situation where personal injury, death, or severe property or environmental damage may occur. AMD reserves the right to discontinue or make changes to its products at any time without notice. Trademarks AMD, the AMD Arrow logo, AMD Athlon, AMD Duron, AMD Opteron and combinations thereof, AMD-K7, 3DNow! AMD PowerNow! are trademarks and AMD-K6, AMD-K6-2, AMD-K6-III, and Am486 are registered trademarks of Advanced Micro Devices, Inc. HyperTransport is a licensed trademark of the HyperTransport Technology Consortium. MMX is a trademark of Intel Corporation. Microsoft is a registered trademark of Microsoft Corporation. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. 20734 Rev. 3.00 April 2003 AMD Processor Recognition Application Note Contents Chapter 1 Introduction . .15 Chapter 2 CPUID Instruction Overview . .17 Chapter 3 Using CPUID Instructions . .19 3.1 Testing for the CPUID Instruction . .19 3.1.1 Illegal Instruction Exception Method . .19 3.1.2 EFLAGS ID-Bit Method . .19 3.2 Using CPUID Functions . .20 3.3 Identifying the Processor Vendor . .23 3.4 Testing For Extended Functions . .24 3.5 Determining the Processor Signature . .24 3.6 Identifying Supported Features . .26 3.6.1 Determining Instruction Set Support . .26 3.6.2 AMD Processor Signature (Extended Function) . .28 3.6.3 Displaying the Processor Name . .28 3.6.3.1 Differentiation of Processors of the Same Model Number . .29 3.6.3.2 S3 State Considerations . .29 3.6.3.3 Recommended Name String . .29 3.6.4 Displaying Cache Information . .33 3.6.5 Determining Power Management Capabilities . .34 3.6.6 Determining Maximum Physical and Linear Address Size . .34 3.6.7 Determining Vendor-Specific Feature Flags . .34 3.7 Code Samples . .34 3.7.1 Example CPUID Code . .35 3.7.2 Example Function Call . .42 3.7.3 Displaying the AMD Opteron™ Processor, AMD Athlon™ Processor, or the AMD Duron™ Processor Name String . .43 3.7.4 DisplayNameString Subroutine . .43 3.7.5 DisplayNameSubstring . .44 Chapter 4 Summary of CPUID Differences . .47 4.1 Changed Functions . .47 Contents 3 AMD Processor Recognition Application Note 20734 Rev. 3.00 April 2003 4.1.1 Standard Function 0000_0001h—Processor Version Information and Feature Flags . .47 4.1.1.1 Extended Family and Extended Model (in EAX) . .47 4.1.1.2 8-Bit Brand ID (in EBX) . .47 4.1.1.3 CLFLUSH size (in EBX) . .47 4.1.1.4 Initial APIC_ID (in EBX) . .48 4.1.1.5 Standard Feature Flags (in EDX) . .48 4.1.2 Extended Function 8000_0000h—Highest Extended Function Available . .48 4.1.3 Extended Function 8000_0001h—Processor Version Information and Extended Feature Flags . .48 4.1.3.1 Extended Family and Extended Model (in EAX) . .48 4.1.3.2 12-Bit Brand ID (in EBX) . .48 4.1.3.3 Extended Feature Flags (in EDX) . .48 4.1.4 Extended Functions 8000_0005h and 8000_0006h—Cache and TLB Information . .49 4.1.5 Extended Function 8000_0007h—Advanced Power Management Information . .49 4.1.6 Extended Function 8000_0008h—Address Size Information . .49 4.2 New Functions . .49 4.2.1 Extended Functions 8000_0009h–8000_0018h—Vendor-Specific Feature Flags . .49 Chapter 5 CPUID Instruction Definition . .51 5.1 CPUID Instruction . .51 5.2 Standard Functions . .52 5.2.1 Function 0—Largest Standard Function Input Value and Vendor Identification String . .52 5.2.2 Function 1—Processor Signature and Standard Feature Flags . .52 5.2.2.1 EAX—Version (Family, Model and Stepping) Information . .53 5.2.2.2 EBX—8-Bit Brand ID, CFLUSH, and APIC Information . .53 5.2.2.2.1 8-Bit Brand ID . .54 5.2.2.2.2 CLFLUSH Size . .54 5.2.2.2.3 Initial APIC_ID . .54 5.2.2.3 EDX—Standard Feature Flags . .55 5.3 Extended Functions . .60 5.3.1 Function 8000_0000h—Largest Extended Function Input Value . .60 4 Contents 20734 Rev. 3.00 April 2003 AMD Processor Recognition Application Note 5.3.2 Function 8000_0001h—Processor Version Information and Extended Feature Flags . .60 5.3.2.1 EAX—Version (Family, Model, and Stepping) Information . .60 5.3.2.2 EBX—12-bit Brand ID . .61 5.3.2.3 ECX—Extended Feature Flag . .61 5.3.2.4 EDX—Extended Feature Flags . .61 5.3.3 Extended Functions 8000_0002h, 8000_0003h, and 8000_0004h— Processor Name String . .69 5.3.4 Extended Function 8000_0005h—L1 Cache and L1 TLB Information for AMD Opteron, AMD Athlon, and AMD Duron Processors . .70 5.3.5 Function 8000_0005h—L1 Cache Information for AMD-K5 and All AMD-K6® Processors . .71 5.3.6 Extended Function 8000_0006h—L2 Cache and L2 TLB Information for the AMD Opteron, AMD Athlon, and AMD Duron Processors . .72 5.3.7 Function 8000_0006h—L2 Cache Information for the AMD-K6®-III Processor . .74 5.3.7.1 Associativity Field Definitions . .74 5.3.7.1.1 Associativity for L1 Caches and L1 TLBs . .74 5.3.7.1.2 Associativity for L2 Caches and L2 TLBs . .74 5.3.8 Function 8000_0007h — Advanced Power Management Feature Flags . .75 5.3.9 Function 8000_0008h — Physical Address and Linear Address Size . .76 5.3.10 Extended Functions 8000_0009h–8000_0018h—Vendor-Specific Feature Flags . .77 Appendix A Register Values Returned by the AMD Family Processors . .79 A.1 AMD Opteron Processor Values . .79 A.2 AMD Athlon Processor and AMD Duron™ Processor Values . .82 A.3 AMD-K6 Processor Values . .90 ® A.4 Am486 , Am5x86, and AMD-K5 Processor Values . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    96 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us