IA32 Architecture Family
下表和注释概述了所生产的基于x86的处理器(其中大多数处理器至今仍以某种形式提供)。 这些表仅供参考,确定CPU功能(至少在较新的CPU中)的最可靠方法是使用CPUID。
该表相当容易阅读,但还是对某些值进行了帮助注释。 标有 Yes 的值在该系列的所有CPU中都可用,没有例外。 标有 No 的项目根本不可用。 在某些cpu (可能是更高规格的计算机,例如486DX或更高的处理器服务器) 中可能使用标有 Maybe 的项目。 标有 ? 的项目尚待研究或确认。 如果您有什么信息,请告诉我们!
此表中的大多数信息来自 Wikipedia,其中一些来自Intel和AMD处理器手册。
英特尔处理器
英特尔的这些处理器使用CPUID字符串“GenuineIntel”。
发布日期 | FPU (80x87) | 保护模式 | SMP | MMX | PAE | SSE | 超线程(Hyper-threading) | EM64T/AMD64 | 备注 | |
---|---|---|---|---|---|---|---|---|---|---|
8086 | 1978 | Optional | No | No | No | No | No | No | No, 16-bit only | 长寿的x86 ISA首个处理器,仅支持16位实数模式,64KB分段。 八个16位通用寄存器,四个16位段寄存器,一个16位指令指针和一个16位标志寄存器。256个可用中断和64KB的I/O空间。 |
80186 | 1982 | Optional | No | No | No | No | No | No | No, 16-bit only | 专为嵌入式系统设计。 第一个带有Enter/Leave指令的x86处理器,以及PUSHA/POPA、一些其他指令,以及即时模式(immediate modes)中的PUSH、IMUL和SHIFT指令。 异常(Exception)06h (无效操作码-Invalid Opcode,#UD) 与UD2 “指令” 一起引入。 |
80286 | 1982 | Optional | 16-bit only | No | No | No | No | No | No, 16-bit only | 首个具有“保护模式”和24位地址总线的x86处理器,如果没有CPU重置,就无法从pmode转换为实模式。 它在实模式下的性能比以前的16位英特尔处理器更好。 专为多任务和多用户系统设计。 |
80386 | 1985 | Optional | Yes | No | No | No | No | No | No | 继80286之后,英特尔386是第一款采用IA32体系结构的处理器。 它具有32位宽的寄存器,支持4kByte分页,除了80286的分段内存模型外,还支持平面内存模型(flat memory mode)。 |
80486 | 1989 | Optional | Yes | Yes | No | No | No | No | No | 486片上集成了80x87 FPU (除了486SX),并支持省电功能 (System Management Mode,Stop Clock,Auto Halt Powerdown)。 它还支持带有外部APIC的SMP(虽然很少见),并添加了流水线和片上缓存,以及INVD、INVPG、XADD和CMPXCHG等相关操作码。 |
Pentium | 1993 | Yes | Yes | Yes | No | No | No | No | No | Pentium集成APIC(可被BIOS永久禁用),支持PSE(4 MiB页)。 它还支持双向多处理。 |
Pentium Pro | 1995 | Yes | Yes | Yes | No | Yes | No | No | No | PentiumPro支持PAE(具有2个MiB和/或4个KiB页面的36位物理地址空间),但没有Pentium的MMX寄存器。 |
Pentium MMX | 1996 | Yes | Yes | Yes | Yes | No | No | No | No | Pentium MMX与原Pentium CPU非常相似,但包含MMX SIMD寄存器(单指令、多数据)。(译者注:这是一类在单个指令周期内同时处理多个数据元素的CPU设计,利用的是数据级并行来提高运行效率。) 这似乎有点意想不到,Pentium MMX是在Pentium Pro之后发布的。 |
Pentium II | 1997 | Yes | Yes | Yes | Yes | Yes | No | No | No | Pentium II再次支持MMX(以及PAE),以及其他低功耗状态:AutoHALT, Stop-Grant, Sleep, 和 ~DeepSleep。 |
Pentium II Xeon | 1998 | Yes | Yes | Yes | Yes | Yes | No | No | No | The Xeon supports 4/8/+ way multiprocessing. |
Pentium III | 1999 | Yes | Yes | Yes | Yes | Yes | SSE | No | No | 提供450 MHz至1400 MHz的速度,奔腾III率先支持SSE(128位封装单FP SIMD)。 除此之外,它与Pentium II Deschutes非常相似。 |
Pentium III Xeon | 1999 | Yes | Yes | Yes | Yes | Yes | SSE | No | No | |
Pentium IV | 2000 | Yes | Yes | Yes | Yes | Yes | SSE2* | Yes | Maybe | 英特尔在Prescott系列中添加了SSE3和“EMT64/Intel 64”。 |
Pentium M | 2003 | Yes | Yes | Yes | Yes | Yes | SSE2 | No | No | |
Core | 2003 | Yes | Yes | Yes | Yes | Yes | SSE3 | No | No | |
Xeon 51xx | 2006 | Yes | Yes | Yes | Yes | Yes | SSSE3 | Yes | Yes | |
Core 2 | 2006 | Yes | Yes | Yes | Yes | Yes | SSE4.1 | No | Yes | |
Xeon 54xx | 2007 | Yes | Yes | Yes | Yes | Yes | SSE4.1 | No | Yes | |
Core i-series | 2008 | Yes | Yes | Yes | Yes | Yes | SSE4.2 | Yes | Yes | |
Atom 200/300 | 2008 | Yes | Yes | Yes | Yes | Yes | SSSE3 | Yes | Yes | |
Atom N-series | 2008 | Yes | Yes | Yes | Yes | Yes | SSSE3 | Yes | Maybe | 英特尔在Diamondville(N-2xx)系列中省略了64位模式,但将其包含在Pineview(N-4xx)中。 |
Atom Z-series | 2008 | Yes | Yes | Yes | Yes | Yes | SSSE3 | Yes | No |
AMD(Advanced Micro Device)英特尔兼容处理器
AMD从70年代初开始开发集成电路,他们最初从英特尔获得了80286的许可,并将其命名为Am286。 该公司后来在1991年发布了它的第一个英特尔386克隆产品--AM386。
CPUID标识符字符串为 “AuthenticAMD”。
需要注意的是,AMD使用的“SSE”和英特尔使用的“SSE”可能并不完全兼容。
发布日期 | FPU (80x87) | Protected Mode | SMP | MMX | 3DNow! | PAE | SSE | 超线程 | EM64T/AMD64 | 备注 | |
---|---|---|---|---|---|---|---|---|---|---|---|
Am386 | 1991 | Optional | Yes | No | No | No | No | No | No | No | AMD的第一个32位i386架构的翻版,FPU是可选的。 |
Am486
Am5x86 |
1994
1995 |
Yes | Yes | No | No | No | No | No | No | No | AMD的486翻版,是大多数英特尔486芯片的缓存大小的2倍。 |
K5 | 1996 | Yes | Yes | No | No | No | No | No | No | No | AMD首次尝试使用与奔腾兼容的CPU。 |
K6 | 1997 | Yes | Yes | No | Yes | No | No | No | No | No | 由NexGen(AMD接手)实际设计的K6是一款完全兼容奔腾的CPU。 一个值得注意的指令是LOOPcc指令,与奔腾的18个周期相比,它在2个周期内执行,从而会导致时序问题。 |
K6-2 | 1998 | Yes | Yes | No | Yes | Yes | No | No | No | No | AMD在LOOPcc的执行中增加了16个等待状态,从而使其速度降至奔腾一样。 他们为DEC (E)CX增加了一个特例(推测,可能是巧合); Jcc组合,在语义上与LOOPcc指令等效; 由于LOOPcc在Intels上的速度更快,因此没有人在那里使用DEC/Jcc组合。 所以AMD保持了这个组合的原始速度,并在他们的优化手册中说明,这是优于LOOPcc指令的首选方法。
K6-2还采用了3DNOW!技术,即“使用浮点数的MMX”,并(再次)在浮点寄存器上进行多路复用。 它基本上与P2兼容。 |
K6-3 | 1999 | Yes | Yes | No | Yes | Yes | No | No | No | No | 此设计与P2完全兼容。
该K6-3在指令解码单元 (将x86指令转换为本机指令) 处遇到瓶颈。 虽然它每种类型都有3个执行单元(ALU/MMX/loadstore),但由于指令解码单元跟不上,它们的使用根本不多! |
Athlon | 1999 | Yes | Yes | No | Yes | Yes | Yes | No | No | No | |
Athlon XP/MP | 2001 | Yes | Yes | Maybe | Yes | Yes | Yes | SSE | No | No | Athlon XP(从Palomino开始)引入了SSE。 支持SMP的芯片被命名为Athlon MP。 |
Athlon 64 | 2003 | Yes | Yes | No | Yes | Yes | Yes | SSE3 | No | Yes | |
Athlon 64 X2 | 2005 | Yes | Yes | Yes | Yes | Yes | Yes | SSE3 | No | Yes | |
Phenom | 2007 | Yes | Yes | ? | Yes | Yes | Yes | SSE4a | No | Yes | |
Ryzen Series | 2017 | Yes | Yes | Yes | Yes | No | Yes | SSE4.2 | Yes | Yes |
基于AMD64的CPU
这些处理器都原生支持整个IA32家族。 AMD创造了一种新的处理器,具有48位内存寻址和64位计算,与旧式CPU非常兼容。 如此兼容,以至于除了计算量和对有效冗余的一些编码的支持之外,32位和64位的内核在本质上是相同的。 他们删除了几个1字节操作码 (总共约20个,包括所有1字节INC和1字节DEC指令),以便为新的REX前缀腾出空间。 他们将内核修改为使用16个寄存器而不是8个,添加了大量新名称,使旧软件正常工作,并优化了32位性能。
生产类似芯片的其他CPU供应商
Cyrix
Cyrix是一个著名的CPU供应商从386年 (和稍早),直到Pentium II的时候,它或多或少地消失在Via内部。 Via现在使用这个名称作为CPU名称(没有更明确它的定位),但本节是关于原始Cyrix CPU的。 支持CPUID的处理器称其为“CyrixInstead”。
Cyrix 387
这实际上不是处理器,而是FPU。 它曾是386最快的协处理器,除了486-SX之外,它还非常有用。
Cyrix 4x86
一种具有486能力的处理器。 第一代插入386插座提供更高的速度,而不需要额外的硬件更新。 后来的版本也可以在486个主板上使用。
Cyrix 5x86
一种作为486运行并与插座兼容的处理器。 它具有奔腾的一些能力,但不是全部 (例如cmpxchg8b)。
Cyrix 6x86 / M1
该处理器与586(奔腾)兼容,尽管从名称上看不出来它与586(奔腾)兼容。 它不包含任何MMX或PPRO功能。 与Pentium Pro相比,每个周期的性能略好一些,因此获得了对标。 浮点运算的性能低于奔腾Pro。
Cyrix 6x86MX / M2
是与奔腾MMX兼容的处理器,也是对标产品。 它再次与Pentium MMX和较旧的Pentium (不带MMX) 兼容。 It supported a few features from the Pentium Pro, among which the very usable CMOVcc set.
MediaGX
该芯片除了CPU,还包括一些芯片上的外围设备,包括图形和音频设备。
该公司被美国国家半导体公司(National Semiconductor)收购,后者将商标出售给威盛(Via)。 MediaGX得到了进一步开发,并最终被AMD收购,后者将其作为Geode进行销售。
Rise Technologies
一家据说生产奔腾兼容芯片的公司,没有MMX。 几乎不知道细节,但是CPUID标识符串是“RiseRiseRise”,也许因为3个单词中都是相同的,使得搜索它变得非常容易。
另见
文章
论坛主题
外部链接
- x86 on Wikipedia