文章目录
美国Intel 公司是目前世界上最有影响的处理器生产厂家,也是世界上第一个处理器芯片的生产厂家,其生产的80x86系列处理器一直是个人微机的主流处理器,该系列处理器的发展就是微型计算机发展的一个缩影
【前置知识】
总线
处理器芯片的对外引脚(Pin)用于与其他电路进行连接,以构成微型计算机
处理器引脚也常称为处理器总线(Bus)
主要由三组信号总线组成:
-
数据总线(DataBus,DB)
数据总线是处理器与存储器或外设交换信息的通道,其个数(条数)就是一次能够传送数据的二进制位数,通常等于处理器字长
-
地址总线(Address Bus,AB)
地址总线用于指定存储器或外设的具体单元,其个数反映处理器能够访问的主存储器容量或外设范围
由于每个信号只能为高或低电平两种状态,对应 1 或 0 两种编码,所以对于 n 位地址信号线的处理器来说,最多能够组合 2 n 2^{n} 2n 个状态(编码)
每个编码就是一个地址,每个地址指个存储单元或 I/O 端口,其中包含一个字节(Byte)数据
这样有 n 位地址信号线的处理器的主存容量为 2 n B 2^{n}B 2nB ( 1 K B = 2 10 B = 1024 B 1KB=2^{10}B=1024B 1KB=210B=1024B) -
控制总线(Control Bus,CB)
控制总线用于控制处理器数据传送等操作
例如,存储器读信号(MEMR)有效说明处理器正在从存储器中读取信息,还有存储器写(MEMW)、外设读(IOR)、外设写(I0W)等信号
16位80x86处理器
1971年,Intel公司生产的 4 位处理器芯片 4004 宣告了微型计算机时代的到来
1972年,Intel公司开发了 8 位处理器 8008 芯片
1974年,生产了 Intel8080
1977年,Intel公司将 8080 及其支持电路集成在一块集成电路芯片上,形成了性能更高的 8位处理器 8085
1978年开始,Intel公司在其 8 位处理器基础上,陆续推出了 16 位结构的 8086、8088 和 80286(也可以表示成 Intel286,本文采用 80286这种形式)等处理器,它们在 IBM PC 系列机中获得广泛应用,被称为 16 位80x86处理器
1. 8086 / 8088
8086 处理器是 Intel 公司生产的第一个 16 位芯片
-
16位结构的处理器:数据总线为16位
-
主存容量1MB:地址总线为20位 ( 2 20 B = 1024 × 1024 B = 1024 K B = 1 M B 2^{20}B = 1024 ×1024B=1024KB=1MB 220B=1024×1024B=1024KB=1MB)
-
时钟频率5MHz(IBM PC使用4.77MHz)
-
准16位微处理器8088:外部数据总线为8位
-
IBM PC和PC/XT机使用Intel 8088 CPU
2. 80286
80286仍为16位结构的处理器,但地址总线扩展为24位,即主存储器具有16MB容量
IA-32处理器
IA-32(Intel Architecture-32-bit)处理器是指支持32位指令集架构的处理器,它是由 Intel 公司开发的一种计算机体系结构,IA-32 也被称为 x86-32,因为它是 x86 架构的 32 位扩展版本
Intel 公司在推出 32 位结构的 80386 处理器后,确定 80386 芯片的指令集结构 (Instruction Set Architecture,ISA) 为以后开发的 80x86 系列处理器的标准,称为 Intel 32 位结构 (Intel Architecture-32,IA-32)
IA-32处理器
- Intel 80386
- Intel 80486
- Pentium(奔腾)
- Pentium Pro、Pentium II、Pentium III
- Pentium 4
- Celeron(赛扬)、Xeon(至强)、Pentium M
1. 80386
数据总线32位,地址总线32位,可寻址4GB主存,时钟频率有 16、25、33MHz
80386 在兼容原 16 位 80286 指令系统的基础上,全面升级为 32 位
80386 提供了虚拟8086工作方式(Virtual 8086 Mode)
虚拟 8086 方式是在保护方式下的一种特殊状态,类似于 8086 工作方式但又接收保护方式的管理,能够模拟多个 8086 处理器
实模式与保护模式的对比
特性 | 实模式 | 保护模式 |
---|---|---|
位宽 | 16位 | 32位(或64位,使用长模式) |
内存寻址范围 | 最多1MB | 最多4GB(32位)或更高(64位) |
内存保护 | 无保护,程序可以任意访问内存 | 有内存保护,避免程序互相干扰 |
虚拟内存 | 不支持 | 支持虚拟内存 |
多任务 | 不支持 | 支持多任务 |
主要用途 | 早期操作系统、启动阶段 | 现代操作系统、高级应用 |
1990年,为了适应便携机的要求,增加了一种新的工作状态:系统管理方式(System Management Mode,SMM)—— 处理器会根据不同的使用环境,自动减速运行,甚至停止运行,从而降低微机整体能耗
2. 80486
从结构上来说 80486=80386+80387+8KB Cache ,即 80486 把 80386 处理器与 80387 数字协处理器 和 8KB 高速缓冲存储器(Cache) 集成在一个芯片上,使处理器的性能大大提高
【理解】
-
数学协处理器
传统上,中央处理单元CPU主要是整数处理器。为了协助处理器处理浮点数据(实数),Intel公司设计了数学协处理器,后被称为浮点处理单元(Floating-point Processing Unit,FPU)
配合 8086 和 8088 整数处理器的数学协处理器是 8087,配合 80286 的是 80287,配合 80386 的是80387,而从80486开始,FPU已经被集成到处理器中,这样,IA-32处理器能够直接支持浮点数据的操作指令
-
高速缓冲存储器
高速缓冲存储器是处理器与主存之间速度很快但容量较小的存储器,可以有效地提高整个存储器系统的存取速度
80486 不仅在芯片内部集成有 8KB 第一级高速缓存 (L1 Cache),而且支持外部第二级高速缓存 (L2 Cache)
80486 及以后的 IA-32 处理器吸取 RISC(精简指令集计算机,Reduced Instruction Set Computer)技术特长并将其融入 CISC(传统的复杂指令集计算机,Complex Instruction Set Computer)中,同时采用流水线方式的指令重叠执行方法,使80486可以在一个时钟周期执行完一条简单指令(指令流水线技术:将指令的执行划分成多个步骤,在多个部件中独立地进行,这样使得多条指令可以在不同的执行阶段同时进行,就像工厂中的产品流水线一样)
80486DX4是80486处理器中最快的一种芯片:采用时钟倍频思想
为了既能尽量提高处理器的时钟频率以增强性能,又能迁就较慢速的外围部件,使高频率的处理器照样能够使用,Intel公司使用了时钟倍频技术,将外部时钟频率翻倍作为内部工作时钟频率(以前的微机系统中,处理器的内部时钟频率和外部时钟频率是一样的,也是处理器与外围部件的数据传输频率)
3. Pentium(80586)
俗称的 80586 处理器,奔腾处理器
仍然属于32位结构,但其与主存连接的外部数据总线是64位,大大提高了存取主存的速度
Pentium 引入了超标量(Superscalar)技术,内部具有可以并行工作的两条整数处理流水线,可以达到每个时钟周期执行两条指令
Pentium 采用双路高速缓冲结构,将 L1 Cache 分成两个彼此独立的 8KB 代码高速缓冲存储器 和 8KB 数据高速缓冲存储器 ,以减少争用 Cache 的情况
4. Pentium Pro(P6)
原来被称为P6,中文名称为“高能奔腾”
Pentium Pro由两个芯片组成
- 含有一级(L1)Cache (8KB 代码和 8KB 数据)的 CPU
- 含有二级(L2)Cache (256KB 或 512KB)的 CPU
Pentium Pro 扩展了超标量技术,具有12 级指令流水线,能同时执行 3 条指令
Pentium Pro在处理器结构上的最大革新是采用了动态执行技术
动态执行是 3 种技术结合的总称:分支预测(预测程序的正确转移方向)、数据流分析(分析哪些指令依赖于其他指令的结果或数据,以便创建最优的指令执行序列)和推测执行(利用分支预测和数据流分析,推测着执行指令)
5. Pentium Ⅱ
为了顺应微机向多媒体和通信方向发展,Intel 公司及时在其处理器中加入了多媒体扩展(MutliMedia eXtension,MMX) 技术
MMX技术在 IA-32 指令系统中新增了 57 条整数运算多媒体指令,可以用这些指令对图像、音频、视频和通信方面的程序进行优化,使微机对多媒体的处理能力较原来有了大幅度提升
MMX 指令应用于 Pentium 处理器就是 Pentium MMX(多能奔腾)
MMX 指令应用于 Pentium Pro处理器就是 Pentium Ⅱ
6. Pentium Ⅲ
针对因特网和三维多媒体程序的应用要求,Intel 公司在 Pentium Ⅱ 的基础上又新增了 70 条 SSE (Streaming SIMD Extensions) 指令 (原称为 MMX-2指令),开发了Pentium Ⅲ
SSE 指令侧重于浮点单精度多媒体运算,极大地提高了浮点3D数据的处理能力
SSE指令类似于AMD公司发布的 3D Now! 指令
由于这些多媒体指令具有显著的单指令多数据 (Single Instruction Multiple Data,SIMD) 处理能力,即一条指令可以同时进行多组数据的操作(主要用于处理多媒体数据),所以现在统称为 SIMD指令
7. Pentium 4
Pentium Pro、Pentium Ⅱ 和 Pentium Ⅲ 都基于 P6 微结构
Pentium 4 采用 NetBurst 的微结构 —— 是第一个基于 NetBurst 微结构的CPU,该结构允许CPU运行在更高的时钟速度
Pentium 4 支持超线程技术(Hyper Threading),支持 SSE2 和 SSE3 指令
8. Celeron 和 Xeon
- Celeron(赛扬) 处理器
- 面向低端(低价位)PC机
- 采用减少高速缓存容量、改用低成本封装或降低时钟频率等方法来降低成本
- **Xeon(至强)**处理器
- 面向高端服务器、工作站
- 通过增加Cache容量、提高工作频率、支持多处理器等方法提高性能
Intel 64 处理器
Intel 64 处理器:
- 采用RISC结构的64位处理器
- 主要面向服务器和工作站等高端应用,不能兼容通用PC
- (2000年)安腾采用显式并行指令计算机(EPIC)技术
IA-32 与 IA-64 区别:
- IA-64 不是 IA-32 结构的 64 位扩展
- 安腾处理器(IA-64)利用超长指令字技术,主要依靠软件提高指令级并行性
- IA-32利用超标量技术,主要借助硬件提高指令级并行性
Intel 64 结构
- 提供64位线性地址空间,支持40位物理地址空间
- 32位扩展工作方式(IA-32e)
- 在64位工作方式下,64位操作系统运行存取64位地址空间的应用程序、8个附加的通用寄存器、8个附加的SIMD多媒体寄存器、64位通用寄存器和64位指令指针等
Intel Core 微结构
- 提高了性能并降低了功耗
- 多核处理器的基础
多核技术(Multi-core)
- 一个芯片上制作两个或多个处理器执行核心
参考教材 《微机原理与接口技术——基于IA-32处理器和32位汇编语言(第5版)》