微处理器与系统结构

上传人:汽*** 文档编号:578866940 上传时间:2024-08-25 格式:PPT 页数:116 大小:1.53MB
返回 下载 相关 举报
微处理器与系统结构_第1页
第1页 / 共116页
微处理器与系统结构_第2页
第2页 / 共116页
微处理器与系统结构_第3页
第3页 / 共116页
微处理器与系统结构_第4页
第4页 / 共116页
微处理器与系统结构_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《微处理器与系统结构》由会员分享,可在线阅读,更多相关《微处理器与系统结构(116页珍藏版)》请在金锄头文库上搜索。

1、第二章第二章第二章第二章 微处理器和微处理器和微处理器和微处理器和 系统结构系统结构系统结构系统结构1本章内容提要本章内容提要本章内容提要本章内容提要 本章主要介绍本章主要介绍微处理器(微处理器(CPU)的主要组成部分及各部分功能的主要组成部分及各部分功能 Intel 8086微处理器组成结构、引脚信号及功能微处理器组成结构、引脚信号及功能 X86系统组成系统组成2第一节第一节第一节第一节 微处理器的基本结构微处理器的基本结构微处理器的基本结构微处理器的基本结构3微处理器的主要组成部件微处理器的主要组成部件微处理器的主要组成部件微处理器的主要组成部件v微处理器(微处理器(CPU)由下列主要部分

2、组成:由下列主要部分组成:算术逻辑单元算术逻辑单元 ALU控制器控制器寄存器阵列寄存器阵列总线和总线缓冲器总线和总线缓冲器 高性能的高性能的CPU还有:指令预取部件,指令译码部件、还有:指令预取部件,指令译码部件、 地址形成部件、存储器管理部件等。地址形成部件、存储器管理部件等。 4一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(ALUALU)ALU是对二进制数进行算术逻辑运算的基本部件。是对二进制数进行算术逻辑运算的基本部件。数据加工处理可归纳为两种基本运算:数据加工处理可归纳为两种基本运算: 算术运算,逻辑运算。算术运算,逻辑运算。5一、算术逻辑运算

3、单元(一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(ALUALU)()()()(续)续)续)续) 算术运算:算术运算: 可进行无符号数和带符号数的加、减、乘、除可进行无符号数和带符号数的加、减、乘、除 运算,符号数采用补码表示,减法通过求负数的补码运算,符号数采用补码表示,减法通过求负数的补码 而变成加法运算。还可进行而变成加法运算。还可进行BCD码运算。码运算。 乘、除可以通过多次重复加、减和移位实现。乘、除可以通过多次重复加、减和移位实现。 6一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(ALUALU)()()()(续)续)续)

4、续)例如:例如:13 11=143=8FH 1 1 0 1 采用部分积左移和加法采用部分积左移和加法 1 0 1 1 可完成二进制乘法。可完成二进制乘法。 1 1 0 1 1 1 0 1 部分积左移部分积左移 0 0 0 0 + .1.1.0.1 1 0 0 0 1 1 1 17一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(ALUALU)()()()(续)续)续)续) 逻辑运算:可完成逻辑逻辑运算:可完成逻辑“与与”、“或或”、“非非”、“异或异或”、“移位移位”等基本的逻辑运算。等基本的逻辑运算。 浮点运算:浮点数可以看作是由两个定点数浮点运算:浮点

5、数可以看作是由两个定点数组成,尾数与阶码。在对阶后可以对尾数进行运算。组成,尾数与阶码。在对阶后可以对尾数进行运算。 浮点数运算可以用软件实现。也可以专门生产浮浮点数运算可以用软件实现。也可以专门生产浮点运算部件和浮点微处理器,并设有专门的浮点运算点运算部件和浮点微处理器,并设有专门的浮点运算指令,可进行指令,可进行32位或位或64位浮点加、减、乘、除运算。位浮点加、减、乘、除运算。 Pentium处理器已把浮点处理器与主处理器集成到一处理器已把浮点处理器与主处理器集成到一个芯片上。个芯片上。 早期的浮点处理器有:早期的浮点处理器有:8087、80287、80387协处理器。协处理器。8一、算

6、术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(一、算术逻辑运算单元(ALUALU)()()()(续)续)续)续) ALU原理框图如下:原理框图如下:9二、控制器二、控制器二、控制器二、控制器 CTRL是发布操作命令的部件,操作的顺序需要是发布操作命令的部件,操作的顺序需要精确的定时,其内部主要组成如下:精确的定时,其内部主要组成如下: 1、指令部件、指令部件 包括程序计数器(包括程序计数器(PC),指令寄存器(指令寄存器(IR),),指指 令译码器(令译码器(ID)。)。 2、时序部件时序部件 包括时钟系统,脉冲分配器。包括时钟系统,脉冲分配器。 3、微操作控制部件、微操作控制部

7、件 可采用组合逻辑控制,微程序控制和可编程逻辑可采用组合逻辑控制,微程序控制和可编程逻辑阵列(阵列(PLA)来实现。来实现。10二、控制器(续)二、控制器(续)二、控制器(续)二、控制器(续)控制器的组成框图(图控制器的组成框图(图2.2)11二、控制器(续)二、控制器(续)二、控制器(续)二、控制器(续) 时钟周期(时钟周期(T state):):主时钟的两个脉冲主时钟的两个脉冲前沿的时间间隔称为一个时钟周期,又称为前沿的时间间隔称为一个时钟周期,又称为T状态。状态。它它CPU操作的最小时间单位。操作的最小时间单位。 机器周期:由机器周期:由25个个T状态组成一个机器周状态组成一个机器周期(

8、期(Machine Cycle),),称为称为M周期,又叫做总线周周期,又叫做总线周期,用来完成一个基本操作,如期,用来完成一个基本操作,如 MEM读读/写,写,I/O读读/写等。写等。 指令周期:一条指令(的取出和)执行所需指令周期:一条指令(的取出和)执行所需的时间称为指令周期(的时间称为指令周期(Instruction Cycle),),一条指一条指令执行需令执行需15个个M周期。周期。12二、控制器(续)二、控制器(续)二、控制器(续)二、控制器(续)M2M5CLKT4T3T1T2 M1机器周期机器周期 指令周期指令周期(包括(包括15个机器周期)个机器周期)指令周期、机器周期与时钟周

9、期的关系如下图指令周期、机器周期与时钟周期的关系如下图13二、控制器(续)二、控制器(续)二、控制器(续)二、控制器(续)微操作控制部件:微操作控制部件: 根据指令产生计算机各部件所需要的控制信号,根据指令产生计算机各部件所需要的控制信号,如传送、加减、逻辑运算等,由译码如传送、加减、逻辑运算等,由译码 器输出、节拍器输出、节拍发生器输出等进行组合而产生,完成指令所规定的全发生器输出等进行组合而产生,完成指令所规定的全部操作。部操作。 14二、控制器(续)二、控制器(续)二、控制器(续)二、控制器(续)该部件可采用:该部件可采用:组合逻辑控制(控制信号采用组合逻辑电路设计实组合逻辑控制(控制信

10、号采用组合逻辑电路设计实 现);现);微程序控制(若干微指令组成的微程序);微程序控制(若干微指令组成的微程序); 可编程逻辑阵列(可编程逻辑阵列(PLA、EPLD等)等) PLA(Programmable Logic Array) EPLD(Electrically Programmable Logic Device)等方法实现。等方法实现。15三、总线与总线(缓冲器)部件三、总线与总线(缓冲器)部件三、总线与总线(缓冲器)部件三、总线与总线(缓冲器)部件 所谓总线是指计算机中传送信息的一组通信线,所谓总线是指计算机中传送信息的一组通信线,将多个部件连成一个整体。可以简单分为:将多个部件连成

11、一个整体。可以简单分为: 片内总线:在片内总线:在CPU内部或部件内部各单元之间传内部或部件内部各单元之间传送信息的总线(又可细分为单总线、双总线(输入送信息的总线(又可细分为单总线、双总线(输入/输输出出BUS)、)、多总线结构);多总线结构); 片外总线:片外总线:CPU与外部部件之间传送信息的总线。与外部部件之间传送信息的总线。 片外总线又称为系统总线,通常系统总线分为地片外总线又称为系统总线,通常系统总线分为地址总线、数据总线、控制总线,即所谓三总线结构。址总线、数据总线、控制总线,即所谓三总线结构。16三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线

12、(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续) 因为多个部件均挂在总线上,但各部件工作情况因为多个部件均挂在总线上,但各部件工作情况并非完全一样(有的作为信源发,有的作为接收器并非完全一样(有的作为信源发,有的作为接收器收)。收)。 由于数据或信息代码是用由于数据或信息代码是用电位高低电位高低来表示,若某来表示,若某一时刻有几个部件同时向一时刻有几个部件同时向BUS发送数据,则发送数据,则BUS上的上的情况就成为情况就成为不确定不确定的了,电路也可能被的了,电路也可能被烧毁烧毁。 所以所以同一时刻只允许一个部件向同一时刻只允许一个部件向BUS发送信息发送信息。 而接收数据就没有上述限制

13、,同一时刻可允许多而接收数据就没有上述限制,同一时刻可允许多个部件接收数据。个部件接收数据。17三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续) 总线缓冲器:在工作过程中,常常要求挂在总线缓冲器:在工作过程中,常常要求挂在BUS上的某些部件在电气连接上与上的某些部件在电气连接上与BUS “脱开脱开”,使这些使这些部部件对件对BUS上其它部件的工作不产生影响,为此,可在上其它部件的工作不产生影响,为此,可在部件内部设置三态缓冲器。部件内部设置三态缓冲器。 DATA3态态BUFBUS; 三态缓冲器(三态缓冲器(

14、3态态BUF)处于:处于: 低阻(高低电平)低阻(高低电平)挂挂BUS上;上; 高阻高阻逻辑上脱开。逻辑上脱开。18三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)“脱开脱开”状态:状态: 处于高阻状态,开路状态,浮空状态;处于高阻状态,开路状态,浮空状态; 逻辑上逻辑上“脱开脱开”,物理上仍连在一起。,物理上仍连在一起。总线缓冲器分为:总线缓冲器分为:单向三态缓冲器,如地址总线缓冲器只发地址信息,单向三态缓冲器,如地址总线缓冲器只发地址信息, (地址(地址BUS是单向的);是单向的);双向三态缓冲器,如数

15、据总线缓冲器,既可发又可双向三态缓冲器,如数据总线缓冲器,既可发又可 收数据(数据收数据(数据BUS是双向的)。是双向的)。19三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续) 采用总线结构的优点是:采用总线结构的优点是: 减少信息传输线数目;减少信息传输线数目; 提高系统的可靠性;提高系统的可靠性; 增加系统灵活性;增加系统灵活性; 便于实现系统标准化。便于实现系统标准化。20四、寄存器阵列(四、寄存器阵列(四、寄存器阵列(四、寄存器阵列(Register ArrayRegister Array) 在在C

16、PU内部,有一个临时存放地址和数据的寄存内部,有一个临时存放地址和数据的寄存器阵列。这个阵列因器阵列。这个阵列因CPU的不同而不同,有的称寄存的不同而不同,有的称寄存器堆,寄存器多少有差别,但其功能相似。器堆,寄存器多少有差别,但其功能相似。 寄存器阵列大致分为以下四组:寄存器阵列大致分为以下四组:1. 存放待处理数据的寄存器;存放待处理数据的寄存器;2.2. 存放地址码的寄存器;存放地址码的寄存器;3.3. 存放控制信息的寄存器;存放控制信息的寄存器;4.4. 起数据或地址缓冲器作用的寄存器起数据或地址缓冲器作用的寄存器。21四、寄存器阵列(四、寄存器阵列(四、寄存器阵列(四、寄存器阵列(R

17、egister ArrayRegister Array) (续)(续)(续)(续)存放地址的寄存器存放地址的寄存器1.指令指针(指令指针(IP)或程序计数器(或程序计数器(PC:Program Counter););2.堆栈指示器(堆栈指示器(SP: Stack Pointer););3.其它可存放地址的寄存器(其它可存放地址的寄存器(Register), 例如变址例如变址REG、基址、基址REG。存放数据的存放数据的REG1.累加器(累加器(AC: Accumulator);2.通用通用REG组,组,A,B,C,D等。等。22四、寄存器阵列(四、寄存器阵列(四、寄存器阵列(四、寄存器阵列(R

18、egister ArrayRegister Array) (续)(续)(续)(续)存放控制信息的存放控制信息的REG1.指令寄存器(指令寄存器(IR: Instruction Register)指令代指令代码;码;2.标志寄存器(标志寄存器(FR: Flag Register),),通常设有通常设有SF、ZF、AF、PF、CF、OF、IF、DF等标志。等标志。起数据缓冲作用的起数据缓冲作用的REG1.数据总线缓冲数据总线缓冲REG(DBUF:Data BUS Buffer);2.地址总线缓冲地址总线缓冲REG (ABUF:Address BUS Buffer )。)。 三态,单向,内外部地址三

19、态,单向,内外部地址BUS之间缓冲。之间缓冲。23第二节第二节第二节第二节 Intel 8086Intel 8086微处理器微处理器微处理器微处理器 248086 8086 微处理器微处理器微处理器微处理器 8086是一种单片微处理器芯片,内外部数据总线是一种单片微处理器芯片,内外部数据总线16位,对外位,对外40条引脚,主时钟条引脚,主时钟5MHz、 8MHz、10MHz等。等。 20条地址引脚,直接寻址条地址引脚,直接寻址220 =1MByte,可访问可访问64K个个I/O端口,具有端口,具有24种寻址方式,可以对位、字节、种寻址方式,可以对位、字节、字、字符串、字串、字、字符串、字串、B

20、CD码、码、ASCll码等多种数据类型码等多种数据类型进行处理。进行处理。25一、一、一、一、8086 8086 的寄存器阵列的寄存器阵列的寄存器阵列的寄存器阵列 CPU内部有内部有4组组REG,共共14个个16位位REG供编程人供编程人员使用。员使用。1.通用通用REG组组 AX 主累加器主累加器 BX 累加器或基址累加器或基址REG CX 累加器或计数器累加器或计数器 DX 累加器或累加器或I/O地址地址REGAHALBHBLCHCLDHDL26一、一、一、一、8086 8086 的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续) 2.指针与变址指针与变址REG组组

21、堆栈指针堆栈指针 基址指针基址指针 源变址器源变址器 目的变址器目的变址器SPBPSIDI变址变址REG指针指针REG27一、一、一、一、8086 8086 的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续) 3. 段段REG组组 代码段代码段 数据段数据段 堆栈段堆栈段 附加段附加段 段段REG是存放内存地址的高位地址,地址形成是是存放内存地址的高位地址,地址形成是由段寄存器地址左移由段寄存器地址左移4位加上对应的偏移量。位加上对应的偏移量。CSDSSSES28一、一、一、一、8086 8086 的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续)例

22、如:被取指令的地址为例如:被取指令的地址为CS左移左移4位加上位加上IP的值。的值。 若若CS =2000H,IP=0100H 则指令地址为则指令地址为 2 0 0 0 0 H + 0 1 0 0 H 2 0 1 0 0 H SS段与段与SP或或BP对应;对应; DS/ES与与SI、DI、BX等结合使用,串操作时有约等结合使用,串操作时有约定。定。29一、一、一、一、8086 8086 的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续)的寄存器阵列(续) 4. 控制控制REG 指令指针指令指针 标志标志REG IPFRH FRL30二、二、二、二、8086 8086 CPUCPU的功能结构

23、的功能结构的功能结构的功能结构 8086 CPU按功能可分为两大部分:按功能可分为两大部分: 一部分为一部分为BIU(BUS Interface Unit); 专门负责取指令和存取操作数。它与专门负责取指令和存取操作数。它与BUS打交道。打交道。 一部分为一部分为EU(Execution Unit)。)。 专门负责分析指令与执行指令。它不与系统专门负责分析指令与执行指令。它不与系统BUS 打交道。打交道。 31二、二、二、二、8086 8086 CPUCPU的功能结构(续)的功能结构(续)的功能结构(续)的功能结构(续) 8086CPU的功能结构的功能结构32二、二、二、二、8086 8086

24、 CPUCPU的功能结构(续)的功能结构(续)的功能结构(续)的功能结构(续) BIU与外部总线打交道,负责取指令、读写操作与外部总线打交道,负责取指令、读写操作数、地址转换与总线控制;数、地址转换与总线控制; EU负责指令译码与执行指令的工作。负责指令译码与执行指令的工作。 取指令与执行指令操作是并行的,提高了取指令与执行指令操作是并行的,提高了CPU的的利用率,这种重叠操作技术,提高了整个系统的运行利用率,这种重叠操作技术,提高了整个系统的运行速度。速度。33二、二、二、二、8086 8086 CPUCPU的功能结构(续)的功能结构(续)的功能结构(续)的功能结构(续) 早期的计算机取指令

25、、执行指令是按照时间顺序早期的计算机取指令、执行指令是按照时间顺序进行的。而进行的。而8086 CPU 是二者并行同时操作的。如图:是二者并行同时操作的。如图: t队列队列BIUEU t 重叠执行指令的过程重叠执行指令的过程取指取指1执行执行1取指取指2执行执行212,33,4,54,5,6取指令取指令1取指令取指令2取指令取指令3读数据读数据等待等待执行执行1执行执行2执行执行334二、二、二、二、8086 8086 CPUCPU的功能结构(续)的功能结构(续)的功能结构(续)的功能结构(续)1.BIU总线接口单元总线接口单元 8086CPU与外设的接口部件,提供与外设的接口部件,提供16位

26、数据总线位数据总线与与20位地址总线。位地址总线。内部由段内部由段REG、IP、内部通信内部通信REG、指令队列、指令队列、地址加法器和总线控制逻辑等地址加法器和总线控制逻辑等组成组成;完成取指令、指令排队、读完成取指令、指令排队、读/写操作数、地址转换写操作数、地址转换与总线控制等与总线控制等工作工作;队列为队列为先进先出的原则组织先进先出的原则组织FIFO(First In FirstOut),实现流水线操作,高性能实现流水线操作,高性能CPU更是如此。更是如此。8086有有6个个Byte指令队列;需要两个指针,指令队列;需要两个指针,OUT与与IN指针;指针;35二、二、二、二、8086

27、 8086 CPUCPU的功能结构(续)的功能结构(续)的功能结构(续)的功能结构(续)当遇到当遇到BIU正准备取指令而正准备取指令而 EUBIU申请读申请读/写写 MEM或或 I/O时,时,则则先先取指令,取指令,后后读读/写操作数;写操作数;当队列中当前有两个字节空间时,当队列中当前有两个字节空间时,BIU顺序预取指顺序预取指令并令并填满填满队列;队列;当遇到当遇到CALL、JMP、INT n等指令时,先把等指令时,先把 IP 压压入堆栈,再清除队列,再重新取满队列;入堆栈,再清除队列,再重新取满队列; 36二、二、二、二、8086 8086 CPUCPU的功能结构(续)的功能结构(续)的

28、功能结构(续)的功能结构(续)2.EU执行单元执行单元组成:组成:ALU、FR、8个通用个通用REG、暂存器、队列暂存器、队列控制逻辑与时序控制逻辑(控制逻辑与时序控制逻辑(EU控制器)等;控制器)等;完成工作:指令译码与执行指令;完成工作:指令译码与执行指令;EU没有连接到总线上,所以对系统总线来说,它没有连接到总线上,所以对系统总线来说,它是是“外界外界”的。的。37三、三、三、三、8086 8086 CPUCPU引脚及其功能引脚及其功能引脚及其功能引脚及其功能8086CPU 引脚图引脚图38三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(

29、续)引脚及其功能(续)1.AD15 AD0 : (地址(地址/数据复用信号)数据复用信号) 16条,双向,三态地址条,双向,三态地址/数据线,输入数据线,输入/出信号,出信号,多路开关,分时复用(低多路开关,分时复用(低16位地址线与位地址线与16位数据线位数据线公用这些引线),从时间上加以区分。公用这些引线),从时间上加以区分。 在在T1周期,输出周期,输出MEM或或I/O口地址,口地址,T2 T4则为则为数据收发信号。数据收发信号。39三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)2.A19 / S6 A16 / S

30、3 : 地址地址/状态输出信号,三态状态输出信号,三态T1时,作为时,作为MEM的的A19 A16地址信号(访问地址信号(访问I/O 口时,保持低电平);口时,保持低电平);T2 T4时,输出状态信息;时,输出状态信息;S5 :中断允许标志位状态(:中断允许标志位状态(IF););S4与与S3:现行使用哪个段:现行使用哪个段REG;40三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)S4与与S3编码编码性能性能对应的段对应的段REG0 0附加数据附加数据ES0 1堆栈段堆栈段SS1 0代码段代码段CS1 1数据段数据段DS

31、 S6指示哪个处理器在使用总线:指示哪个处理器在使用总线: S6 =0,8086使用;使用; S6 =1,其它处理器使用。其它处理器使用。41三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)3.BHE/ S7 :允许高字节传送允许高字节传送/状态输出状态输出在在T1状态,状态, BHE在高在高8位数据总线位数据总线D15 D8上传送上传送 一个字节数据;一个字节数据;BHE与与A0把存储器分为两组(高组与低组):把存储器分为两组(高组与低组):S7状态信号没定义。状态信号没定义。BHEA0状态状态0 016位数据位数据01

32、高高8位(位( D15 D8 )10低低8位(位( D7 D0 )11保留不用保留不用42三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)4.RD 读信号,输出读信号,输出 读读MEM或或I/O操作,由操作,由M/IO引脚决定是读引脚决定是读M还是还是I/O口:口:M/IO=1,读读MEM; M/IO=0,读读I/O口。口。5.READY:(:(输入)外部器件发回的准备就绪信号输入)外部器件发回的准备就绪信号 由由MEM或或I/O口发回的应答信号,口发回的应答信号,CPU在在T3的上的上升沿检测该信号,若为高,则准备就绪,

33、不插入升沿检测该信号,若为高,则准备就绪,不插入Tw ;若为低,则未准备好,插入若为低,则未准备好,插入Tw ;系统规定可插入不超;系统规定可插入不超过过10个个Tw 。43三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)6.INTR:(:(Interrupt)可屏蔽中断请求信号()可屏蔽中断请求信号(IN),),高电平有效触发的输入信号,由外部设备发来;高电平有效触发的输入信号,由外部设备发来; 该信号是在每一指令周期的最后一个该信号是在每一指令周期的最后一个T状态被采样状态被采样,以决定是否进入中断响应周期。以决定是否

34、进入中断响应周期。 可用软件屏蔽(可用软件屏蔽(CLI指令使指令使IF=0)。)。7. NMI:非屏蔽中断请求信号(非屏蔽中断请求信号(IN) 边沿边沿 触发信号,若有触发信号,若有 NMI 请求,则现行指令请求,则现行指令结束后立即引起中断。结束后立即引起中断。 该信号不能用指令屏蔽,其检测时间与该信号不能用指令屏蔽,其检测时间与INTR一样。一样。44三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)8.TEST:检测信号(检测信号(IN) 该信号由该信号由8087发来,在发来,在WAIT指令执行期间,指令执行期间,CP

35、U监视监视TEST信号。若信号。若TEST为低电平,为低电平,8086继续执继续执行行WAIT的下一条指令,否则的下一条指令,否则CPU处于等待(空闲)处于等待(空闲)状态,且重复测试状态,且重复测试TEST信号;信号;TEST为高时,处于为高时,处于WAIT状态,状态,TEST低电平时退出低电平时退出WAIT状态。状态。 8086CPU8087TEST BUSY45三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)9.RESET:复位信号(复位信号(IN),),高有效高有效 该信号使该信号使CPU结束现行操作,初始化内部结

36、束现行操作,初始化内部REG,CPU复位后:复位后: CS=FFFFH IP=0000H DS=0000H ES=0000H SS=0000H FR=0000(禁止中断)禁止中断)指令队列空,复位后执行的第一条指令在内存的指令队列空,复位后执行的第一条指令在内存的FFFF0H(引导程序的入口地址),用引导程序的入口地址),用JMP可转到实可转到实际开始处。际开始处。10. CLK:时钟,时钟,Vcc与与GND:电源与地(电源与地(IN) 46三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)11.MN/MX:最小最大组态控制

37、信号(最小最大组态控制信号(IN) 当当MN/MX=0,为最大组态,构成多处理器系统;为最大组态,构成多处理器系统; 在最大组态时,控制信号由在最大组态时,控制信号由S2S0经总线译码器经总线译码器8288译码产生。译码产生。 当当MN/MX=1,为最小组态,构成单处理器系统,为最小组态,构成单处理器系统,CPU提供所有的总线控制信号。提供所有的总线控制信号。 MN/MX的接法决定了的接法决定了8个引脚(个引脚(2431)之功能。)之功能。47三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续) 当当MN/MX=Vcc(最小组

38、态)时,各引脚功能:最小组态)时,各引脚功能:INTA:中断响应信号(中断响应信号(OUT) 是是INTR的应答信号,在中断响应时发两个的应答信号,在中断响应时发两个INTA周期。周期。ALE:地址锁存允许信号(地址锁存允许信号(OUT) (Address Latch Enable) 把地址把地址/数据、地址数据、地址/状态线上的地址信号锁存到状态线上的地址信号锁存到地址锁存器中,地址锁存器中,ALE在在T1状态有效。状态有效。48三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)M/IO:MEM与与I/O控制信号(控制信号

39、(OUT) 决定访问的是决定访问的是MEM或者是或者是I/O: M/IO=1,访问访问MEM; M/IO=0,访问访问I/O口。口。WR:写信号(写信号(OUT) 用来表示用来表示CPU处于写处于写MEM或者或者I/O口(与口(与M/IO配合使用)。配合使用)。 49三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)DT/R:数据收发信号(双向,三态)数据收发信号(双向,三态) 增加数据总线的驱动能力,采用外加总线驱动器增加数据总线的驱动能力,采用外加总线驱动器(收发器(收发器8286/8287)。当)。当 DT/R=1,发

40、送;发送; DT/R=0,接收。接收。 DEN:数据允许信号(数据允许信号(Data Enable)()(OUT) 作为总线驱动器作为总线驱动器8286/8287芯片的输出允许信号芯片的输出允许信号(OE)。)。50三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)HOLD(IN)与与HLDA(OUT):):总线请求保持总线请求保持 与总线响应保持信号与总线响应保持信号 总线请求总线请求HOLD是由其它主设备发送给是由其它主设备发送给CPU; CPU检测检测HOLD的时间的时间: 在每一个总线周期的最后在每一个总线周期的最后

41、一一 个个T状态。状态。 总线响应总线响应HLDA作为作为CPU对对HOLD之应答,并让出之应答,并让出总线控制权。总线控制权。51三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续) 当当MN/MX=0(最大组态)时,各引脚功能:最大组态)时,各引脚功能:S2、S1、S0 :总线周期状态信号(:总线周期状态信号(OUT) 此三状态信号由总线控制器此三状态信号由总线控制器8288译码产生译码产生CPU所所需的各种控制信号,共产生需的各种控制信号,共产生8个控制信号。主要有:个控制信号。主要有: 存储器读写;存储器读写; 中断响

42、应中断响应INTA(ALE,DEN,DT/R);); I/O口读写等控制信号。口读写等控制信号。52三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续) RQ/ GT0,RQ/ GT1:(Request/Grant) 总线请求(总线请求(IN)/总线允许(总线允许(OUT) 每一引脚都是双向的,既可作为总线请求,又可每一引脚都是双向的,既可作为总线请求,又可 作为总线响应信号。外部主设备发来的请求信号为作为总线响应信号。外部主设备发来的请求信号为 输入,输入,CPU响应时为输出。响应时为输出。 若有两个主设备同时请求时若有两个

43、主设备同时请求时 , RQ/ GT0比比 RQ/ GT1级别高。级别高。53三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)LOCK:总线锁定信号(总线锁定信号(OUT) 该信号由前缀指令该信号由前缀指令“LOCK”使其生效,且一直保使其生效,且一直保持到下一指令执行完,以使得外部总线主控设备不能持到下一指令执行完,以使得外部总线主控设备不能获得对系统总线的控制权。获得对系统总线的控制权。54三、三、三、三、8086 8086 CPUCPU引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)引脚及其功能(续)QS1,QS

44、0: 指令队列状态信号(指令队列状态信号(OUT) 让外部设备能监视让外部设备能监视CPU内部指令队列状况。内部指令队列状况。 编码如下:编码如下:QS1QS0含义含义00无操作无操作01来自队列中指令代码的第一个字节来自队列中指令代码的第一个字节10队列空队列空11来自队列的后续字节来自队列的后续字节55第三节第三节第三节第三节 8086 8086 中的标志中的标志中的标志中的标志 寄存器和堆栈寄存器和堆栈寄存器和堆栈寄存器和堆栈 56一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register) 8086CPU中有一个中有一个16位的

45、标志寄存器(位的标志寄存器(FR),),共设有共设有9个标志位,用以反映算术、逻辑运算结果的个标志位,用以反映算术、逻辑运算结果的特征及反映特征及反映CPU的控制,有的控制,有7位无用。位无用。 不同的指令对标志的影响是不同的(如传送类、不同的指令对标志的影响是不同的(如传送类、转移类等指令不影响标志位,而算术逻辑运算大部分转移类等指令不影响标志位,而算术逻辑运算大部分都影响标志位);反之,不同的标志也影响着指令执都影响标志位);反之,不同的标志也影响着指令执行的结果。行的结果。 57一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Regis

46、ter)()()()(续)续)续)续) 其中其中6个状态标志:个状态标志:CF、PF、AF、ZF、SF、OF 3个控制标志:个控制标志:IF、DF、TF。 有有7位空的未用。位空的未用。OFDFIFTFSFZFAFPFCF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 058一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register)()()()(续)续)续)续)1.CF:进位标志(进位标志(Carry Flag) 当运算的结果在最高位(当运算的结果在最高位(8位,位,16位)上产生一位)上产生一个进位或借位时

47、,个进位或借位时,CF=1;反之,反之,CF=0。2.PF:奇偶标志(奇偶标志(Parity Flag) 当运算结果低当运算结果低8位中位中“1”的个数为偶数时,的个数为偶数时,PF=1;为奇数时,为奇数时,PF=0。59一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register)()()()(续)续)续)续)3.AF:辅助进位标志(辅助进位标志(Auxiliary Carry Flag) 在算术运算中,当一个在算术运算中,当一个8位(或位(或16位)数的低位)数的低4位位向高向高4位(即位(即b3位向位向b4位)有进位或借位时,位)有

48、进位或借位时,AF=1;反之,反之,AF=0。此标志用于此标志用于BCD码运算指令中。码运算指令中。4.ZF:零标志(零标志(Zero Flag) 当运算结果为全当运算结果为全“0”时,时,ZF=1;反之,反之,ZF=0。60一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register)()()()(续)续)续)续)5.SF:符号标志(符号标志(Sign Flag) 当运算结果的最高位为当运算结果的最高位为“1”时,时,SF=1;反之,反之,SF=0。6.OF:溢出标志(溢出标志(Overflow Flag) 在算术运算中,符号数的运算结

49、果超出在算术运算中,符号数的运算结果超出8位或位或(16位)符号数表达的范围,位)符号数表达的范围,OF=1;反之,反之,OF=0。(8位:位:-128+127;16位:位:-32768+32767) 溢出与进位是两个不同性质的标志,一个反映符溢出与进位是两个不同性质的标志,一个反映符号数,一个反映纯数值。号数,一个反映纯数值。61一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register)()()()(续)续)续)续)此外还设有此外还设有3个控制标志:个控制标志:7.DF:方向标志(方向标志(Direction Flag) 用于控制字

50、符串操作指令的步进方向。用于控制字符串操作指令的步进方向。 当当DF=0时,表示从低址向高址以递增顺序进行串时,表示从低址向高址以递增顺序进行串处理;当处理;当DF=1时,表示从高址向低址以递减顺序进行时,表示从高址向低址以递减顺序进行串处理。串处理。62一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register)()()()(续)续)续)续)8.IF:中断允许标志(中断允许标志(Interrupt enable Flag) 当当IF=1时,允许中断;当时,允许中断;当IF=0时,禁止中断。时,禁止中断。 该标志可用指令该标志可用指令S

51、TI或或CLI使其置使其置1或或0。 IF标志对标志对 NMI 信号或由内部中断(信号或由内部中断(INT n)无无 作用。作用。63一、标志寄存器(一、标志寄存器(一、标志寄存器(一、标志寄存器(Flag RegisterFlag Register)()()()(续)续)续)续)9.TF:陷阱或跟踪标志(陷阱或跟踪标志(Trap Flag) 当当TF=1时,时,CPU进入单步工作方式,每执行完一进入单步工作方式,每执行完一条指令就自动产生一个内部中断,以便进行程序调试。条指令就自动产生一个内部中断,以便进行程序调试。当当TF=0时,连续执行程序。时,连续执行程序。 (没有专门的指令使(没有专

52、门的指令使TF置置1或或0)64二、堆栈二、堆栈二、堆栈二、堆栈什么是堆栈?什么是堆栈? 堆栈是一个按照后进先出(堆栈是一个按照后进先出(LIFO Last In First Out)的原则存取数据的部件或区域。的原则存取数据的部件或区域。 硬件堆栈:内部寄存器作为堆栈,工作速度快,硬件堆栈:内部寄存器作为堆栈,工作速度快,容量不大:容量不大: 软件堆栈:用内存作为堆栈,工作速度慢,容量软件堆栈:用内存作为堆栈,工作速度慢,容量大,内存有多大,堆栈就有多大,堆栈由一个堆栈大,内存有多大,堆栈就有多大,堆栈由一个堆栈指针指针 SP 和一个栈区组成。和一个栈区组成。65二、堆栈(续)二、堆栈(续)

53、二、堆栈(续)二、堆栈(续)为什么要用堆栈?为什么要用堆栈? 主程序与子程序,主程序调用子程序,或者子程主程序与子程序,主程序调用子程序,或者子程序调用子程序,或者处理中断服务程序,序调用子程序,或者处理中断服务程序,CPU必须把必须把主程序调用子程序指令的下一条指令的地址(或中断主程序调用子程序指令的下一条指令的地址(或中断时的断点)即时的断点)即PC值保留下来,才能保证子程序(或中值保留下来,才能保证子程序(或中断服务程序)执行完之后正确返回到主程序继续执行。断服务程序)执行完之后正确返回到主程序继续执行。 另外,调用子程序之前的有关另外,调用子程序之前的有关REG、标志位也要标志位也要及

54、时正确的保存下来。及时正确的保存下来。66二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续)堆栈如何操作?堆栈如何操作? 堆栈必须设有一个区域(栈区),还需一个指针堆栈必须设有一个区域(栈区),还需一个指针(SP),),指示栈在什么位置。指示栈在什么位置。8086与栈有关的寄存器与栈有关的寄存器是是SS和和SP。 SS:标识现行堆栈的基地址;标识现行堆栈的基地址; SP:标识现行堆栈的段内偏移量。标识现行堆栈的段内偏移量。 8086中的栈是中的栈是“向下生成向下生成”的栈,即随着入栈数的栈,即随着入栈数据据增加,增加,SP值减小。有些处理器或单片机还有值减小。有些处理器或单片机还有“向上

55、生向上生成成”的栈。的栈。67二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续) SP值由指令值由指令MOV SP,data设定初值。设定初值。 空栈时,栈顶与栈底是重合的,随着压入栈中数空栈时,栈顶与栈底是重合的,随着压入栈中数据增加,堆栈扩展,据增加,堆栈扩展,SP减小,减小,SP始终指向栈顶。始终指向栈顶。 堆栈操作有专门的指令堆栈操作有专门的指令 PUSH 与与 POP 。 8086的入栈与出栈弹出操作每次是一个字,而不的入栈与出栈弹出操作每次是一个字,而不是一个字节。是一个字节。68二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续)举例:若举例:若SS=1200H,SP=

56、1000H,执行执行PUSH AX (设设AX=1234H),),看栈针与栈中的内容。看栈针与栈中的内容。 先修改栈针,再压入数据,先压入高字节,后压先修改栈针,再压入数据,先压入高字节,后压入低字节。分两步:入低字节。分两步: 1. 先先SP1SP,压入高位字节(即压入高位字节(即AH内容);内容); 2. 再再SP1SP,压入低位字节(即压入低位字节(即AL内容)。内容)。69二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续) 压入堆栈操作如图:压入堆栈操作如图: SS16+SP 12000H + 1000H 13000H 3412 低址低址 高址高址 SP=1000H SP10FF

57、FH SP10FFEH M12FFEH12FFFH13000 HAX=12 34(2)(1)70二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续)出栈操作与入栈操作相反:出栈操作与入栈操作相反: 1. 先弹出低位内容,先弹出低位内容, 修改修改SPSP+1; 2. 再弹出高位内容,再修改再弹出高位内容,再修改SPSP+1;注:注:CALL与与RET中保护断点与恢复断点是由指令自中保护断点与恢复断点是由指令自动完成的。动完成的。71二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续)举例:若举例:若SS=1500H,SP=1000H,执行执行POP BX (设栈中数据设栈中数据=567

58、8H),),看栈针与栈中的内容看栈针与栈中的内容 如何变化。如何变化。 弹出也分为两步:弹出也分为两步: 先弹出低先弹出低8位(位(78H BL ),),修改栈针,修改栈针, SP+1SP ; 再弹出高再弹出高8位(位(56H BH ),),再修改栈针,再修改栈针,SP+1SP ; 执行执行 POP BX 指令后,指令后,BX=5678H, SP=1002H, SS=1500H, 堆栈中的数据仍然不变。堆栈中的数据仍然不变。 72二、堆栈(续)二、堆栈(续)二、堆栈(续)二、堆栈(续)弹出操作如下图:弹出操作如下图: SS16+SP 15000H + 1000H 16000H 7856 低址低

59、址 高址高址 SP=1000H SP+11002H SP+11001H M16000H16001H16002HBX=BH BL 56 78(1)(2)73第四节第四节第四节第四节 8086 8086 系统的组成系统的组成系统的组成系统的组成 74一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段1.存储器组织存储器组织 8086有有20位地址线,寻址范围位地址线,寻址范围1M字节(从字节(从00000HFFFFFH),),每一单元都有一个唯一的物理每一单元都有一个唯一的物理地址,每个单元存储一个字节,任何两个相邻单元可地址,每个单元存储一个字节,任何两个相

60、邻单元可存放一个字(存放一个字(word)。)。 80386Pentium处理器都是处理器都是32位的地址,寻址范围位的地址,寻址范围为为232=4GBytes =(4096MB)。)。75一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段76一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段77一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段一、存储器的组织与分段78一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)几个基本概念:几个基本

61、概念: 字节地址字节地址对应的单元地址;对应的单元地址; 字地址字地址两个地址中低址作为字地址;两个地址中低址作为字地址; 字符串地址字符串地址低字节存放在低址单元,高字节低字节存放在低址单元,高字节存放在高址单元。存放在高址单元。79一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)例例1:把:把5678H写入写入1002H单元。单元。 78H1002H 56H1003H7856M1002H 1003H80一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)例例2:把字串

62、:把字串12345678H写入写入1000H单元。单元。 781000H 121003H 读:从读:从1002H读出时,读一个字节是读出时,读一个字节是34, 读一个字是读一个字是1234; 从从1001读出一个字是读出一个字是3456H,但读但读 奇址的字时,需访问内存两次,忽略掉奇址的字时,需访问内存两次,忽略掉 78H与与12H;读写字节时每次数据总线上读写字节时每次数据总线上 仍是仍是16位,忽略掉另一个字节。位,忽略掉另一个字节。 请参看请参看P47 图图2.15,8086从存储器中读、写字与字节示意图从存储器中读、写字与字节示意图 78563412M1000100110021003

63、81一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)2.存储器分段存储器分段分段原因分段原因:CPU内没有设置内没有设置20位的地址寄存器,位的地址寄存器,只有只有16位的寄存器,位的寄存器,16位寄存器无法存放位寄存器无法存放20位地址,位地址,所以把所以把20位地址分为基地址(段)和偏移量;分别位地址分为基地址(段)和偏移量;分别存放在两个存放在两个16位寄存器中。位寄存器中。 好处是好处是:程序区、堆栈区和数据区可以互相隔离,:程序区、堆栈区和数据区可以互相隔离,方便程序的再定位。方便程序的再定位。 允许允许段重叠:根据情况

64、,段与段之间可以重叠,几段重叠:根据情况,段与段之间可以重叠,几个段可以在一个个段可以在一个6464K K段内,但各段的起始地址是不段内,但各段的起始地址是不同的。同的。82一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续) 80868086系统存储器分段示意图系统存储器分段示意图 83一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续) 存储器的存储器的实际地址实际地址就是物理地址(或绝对地址)就是物理地址(或绝对地址)20位;存储器的位;存储器的逻辑地址逻辑地址是段基址

65、和是段基址和16位偏移量组成。位偏移量组成。 因为段因为段REG为为16位,所以每位,所以每64KByte为一段。为一段。 实际地址是由段地址左移实际地址是由段地址左移4位加上所对应的位加上所对应的16位位地址偏移量。地址偏移量。 CPU中的中的BIU中有一个中有一个20位地址加法器位地址加法器,用来形,用来形成成20位的物理地址。(段自动左移位的物理地址。(段自动左移4位与偏移量相加)位与偏移量相加)84一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续)8086物理地址的形成物理地址的形成85一、存储器的组织与分段(续)一、存储器

66、的组织与分段(续)一、存储器的组织与分段(续)一、存储器的组织与分段(续) 不同的逻辑地址可以变换成同一个物理地址,反不同的逻辑地址可以变换成同一个物理地址,反之亦然。之亦然。例如:物理地址为例如:物理地址为 25000H 逻辑地址:段基址为逻辑地址:段基址为2000H,偏移量偏移量5000H 段基址为段基址为2100H,偏移量偏移量4000H 段基址为段基址为2200H,偏移量偏移量3000H86二、输入二、输入二、输入二、输入/ /输出结构输出结构输出结构输出结构 8086可访问可访问8位位I/O端口或端口或16位位I/O端口,若直接端口,若直接寻址方式寻寻址方式寻I/O端口,用端口,用8

67、位地址,可访问位地址,可访问28=256个端个端口地址;若用间接寻址方式寻口地址;若用间接寻址方式寻I/O,用用16位地址,可位地址,可访问访问216=64K个端口地址;间接寻址通过个端口地址;间接寻址通过DX寄存器,寄存器,I/O端口不设段端口不设段REG,可以认为全部端口都在同一个可以认为全部端口都在同一个段内。段内。 8086系列的处理器设有专门的系列的处理器设有专门的I/O指令指令 (即(即IN和和OUT指令)指令)。87三、总线接口部件三、总线接口部件三、总线接口部件三、总线接口部件介绍两种常用的总线接口部件:地址锁存器和总线驱动器。介绍两种常用的总线接口部件:地址锁存器和总线驱动器

68、。下面是本教材(采用国际符号)和某些教材的逻辑门电路符号对照表下面是本教材(采用国际符号)和某些教材的逻辑门电路符号对照表88三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)1.地址锁存器(地址锁存器(8282)(或)(或74LS373) 8282(或或373)是带三态输出缓冲器的)是带三态输出缓冲器的8位双向锁存器。位双向锁存器。 选通信号:选通信号:STB(Strobe)把输入把输入 数据锁入锁存器。数据锁入锁存器。 ALESTB OE为输出允许信号,当其为低时,为输出允许信号,当其为低时, 数据就出现在数据线上;数据就出现在数据线上; OE=1时,

69、锁存器处于高阻。时,锁存器处于高阻。89三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)带三态缓冲的带三态缓冲的带三态缓冲的带三态缓冲的8 8位数据锁存器位数据锁存器位数据锁存器位数据锁存器828282828282内部结构内部结构STB:选通脉冲选通脉冲OE:为为0时输出有效时输出有效 为为1时输出为高阻时输出为高阻90三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)2.双向总线驱动器(总线收发器)双向总线驱动器(总线收发器) 数据锁存不是必须的,但在较大的系统中,由于数据锁存不是必须的,但在较大的系统中,由于使用

70、的存储器和使用的存储器和I/O接口数量较多,为了增加接口数量较多,为了增加CPU数数据总线带负载的能力,一般接入总线驱动器以提高数据总线带负载的能力,一般接入总线驱动器以提高数据总线带负载之能力。据总线带负载之能力。91三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续) 8286(或(或74LS245)是是8位总线驱动器(双向)位总线驱动器(双向) T是控制收发方向的输入控是控制收发方向的输入控 制信号:制信号: T=1,AB; T=0,BA; OE=0,输出允许信号;输出允许信号; OE=1,8086是高阻。是高阻。 8286可以提供可以提供32mA驱动

71、。驱动。92三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)三、总线接口部件(续)带三态的带三态的带三态的带三态的8 8位双向数据缓冲器位双向数据缓冲器位双向数据缓冲器位双向数据缓冲器828682868286内部结构图内部结构图93四、四、四、四、80868086的两种组态的两种组态的两种组态的两种组态1.最小组态:最小组态: CPU提供所有的总线控制信号,以实现与提供所有的总线控制信号,以实现与MEM和和I/O接口的连接。(最小组态如下图)接口的连接。(最小组态如下图)9480868086最小模式最小模式最小模式最小模式95四、四、四、四、80868086的两种组态(续)的

72、两种组态(续)的两种组态(续)的两种组态(续)2.最大组态:最大组态: 当当MN/MX=0时,时,8086组成最大组态,以组成多组成最大组态,以组成多处理器系统。在此组态下,一些系统资源由多个处理处理器系统。在此组态下,一些系统资源由多个处理器所公用,它们被称为全局资源;另一些资源为某个器所公用,它们被称为全局资源;另一些资源为某个处理器所专用的,称为局部或专用资源。处理器所专用的,称为局部或专用资源。 96四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续) 在多处理器系统中,任何时刻只能有一个处理器在多处理器系统中,任何时刻只能有一个处理器访问总

73、线,采取的措施是:访问总线,采取的措施是:总线控制器(总线控制器(8288)(产生命令和控制时序,提)(产生命令和控制时序,提供总线驱动能力)供总线驱动能力) 8288对对8086的三个总线状态信号(的三个总线状态信号( S0、S1、S2 )进行译码,以产生与多总线结构兼容的各种定时命令进行译码,以产生与多总线结构兼容的各种定时命令和控制信号。译出和控制信号。译出8种信号,种信号,111时不用(无源)时不用(无源),还有还有7种作为命令信号,请参看下表。种作为命令信号,请参看下表。97四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续)总线状态码与输

74、出命令对应表总线状态码与输出命令对应表98四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续) (1 1)82888288总线控制器总线控制器总线控制器总线控制器99四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续) 8288提供超前写命令(提供超前写命令(AMWC、AIOC):): 即在写周期开始之前就启动写过程,其时序与读即在写周期开始之前就启动写过程,其时序与读 命令相同,在一定程度上避免处理器进入没必要的命令相同,在一定程度上避免处理器进入没必要的 等待状态。等待状态。 8288有两种工作方式,由

75、有两种工作方式,由IOB决定:决定: 当当IOB=0,系统总线工作方式;系统总线工作方式; 当当IOB=1,I/O总线工作方式(总线工作方式(8089 I/O处理器)处理器)100四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续)(2) 总线裁决器(总线裁决器(8289) 有了有了8289,才允许多个处理器(,才允许多个处理器(8086,8087,8089等)驻留在系统总线上,每个处理器都有自己的等)驻留在系统总线上,每个处理器都有自己的裁决器,每个裁决器都有一个总线请求信号裁决器,每个裁决器都有一个总线请求信号BREQ。总线的裁决器根据总线的裁决

76、器根据8086系统的多总线裁决规程进行。系统的多总线裁决规程进行。 裁决器的连接方式有裁决器的连接方式有3种:种:. 并联优先权判别方式(并联优先权判别方式(BREQ送入优先权编码器)送入优先权编码器). 串联优先权判别方式(与连接位置有关,菊花链)串联优先权判别方式(与连接位置有关,菊花链). 循环优先权判别方式(动态分配,电路复杂)循环优先权判别方式(动态分配,电路复杂)101总线裁决器(总线裁决器(总线裁决器(总线裁决器(82898289)8289总线裁决器总线裁决器102四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续)(3 3) 8086

77、 8086最大组态图最大组态图最大组态图最大组态图8086最大组态特点:最大组态特点: 三个状态信号三个状态信号S0S2经经8288总线译码器译码后产生最大组总线译码器译码后产生最大组态时态时CPU对外的控制信号(共七个信号),对外的控制信号(共七个信号),8288本身还提本身还提供一些控制信号。最大组态电路如下图所示。供一些控制信号。最大组态电路如下图所示。103四、四、四、四、80868086的两种组态(续)的两种组态(续)的两种组态(续)的两种组态(续)(3 3) 8086 8086最大组态图最大组态图最大组态图最大组态图104第五节第五节第五节第五节 8086 8086 系统时钟与系统

78、时钟与系统时钟与系统时钟与总线周期总线周期总线周期总线周期 105一、系统时钟一、系统时钟一、系统时钟一、系统时钟 时钟发生器:时钟发生器: 8284A提供系统时钟。提供系统时钟。 8284A组成:晶体震荡器,一个三分频器,起同组成:晶体震荡器,一个三分频器,起同步作用的步作用的READY信号及复位信号及复位RESET信号。信号。 功能:提供时钟信号,与外设时钟;功能:提供时钟信号,与外设时钟; (外部晶体(外部晶体15MHz/24MHz3) 提供系统复位控制逻辑提供系统复位控制逻辑 ; 提供起同步作用的提供起同步作用的READY信号。信号。输出:输出:RESET,CLK(5MHz),),PC

79、LK(2.5MHz), OSC(15MHz),),READY1068284A8284A内部结构图内部结构图内部结构图内部结构图 8284A内部结构图内部结构图1078284A8284A对外引脚图对外引脚图对外引脚图对外引脚图 8284A对外引脚图对外引脚图 引脚信号功能引脚信号功能CSYNC: 使多个使多个8284A时钟同步信号,时钟同步信号,=0,内部计数,内部计数PCLK: 外设时钟信号外设时钟信号AEN1,AEN2: 制约信号制约信号,与与RDY配合配合READY: 准备就绪准备就绪RDY1,RDY2: 总线准备就绪总线准备就绪ASYNC: READY同步选择一、两级同步选择一、两级RE

80、S,RESET: 复位入,复位出复位入,复位出OSC: 振荡器输出振荡器输出EFI: 外部时钟频率外部时钟频率F/C: 频率频率/晶体选择晶体选择10882848284输出的三组时钟信号输出的三组时钟信号输出的三组时钟信号输出的三组时钟信号10982848284与与与与80868086的连接的连接的连接的连接110二、总线周期二、总线周期二、总线周期二、总线周期 8086的的所有操作都是在时钟脉冲的的所有操作都是在时钟脉冲CLK的统一控制下进的统一控制下进行的,执行一条行的,执行一条CPU指令所需要的时间,称为指令周期。指令所需要的时间,称为指令周期。 而一条指令需要一个或若干个总线周期(或机

81、器周期)。而一条指令需要一个或若干个总线周期(或机器周期)。 一个总线周期是一个总线周期是CPU通过总线与外部逻辑(通过总线与外部逻辑(MEM/IO口)口)进行一次通讯所需要的时间。进行一次通讯所需要的时间。 一个总线周期是由若干个一个总线周期是由若干个T状态组成的,状态组成的,8086的基本总线的基本总线周期是由周期是由4个个T状态组成的。状态组成的。 下面以存储器读或写来说明下面以存储器读或写来说明8086CPU的基本总线周期。的基本总线周期。111二、总线周期(续)二、总线周期(续)二、总线周期(续)二、总线周期(续) 1 1、80868086读总线周期读总线周期读总线周期读总线周期11

82、2二、总线周期(续)二、总线周期(续)二、总线周期(续)二、总线周期(续) 2 2、80868086写总线周期写总线周期写总线周期写总线周期113二、总线周期(续)二、总线周期(续)二、总线周期(续)二、总线周期(续) 3 3、80868086时序时序时序时序114二、总线周期(续)二、总线周期(续)二、总线周期(续)二、总线周期(续) 3 3、80868086时序(时序(时序(时序(READYREADY信号)信号)信号)信号) 115二、总线周期(续)二、总线周期(续)二、总线周期(续)二、总线周期(续) 空闲周期:当空闲周期:当BIU队列已满,且队列已满,且EU没有向没有向BIU申申请读写时,请读写时,CPU进入空闲机器周期,进入空闲机器周期,BIU不发生总线不发生总线操作(一系列的操作(一系列的T1状态),此时状态),此时CPU进行内部操作。进行内部操作。116

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号