微处理器与系统结构课件.ppt

上传人(卖家):三亚风情 文档编号:3142153 上传时间:2022-07-21 格式:PPT 页数:116 大小:1.53MB
下载 相关 举报
微处理器与系统结构课件.ppt_第1页
第1页 / 共116页
微处理器与系统结构课件.ppt_第2页
第2页 / 共116页
微处理器与系统结构课件.ppt_第3页
第3页 / 共116页
微处理器与系统结构课件.ppt_第4页
第4页 / 共116页
微处理器与系统结构课件.ppt_第5页
第5页 / 共116页
点击查看更多>>
资源描述

1、1第二章第二章 微处理器和微处理器和 系统结构系统结构2本章内容提要本章内容提要 本章主要介绍本章主要介绍 微处理器(微处理器(CPU)的主要组成部分及各部分功能的主要组成部分及各部分功能 Intel 8086微处理器组成结构、引脚信号及功能微处理器组成结构、引脚信号及功能 X86系统组成系统组成3第一节第一节 微处理器的基本结构微处理器的基本结构4微处理器的主要组成部件微处理器的主要组成部件v微处理器(微处理器(CPU)由下列主要部分组成:由下列主要部分组成:算术逻辑单元算术逻辑单元 ALU 控制器控制器 寄存器阵列寄存器阵列 总线和总线缓冲器总线和总线缓冲器 高性能的高性能的CPU还有:指

2、令预取部件,指令译码部件、还有:指令预取部件,指令译码部件、地址形成部件、存储器管理部件等。地址形成部件、存储器管理部件等。5一、算术逻辑运算单元(一、算术逻辑运算单元(ALU)ALU是对二进制数进行算术逻辑运算的基本部件。是对二进制数进行算术逻辑运算的基本部件。数据加工处理可归纳为两种基本运算:数据加工处理可归纳为两种基本运算:算术运算,逻辑运算。算术运算,逻辑运算。6一、算术逻辑运算单元(一、算术逻辑运算单元(ALU)()(续)续)算术运算:算术运算:可进行无符号数和带符号数的加、减、乘、除可进行无符号数和带符号数的加、减、乘、除 运算,符号数采用补码表示,减法通过求负数的补码运算,符号数

3、采用补码表示,减法通过求负数的补码 而变成加法运算。还可进行而变成加法运算。还可进行BCD码运算。码运算。乘、除可以通过多次重复加、减和移位实现。乘、除可以通过多次重复加、减和移位实现。7一、算术逻辑运算单元(一、算术逻辑运算单元(ALU)()(续)续)例如:例如: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 18一、算术逻辑运算单元(一、算术逻辑运算单元(ALU)()(续)续)逻辑运算

4、:可完成逻辑逻辑运算:可完成逻辑“与与”、“或或”、“非非”、“异或异或”、“移位移位”等基本的逻辑运算。等基本的逻辑运算。浮点运算:浮点数可以看作是由两个定点数浮点运算:浮点数可以看作是由两个定点数组成,尾数与阶码。在对阶后可以对尾数进行运算。组成,尾数与阶码。在对阶后可以对尾数进行运算。浮点数运算可以用软件实现。也可以专门生产浮浮点数运算可以用软件实现。也可以专门生产浮点运算部件和浮点微处理器,并设有专门的浮点运算点运算部件和浮点微处理器,并设有专门的浮点运算指令,可进行指令,可进行32位或位或64位浮点加、减、乘、除运算。位浮点加、减、乘、除运算。Pentium处理器已把浮点处理器与主处

5、理器集成到一处理器已把浮点处理器与主处理器集成到一个芯片上。个芯片上。早期的浮点处理器有:早期的浮点处理器有:8087、80287、80387协处理器。协处理器。9一、算术逻辑运算单元(一、算术逻辑运算单元(ALU)()(续)续)ALU原理框图如下:原理框图如下:图图2.1 2.1 ALU原理框图原理框图数据寄存器数据寄存器十进制调整十进制调整标志寄存器标志寄存器Flag REGALUDAA内内部部总总线线内内部部总总线线10二、控制器二、控制器 CTRL是发布操作命令的部件,操作的顺序需要是发布操作命令的部件,操作的顺序需要精确的定时,其内部主要组成如下:精确的定时,其内部主要组成如下:1、

6、指令部件、指令部件 包括程序计数器(包括程序计数器(PC),指令寄存器(指令寄存器(IR),),指指 令译码器(令译码器(ID)。)。2、时序部件时序部件 包括时钟系统,脉冲分配器。包括时钟系统,脉冲分配器。3、微操作控制部件、微操作控制部件 可采用组合逻辑控制,微程序控制和可编程逻辑可采用组合逻辑控制,微程序控制和可编程逻辑阵列(阵列(PLA)来实现。来实现。11二、控制器(续)二、控制器(续)控制器的组成框图(图控制器的组成框图(图2.2)图图2 2.2 2 控控制制器器的的组组成成框框图图微微操操作作控控制制电电路路 节节拍拍发发生生器器指指令令译译码码器器时时钟钟操操作作码码地地址址码

7、码指指令令寄寄存存器器程程序序计计数数器器从从内内存存来来(经经数数据据总总线线)到到内内存存地地址址寄寄存存器器到到内内存存、运运算算器器、I I/O O接接口口等等12二、控制器(续)二、控制器(续)时钟周期(时钟周期(T state):):主时钟的两个脉冲主时钟的两个脉冲前沿的时间间隔称为一个时钟周期,又称为前沿的时间间隔称为一个时钟周期,又称为T状态。状态。它它CPU操作的最小时间单位。操作的最小时间单位。机器周期:由机器周期:由25个个T状态组成一个机器周状态组成一个机器周期(期(Machine Cycle),),称为称为M周期,又叫做总线周周期,又叫做总线周期,用来完成一个基本操作

8、,如期,用来完成一个基本操作,如 MEM读读/写,写,I/O读读/写等。写等。指令周期:一条指令(的取出和)执行所需指令周期:一条指令(的取出和)执行所需的时间称为指令周期(的时间称为指令周期(Instruction Cycle),),一条指一条指令执行需令执行需15个个M周期。周期。13二、控制器(续)二、控制器(续)M2M5CLKT4T3T1T2 M1机器周期机器周期 指令周期指令周期(包括(包括15个机器周期)个机器周期)指令周期、机器周期与时钟周期的关系如下图指令周期、机器周期与时钟周期的关系如下图14二、控制器(续)二、控制器(续)微操作控制部件:微操作控制部件:根据指令产生计算机各

9、部件所需要的控制信号,根据指令产生计算机各部件所需要的控制信号,如传送、加减、逻辑运算等,由译码如传送、加减、逻辑运算等,由译码 器输出、节拍器输出、节拍发生器输出等进行组合而产生,完成指令所规定的全发生器输出等进行组合而产生,完成指令所规定的全部操作。部操作。15二、控制器(续)二、控制器(续)该部件可采用:该部件可采用:组合逻辑控制(控制信号采用组合逻辑电路设计实组合逻辑控制(控制信号采用组合逻辑电路设计实 现);现);微程序控制(若干微指令组成的微程序);微程序控制(若干微指令组成的微程序);可编程逻辑阵列(可编程逻辑阵列(PLA、EPLD等)等)PLA(Programmable Log

10、ic Array)EPLD(Electrically Programmable Logic Device)等方法实现。等方法实现。16三、总线与总线(缓冲器)部件三、总线与总线(缓冲器)部件 所谓总线是指计算机中传送信息的一组通信线,所谓总线是指计算机中传送信息的一组通信线,将多个部件连成一个整体。可以简单分为:将多个部件连成一个整体。可以简单分为:片内总线:在片内总线:在CPU内部或部件内部各单元之间传内部或部件内部各单元之间传送信息的总线(又可细分为单总线、双总线(输入送信息的总线(又可细分为单总线、双总线(输入/输输出出BUS)、)、多总线结构);多总线结构);片外总线:片外总线:CPU

11、与外部部件之间传送信息的总线。与外部部件之间传送信息的总线。片外总线又称为系统总线,通常系统总线分为地片外总线又称为系统总线,通常系统总线分为地址总线、数据总线、控制总线,即所谓三总线结构。址总线、数据总线、控制总线,即所谓三总线结构。17三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)因为多个部件均挂在总线上,但各部件工作情况因为多个部件均挂在总线上,但各部件工作情况并非完全一样(有的作为信源发,有的作为接收器并非完全一样(有的作为信源发,有的作为接收器收)。收)。由于数据或信息代码是用由于数据或信息代码是用电位高低电位高低来表示,若某来表示,若某一时刻有几个部件同时向一

12、时刻有几个部件同时向BUS发送数据,则发送数据,则BUS上的上的情况就成为情况就成为不确定不确定的了,电路也可能被的了,电路也可能被烧毁烧毁。所以所以同一时刻只允许一个部件向同一时刻只允许一个部件向BUS发送信息发送信息。而接收数据就没有上述限制,同一时刻可允许多而接收数据就没有上述限制,同一时刻可允许多个部件接收数据。个部件接收数据。18三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)总线缓冲器:在工作过程中,常常要求挂在总线缓冲器:在工作过程中,常常要求挂在BUS上的某些部件在电气连接上与上的某些部件在电气连接上与BUS“脱开脱开”,使这些使这些部部件对件对BUS上其它

13、部件的工作不产生影响,为此,可在上其它部件的工作不产生影响,为此,可在部件内部设置三态缓冲器。部件内部设置三态缓冲器。DATA3态态BUFBUS;三态缓冲器(三态缓冲器(3态态BUF)处于:处于:低阻(高低电平)低阻(高低电平)挂挂BUS上;上;高阻高阻逻辑上脱开。逻辑上脱开。19三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)“脱开脱开”状态:状态:处于高阻状态,开路状态,浮空状态;处于高阻状态,开路状态,浮空状态;逻辑上逻辑上“脱开脱开”,物理上仍连在一起。,物理上仍连在一起。总线缓冲器分为:总线缓冲器分为:单向三态缓冲器,如地址总线缓冲器只发地址信息,单向三态缓冲器,

14、如地址总线缓冲器只发地址信息,(地址(地址BUS是单向的);是单向的);双向三态缓冲器,如数据总线缓冲器,既可发又可双向三态缓冲器,如数据总线缓冲器,既可发又可 收数据(数据收数据(数据BUS是双向的)。是双向的)。20三、总线与总线(缓冲器)部件(续)三、总线与总线(缓冲器)部件(续)采用总线结构的优点是:采用总线结构的优点是:减少信息传输线数目;减少信息传输线数目;提高系统的可靠性;提高系统的可靠性;增加系统灵活性;增加系统灵活性;便于实现系统标准化。便于实现系统标准化。21四、寄存器阵列(四、寄存器阵列(Register Array)在在CPU内部,有一个临时存放地址和数据的寄存内部,有

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

16、指针(IP)或程序计数器(或程序计数器(PC:Program Counter););2.堆栈指示器(堆栈指示器(SP:Stack Pointer););3.其它可存放地址的寄存器(其它可存放地址的寄存器(Register),例如变址例如变址REG、基址、基址REG。存放数据的存放数据的REG1.累加器(累加器(AC:Accumulator);2.通用通用REG组,组,A,B,C,D等。等。23四、寄存器阵列(四、寄存器阵列(Register Array)(续)(续)存放控制信息的存放控制信息的REG1.指令寄存器(指令寄存器(IR:Instruction Register)指令代指令代码;码;

17、2.标志寄存器(标志寄存器(FR:Flag Register),),通常设有通常设有SF、ZF、AF、PF、CF、OF、IF、DF等标志。等标志。起数据缓冲作用的起数据缓冲作用的REG1.数据总线缓冲数据总线缓冲REG(DBUF:Data BUS Buffer);2.地址总线缓冲地址总线缓冲REG (ABUF:Address BUS Buffer)。)。三态,单向,内外部地址三态,单向,内外部地址BUS之间缓冲。之间缓冲。24第二节第二节 Intel 8086微处理器微处理器 258086 微处理器微处理器 8086是一种单片微处理器芯片,内外部数据总线是一种单片微处理器芯片,内外部数据总线1

18、6位,对外位,对外40条引脚,主时钟条引脚,主时钟5MHz、8MHz、10MHz等。等。20条地址引脚,直接寻址条地址引脚,直接寻址220=1MByte,可访问可访问64K个个I/O端口,具有端口,具有24种寻址方式,可以对位、字节、种寻址方式,可以对位、字节、字、字符串、字串、字、字符串、字串、BCD码、码、ASCll码等多种数据类型码等多种数据类型进行处理。进行处理。26一、一、8086 的寄存器阵列的寄存器阵列 CPU内部有内部有4组组REG,共共14个个16位位REG供编程人供编程人员使用。员使用。1.通用通用REG组组 AX 主累加器主累加器 BX 累加器或基址累加器或基址REG C

19、X 累加器或计数器累加器或计数器 DX 累加器或累加器或I/O地址地址REGAHALBHBLCHCLDHDL27一、一、8086 的寄存器阵列(续)的寄存器阵列(续)2.指针与变址指针与变址REG组组 堆栈指针堆栈指针 基址指针基址指针 源变址器源变址器 目的变址器目的变址器SPBPSIDI变址变址REG指针指针REG28一、一、8086 的寄存器阵列(续)的寄存器阵列(续)3.段段REG组组 代码段代码段 数据段数据段 堆栈段堆栈段 附加段附加段 段段REG是存放内存地址的高位地址,地址形成是是存放内存地址的高位地址,地址形成是由段寄存器地址左移由段寄存器地址左移4位加上对应的偏移量。位加上

20、对应的偏移量。CSDSSSES29一、一、8086 的寄存器阵列(续)的寄存器阵列(续)例如:被取指令的地址为例如:被取指令的地址为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等结合使用,串操作时有约等结合使用,串操作时有约定。定。30一、一、8086 的寄存器阵列(续)的寄存器阵列(续)4.控制控制REG 指令指针指令指针 标志标志REG IPFRH FRL31二、二、8086 CPU的功能结构

21、的功能结构 8086 CPU按功能可分为两大部分:按功能可分为两大部分:一部分为一部分为BIU(BUS Interface Unit);专门负责取指令和存取操作数。它与专门负责取指令和存取操作数。它与BUS打交道。打交道。一部分为一部分为EU(Execution Unit)。)。专门负责分析指令与执行指令。它不与系统专门负责分析指令与执行指令。它不与系统BUS 打交道。打交道。32二、二、8086 CPU的功能结构(续)的功能结构(续)8086CPU的功能结构的功能结构图图2 2.5 5 8 80 08 86 6的的功功能能结结构构暂暂存存器器标标志志寄寄存存器器 EU控控制制器器123456

22、内内部部通通信信寄寄存存器器总总线线控控制制逻逻辑辑内内部部数数据据总总线线指指令令队队列列 1 16 6位位数数据据线线2 20 0位位地地址址总总线线8 80 08 86 6总总线线AHALBHBLCHCLDHDLSPBPDISICSDSSSESIPAXBXCXDXALU 地地址址加加法法器器执执行行单单元元(EU)总总线线接接口口单单元元(BIU)33二、二、8086 CPU的功能结构(续)的功能结构(续)BIU与外部总线打交道,负责取指令、读写操作与外部总线打交道,负责取指令、读写操作数、地址转换与总线控制;数、地址转换与总线控制;EU负责指令译码与执行指令的工作。负责指令译码与执行指

23、令的工作。取指令与执行指令操作是并行的,提高了取指令与执行指令操作是并行的,提高了CPU的的利用率,这种重叠操作技术,提高了整个系统的运行利用率,这种重叠操作技术,提高了整个系统的运行速度。速度。34二、二、8086 CPU的功能结构(续)的功能结构(续)早期的计算机取指令、执行指令是按照时间顺序早期的计算机取指令、执行指令是按照时间顺序进行的。而进行的。而8086 CPU 是二者并行同时操作的。如图:是二者并行同时操作的。如图:t队列队列BIUEU t 重叠执行指令的过程重叠执行指令的过程取指取指1执行执行1取指取指2执行执行212,33,4,54,5,6取指令取指令1取指令取指令2取指令取

24、指令3读数据读数据等待等待执行执行1执行执行2执行执行335二、二、8086 CPU的功能结构(续)的功能结构(续)1.BIU总线接口单元总线接口单元 8086CPU与外设的接口部件,提供与外设的接口部件,提供16位数据总线位数据总线与与20位地址总线。位地址总线。内部由段内部由段REG、IP、内部通信内部通信REG、指令队列、指令队列、地址加法器和总线控制逻辑等地址加法器和总线控制逻辑等组成组成;完成取指令、指令排队、读完成取指令、指令排队、读/写操作数、地址转换写操作数、地址转换与总线控制等与总线控制等工作工作;队列为队列为先进先出的原则组织先进先出的原则组织FIFO(First In F

25、irstOut),实现流水线操作,高性能实现流水线操作,高性能CPU更是如此。更是如此。8086有有6个个Byte指令队列;需要两个指针,指令队列;需要两个指针,OUT与与IN指针;指针;36二、二、8086 CPU的功能结构(续)的功能结构(续)当遇到当遇到BIU正准备取指令而正准备取指令而 EUBIU申请读申请读/写写 MEM或或 I/O时,时,则则先先取指令,取指令,后后读读/写操作数;写操作数;当队列中当前有两个字节空间时,当队列中当前有两个字节空间时,BIU顺序预取指顺序预取指令并令并填满填满队列;队列;当遇到当遇到CALL、JMP、INT n等指令时,先把等指令时,先把 IP 压压

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

27、 CP PU U对对外外引引脚脚123456789101112131415161718192040393837363534333231302928272625242322218086CPUGNDAD14AD13AD12AD11AD10AD9AD7AD8AD6AD5AD4AD3AD2AD1AD0AD15AD16/S3AD17/S4AD18/S5AD19/S6BHE/S7MN/MXRDHOLDHLDAWR(RQ/GT0)(RQ/GT1)M/IODT/RDENALEINTATESTREADYRESET(LOCK)(S0)(QS0)(S1)(S2)(QS1)VCC最最大大组组态态信信号号INTRCLK

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

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

30、S6=1,其它处理器使用。其它处理器使用。42三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)3.BHE/S7:允许高字节传送允许高字节传送/状态输出状态输出在在T1状态,状态,BHE在高在高8位数据总线位数据总线D15 D8上传送上传送 一个字节数据;一个字节数据;BHE与与A0把存储器分为两组(高组与低组):把存储器分为两组(高组与低组):S7状态信号没定义。状态信号没定义。BHEA0状态状态0 016位数据位数据01高高8位(位(D15 D8)10低低8位(位(D7 D0)11保留不用保留不用43三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)4.RD 读信号,输

31、出读信号,输出 读读MEM或或I/O操作,由操作,由M/IO引脚决定是读引脚决定是读M还是还是I/O口:口:M/IO=1,读读MEM;M/IO=0,读读I/O口。口。5.READY:(:(输入)外部器件发回的准备就绪信号输入)外部器件发回的准备就绪信号 由由MEM或或I/O口发回的应答信号,口发回的应答信号,CPU在在T3的上的上升沿检测该信号,若为高,则准备就绪,不插入升沿检测该信号,若为高,则准备就绪,不插入Tw;若为低,则未准备好,插入若为低,则未准备好,插入Tw;系统规定可插入不;系统规定可插入不超超过过10个个Tw。44三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)6.

32、INTR:(:(Interrupt)可屏蔽中断请求信号()可屏蔽中断请求信号(IN),),高电平有效触发的输入信号,由外部设备发来;高电平有效触发的输入信号,由外部设备发来;该信号是在每一指令周期的最后一个该信号是在每一指令周期的最后一个T状态被采样状态被采样,以决定是否进入中断响应周期。以决定是否进入中断响应周期。可用软件屏蔽(可用软件屏蔽(CLI指令使指令使IF=0)。)。7.NMI:非屏蔽中断请求信号(非屏蔽中断请求信号(IN)边沿边沿 触发信号,若有触发信号,若有 NMI 请求,则现行指令请求,则现行指令结束后立即引起中断。结束后立即引起中断。该信号不能用指令屏蔽,其检测时间与该信号不

33、能用指令屏蔽,其检测时间与INTR一样。一样。45三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)8.TEST:检测信号(检测信号(IN)该信号由该信号由8087发来,在发来,在WAIT指令执行期间,指令执行期间,CPU监视监视TEST信号。若信号。若TEST为低电平,为低电平,8086继续执继续执行行WAIT的下一条指令,否则的下一条指令,否则CPU处于等待(空闲)处于等待(空闲)状态,且重复测试状态,且重复测试TEST信号;信号;TEST为高时,处于为高时,处于WAIT状态,状态,TEST低电平时退出低电平时退出WAIT状态。状态。8086CPU8087TEST BUSY46三

34、、三、8086 CPU引脚及其功能(续)引脚及其功能(续)9.RESET:复位信号(复位信号(IN),),高有效高有效 该信号使该信号使CPU结束现行操作,初始化内部结束现行操作,初始化内部REG,CPU复位后:复位后:CS=FFFFH IP=0000H DS=0000H ES=0000H SS=0000H FR=0000(禁止中断)禁止中断)指令队列空,复位后执行的第一条指令在内存的指令队列空,复位后执行的第一条指令在内存的FFFF0H(引导程序的入口地址),用引导程序的入口地址),用JMP可转到实可转到实际开始处。际开始处。10.CLK:时钟,时钟,Vcc与与GND:电源与地(电源与地(I

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

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

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

38、T)作为总线驱动器作为总线驱动器8286/8287芯片的输出允许信号芯片的输出允许信号(OE)。)。51三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)HOLD(IN)与与HLDA(OUT):):总线请求保持总线请求保持 与总线响应保持信号与总线响应保持信号 总线请求总线请求HOLD是由其它主设备发送给是由其它主设备发送给CPU;CPU检测检测HOLD的时间的时间:在每一个总线周期的最后在每一个总线周期的最后一一 个个T状态。状态。总线响应总线响应HLDA作为作为CPU对对HOLD之应答,并让出之应答,并让出总线控制权。总线控制权。52三、三、8086 CPU引脚及其功能(续)引脚

39、及其功能(续)当当MN/MX=0(最大组态)时,各引脚功能:最大组态)时,各引脚功能:S2、S1、S0:总线周期状态信号(:总线周期状态信号(OUT)此三状态信号由总线控制器此三状态信号由总线控制器8288译码产生译码产生CPU所所需的各种控制信号,共产生需的各种控制信号,共产生8个控制信号。主要有:个控制信号。主要有:存储器读写;存储器读写;中断响应中断响应INTA(ALE,DEN,DT/R););I/O口读写等控制信号。口读写等控制信号。53三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)RQ/GT0,RQ/GT1:(Request/Grant)总线请求(总线请求(IN)/总线

40、允许(总线允许(OUT)每一引脚都是双向的,既可作为总线请求,又可每一引脚都是双向的,既可作为总线请求,又可 作为总线响应信号。外部主设备发来的请求信号为作为总线响应信号。外部主设备发来的请求信号为 输入,输入,CPU响应时为输出。响应时为输出。若有两个主设备同时请求时若有两个主设备同时请求时,RQ/GT0比比 RQ/GT1级别高。级别高。54三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)LOCK:总线锁定信号(总线锁定信号(OUT)该信号由前缀指令该信号由前缀指令“LOCK”使其生效,且一直使其生效,且一直保保持到下一指令执行完,以使得外部总线主控设备不能持到下一指令执行完,以

41、使得外部总线主控设备不能获得对系统总线的控制权。获得对系统总线的控制权。55三、三、8086 CPU引脚及其功能(续)引脚及其功能(续)QS1,QS0:指令队列状态信号(指令队列状态信号(OUT)让外部设备能监视让外部设备能监视CPU内部指令队列状况。内部指令队列状况。编码如下:编码如下:QS1QS0含义含义00无操作无操作01来自队列中指令代码的第一个字节来自队列中指令代码的第一个字节10队列空队列空11来自队列的后续字节来自队列的后续字节56第三节第三节 8086 中的标志中的标志 寄存器和堆栈寄存器和堆栈 57一、标志寄存器(一、标志寄存器(Flag Register)8086CPU中有

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

43、:个状态标志: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 059一、标志寄存器(一、标志寄存器(Flag Register)()(续)续)1.CF:进位标志(进位标志(Carry Flag)当运算的结果在最高位(当运算的结果在最高位(8位,位,16位)上产生一位)上产生一个进位或借位时,个进位或借位时,CF=1;反之,反之,CF=0。2.PF:奇偶标志(奇偶标志(Parity Flag)当运算结果低当运算结果低8位中位中

44、“1”的个数为偶数时,的个数为偶数时,PF=1;为奇数时,为奇数时,PF=0。60一、标志寄存器(一、标志寄存器(Flag Register)()(续)续)3.AF:辅助进位标志(辅助进位标志(Auxiliary Carry Flag)在算术运算中,当一个在算术运算中,当一个8位(或位(或16位)数的低位)数的低4位位向高向高4位(即位(即b3位向位向b4位)有进位或借位时,位)有进位或借位时,AF=1;反之,反之,AF=0。此标志用于此标志用于BCD码运算指令中。码运算指令中。4.ZF:零标志(零标志(Zero Flag)当运算结果为全当运算结果为全“0”时,时,ZF=1;反之,反之,ZF=

45、0。61一、标志寄存器(一、标志寄存器(Flag Register)()(续)续)5.SF:符号标志(符号标志(Sign Flag)当运算结果的最高位为当运算结果的最高位为“1”时,时,SF=1;反之,反之,SF=0。6.OF:溢出标志(溢出标志(Overflow Flag)在算术运算中,符号数的运算结果超出在算术运算中,符号数的运算结果超出8位或位或(16位)符号数表达的范围,位)符号数表达的范围,OF=1;反之,反之,OF=0。(8位:位:-128+127;16位:位:-32768+32767)溢出与进位是两个不同性质的标志,一个反映符溢出与进位是两个不同性质的标志,一个反映符号数,一个反

46、映纯数值。号数,一个反映纯数值。62一、标志寄存器(一、标志寄存器(Flag Register)()(续)续)此外还设有此外还设有3个控制标志:个控制标志:7.DF:方向标志(方向标志(Direction Flag)用于控制字符串操作指令的步进方向。用于控制字符串操作指令的步进方向。当当DF=0时,表示从低址向高址以递增顺序进行时,表示从低址向高址以递增顺序进行串串处理;当处理;当DF=1时,表示从高址向低址以递减顺序进时,表示从高址向低址以递减顺序进行行串处理。串处理。63一、标志寄存器(一、标志寄存器(Flag Register)()(续)续)8.IF:中断允许标志(中断允许标志(Inte

47、rrupt enable Flag)当当IF=1时,允许中断;当时,允许中断;当IF=0时,禁止中断。时,禁止中断。该标志可用指令该标志可用指令STI或或CLI使其置使其置1或或0。IF标志对标志对 NMI 信号或由内部中断(信号或由内部中断(INT n)无无 作用。作用。64一、标志寄存器(一、标志寄存器(Flag Register)()(续)续)9.TF:陷阱或跟踪标志(陷阱或跟踪标志(Trap Flag)当当TF=1时,时,CPU进入单步工作方式,每执行完一进入单步工作方式,每执行完一条指令就自动产生一个内部中断,以便进行程序调试。条指令就自动产生一个内部中断,以便进行程序调试。当当TF

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

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

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(微处理器与系统结构课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|