X86

这篇文章的正确标题是 x86. 看起来这里以一封创办资本信件由于 技术制约.

x8680x86 是a 的普通名字 建筑学被开发和首先被制造 . x86 建筑学当前控制台式计算机、便携式计算机, 和小服务器市场。

建筑学叫 x86 因为最早期的处理器在这个家庭由模型号辨认了结束在序列"86": 8086, 80186, 80286, , 和 . 由于你不能商标数字, 英特尔和大多它的竞争者开始使用trademarkable 名字譬如 为处理器的随后世代, 但更加早期的命名计划黏附了作为一个期限为整个家庭。

建筑学两次延伸到更大 词大小. 1985 年, 英特尔发布32 位386 替换16 位286 。 32 位建筑学叫 x86-32 (一个简称为 Intel Architecture, 32 位) 。 2003 年, 介绍了 Athlon 64, 实施一个进一步引伸对建筑学对64 位, 不同地叫做AMD64 (AMD), EM64T (英特尔), 和x64 (微软) 。

内容

历史

x86 建筑学第一次出现在英特尔里面 ; 8086 是发展 8008 本身跟随的加工者( 4004). 它被采取了 (在更加简单 版本) 三年后作为标准CPU . 个人计算机平台的无所不在曾经导致x86 成为的最成功的CPU 建筑学的当中一个。

其它公司制造或并且制造了 符合x86 建筑学: 例子包括 Cyrix (现在拥有 通过技术), NEC Corporation, , IDT, 和 Transmeta. 最成功克隆制造商是 , 系列, 不一样普遍象 系列, 有一重大marketshare 。

注意英特尔并且介绍了分开的64位建筑学被使用在它 处理器 IA-64 或最近IPF (Itanium 处理器家庭) 。 IA-64 是不具有相似对x86 建筑学的一个完全地新系统; 它不应该被混淆与 , 。

x86 的远景

x86 建筑学兴旺了在过去几年, 既使各种各样的其它建筑学死了或被贬谪使适当位置狭窄。 被偏移的建筑学包括 , 日本人第五代, , 和 巨型计算机 处理器。 建筑学继续最近演变以改变的技术, 由采取 64位 并且 双重核心, 与 multicore 在制造商的路线图。 强的竞争在英特尔和AMD 之间, 被结合与连续的进展预言了 Moore 的法律 建议, 创新将继续在平稳的节奏。 就极大的(和增加) 研究而论和基建成本被招致在一个现代处理器的发展和生产(和编译器、操作系统, 和其它软件工具必要使它有用), x86 建筑学可能持续替换专业处理器在一定数量的市场上。

例如非常高端 建筑学看来是有由x64 建筑学的危险被代替。 当Itanium 有更加现代, 更加重视工作表现的建筑学和指令组和更高的唯一芯片表现, 它滞后在表现每美元和表现每瓦特度规。 Itanium 销售数字是非常降低, x64 销售的一个小分数。

相反, 从x86 建筑学行动了在原始的Xbox 向a 建筑学在 Xbox 360.

设计

x86 建筑学是a CISC 设计以易变的指示长度。 措辞大小的存储器存取允许对不结盟的存储地址。 词被存放在 小endian 命令。 逆兼容性总是驱动力在x86 建筑学的发展之后(这要求的设计决定特别由竞争的加工者的拥护者经常批评, 由建筑学的持续的成功象quantifiably 下等挫败广泛被察觉) 。 现代x86 加工者翻译x86 指令组对更多 较详细地被谈论在 x86 汇编语言 文章。

真正的方式

英特尔8086 和8088 有14 16- 记数器. 四他们(轴, BX, CX, DX) 是一般用途(虽然每个并且有一个另外的目的; 例如只CX 可能被使用作为一个柜台与 指示) 。 每个能被获取作为二个不同字节(BX 的高位字节可能因而被获取作为BH 和低字节作为BL) 。 除他们之外, 有4 台段记数器(CS 、DS 、SS 和ES). 他们被使用形成存储地址。 有2 台尖可能使用指向某一其它地方在堆或记忆) 的记数器(指向堆的底部的SP, 和BP 。 有可能被使用指向在列阵里面的二个索引寄存器(SI 和二) 。 终于, 有旗子记数器(包含旗子譬如 运载, 溢出, 调零等等), 和指向当前的指示的指示尖(IP) 。

在真正的方式下, 存储器存取是 分割. 这由转移段地址左由4 位和增加做垂距为了接受一个最后的20 位地址。 例如, 如果DS 是A000h 并且SI 是5677h, DS:SI 将指向绝对地址DS □16 + SI = A5677h 。 因而总地址空间在真正的方式下是220 字节, 或1 MiB, 相当一个印象深刻的图在1978 年。 所有存储地址包括段和垂距; 每类型通入(代码、数据, 或堆) 有缺省段记数器与它交往(为数据记数器通常是DS, 为了编码它是CS, 并且为堆这是SS) 。 为数据存取, 段记数器可能明确地被指定(使用段代理佣金前缀) 使用任何四台段记数器。

在这份计划, 二不同segment/offset 对可能指向一个唯一绝对地点。 因而, 如果DS 是A111h 并且SI 是4567h, DS:SI 将指向A5677h 和上述一样。 除奸诈之外, 这份计划并且牌子它不可能有超过4 段立即。 而且, CS 、DS 和SS 是对正确作用节目至关重要, 以便唯一ES 可能使用指向其他地方。 这份计划, 意欲作为兼容性措施与 英特尔8085 未导致哀情的结尾对程序员。

除在之上前述之外, 8086 并且有的64K 8位(或供选择地32K 16 位) I/O 空间, 和64K (一段) 在记忆支持 . 唯一词(2 个字节) 可能被推挤对堆。 堆增长向下, 它的底部由SS 指向:SP 。 有256 , 。 中断可能落下, 使用堆存放返回地址。

现代32 位x86 CPUs 仍然支持真正的方式, 和实际上开始在真正的方式下在重新设置以后。 真正的方式代码运行在这些处理器可能利用32 位宽记数器和另外的段记数器(FS 和GS) 被提供从80386 。

16 位保护模式

英特尔80286 能支持8086 真正的方式 16 位软件没有任何改变, 然而它并且支持了工作其它方式称 保护模式, 扩展可寻址的物理内存到16MB 并且可寻址的虚拟内存到1. 这由使用做了段记数器只为存放段桌的一个索引。 有二张这样桌, GDT 并且 LDT, 举行每个8192 分割形容标志, 各段给对64 KB 的通入记忆。 段桌提供了24 位 基地址, 能然后增加来渴望的垂距创造一个绝对地址。 另外, 各段能被给四个特权水平的当中一个(称 圆环).

虽然介绍是改善, 他们没广泛被应用因为一个保护模式操作系统不能跑现有的真正的方式软件作为过程。 这样的能力只出现与 真正8086 方式 随后80386 处理器。

同时, 操作系统喜欢 被尝试对乒乓球处理器在被保护的和真正的方式之间。 这和在真正的方式下节目能容易地碰撞计算机是慢和不安全的, 。 OS/2 并且定义了允许a 的限制性编程的规则 家庭API区域 节目跑或在真正的方式下或在保护模式下。 这是然而关于连续节目最初被设计为保护模式, 不反之亦然。 故意地, 保护模式节目没有假设, 有联系在选择器价值和物理地址之间。 它有时错误地被相信, 有跑真正的方式代码的问题在16 位保护模式下起因于IBM 被选择使用英特尔被预留的中断BIOS 打电话。 它实际上与这样节目有关使用任意选择器价值和执行"段算术" 被描述上面在他们。

这个问题并且出现与 窗口3 。0. 优选地, 这发行想运行节目在16 位保护模式下, 当他们早先运行在真正的方式下。 理论上, 如果窗口1 。x 或2 。x 它冷漠会跑在真正和保护模式下的节目"适当地" 被写了和被避免的段算术。 窗口编程一般被避免的段算术因为窗口实施了软件虚拟内存计划和移动了节目代码和数据在记忆当节目没有运行, 因此操作绝对地址是危险的; 节目应该只保持 把柄 与记忆块当不跑, 和这样把柄与保护方式选择器已经是相当相似。 起动一个老节目当窗口3 。0 运行在保护模式下触发了警告对话, 建议对或者跑的窗口在真正的方式下(它能据推测仍然使用扩充内存, 可能看齐与 EMM386 对80386 个机器, 因此此对640KB 未被限制) 或获得更新版本从贩卖者。 行为端正的节目能"保佑" 使用一个特定工具避免这对话。 它不是可能有一些GUI 节目运行在16 位保护模式和其他GUI 节目下运行在真正的方式, 大概因为这会要求有二个不同环境并且(在80286) 会是依于早先被提及砰地作声ponging 处理器在方式之间。 在版本3 。1 个真正的方式消失了。

32 位保护模式

英特尔80386 介绍了, 或许, 最巨大的飞跃到目前为止在x86 建筑学。 有著名的例外 英特尔80386SX, 32 位只有24 位演讲(和16 位数据总线), 它所有32 位- 所有记数器、指示、I/O 空间和记忆。 运作与后者, 它使用保护模式32 位引伸。 照原样在286, 段记数器被使用标注在描述记忆分裂的段桌里面。 不同于286, 然而, 在各段你里面能使用32 位垂距, 允许每种应用访问4 没有分割和如果分割被使用了。 另外, 32 位保护模式支持了 调页, 使成为可能使用的机制 虚拟内存.

新通用寄存器未增加。 所有16 位记数器除了段一个被扩展了对32 位。 英特尔代表了这由增加"E" 来记数器歌诀(膨胀的轴因而成为了EAX, SI 成为了ESI 等等) 。 因为有记数器、指示和操作数的一个更加了不起的数字, 机器代码格式被扩展了。 为了提供逆兼容性, 包含可执行的代码的段可能被标记作为包含或16 或32 位指示。 另外, 特别前缀可能使用包括32 位指示在16 位段和反之亦然。

呼叫和被分割的存储器存取两个必需为了支持一个现代多任务操作系统。 , , 视窗NT 并且 视窗95 是所有最初地被开发为386, 因为这是使成为可能可靠地支持节目的存储量的第一CPU (每个的分离入它自己的地址空间) 并且先买他们在必要情况下(使用圆环) 。 基本的建筑学386 成为了所有更加进一步的发展的依据在x86 系列。

英特尔80387 算术co 处理器是联合入下个CPU 在系列, 英特尔80486 。 新 FPU 能被使用做 演算, 重要为科学演算和图表设计。

MMX 和以远

1996 锯出现 MMX (矩阵算术引伸, 虽则有时不正确地指多媒体引伸) 技术由英特尔。 当新技术广泛和隐晦地做了广告, 它的精华非常简单: MMX 定义了8 64位 SIMD 记数器被覆盖FPU 堆对 英特尔奔腾 CPU 设计。 不幸地, 这些指示容易地不是mappable 对代码由普通的C 编译器引起, 并且微软, 统治编译器贩卖者, 是慢的支持他们既使内在。 MMX 对整数操作并且被限制。 这些技术缺点导致MMX 有一点冲击在它早期的存在。 现今, MMX 典型地被使用为一些第2 种录影应用。

3DNow!

在1997 AMD 被介绍的 3DNow! 哪些是SIMD 浮点指示改进对MMX (瞄准同样MMX 记数器) 。 当这没有解决编译器困难, 这技术的介绍与3D 娱乐应用的上升相符了在个人计算机空间。 3D video game developers and 3D graphics hardware vendors used 3DNow! to help enhance their performance on AMD's K6 and Athlon series of processors.

SSE

在1999 年中英特尔被介绍的 SSE 指令组 哪些增加了8 台新128 台位记数器(用其它记数器没被覆盖) 。 这些指示是类似于AMD 的3DNow! 因为他们主要增加了浮点SIMD 。

SSE2

在2001 年中英特尔被介绍的 SSE2 增加1) 整数指示的完全补全的指令组(类似于MMX) 来原始的SSE 记数器并且2) 64位SIMD 浮点指示对原始的SSE 登记。 第一加法被做MMX 几乎过时, 和秒钟允许指示由常规编译器现实地瞄准。

SSE3

介绍 2004 年 与一起 普里斯科特 修正 奔腾4 处理器, SSE3 增加的具体记忆和 螺纹- 处理指示促进英特尔的表现 HyperThreading 技术。 以后准许了SSE3 指令组为它的最新的(e) 修正Athlon 64 个处理器。 SSE3 指令组包括在新Athlons 只缺乏英特尔设计为HyperThreading 的两三指示, 从 Athlon 64 不支持HyperThreading; 但是SSE3 仍然被认可在软件象支持在平台。

64位

在2002 年以前, 它是显然的, x86 建筑学的32 位地址空间限制它的表现在应用要求大数据集。 32 位地址空间会允许加工者直接地演讲只4 GB 数据-- 大小由应用频繁地超过譬如录影处理或数据库引擎。

英特尔最初决定对64位不延伸x86 如同他们必须32 位, 并且改为介绍了新建筑学叫 IA-64. IA-64 技术是为它的依据 线。 IA-64 为更旧的32 位x86 提供逆兼容性; 这种运作方式, 然而, 是极为慢的。

采取了延伸英特尔叫的32 位x86 主动性( ) 64位. 它产生了建筑学, 叫 AMD64 (或 x86-64, 在rebranding), 和基于的之前 Opteron 并且 Athlon 64 处理器家庭在这技术。 处理器AMD64 线的成功被结合与IA-64 建筑学被提示的英特尔的温热招待会采取AMD64 指令组, 增加它自己的一些新引伸和烙记它 EM64T 建筑学。 在它的文学和产品版本名字, 微软提到这处理器建筑学作为x64 。

这第一次是, x86 建筑学的主要升级被创始了和发源由制造商除英特尔之外。 或许更加重要地, 第一次是, 英特尔实际上接受了这自然技术从一个外部来源。

虚拟化

x86 虚拟化 是困难的因为建筑学不遇见 Popek 和戈尔登伯格虚拟化要求. 然而, 有几商务 x86 虚拟化 产品, 譬如 VMware 并且 微软真正个人计算机. 有并且一个开放来源虚拟化项目 Xen. 英特尔和AMD 两个宣布, 未来x86 处理器将有新改进促进更加高效率的虚拟化。 英特尔的代号对于他们的虚拟化特点是"Vanderpool" 和"Silvervale"; AMD 使用代号"Pacifica" 。

制造商

x86 和compatibles 由一定数量的公司设计了, 制造了和卖了, 有:

参见

外在链接

 

  > 汉语 > en.wikipedia.org (机器翻译成汉语)