Specifications

Revision Determination 9
Revision Guide for AMD Athlon™ 64 and AMD Opteron™ Processors
25759 Rev. 3.79 July 2009
Programming and Displaying the Processor Name String
This section, intended for BIOS programmers, describes how to program and display the 48-character
processor name string that is returned by CPUID Fn8000_000[4:2]. The hardware or cold reset value
of the processor name string is 48 ASCII NUL characters, so the BIOS must program the processor
name string before any general purpose application or operating system software uses the extended
functions that read the name string. It is common practice for the BIOS to display the processor name
string and model number whenever it displays processor information during boot up.
Note: Motherboards that do not program the proper processor name string and model number will not pass
AMD validation and will not be posted on the AMD Recommended Motherboard Website.
The name string must be ASCII NUL terminated and the 48-character maximum includes that NUL
character.
The processor name string is programmed by MSR writes to the six MSR addresses covered by the
range C001_00[35:30]h. Refer to the BIOS and Kernel Developers Guide for AMD Athlon™ 64 and
AMD Opteron™ Processors, order# 26094, for the format of how the 48-character processor name
string maps to the 48 bytes contained in the six 64-bit registers of MSR C001_00[35:30]h.
The processor name string is read by CPUID reads to a range of CPUID functions covered by CPUID
Fn8000_000[4:2]. Refer to CPUID Fn8000_000[4:2] in the BIOS and Kernel Developers Guide for
AMD Athlon™ 64 and AMD Opteron™ Processors, order# 26094, for the 48-character processor
name string mapping to the 48 bytes contained in the twelve 32-bit registers of CPUID
Fn8000_000[4:2].
Constructing the Processor Name String
This section describes how to construct the processor name string.
BIOS uses CPUID Fn0000_0001_EBX[8BitBrandId] and CPUID Fn8000_0001_EBX[BrandId] to
construct the name string from tables of ASCII name string information. The name string is formed
by creating an index (BrandTableIndex[5:0]) from Table 2 and using that index to access Table 3 on
page 10. The model number is calculated by first calculating NN[5:0] from Table 2 and then using
that value where specified by Table 4 on page 11.
Table 2. BrandTableIndex[5:0] and NN[5:0] Table
8BitBrandId BrandId BrandTableIndex[5:0] NN[5:0]
0 0 000000b -
non-zero x {0b,8BitBrandId[7:5],00b} {0b,8BitBrandId[4:0]}
0 non-zero BrandId[11:6] BrandId[5:0]