|
@ -181,6 +181,51 @@ Intel 和 IA-32 处理器都是采用“little endian(小端)”方式存储 |
|
|
|
|
|
|
|
|
8086/8088 向 IA-32 架构引入了段(segmentation)。通过分段, 16 位段寄存器可以指向高达 64 KB 的内存段。同时使用四个段寄存器,8086/8088 处理器能够不在段之间切换的情况下寻址达 256 KB。使用段寄存器和额外的 16 位指针可以形成的 20 位地址提供 1 MB 的总寻址范围。 |
|
|
8086/8088 向 IA-32 架构引入了段(segmentation)。通过分段, 16 位段寄存器可以指向高达 64 KB 的内存段。同时使用四个段寄存器,8086/8088 处理器能够不在段之间切换的情况下寻址达 256 KB。使用段寄存器和额外的 16 位指针可以形成的 20 位地址提供 1 MB 的总寻址范围。 |
|
|
|
|
|
|
|
|
|
|
|
### 2.1.2 Intel® 286 处理器(1982) |
|
|
|
|
|
|
|
|
|
|
|
Intel 286 处理器向 IA-32 架构中引入了保护模式。保护模式使用段寄存器的内容作为选择器(selector)或指针指向描述符表(descriptor table)。描述符(Descriptor)提供 24 位基址,物理内存可达 16 MB,支持基于段交换的虚拟内存管理,以及一些保护机制。这些机制包括: |
|
|
|
|
|
|
|
|
|
|
|
* 段限制检查 |
|
|
|
|
|
* 只读和只执行段选项 |
|
|
|
|
|
* 四种特权级 |
|
|
|
|
|
|
|
|
|
|
|
### 2.1.3 Intel 386 处理器(1985) |
|
|
|
|
|
|
|
|
|
|
|
Intel 386 处理器是 IA-32 体系结构家族中的第一个 32 位处理器。它引入了 32 位寄存器用于保存操作数和寻址。每个 32 位 Intel 386 寄存器的低地址保留了早期 16 位寄存器的内容,允许向后兼容。 386 处理器还提供虚拟化 8086 模式,使得在执行 8086/8088 处理器创建的程序时效率更高。 |
|
|
|
|
|
|
|
|
|
|
|
此外,Intel 386 处理器支持以下功能: |
|
|
|
|
|
|
|
|
|
|
|
* 32 位地址总线,支持多达 4 GB 物理内存 |
|
|
|
|
|
* 段内存模型和一个平面(flat)内存模型 |
|
|
|
|
|
* 分页,使用固定的 4 KB 页面大小为虚拟内存管理提供了一种方法 |
|
|
|
|
|
* 支持并行级 |
|
|
|
|
|
|
|
|
|
|
|
### 2.1.4 Intel 486 处理器(1989) |
|
|
|
|
|
|
|
|
|
|
|
Intel 486 处理器通过将 Intel 386 处理器的指令解码(decode)和执行(execution)扩展到五个流水线步骤,增加了并行执行能力。在不同的执行阶段,每个阶段与其他阶段并行操作,最多可并行执行 5 条指令。 |
|
|
|
|
|
|
|
|
|
|
|
此外,处理器还增加了: |
|
|
|
|
|
|
|
|
|
|
|
* 一个 8 KB 芯片一级缓存,增加了在每个时钟上执行指令的数量 |
|
|
|
|
|
* 集成 x87 FPU |
|
|
|
|
|
* 节能和系统管理能力 |
|
|
|
|
|
|
|
|
|
|
|
### 2.1.5 The Intel® Pentium® 处理器 (1993) |
|
|
|
|
|
|
|
|
|
|
|
Intel Pentium processor 的引入增加了第二个执行管道(execution pipeline),以实现超量性能(两个管道,称为 u 和 v,一起可以在每个时钟上执行两条指令)。芯片上的一级缓存增加了一倍,其中 8 KB 用于代码,另外 8 KB 用于数据。除了 Intel 486 处理器使用的透写缓存(write-through cache)外,数据缓存使用 MESI 协议来支持更有效的回写缓存(write-back cache)。为了提高循环结构的性能,增加了带有芯片上分支表的分支预测。 |
|
|
|
|
|
|
|
|
|
|
|
此外,处理器还增加了: |
|
|
|
|
|
|
|
|
|
|
|
* 扩展使虚拟 8086 模式更高效,并允许 4MB 和 4KB 页面大小 |
|
|
|
|
|
* 128 和 256 位的内部数据路径提速到内部数据传输 |
|
|
|
|
|
* 突破性的外部数据总线增加到 64 位 |
|
|
|
|
|
* 支持多处理器系统的 APIC |
|
|
|
|
|
* 双处理器模式,支持无胶(glueless)双处理器系统 |
|
|
|
|
|
|
|
|
|
|
|
奔腾系列后续引入了 Intel MMX 技术(带 MMX 技术的奔腾处理器)。INTEL MMX 技术使用单指令,多数据(SIMD)执行模型来并行执行 64 位寄存器中的包装(packed)整数数据。 |
|
|
|
|
|
|
|
|
|
|
|
参见 2.2.7 节, “SIMD 指令”。(Todo link) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第三章 Basic Execution Environment |
|
|
# 第三章 Basic Execution Environment |
|
|
|
|
|
|
|
|