微机原理与接口技术课件:典型微处理器_第1页
微机原理与接口技术课件:典型微处理器_第2页
微机原理与接口技术课件:典型微处理器_第3页
微机原理与接口技术课件:典型微处理器_第4页
微机原理与接口技术课件:典型微处理器_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

典型微处理器2.1

8086微处理器简介2.2

8086系统的存储器组织及I/O组织2.3

8086系统的工作模式2.4

8086总线的操作时序2.5

80x86/Pentium系列微处理器本章小结学习目标

微处理器是微型计算机的核心部件,它的有关概念是微型计算机系统的基础。近年来,微处理器发展迅速,新品种和新技术层出不穷。本章以8086为基础,着重讲解了微处理器的基本知识,引导读者熟悉微处理器的基本结构、各部件的功能及其相互关系;在了解微处理器引脚信号定义的基础上,深入理解系统的配置方法和微处理器的总线操作;掌握存储器的分段管理,物理地址和逻辑地址的转换方法。

要求读者了解80x86/Pentium系列高档微处理器的结构特点,体会微处理器技术的进步和关键技术的作用,为进一步学习微型计算机系统打下基础。学习重点

(1) 8086微处理器EU和BIU的基本结构、寄存器组织,以及指令执行的工作流程。

(2) 8086引脚信号定义、作用,总线周期的定义、类型,总线周期中各信号的关系以及总线操作时序。

(3) 8086最小、最大基本系统的配置方法,地址锁存器和总线驱动器的作用和连接方法。

(4)存储器组织和I/O组织。

(5) 80x86/Pentium高档微处理器的功能结构。

2.1

8086微处理器简介

IBMPC微型计算机中的CPU采用Intel8086/8088。8086的内部与外部总线均是16位,在一个总线周期内读写一个字。Intel8088是准16位微处理器,其内部结构是16位,外部数据总线是8位,在一个总线周期内读写一个字节。Intel8086/8088CPU二者的体系结构类似,其指令系统、指令编码格式、寻址方式都完全相同,软件上完全兼容。2.1.1

8086CPU的内部功能结构

1. Intel8086CPU的组成结构

要掌握一个CPU的工作性能和使用方法,首先要熟知其内部逻辑结构,也就是要从程序员和使用者的角度理解其结构。

Intel8086CPU从功能上分为总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecuteUnit)两部分,见图2-1。Intel8086CPU采用指令流水线结构,访问存储器与执行指令的操作分别由BIU和EU分别承担,EU和BIU分工合作、并行操作。图2-1

8086CPU内部结构

总线接口单元BIU完成CPU与存储器﹑I/O端口之间的信息传送。具体功能是根据段寄存器CS和指令指针IP形成20位的物理地址,从存储器中取出指令,并暂存在指令队列中,等待EU取走并执行。如EU发出访问存储器或I/O端口的命令,BIU则根据EU提供的数据和地址,进入外部总线周期,存取数据。执行单元EU的功能是从BIU的指令队列中取出指令代码,然后执行指令所规定的全部功能。如果在执行指令的过程中,需要向存储器或I/O端口传送数据,则EU向BIU发出访问存储器或I/O端口的命令,并提供访问的数据和地址。

2.寄存器结构

CPU中各寄存器﹑存储器和I/O端口是编程的基本场所,其中大部分指令通过内部寄存器来实现对操作数的操作,其结构如图2-2所示。图2-2

8086 CPU的内部寄存器

1)通用寄存器(GeneralRegister)

数据寄存器共有AX、BX、CX、DX 4个,均可作为16位寄存器使用,每个数据寄存器也可作为独立的两个8位寄存器使用(这时AH、AL、BH、BL、CH、CL、DH、DL),具有良好的通用特性。

堆栈指针SP和基址指针BP是16位地址指针。BP和SP作地址指针时,存放偏移量,SP是指向堆栈段内的某一存储单元字数据的偏移量。当进行堆栈操作时,隐含使用堆栈指针SP。如果在指令中不另加说明,用BP作地址指针时,它指向堆栈段内某一存储单元。

16位变址寄存器SI和DI用作地址指针。在变址寻址中,SI、DI的内容作为段内偏移量。在串操作指令中,源串操作数须用SI提供偏移量,目的串操作数须用DI提供偏移量。

2)段寄存器(SegmentRegister)

8086 CPU将存储器分段管理,把将要运行的程序各模块分别放在不同的存储段中。每个存储段用一个段寄存器来指示它的首地址(即段首址),同时给出访问存储单元的偏移量。通用寄存器的特定、隐含使用见表2-1。

一个程序分成多少个存储段可以任选,在程序运行的任何时刻,最多只能有4个当前段分别用CS、DS、ES、SS段寄存器来指明。并且这四个当前段寄存器的作用是绝不允许随便调换的。通常CS一定是指向存放有指令代码的各个代码段,SS是指向被开辟为堆栈区的各个堆栈段,DS和ES通常是指向存放数据的数据段。

3)指令指针寄存器IP(InstructionPointer)

IP是指令的地址指针寄存器。在程序运行期间,CPU自动修改IP的值,使它始终保持正在执行指令的下一条指令代码的起始地址的偏移量。

4)标志寄存器(FlagsRegister)

16位标志寄存器的作用反映CPU在程序运行时的某些状态,该寄存器又称为程序状态字(ProgramStatusWord,PSW)寄存器,该寄存器中有9个标志位,其中6个标志位(CF,PF,AF,ZF,SF,OF)作为状态标志,记载了刚刚执行完算术运算或逻辑运算指令后的某些特征。另外3个标志位(TF,IF,DF)作为控制标志,在执行指令时起控制作用。图2-3中除指明控制标志位外,其余均为状态标志位。

(1)进位标志位CF。在运算数的最高位产生进位或借位时,则CF置1,否则置0。CF也可使用移位类指令,用它保存从最高位(左移时)或最低位(右移时)移出的代码(0或1)。图2-3标志寄存器

(2)奇偶标志位PF。当操作结果低8位中含有1的个数为偶数时,则PF置1,否则置0。PF只检查操作结果的低8位,与该指令操作数的长度无关。

(3)辅助进位标志AF。当进行运算时,如低字节中低4位产生进位或借位时,则AF置1,否则置0。AF只影响运算结果的低4位,与操作数长度无关,用于十进制运算的调整。

(4)零值标志ZF。如运算结果各位为全0时,则ZF置1;否则置0。

(5)符号位SF。将运算结果视为带符号数,如运算结果为负数,则SF置1,否则置0。由于第7/15位是字节操作数/字操作数的符号位,SF与运算结果的最高位一致。

(6)溢出位OF。当运算结果超过机器用补码所能表示数的范围时,则OF置1,否则置0。产生溢出只可能在同号数相加或异号数相减的情况下发生。溢出与进位概念不同。表2-2以字节运算为例说明这两个不同性质的标志位。

(7)单步标志位TF。当TF = 1时,在执行完一条指令后,产生单步中断,由单步中断处理程序把TF置0。TF供调试程序使用。

(8)中断允许位IF。当IF = 1时,允许响应可屏蔽中断,否则不允许响应可屏蔽中断。

(9)方向位DF。DF为串操作指令规定增减方向。当DF = 0时,串操作指令自动使变址寄存器(SI或DI)递增(即串操作是由低地址到高地址),否则串操作指令自动使变址寄存器递减。2.1.2

8086/8088 CPU的引脚功能

8086 CPU是IBMPC微型计算机系统主板的核心,这里只介绍8086 CPU芯片在最小/最大工作模式下的通用引脚,与工作模式有关的引脚在相应的工作模式中介绍。

8086和8088的引脚信号图如图2-4所示。图2-4

8086/8088引脚信号图

8086/8088各引脚信号的功能如下:

(1) AD15~AD0(AddressDataBus)地址/数据复用引脚。在8086中作为地址和数据的复用引脚,在总线周期的T1状态用来输出要访问的存储器或I/O端口地址。T2~T3状态,则是传输数据。在8088中,A8~A15是单纯的地址输出引脚。

(2) A19/S6~A16/S3(Address/Status)地址状态复用引脚。A9/S6~A16/S3在总线周期的T1状态,用来输出地址的最高4位,在总线周期的T2、T3、Tw和T4状态时,用来输出状态信息。其中S6为0,用来指示8086/8088当前与总线相连,S5表明中断允许标志的当前设置,若为1,表示当前允许可屏蔽中断请求;若为0,则禁止一切可屏蔽中断请求。S4、S3合起来指出当前正在使用哪个段寄存器,见表2-3。

(3)

NMI(Non-MaskableInterrupt)非屏蔽中断引脚。

非屏蔽中断不受中断标志IF影响,不用软件屏蔽。每当NMI引脚端输入一个上升沿触发跳变信号时,CPU就会在结束当前指令后,进入对应于中断类型号为2的非屏蔽中断处理程序。

(4) INTR(InterruptRequest)可屏蔽中断请求信号引脚。CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,

如果CPU中的中断允许标志IF为1,且又接收到INTR引脚为高电平信号输入,则CPU就在结束当前指令后,响应中断请求,进入相应的中断处理子程序。

(8)RESET复位信号引脚。8086/8088 CPU要求来到其复位引脚RESET的复位信号至少维持4个时钟周期的高电平才有效,此时CPU将结束当前操作,并对处理器的标志寄存器及指令队列清零,同时将代码段寄存器CS设置为0FFFFH,IP设置为0000H。当复位信号变为低电平时,CPU从0FFFFH:0000H处开始执行程序。

(9) READY“准备好”信号引脚。READY引脚的“准备好”信号是专为慢速存储器或外设与CPU的速度配合而设置,是来自存储器或I/O设备的一个输入信号。在每个总线周期T3状态开始对READY信号进行检测,如果为低电平,则在T3状态之后插入等待周期TW,CPU继续对READY进行检测,若仍为低电平,则会继续插入TW,所以,可插入一个或多个TW。直到READY变为高电平,表示内存或I/O设备准备就绪,才可进入T4状态,完成数据传送,结束当前总线周期。

(10)测试信号引脚。

信号用于指令WAIT结合使用,在CPU执行该指令时,处于空转状态进行等待;当8086的

引脚输入低电平有效信号时,等待状态结束,CPU继续往下执行被暂停的指令。

(11) MN/(Minimum/MaximumModeControl)最小/最大模式控制信号引脚(输入)。最大模式及最小模式的选择控制端。此引脚接 +5 V时,8086 CPU处于最小模式;如接地,则CPU处于最大模式。

(12) GND地和VCC电源引脚。8086/8088均使用单一 +5 V电源。

此外,8086/8088 CPU的第24~31脚在最大模式和最小模式下有不同定义。

2.2

8086系统的存储器组织及I/O组织

2.2.1

8086系统的存储器组织

1.存储器的组成

存储器是由若干存储单元组成的。每个存储单元的唯一地址编号称为物理地址(PhysicalAddress)。8086 CPU共有20根地址线,可直接寻址220 = 1 MB内存空间,地址范围是00000H~0FFFFFH。

8086/8088存储器相邻字节地址单元数据构成一个字数据,用低地址值的字节单元地址作为该字单元地址,一个字数据的高/低8位分别存储在高/低地址字节单元中。

1MB存储空间划分成若干段,每个段限长64 KB,都是可独立寻址逻辑单元。每个段在物理存储器中的段基址是16的整数倍。各个逻辑段在物理存储器中可以是邻接、间隔、部分重叠和完全重叠的。一个物理存储单元可映像到一个或多个逻辑段。

2.逻辑地址与物理地址

8086/8088系列微型计算机的存储单元都有物理地址和逻辑地址(LogicalAddress)两个地址。

CPU与存储器之间的数据交换使用物理地址,程序设计使用逻辑地址,不直接使用物理地址,这有利于存储器的动态管理。一个逻辑地址由段基址和偏移量(OFFSET)两部分组成,偏移量表示某存储单元与它所在段的段基址之间的字节距离,通常将根据寻址方式计算出的偏移量称为有效地址EA(EffectiveAddress)。

CPU访问存储器时,BIU将逻辑地址转换成物理地址。如图2-5所示,转换方法为:

(1)将逻辑地址中的段基址左移4位,形成20位的段首址;

(2)段首址加16位的偏移量,产生20位的物理地址。

物理地址 = 段寄存器的内容

 16 + 偏移地址图2-5物理地址的形成

3.段寄存器的使用

段寄存器的设立不仅使8086的存储空间扩大到1 MB,而且为信息按特征分段存储带来了方便。在存储器中,信息按特征可分为程序代码、数据、微处理器状态等。为了操作方便,存储器可以相应地分为:程序区,用来存放程序的指令代码;数据区,用来存放原始数据,中间结果和最后运算结果;堆栈区,用来存放压入堆栈的数据和状态信息。只要修改段寄存器的内容,就可将相应的存放区设置在存储器的任何位置上。这些区域可以通过段寄存器的设置使之相互独立,也可将它们部分或完全重叠。需要注意的是,改变这些区域的地址时,是以16个字节为单位进行的。图2-6表示了各段寄存器的使用情况。图2-6各段寄存器的使用情况

下面对表2-5中的内容做简要说明如下:

(1)在各种类型的存储器访问中,其段地址要么由“默认”的段寄存器提供,要么由“指定”的段寄存器提供。所谓默认段寄存器是指在指令中不用专门的信息来指定使用某一个段寄存器的情况,这时就由默认段寄存器来提供访问内存的段地址。在实际进行程序设计时,绝大部分都属于这一种情况。在某几种访问存储器的类型中,允许由指令来指定使用另外的段寄存器,这样可为访问不同的存储器段提供方便。这种指定通常是靠在指令码中增加一个字节的前缀来实现的。有些类型存储器访问不允许指定另一个段寄存器,例如,为取指令而访问内存时,一定要使用CS;堆栈操作时,一定要使用SS;字符串操作指令的目的地址,一定要使用ES。

(2)段寄存器DS、ES和SS的内容是用传送指令送入的,但任何传送指令不能向段寄存器CS送数。在后面的宏汇编中,伪指令ASSUME及JMP、CALL、RET、INT和IRET等指令可以设置和影响CS的内容。更改段寄存器的内容意味着存储区的移动,这说明无论程序区、数据区还是堆栈区都可以超过64 KB的容量,都可以利用重新设置段寄存器内容的方法加以扩大,而且各存储区可以在整个存储空间中浮动。

(3)表中“段内偏移地址”一栏指明,除了有两种类型访问存储器是“依寻址方式求得有效地址”外,其他都指明使用一个16位的指针寄存器或变址寄存器。例如,在取指令访问内存时,段内偏移地址只由指令指针寄存器IP来提供;在字符串操作时,源地址和目的地址的段内偏移地址分别由SI和DI提供。除上述以外,为存取操作数而访问内存时,将依不同寻址方式求得段内偏移地址。2.2.2

8086系统的I/O组织

8086系统有专用的输入(IN)、输出(OUT)指令,用于外设端口(即外设接口中的内部寄存器)的寻址。I/O端口与内存分别独立编址。I/O端口使用16位地址A15~A0,I/O端口的地址范围为0000H~FFFFH,寻址空间为64 KB。在以8086为CPU的PC/XT微机中,只使用了10位有效端口地址A9~A0,共1 KB空间,其中A9用于指明外设端口是否在系统板上,A9 = 0为系统板上512个端口,A9 = 1为I/O通道上的512个端口。

PC/XT微机系统已占用的端口地址见表2-6,用户可以使用其余的端口地址。

2.3

8086系统的工作模式

2.3.1最小模式和最大模式

为了适用各种应用场合的要求,8086/8088 CPU在设计中提供了两种工作模式,即最小模式和最大模式。实际机器中究竟处于哪一种模式,根据需要由硬件连接决定。

1.最小模式

最小模式系统中只有8086一个微处理器,总线控制信号由8086产生,系统中的总线控制逻辑电路最小。

2.最大模式

最大模式是指系统包含两个或多个微处理器,其中主处理器是8086,其他为协处理器。与8086/8088配合的协处理器有数值运算协处理器8087和输入/输出协处理器8089。

数值运算协处理器8087专门用于数值运算,能实现多种类型的数值操作,例如高精度的整数和浮点运算,也可以进行超越函数计算。通常情况下,这些运算通过软件方法来实现,而8087是用硬件方法来实现的,因此在系统中加入8087之后,将提高系统的数值运算速度。输入输出处理器8089的主要工作是数据的输入输出和数据格式的转换,它用于输入/输出操作的指令系统,能够为指令输入/输出设备工作,8086不再承担I/O任务,提高了主处理器的效率。

2.3.2最小模式系统

1.最小工作模式系统的典型配置

图2-7是8086在最小模式下的典型配置。在8086的最小模式中,硬件包括:一片8284A时钟发生器;三片8282或74LS373地址锁存器;两片8286/8287作为总线收发器,用以增加数据总线的驱动能力。图2-7

8086最小工作模式的典型配置2.8284A时钟发生器与8086的连接

8284A时钟发生器与CPU的连接如图2-8所示。图2-8

8284A和8086的连接图2-9

8282锁存器与8086的连接图2-10

8286收发器和8088的连接

(2) ALE(AddressLatchEnable)地址锁存允许信号。地址锁存允许信号输出引脚,在任何一个总线周期的T1状态,ALE输出高电平有效信号,表示当前在地址/数据复用总线上输出的是地址信息,地址锁存器8282/8283用ALE作锁存信号进行地址锁存。特别要注意的是在构成最小系统时,ALE端不能被浮空。

(7)HOLD(HoldRequest)总线保持请求信号。当系统中CPU之外的另一个主模块要求占用系统总线,例如DMA控制器要占用系统总线而直接访问内存时,就向CPU发出总线请求,当CPU识别出HOLD信号后,在当前总线周期完成时,于T4状态从CPU的HLDA引脚发出一个回答信号,对HOLD请求做出响应。同时,CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,获得总线控制权,在此后一段时间,HOLD和HLDA都保持高电平。在总线占有部件用完总线之后,才把HOLD信号变为低电平,CPU再次获得地址/数据总线和控制状态线的占有权。

(8)HLDA(HoldAcknowledge)总线保持响应信号。该信号与HOLD信号配合使用。当HLDA有效时,表示CPU对其他主部件的总线请求做出响应,与此同时,所有与三态门相接的CPU的引脚呈现高阻抗,从而让出了系统总线。2.最大模式下系统的典型配置图2-11

086/8088最大工作模式的配置3.总线控制器8288

8288总线控制器的内部结构及引脚排列见图2-12。图2-12

8288总线控制器的内部结构及引脚

4.总线仲裁控制器8289

多处理器系统必须采用总线仲裁器8289来确定总线使用权,并将总线使用权赋给优先级别较高的处理器使用。在解决总线争用的问题上,8289采用并行优先权仲裁、串行优先权仲裁和循环优先权仲裁三种优先权处理方法。

2.4

8086总线的操作时序

2.4.1系统的复位和启动操作

8086的复位和启动操作通过在RESET引脚施加触发信号来执行,见图2-13。图2-13

8086/8088的启动和复位时序

当RESET引脚接收到高电平后的第一个时钟周期的上升沿,即图2-13的①时,8086/8088进入内部RESET阶段。再过一个时钟周期,所有三态输出线就被设置成高阻状态,并且一直维持高阻状态,直到RESET信号回到低电平。但在进入高阻状态的前半个时钟周期,即在前一个时钟周期的低电平期间,见图2-13,这些三态输出线被设置成无作用状态。等到时钟信号又成为高电平时,三态输出线才进入高阻状态。

当8086/8088进入内部RESET时,CPU结束现行操作,维持在复位状态,这时CPU各内部寄存器都被设为初值,见表2-12。复位状态的代码段寄存器CS和指令指针寄存器IP分别被初始化为FFFFH和0000H。所以,8086/8088在复位之后再重新启动时,便从内存的FFFF0H处开始执行指令,使系统在启动时,能自动进入系统程序。2.4.2最小与最大模式下的总线操作

8086对存储器或I/O端口的读写是通过系统总线来进行的,基本时序用总线周期描述,总线周期一般至少由1~4个时钟周期(T1~T4)组成;时钟周期由时钟频率来确定。若8086与慢速的存储器或外设端口相连接,还要在总线周期中插入若干等待周期Tw。

1.最小模式的总线读操作

8086/8088最小工作模式总线读操作时序见图2-14。一个基本的读操作周期包含4个状态,即T1、T2、T3和T4。在存储器和外设速度较慢时,要在T3之后插入一个或数个等待状态Tw。图2-14

8086最小工作模式总线读操作时序

(4)Tw状态。当系统中的存储器或外设的工作速度较慢,从而不能用最基本的总线周期执行读操作时,系统就有一个电路来产生READY信号,READY信号通过时钟发生器8284A传递给CPU。CPU在T3状态的下降沿处对READY信号进行采样。如果CPU没有在T3状态一开始采样到READY信号(当然,这种情况下,在T3状态,数据总线上不会有数据)为低电平,那么,就会在T3和T4之间插入等待状态Tw。Tw可以是一个,也可以是多个。以后,CPU在每个Tw的下降沿处对READY信号进行采样,等到CPU接收到高电平的READY信号后,再把当前Tw状态执行完,便脱离Tw而进入T4。在最后一个Tw状态,数据肯定已经出现在数据线上。所以,最后一个Tw状态中总线的动作和基本总线周期中T3状态完全一样。而在其他的Tw状态,所有控制信号的电平和T3状态的一样,但数据信号尚未出现在数据总线上。

(5) T4状态。在T4状态和前一个状态交界的下降沿处,CPU对数据总线进行采样,从而获得数据。图2-15

8086最小工作模式总线写操作时序

(3) T3及Tw状态。在T3状态中,T2状态有效的信号继续保持有效,继续向外写数据。在T3的下降沿查询READY,若内存或I/O端口在标准总线周期内来不及接收数据,则应通过逻辑电路在T3前沿之前产生READY低电平信号。CPU查到READY信号为低,则在T3之后插入一个Tw,并在Tw前沿继续查询READY,直到READY上升为高电平,则结束等待进入T4状态。

(4) T4状态。总线写状态结束,所有控制信号变为无效状态,所有三态总线变为高阻态。

3.最大工作模式下的总线读操作

最大模式与最小模式的总线读周期操作在逻辑上基本相同,只是在最大模式下要同时考虑CPU发出的信号和总线控制器8288发出的信号。最大模式下,CPU仍发出

信号,而总线控制器由

译码产生存储器读控制信号

和I/O读控制信号

,如把它们看作是

的组合信号则最大模式与最小模式读周期没有区别。而

信号除区分出存储器与I/O端口外,交流特性也比较好。最大模式下,每个总线周期开始前,

被置为无源状态,总线控制器一旦检测到其中任一个为0,则进入一个总线周期。最大模式下总线读周期时序如图2-16所示。图2-16

8086最大工作模式总线读操作时序图2-17

8086最大工作模式总线写操作时序

2.5

80x86 / Pentium系列微处理器

2.5.1

80286微处理器

Intel80286是Intel公司1982年推出的产品。内部和外部数据总线都是16位,地址总线为24位,可寻址224字节即16 MB内存。PCAT机就是IBM公司用80286作为CPU的最早的286PC机。

1. 80286的结构

80286由地址部件、总线部件、指令部件和执行部件等4个功能部件组成。80286将8086中的总线接口部件分成了地址部件、总线部件、指令部件等3个部分,如此提高了这些部件操作的并行性,从而提高了吞吐率,加快了CPU的处理速度。

2. 80286的寄存器

80286的通用寄存器、段寄存器和指令寄存器与8086完全一样,不同之处在于新增加了1个机器状态字MSW寄存器,标志寄存器新增加了3个标志位。MSW是一个16位寄存器,只定义了它的低4位,其中最低位是保护允许(PE)位,当PE = 0时,CPU处在实地址方式;当PE = 1时,CPU处在虚地址保护方式。在CPU复位时,MSW被置为0FFF0H,CPU处在实地址方式。标志寄存器中新增加的3位位于它的最高3位,其他9位标志的定义均相同。

3. 80286的工作方式

80286有实地址和受保护的虚地址两种工作方式。

实地址方式中,80286和8086的工作方式完全一样,使用24位地址中的低20位A19~A0。寻址能力为1 MB,其两种地址,即物理地址和逻辑地址的含义也与8086一样。

在保护方式中,80286可产生24位物理地址,直接寻址能力为16 MB。和实地址方式一样,80286将寻址空间分成若干段,一个段最大为64 KB,物理地址也是由两部分组成:段地址和偏移地址。但在保护方式下的段地址是24位而不是实地址方式下的16位,而段内的偏移地址与实地址方式相同,是由各种寻址方式所决定的16位。80286的段寄存器是16位的,如何存放24位的段地址呢?

在保护方式下,80286的段寄存器不再存放段地址,而是存放一个指针,又称为段选择子。段选择子和偏移地址构成逻辑地址。把程序中可能用到的各种段(如代码段、数据段、附加段、堆栈段)的段地址和相应的特性(称为指述符)集合在一起形成一张表,称为描述符表,存放在内存的某一区域。每个描述符由6个字节组成,其中有3个字节为段地址,段选择子指向每个描述符的起始位置。80286的地址转换机构根据段选择子的值找出描述符中的24位段地址,再与偏移地址相加,就得到24位物理地址,如图2-18所示。图2-18

80286在保护方式下的物理地址形成

由于段选择子有14位,因此可以定义214个描述符;而对应各描述符可定义216(64 K)字节的段,所以80286的逻辑地址寻址能力为214 

 216B = 1000 MB(1 GB)的存储空间。但80286的实际最多只有16 MB,容纳不下这么大的空间,所以只能将其置于辅助存储器(硬盘)上。实际工作时,将当前需要的段调入内存,用过的段返回辅助存储器,这一切都是系统自动管理的。因此,虽然系统只有16 MB内存,但对用户来说,好像在使用1 GB内存。这个1 GB内存称为虚拟内存。2.5.2

80386微处理器

Intel80386是Intel公司1985年推出的一种高性能32位微处理器。80386内部和外部数据线均为32位,地址总线也为32位,可寻址4 GB。

1.80386的结构

80386由总线接口部件、代码预取部件、指令译码部件、执行部件、段管理部件和页管理部件等6个单元组成。80386的结构和80286基本相同,主要的区别是段管理部件和页管理部件。它们负责地址产生、地址转换和总线接口单元的段检查。段管理部件用来把逻辑地址变换成线性地址;页管理部件的功能是把线性地址变换成物理地址。

2.80386的寄存器

80386共有8类寄存器,它们是通用寄存器、段寄存器、指令指示器、标志寄存器、控制寄存器、系统地址寄存器、调试和测试寄存器。

80386有8个32位的通用寄存器,它们是8086和80286的16位通用寄存器的扩展,故命名为累加器EAX、寄存器EBX、计数寄存器ECX、数据寄存器EDX、堆栈指示器ESP、基址指示器ESP、原变址寄存器ESI和目的变址寄存器EDI。它们的低16位可以作为16位寄存器使用,其命名为AX、BX、CX、DX、SP、BP、SI、DI,而AX、BX、CX和DX的低字节(0~7位)和高字节(8~15位)又可以作为8位的寄存器单独使用,其命名仍为AH、AL、BH、BL、CH、CL、DH和DL。

80386的指令指示器EIP和标志寄存器EFLAGS都是32位的寄存器,它们的低16位即是80286的IP和FLAGS,并可单独使用。80386除了保留80286的所有标志外,在高位字的最低两位又增加了两个标志位,虚拟8086方式标志VM和恢复标志RF。在80386处于虚地址保护方式时,使VM = 1,80386就进入了虚拟8086方式。RF标志用于断点和单步操作。

80386有6个16位段寄存器,它们是CS、SS、ES、DS、FS和GS。其中CS和SS的作用与8086相同,而DS,ES,FS和GS都可以用来表示当前的数据段。在80386中存储单元的地址仍由段地址和偏移地址两部分组成,只是此时段地址和偏移地址都是32位的,段地址不是由段寄存器直接确定的,而是与80286一样保存在一个表中,段寄存器的值(使用了14位)只是该表的索引。

80386有4个系统地址寄存器,它们是全局描述符表寄存器GDTR、中断描述符表寄存器IDTR、局部描述符表寄存器LDTR和任务寄存器TR。它们主要用来在保护模式下管理用于生成线性地址和物理地址的4个系统表。

80386有4个控制寄存器CR0~CR3,其中CR1为备用。CR0的低位字节是机器状态字寄存器(MSW),与80286中的MSW寄存器相同。控制寄存器用来进行分页处理。

80386有8个调试寄存器DR0~DR7,主要用来设置程序的断点。

80386有2个测试寄存器TR6和TR7,是用来进行页处理的寄存器。

3.80386的工作方式

80386有实地址、虚地址保护和虚拟8086等3种工作方式。

80386工作在实地址方式中时和8086的工作方式相同,但速度更快,对存储器的寻址也仅使用32位地址的A19~A0,逻辑地址和物理地址的含义也与8086一样。

80386工作在保护方式时,80386可产生32位物理地址,直接寻址能力为4 GB。和80286一样,80386的物理地址也是由段选择子和偏移地址两部分组成的,段选择子也只用了14位,但偏移地址不是16位而是32位。因此80386的逻辑地址可达214个段,每段的长度可达232 B = 4 GB。80386的虚拟内存为214 

 232 B = 64 TB,在80286中虚拟内存的单位是段,80286的段最大为64 KB,在磁盘和内存之间进行调度是可行的,但当段的长度达到4 GB就不合适了。为此在80386中将4 GB空间以4 KB为一页分成1 G个等长的页,并以页为单位在磁盘和内存之间进行调度。

由于80386将段进行了分页处理,所以80386要经过两次转换才能得到物理地址。第1次为段转换,由段管理部件将逻辑地址转换为线性地址;第2次为页转换,由页管理部件将线性地址转换为物理地址。80386的物理地址生成如图2-19所示。从图2-19中可以看到,如果禁止分页功能,线性地址就等于物理地址;如果进行分页处理,线性地址就不同于物理地址。图2-19

80386在保护方式下的地址变换

虚拟8086方式是在虚地址保护方式下,能够在多任务系统中执行8086任务的工作方式。当80386工作在虚拟8086方式时,所寻址的物理内存是1MB,段寄存器的功能不再是描述符表的选择子,将它的内容乘以16就是20位的段起始地址,与偏移地址相加形成20位的线性地址,线性地址再经过页管理部件的分页处理就可得到20位的物理地址。2.5.3

80486微处理器

1. 80486的结构

80486由总线接口部件、代码预取部件、指令译码部件、执行部件、段管理部件、页管理部件以及浮点处理部件和高速缓存等8个单元组成,比80386新增了相当于80387功能的FPU和Cache两个单元。8086/8088、80286和80386的字长为16位或32位,能表达的数据范围不大,对于数值计算不太适宜。为此,在8086/8088、80286和80386微处理器的基础上设计了与之配合的专门用于数值计算的协处理器8087、80287和80387。这些协处理器与8086/8088,80286和80386密切配合,可以使数值运算,特别是浮点运算的速度提高约100倍。而80486将FPU集成在其内部,其处理速度提高显著,大约比80387快3~5倍。为了进一步提高处理速度,在80486内部又集成了8 KBCache。内存中经常被CPU使用到的一部分内容要复制到Cache中,并不断地更新Cache中的内容,使得Cache中总是保存有最近经常被CPU使用的一部分内容。Cache中存放的内容除了内存中的指令和数据外,还要存放这些指令和数据在内存中对应地址。当CPU存取指令和数据时,Cache截取CPU送出的地址,并判别这个地址与Cache中保存的地址是否相同。若相同,则从Cache中存取该地址中的指令或数据;否则从内存中存取。所以,80486可以高速存取指令和数据。

2. 80486的寄存器

80486的寄存器除了FPU部件外,和80386的寄存器完全相同,不同之处是80486对标志寄存器的标志位和寄存器的控制位进行了扩充。

3. 80486的工作方式

80486与80386相同,也有实地址、虚地址保护和虚拟8086等3种工作方式。2.5.4

Pentium微处理器

继80486之后,1993年Intel公司推出Pentium微处理器;1995年推出PentiumPro的微处理器;1997年、1999 年和2000年又相继推出PentiumⅡ、PentiumⅢ和PentiumⅣ微处理器。Pentium是希腊字Pente(意思为5)演变来的。Pentium有64位数据线和32位地址线;PentiumPro/Ⅱ/Ⅲ/Ⅳ具有64位数据线和36位地址线。

除了将控制寄存器和测试寄存器均增加到5个外,Pentium与80486的最大区别是:Pentium内部具有8 KB指令Cache和8 KB数据Cache,而PentiumPro除内部具有8KB指令Cache和8 KB数据Cache外,还有256 KB二级Cache。PentiumⅡ/Ⅲ/Ⅳ的指令Cache和数据Cache均增加到16 KB,二级Cache均增加到512 KB。Pentium和PentiumPro/Ⅱ/Ⅲ/Ⅳ还采用了一些其他的最新技术,在体系结构上还有一些新的特点,因而它们的性能都明显高于80486。

Pentium微处理器除了具有实地址方式、虚地址保护和虚拟80863等3种工作方式外,还增加了一种系统管理方式SMM。系统管理方式主要为系统对电源管理、操作系统和正在运行的程序实行管理而设置。一旦Pentium微处理器收到系统管理中断(系统管理中断引线

有效)请求,无论Pentium微处理器工作在实地址方式、虚地址保护方式还是虚拟8086方式,都立即转换到系统管理方式。在系统管理方式中,执行从系统管理方式返回指令RSM,Pentium微处理器便恢复保存的内容,返回到进入系统管理方式之前的工作方式。实地址方式、虚地址保护方式、虚拟8086方式和系统管理方式4种方式之间的转换关系如图2-20所示。在系统通电或复位之后,微处理器首先进入实地址方式。控制寄存器CR0(80286为机器状态字寄存器MSW)的保护允许标志位PE控制微处理器是工作在实地址方式还是工作在虚地址保护方式,标志寄存器EFLAGS的虚拟8086方式标志位VM决定微处理器是工作在虚地址保护方式还是虚拟8086方式。图2-20

4种工作方式之间的关系图2.5.5

Itanium(安腾)微处理器

Itanium是Intel公司2001年推出的具有超强处理能力的64位微处理器,其数据总线为64位,地址总线也为64位,集成度几乎是Pentium的10倍,其应用目标是高端服务器和工作站。Itanium采用了最先进的CPU设计,具有前所未有的并行处理机制,因此实现了众多的新功能。

(1)采用完全并行指令计算(EPIC)技术。EPIC是Itanium采用的重要技术,EPIC技术的特点是指令的长度长,指令功能复杂。指令中除了包含操作码以及和操作数据有关的信息外,还包含并行执行的方法等信息。由于EPIC技术的引入,使Itanium能够同时执行6条指令。

(2)拥有11个执行单元和9个功能通道。Itanium内部有4个整数执行单元ALU、4个浮点执行单元FMAC、3个分支单元、2个存取单元、2个整数通道、2个浮点通道、2个存储器通道和3个分支通道。多个执行单元和多个通道使Itanium在1个时钟周期中可以执行20个操作。

(3)具有充裕的寄存器组。Itanium内部共有128个通用寄存器、128个浮点寄存器和64个属性寄存器。众多的寄存器使Itanium即使在1个时钟周期中完成20个操作的忙碌情况下,也能保证内部寄存器充足够用,从而减少了等待与传输,提高了执行效率。

(4)可拥有三级Cache。ItaniumⅠ内含有二级Cache,一级Cache包括16 KB的指令Cache和16 KB的数据Cache,二级Cache容量为96 KB。此外,还可外接4 MB的三级Cache,而ItaniumⅡ

则把4MB三级Cache也容纳在片内。2.5.6嵌入式处理器

嵌入式处理器是各种类型面向用户、面向产品、面向应用的嵌入式系统的核心部件,其功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约。不同的嵌入式处理器面向不同的用户,可能是一般用户、行业用户或单一用户。

嵌入式处理可以分成下面几类:

(1)嵌入式微处理器(EMBeddedMicro-ProcessorUnit,EMPU)。

(2)嵌入式微控制器(MicrocontrollerUnit,MCU)。

(3)嵌入式DSP处理器(EMBeddedDigitalSignalProcessor,EDSP)。

(4)嵌入式片上系统(SystemOnChip,SOC)。

目前,嵌入式处理器主要有PowerPC、Motorola68000、MIPS、ARM等系列。在32位嵌入式处理器市场主要有Motorola、ARM、MIPS、TI、Hitachi等公司,有些生产通用微处理器的公司,如Intel、Sun和IBM等,也生产嵌入式的微处理器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论