购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.7 X86系列处理器技术

3.7.1 X86体系架构发展历程

1978年6月8日,美国Intel公司发布了新款16位微处理器“8086”,也同时开创了一个新时代。X86是指特定微处理器执行的一些计算机语言指令集,其定义了芯片的基本使用规则。X86是Intel公司一个通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有86系统的简单的通配符定义,例如i386、586、奔腾(Pentium)。

由于早期Intel公司的CPU编号都是如8086、80286等,这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合。如今的奔腾、P2、P4、赛扬系列都是支持X86指令系统的,所以其都属于X86家族。X86指令集是Intel公司为其第一块16位CPU(i8086)专门开发的,IBM公司1981年推出的世界第一台PC机中的CPU-i8088(i8086简化版)使用的也是X86指令。虽然随着CPU技术的不断发展,Intel公司陆续研制出更新型的i80386、i80486,乃至今天的Pentium4(简称“P4”)系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。

3.7.2 X86体系架构简介

X86-64(也称X64、X86_64、AMD64和Intel64)是X86指令集的64位版本。该架构支持4级分页模式,并且引入了兼容操作模式和全新的64位操作模式。使用64位模式和新的分页模式,它支持的虚拟内存和物理内存量远远超过以前的32位版本,允许程序在内存中存储大量数据。X86-64还扩展通用寄存器到64位,并将它们的数量从8(其中一些具有有限或固定的功能,例如用于堆栈管理)扩展到16(完全通用),并提供许多其他增强功能。

若64位操作系统支持,则兼容模式允许16位和32位用户应用程序以64位应用程序的形式运行。该架构同时具备长模式和传统模式。长模式是架构的主要操作模式,它是处理器的主机64位、32位和16位兼容模式的组合模式。由于基本指令集相同,因此执行保护模式X86代码几乎没有性能损失。32位和16位操作系统使用传统模式。在此模式下,处理器的作用类似于32位X86处理器,只能执行16位和32位代码。

3.7.3 典型的X86系列处理器

Intel 8086是一个由Intel公司于1978年所设计的16位微处理器芯片,是X86架构的“鼻祖”。Intel 8086面世不久之后,Intel公司就推出了Intel 8088(一个拥有8位外部数据总线的微处理器)。它是以8080和8085的设计为基础,但地址总线扩充为20位。总线接口单元通过6字节预存的队列位指令给执行单元,所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1 MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

Intel 8086 CPU特点如下:

(1)16位微处理器。

(2)采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万只晶体管。

(3)使用单一的+5 V电源,40条引脚双列直插式封装。

(4)时钟频率为5~10 MHz,基本指令执行时间为0.3~0.6 ms。

(5)16根数据线和20根地址线,可寻址的地址空间达1 MB。

(6)8086可以和浮点运算器、输入/输出处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。

(7)8086微处理器从功能上可以划分为两个逻辑单元:执行部件和总线接口部件。

(8)8086微处理器的寄存器结构:按其用途可分为通用寄存器、段寄存器、指针和标志寄存器三类。Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。此外,Intel 8086有四个内存区段寄存器,可以从索引寄存器来设定。

3.7.4 技术特征

1)工作模式

X86处理器有三个主要的操作模式:保护模式、实地址模式和系统管理模式。此外保护模式下存在虚拟8086模式。

保护模式是处理器的原生状态,在这种模式下所有的指令和特性都是可用的。分配给程序的独立内存区域被称为段,而处理器会阻止程序使用自身段范围之外的内存。

(1)虚拟8086模式。保护模式下,处理器可以在一个安全环境中,直接执行实地址模式软件。换句话说,如果一个程序崩溃了或是试图向系统内存区域写数据,就不会影响同一时间内执行的其他程序。现代操作系统可以同时执行多个独立的虚拟8086模式。

(2)实地址模式。实地址模式实现的是早期Intel处理器的编程环境,但是增加了一些其他特性,如切换到其他模式的功能。当程序需要直接访问系统内存和硬件设备时,这种模式就很有用。

(3)系统管理模式。系统管理模式向操作系统提供了实现诸如电源管理和系统安全等功能的机制。这些功能通常是由计算机制造商实现的。

2)寄存器组织形式

X86架构具有16个宽度为256位的浮点寄存器,每个寄存器分为低位和高位,由于X86架构的向后兼容性,寄存器中的低位128位又可作为128位的浮点寄存。此外X86-64 Haswell架构还提供17个64位通用寄存器,同时支持32位(或16位)工作模式,对原来17个64位通用寄存器的低位进行操作。

3)X86内存管理

在32位保护模式下,一个任务或程序最大可以寻址4 GB的线性地址空间。从P6处理器开始,一种被称为扩展物理寻址的技术使得可以被寻址的物理内存空间增加到64 GB。与之相反,实地址模式程序只能寻址1 MB空间。如果处理器在保护模式下运行多个虚拟8086程序,则每个程序只能拥有自己的1 MB内存空间。

X86处理器在基本操作模式下来管理内存,保护模式是最可靠、最强大的。但它对应用程序直接访问系统硬件有着严格的限制。在实地址模式中只能寻址1 MB内存,处理器只能一次运行一个程序,但是可以暂时中断程序来处理来自外围设备的请求(称为“中断”)。应用程序被允许访问内存的任何位置,包括那些直接与系统硬件相关的地址。在变化模式中,处理器可以同时运行多个程序,它为每个进程(运行中的程序)分配总共4 GB的内存。每个程序都分配有自己的保留内存区域,程序之间禁止任意访问其他程序的代码和数据。

4)中断和异常管理

8086/8088把中断分为内部中断和外部中断两大类。为了支持多任务和虚拟存储器等功能,80386把外部中断称为“中断”,把内部中断称为“异常”。与8086/8088一样,80386通常在两条指令之间响应中断或异常。80386最多处理256种中断或异常。

(1)中断。对80386而言,中断是由异常的外部事件引起的。外部事件及中断响应与正执行的指令无关。

外部硬件在通过INTR发出中断请求信号的同时,还要向处理器给出一个8位的中断向量。处理器在响应可屏蔽中断请求时,读取这个由外部硬件给出的中断信号。处理器对这个中断向量号并没有规定。但在具体的微机系统中,系统必须通过软件和硬件的配合设置,使得给出的这个中断向量号不仅与外部中断源对应,而且要避免中断向量号使用冲突情况的出现。可编程中断控制器芯片8259A可配合80386工作,能够根据设置向处理器提供上述中断向量号,还能处理中断请求的优先级。每个8259A芯片可以支持8路中断请求信号,如果使用9个8259A芯片(1个主片、8个从片),就可使80386在单个引脚INTR上接收多达64个中断源的中断请求信号。

(2)异常。异常是80386在执行指令期间检测到不正常的或非法的条件所引起的。异常与正执行的指令有直接的联系。例如:①执行除法指令时,除数等于0;②执行指令时发现特权级不正确。当发生这些情况时,指令就不能成功完成。软中断指令也归类于异常而不称为中断,这是因为执行这些指令时产生了异常事件。

80386识别多种不同类别的异常,并赋予每种类别不同的中断向量号。异常发生后,处理器就像响应中断那样处理异常,即根据中断向量号转换相应的中断处理程序。

(3)优先级。在一条指令执行期间,如检测到不止一个中断或异常,那么按表3-6所列优先级通知系统。把优先级最高的中断或异常通知系统,其他优先级较低的异常被废弃,而优先级较高的中断则保持悬挂。

表3-6 中断优先级 e4buDimGwJT5LsCZbEZVG+ttZa5zeEgX3GalUbbk7JKPrvZxQD+yV8MzTAM8h/QP

点击中间区域
呼出菜单
上一章
目录
下一章
×