为什么“ i586”是指奔腾1,为什么“ i686”是指奔腾Pro?

Tom*_*Tom 3 cpu x86 terminology intel

“ i486”是指Intel 80486(因为80486以486结尾)。

但是,为什么“ i586”是指奔腾1,为什么“ i686”是指奔腾Pro?

Pet*_*des 8

英特尔切换到名称进行营销,因为您可以注册名称,但不能注册数字。(显然是根据美国法院的判决)。

人们(尤其是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

  • 486报告家庭= 4
  • P5统治者报告Family = 5。
  • P6族(和Sandybridge族)的父项报告Family = 6。除了奔腾4以外,英特尔停止在6处增加“家族”。因此,尽管通常认为SnB家族是不同的家族,但当前的Intel CPU在CPUID中报告的Fam 6只是型号代码不同。
  • 模拟x86的Itanium CPU报告Family = 7。
  • 奔腾4(NetBurst微体系结构):Family = 15(+大家庭= 0)

其他一些供应商报告说他们的Pentium和PPro兼容CPU为Family = 4 5或6,例如AMD 5x86 / k5 / k6,NextGen,Centaur等。它们当然有自己的供应商字符串,但总的来说并不是这样。将“ family”字段带入printf格式的字符串或类似内容完全是疯狂的"i%d86"