Intel处理器Family、Model、Stepping等的学习

本文主要介绍在Linux系统中查看本机CPU信息方法,接着针对intel的x86处理器标识进行概括性描述,包括CPU ID、vendor、Family、Model、Stepping等。这些信息主要来自网络搜索所得,同时参考Intel IA32架构软件开发手册第2卷、第3卷进行修正完善,参见文后附带地址以便了解更多。


一、Linux下查看CPU信息
Linux系统使用lscpu命令可以查看CPU信息,如:
latelee@latelee:~$ lscpu 
Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                8
Thread(s) per core:    2
Core(s) per socket:    4
CPU socket(s):         1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Stepping:              9
CPU MHz:               1600.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K


从上面看到,笔者处理器架构为i686,8核CPU,CPU厂商为“ GenuineIntel”,family为6,Model为58(0x3A)。
 
另外用cat /proc/cpuinfo查看本机CPU详细信息,如(共8核,只显示第0个):
latelee@latelee:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
stepping        : 9
cpu MHz         : 1600.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips        : 6784.61
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


二、Intel处理器标识


CPU ID
CPU ID是CPU生产厂家为识别不同类型的CPU,而为CPU制订的不同的单一的代码;不同厂家的CPU,其CPU ID定义也是不同的;如 “0F24”(Inter处理器)、“681H”(AMD处理器),根据这些数字代码即可判断CPU属于哪种类型,这就是一般意义上的CPU ID。
CPU ID也是以十六进制表示的。Inter处理器的CPU ID一共包含四个数字,如“0F24”,从左至右分别表示 Type(类型)、Family(系列)、Mode(型号)和Stepping(步进编号)。从CPUID为“068X”的处理器开始,Inter另外增 加了Brand ID(品种标识)用来辅助应用程序识别CPU的类型,因此根据“068X”CPUID还不能正确判别Pentium和Celerom处理 器。必须配合Brand ID来进行细分。AMD处理器一般分为三位,如“681”,从左至右分别表示为Family(系列)、Mode(型号)和 Stepping(步进编号)。 


Type(类型)
类型标识用来区别INTEL微处理器是用于由最终用户安装,还是由专业个人计算机系 统集成商、服务公司或制作商安装;数字“1”标识所测试的微处理器是用于由用户安装的;数字“0”标识所测试的微处理器是用于由专业个人计算机系统集成 商、服务公司或制作商安装的。我们通常使用的INTEL处理器类型标识都是“0”,“0F24”CPUID就属于这种类型。
Family(系列)
系 列标识可用来确定处理器属于那一代产品。如6系列的INTEL处理器包括Pentium Pro、Pentium II、Pentium II Xeon、Pentium III和Pentium III Xeon处理器。5系列(第五代)包括Pentium处理器和采用 MMX技术的Pentium处理器。AMD的6系列实际指有K7系列CPU,有DURON和ATHION两大类。最新一代的INTEL Pentium 4系列处理器(包括相同核心的Celerom处理器)的系列值为“F”
Mode(型号)
型号标识可用来 确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特 定类型。如可确定Celerom处理器是Coppermine还是Tualutin核心;Athlon XP处理器是Paiomino还是 Thorouhgbred核心。
Stepping(步进编号)
步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更 改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如CPUID为 “686”和“686A”就好比WINZIP8.0和8.1的关系。步进编号和核心步进是密切联系的。如CPUID为“686”的Pentium III 处理器是cCO核心,而“686A”表示的是更新版本cD0核心。
Brand ID(品种标识)
INTEL从Coppermine核心的处理器开始引入Brand ID作为CPU的辅助识别手段。如我们通过Brand ID可以识别出处理器究竟是Celerom还是Pentium 4。


------------------------------------------------------------------
vendor_id CPU制造商ID
Intel处理器的vendor字符串为“GenuineIntel”。下面是其它的x86的vendor字符串(来自coreboot源码):
CYRIX:CyrixInstead
AMD:AuthenticAMD
UMC:UMC UMC UMC
NEXGEN:NexGenDriven
CENTAUR:CentaurHauls
RISE:RiseRiseRise
TRANSMETA:GenuineTMx86
TRANSMETA:TransmetaCPU
NSC:Geode by NSC
SiS:SiS SiS SiS


   
cpu family:CPU产品系列代号。从手册中看到,6系列(第六代)包括众多处理器,如Celeron,Pentium 2,Pentium 3,Core i5&i7,Atom系列(E3000t系列、Z3600系列、C2000系列,等等)。关于family,从网络搜索到的一些资料,列出下面:
“1”表示为8086和80186级芯片;
“2”表示为286级芯片;
“3”表示为386级芯片; 
“4”表示为486级芯片(SX、DX、:DX2、DX4); 
“5”表示为P5级芯片(Pentium处理器和含MMX技术的Pentium处理器);
“6”表示为P6级芯片(包括Celeron、Pentium II、PenfiumIII系列); 
“F”代表Xeon处理器、Pentium 4处理器。 


model   :CPU属于其系列中的哪一代的代号。“型号”编号可以让英特尔识别微处理器的制造技术以及属于第几代设计(例如型号4)。型号与系列通常是相互配合使用的,用以确定您的计算机中所安装的处理器是属于处理器系列中的哪一种特定类型。在与英特尔联系时,此信息通常用以识别特定的处理器。


model name:CPU属于的名字及其编号、标称主频
   
stepping   :CPU属于制作更新版本。Stepping ID(步进)也叫分级鉴别产品数据转换规范, “步进”编号标识生产英特尔微处理器的设计或制造版本数据(例如步进4)。步进用于标识一次“修订”,通过使用唯一的步进,可以有效地控制和跟踪所做的更 改。步进还可以让最终用户更具体地识别其系统所安装的处理器版本。在尝试确定微处理器的内部设计或制造特性时,英特尔可能会需要使用此分类数据。
Intel和AMD都有Stepping的概念,用来标识一款同样规模的微处理器从一开始到你用的这款处理器经历的设计过程,用一个字母和一个数字表示。 一般来说,一款同样规模的微处理器的第一个版本是A0,如果改进了设计,则可以通过改变字母或者数字进行标识,如果仅仅改变数字(比如改成A3),说明进 行了一些辅助的改进,如果字母和数字都改变,说明改动较大,Stepping可以使用户可以识别微处理器的版本。


The first version of a new microprocessor product is the A-0 core step. Later, as improvements are made to the product for functional fixes or manufacturing improvements, the core stepping number is incremented. Generally speaking, minor changes result in an increased number (i.e. A-3 to A-4), while more complex changes result in the letter being changed (i.e. A-3 to B-0). Note that a B-0 core stepping is more recent than an A-4 core stepping.


-----------------


关于family的权威解释,参阅IA32架构软件开发手册第3卷35章(Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide)。








本文未涉及MSR(model specified register),关于此主题,待撰文讲述。


参考资料:
IA32架构软件开发手册第2卷3.2 CPUID指令;第3卷35章。
Intel 64 and IA-32 Architectures Software Developer’s Manual手册下载地址:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
CPUID的wiki页面:https://en.wikipedia.org/wiki/CPUID
博客:http://blog.sina.com.cn/s/blog_605f5b4f010180st.html


你可能感兴趣的:(微机/硬件底层/BIOS)