IA32 Architecture Family

来自osdev
Zhang3讨论 | 贡献2022年3月24日 (四) 05:29的版本 (创建页面,内容为“下表和注释概述了所生产的基于x86的处理器(其中大多数处理器至今仍以某种形式提供)。 这些表仅供参考,确定CPU功能(至少在较新的CPU中)的最可靠方法是使用CPUID。 该表相当容易阅读,但还是对某些值进行了帮助注释。 标有 '''Yes''' 的值在该系列的所有CPU中都可用,没有例外。 标有 '''No''' 的项目根本不可用。 在某些cpu (可能是更高规格的计…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

下表和注释概述了所生产的基于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个单词中都是相同的,使得搜索它变得非常容易。

另见

文章

论坛主题

AT,XT and PC

外部链接

  • x86 on Wikipedia