Tom*_*Tom 3 cpu x86 terminology intel
“ i486”是指Intel 80486(因为80486以486结尾)。
但是,为什么“ i586”是指奔腾1,为什么“ i686”是指奔腾Pro?
英特尔切换到名称进行营销,因为您可以注册名称,但不能注册数字。(显然是根据美国法院的判决)。
人们(尤其是Linux和GCC开发人员)发现,方便,紧凑和/或“聪明”可以继续为下一代2代微体系结构系列编号。
有一些理由:
奔腾中使用的微体系结构家族的正式名称是P5,这是英特尔的第五个x86微体系结构。第一代奔腾P5最早的步进产品为80500,更高版本的代码为80501和80502,而不是 80586,但是数字5确实也出现在其中。
但是数字5确实出现在微体系结构代码中。如今,微架构的名称类似于Nehalem或Skylake,但在这一点上,我们有P5,然后是P54C(3.3伏版本),还有一些,然后是P55C(奔腾MMX 80502),其中包括其他体系结构改进和更长的处理流程(6 vs. 6)。 5个阶段)。
PPro和PII / PIII 基于P6微体系结构。P6微体系结构家族的后来成员 包括Pentium-M / Core和Core 2(易称为“ Core”微体系结构)。Nehalem / Westmere是P6家族的最后一代,而Sandybridge是一个新的独特家族(但相关)家族的开始。
但是重点仍然是,英特尔在其手册和文档中确实使用了P6术语,其中包含数字6,因此用术语i686来描述支持诸如cmov和/或超出标准的新指令的CPU是完全合理的。命令执行,或者您要谈论的任何相关i686功能。
以奔腾(Pentium)和后486开头的CPU用CPUID指令标识自己。 EAX = 1 / cpuid在EAX中产生一个结果,告诉您CPU 系列,型号,步进。
(EAX = 0 / cpuid为您提供一个供应商字符串:"GenuineIntel"对于英特尔。)
http://www.sandpile.org/x86/cpuid.htm#level_0000_0001h
其他一些供应商报告说他们的Pentium和PPro兼容CPU为Family = 4 5或6,例如AMD 5x86 / k5 / k6,NextGen,Centaur等。它们当然有自己的供应商字符串,但总的来说并不是这样。将“ family”字段带入printf格式的字符串或类似内容完全是疯狂的"i%d86"。