第四章 16位微处理器_第1页
第四章 16位微处理器_第2页
第四章 16位微处理器_第3页
第四章 16位微处理器_第4页
第四章 16位微处理器_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

第四章16位微处理器

微处理器(Microprocessor)是微机的运算及控制部件,也称中央处理单元(CPU)。它本身不构成独立的工作系统,因而它不能独立地执行程序。通常,微处理器由算术逻辑部件(ALU)、控制部件、寄存器组和片内总线等几部分组成,这些都在前面几章中讲过了有了一定的基础。4.116位微处理器概述2023/2/214.28086/8088CPU的结构8086CPU从功能上可分为两部分,即:总线接口部件BIU(Bus1nterfaceUnit)和执行部件EU(ExecutionUnit)。8086的内部结构如图4-1所示.2023/2/22图4-18086CPU内部结构框图2023/2/231.执行部件

执行部件(EU)的功能就是负责指令的执行。将指令译码并利用内部的寄存器和ALU对数据进行所需的处理。从结构图4-1中,可见到执行部件由下列部分组成:1)四个通用寄存器,即AX、BX、CX、DX;2)四个专用寄存器,即基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI;3)标志寄存器(FR);4)算述逻辑部件(ALU)。2023/2/248086/8088的EU有如下特点:

1、四个通用寄存器既可以作为16位寄存器使用,也可以作为8位寄存器使用。当BX寄存器作为8位寄存器时,分为BH和BL、BH为高8位,BL为低8位。

2.AX寄存器也常称为累加器,8086指令系统中有许多指令都是通过累加器的动作来执行的。当累加器作为16位来使用时,可以进行按字乘操作、按字除操作、按字输入/输出和其它字传送等;当累加器作为8位来使用时,可以实现按字节乘操作、按字节除操作、按字节输入输出和其它字节传送,以及十进制运算等。2023/2/25

3.加法器是算术逻辑的主要部件,绝大部分指令的执行都由加法器来完成。

4.标志寄存器FR共有16位,其中7位未用,所用的各位含义如下:

根据功能,8086的标志可分为两类:状态标志——它是操作在执行后,决定算术逻辑部ALU处在何种状态,这种状态会影响后面的操作。控制标志——它是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除,每个控制标志都对每一种特定的功能起控制作用。2023/2/26

状态标志有六个,即SF、ZF、PF、CF、AF和OF。表4-18086/8088标志位表:

2023/2/272.总线接口部件BIU

总线接口部件的功能是负责与存储器、I/O端口传送数据,即BIU管理在存储器中存取程序和数据的实际处理过程。

总线接口部件由下列各部分组成:

(1)四个段地址寄存器,即

CS一16位代码段寄存器,

DS一16位数据段寄存器,

ES一16位附加段寄存器,

SS一16位堆栈段寄存器。

(2)16位指令指针寄存器IP;

(3)20位的地址加法器;

(4)六字节的指令队列。

2023/2/28

IP:指令指针寄存器。存放下一条要读取的指令在代码段内的偏移地址。用户程序不能直接访问IP。注意PC与IP的区别。在程序执行过程中,PC始终指向下一条要执行的指令。因此可得结论:PC中的地址是需要转移、循环、调用子程序等操作时的断点。

8086CPU中有两个功能部件,即总线接口部件BIU和执行部件EU,BIU负责取指令,EU负责译码执行。当BIU执行的六个字节装满后,EU开始从出栈口取指令进行译码执行,同时BIU并行操作向入栈口补充一条取指令命令。指令指针IP则指向下条要取指的指令。而断点则应是要执行的指令内存地址,而不是IP内的下一条要取指的指令地址,且IP比断点超前了六个字节。由此可得结论:IP中并不是需要作转移、循环等操作时的断点。2023/2/29

8086/8088的BIU有如下特点:1·8086的指令队列为六个字节,8088的指令队列为四个字节。不管是8086还是8088,都会在执行指令的同时,从内存中取下一条指令或下几条指令,取来的指令就放在指令队列中。这样,一般情况下,CPU执行完一条指令就可以立即执行下一条指令,而不需要象以往的计算机那样,让CPU轮番进行取指令和执行指令的操作,从而提高了CPU的效率。2023/2/2102·地址加法器用来产生20位地址。上面已经提到,8086可用20位地址寻址:1M字节的内存空间,但8086内部所有的寄存器都是16位的,所以需要由一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。

例如,一条指令的物理地址就是根据代码段寄存器CS和指令指针寄存器IP的内容得到的。具体计算时,要将段寄存器的内容左移4位,然后再与IP的内容相加。假设:CS=0FE00H,IP=0400H,此时指令的物理地址为0FE400H。2023/2/211

总线接口部件和执行部件并不是同步工作的,它们是按以下流水线技术原则管理:

(1)每当8086的指令队列中有两个空字节,或者8088的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。

(2)每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件,进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。2023/2/212

但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的总线周期,然后再去响应执行部件发出的访问总线的请求。

(3)当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态。2023/2/213

(4)在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧接着的那条指令了,而总线接口部件往指令队列装人指令时,总是按顺序进行的,这样,指令队列中已经装入的字节就没有用了。遇到这种情况,指令队列中的原有内容被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。2023/2/214

3.存储器结构

8086/8088系统中存储器按字节编址,可寻址的存储器空间为1M字节,由于1M字节为220,因此每个字节所对应的地址应是20位,这20位的地址称为物理地址。

(1)存储器的分段20位的物理地址在CPU内部就应有20位的地址寄存器,而机内的寄存器是16位的(16位机),16位寄存器只能寻址64K字节。8086/8088系统中把1M存储空间分成若干个逻辑段,每个逻辑段容量(64K字节),因此1M的存储空间可分成16个逻辑段(0一15)。

2023/2/215

允许逻辑段在整个存储空间浮动,即段与段之间可以部分重叠、完全重叠、连续排列、断续排列非常灵活,在整个存储空间中可设置若干个逻辑段,如图4-2所示。2023/2/216

对于任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间,如图4-3所示。

在8086/8088存储空间中,把16字节的存储空间称作一节(Paragraph)。为了简化操作,要求各个逻辑段从节的整数边界开始,也就是说段首地址低4位应该是“0”,因此就把段首地址的高16位称为“段基址”,存放在段寄存器DS或CS或SS或ES中,段内的偏移地址存放在IP或SP中。2023/2/217

若已知当前有效的代码段、数据段、附加段和堆栈段的段基址分别为1055H、250AH、8FFBH和EFF0H,那么它们在存储器中的分布情况如图4-4所示。2023/2/218(2)存储器中的逻辑地址和物理地址

任何一个20位物理地址,也称为绝对地址,都是由两部分组成。采用分段结构的存储器中,任何一个逻辑地址由段基址和偏移地址两个部分构成,它们都是无符号的16位二进制数。任何一个存储单元对应一个20位的物理地址,也可称为绝对地址,它是由逻辑地址变换得来的,当CPU需要访问存储器时,必须完成如下的地址运算:

物理地址=段基址*16+偏移地址

2023/2/219

物理地址的形成如图4-5所示,它是通过CPU的总线接口部件BIU的地址加法器来实现的。2023/2/220

例如,代码段寄存器CS=2000H,指令指针寄存器存放的是偏移地址IP=2200H,存储器的物理地址为20000H+2200H=22200H

我们可以把每一个存储单元看成是具有两种类型的地址:物理地址和逻辑地址,物理地址就是实际地址,它具有20位的地址值,它是唯一标识1M字节存储空间的某一个字节的地址。逻辑地址由段基址和偏移地址组成。程序以逻辑地址编址,而不是用物理地址编址。

2023/2/221

四个段寄存器分别指向四个现行可寻址的分段的起始字节单元。一般指令程序存放在代码段中,段地址来源于代码段寄存器,偏移地址来源于指令指针IP。当涉及到一个堆栈操作时,段地址寄存器为SS,偏移地址来源于栈指针寄存器SP。当涉及到一个操作数时,则由数据段寄存器DS或附加段寄存器ES作为段寄存器,而偏地址是由16位偏移量得到。16位偏移量可以是指令中的偏移量加上16位地址寄存器的值组成,取决于指令的寻址方式。2023/2/2224.8086总线的工作周期

为了取得指令和传送数据的协调工作,就需要CPU的总线接口部件执行一个总线周期。在8086/8088中,一个最基本的总线周期由四个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由计算机主频决定。例如,8086的主频为10MHz一个时钟周期就是100ns。在一个最基本的总线周期中,常将四个时钟周期分别称为四个状态,即T1状态、T2状态、T3状态。T4状态。2023/2/223

典型的8086总线周期序列见图4-6。

在T1状态:CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。

在T2状态:CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。总线的最高四位(A16—A19)用来输出本总线周期状态信息。这些状态信息用来表示中断允许状态,当前正在使用的段寄存器名等。2023/2/224在T3状态:多路总线的高4位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。

在有些情况下,被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前,向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入一个或多个附加的时钟周期Tw,Tw也叫等待状态,在Tw状态,总线上的信息情况和T3状态的信息情况一样。当指定的存储器或外设完成数据传送时,便在“READY”线上发出“准备好”信号,CPU接收到这一信号后,会自动脱离TW状态而进入T4状态。2023/2/225在T4状态:总线周期结束。

需要指出的是,只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。可见,如果在一个总线周期之后,不立即执行下一个总线周期,那么系统总线就处在空闲状态,此时,执行空闲周期。在空闲周期中,可以包含一个或多个时钟周期。在这期间,高4位上,CPU仍然驱动前一个总线周期的状态信息,而且,如果前一个总线周期为写周期,那么,CPU会在总线低16位上继续驱动数据信息;如果前一个总线周期为读周期,则在空闲周期中,总线低16位处于高阻状态。2023/2/226

4.38086/8088CPU的引脚和工作模式

(一)8086和8088的引脚如图4-7所示:图4-78086/8088引脚信号图(括号内为最大模式时的引脚名)2023/2/2278086/8088各引脚信号的:功能如下:

1.AD15一AD0。(AddressDatabus)地址/数据复用引脚(双向工作)

作为复用引脚,在总线周期的T1状态用来输出要访问的存储器或I/O端口地址。T2一T3状态,对读周期来说,处于浮空状态;对写周期来说,则是传输数据。

2023/2/228地址状态分时复用引脚A19/S6A16/S3:引脚3538,输出、三态总线。采用分时输出,即在T1状态作地址线用,T2T4状态输出状态信息。访问存储器时,T1状态输出由A19A16(访问I/O端口时,不使用A19A16,它们保持为0)与AD15AD0一起构成的20位物理地址。状态信息位中,S6为0用来表示8086CPU当前与总线相连,所以在T2T4状态,S6总为0;S5表示(可屏蔽)中断允许标志位IF的当前设置,IF=1时,S5为1,否则为0;S4S3用来指示当前正在使用哪个段寄存器,如下表所示:2.A19/S6一A16/S3(Address/Status)地址/状态复用引脚(输出)2023/2/229S4与S3组合代表的正在使用的寄存器S4S3当前正在使用的段寄存器00110101ESSSCS或未使用任何段寄存器DS2023/2/230

3.NMI(Non一Maskab1einterrupt)非屏蔽中断引脚(输入)

非屏蔽中断信号是不受中断允许标志IF的影响,也不能用软件进行屏蔽。每当NMI端进入一个正沿触发信号时,CPU就会在结束当前指令后,进入对应于中断类型号为2的非屏蔽中断处理程序。

4.INTR(1nterruptRequest)可屏蔽中断请求信号引脚(输入)

可屏蔽中断请求信号为高电平有效,CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,如果CPU中的中断允许标志为1,并且又接收到INTR信号,那么,CPU就会在结束当前指令后,响应中断请求,进入一个中断处理子程序。2023/2/2314.CLK(Clock)时钟引脚(输入)

5.RESET(Reset)复位信号引脚(输入)引脚21,复位信号,输入,高电平有效。复位信号使处理器马上结束现行操作,对处理器内部寄存器进行初始化。8086/8088要求复位脉冲宽度不得小于4个时钟周期。复位后,内部寄存器的状态如下表所示:内部寄存器状态标志寄存器IPCSDSSSES指令队列缓冲器其余寄存器0000H0000HFFFFH0000H0000H0000H空0000H2023/2/2326.TEST测试信号引脚(输入)

测试信号为低电平有效。TEST信号是和指令WAIT结合起来使用的,在CPU执行WAIT指令时,CPU处于空转状态进行等待;当8086的TEST信号有效时,等待状态结束,CPU继续往下执行被暂停的指令。7.MN/MX(Minimum/MaximumModeControl)最小/最大模式控制信号引脚(输入)

它是最大模式及最小模式的选择控制端。此引脚固定接为+5V时,CPU处于最小模式;如果接地,则CPU处于最大模式。2023/2/2338、INTA(1nterruptAcknowledge)中断响应信号(输出)

9、ALE(AddressLatchEnable)地址锁存允许信号(输出)这是8086/8088提供给地址锁存器8282/8283的控制信号,高电平有效。

10、:引脚32,读控制信号,输出。当=0时,表示将要执行一个对存储器或I/O端口的读操作。到底是从存储单元还是从I/O端口读取数据,取决于(8086)或(8088)信号。2023/2/234

11.:引脚34,8086高8位数据总线允许/状态复用引脚,输出。在总线周期的T1状态时输出,为低电平时,表示当前数据总线上高8位数据有效。该引脚和地址引脚A0配合表示当前数据总线的使用情况。S7为备用状态信号线。

8086系统中,若要读/写从奇地址单元开始的一个字,需要两个总线周期。数据总线的使用情况00110101011016位字传送(偶地址开始的两个存储器单元的内容)在数据总线高8位(D15D8)和奇地址单元间进行字节传送在数据总线低8位(D7D0)和偶地址单元间进行字节传送无效从奇地址开始读/写一个字(在第一个总线周期将低8位数字送到AD15~AD8;在第二个总线周期将高8位数字送到AD7~AD0)2023/2/235M/IODT/RSS0操作100发中断响应信号101读I/O端口110写I/O端口111暂停000取指令001读内存010写内存011无源状态对于8088,对外只有8位数据总线,没有高8位数据总线,因而不需要BHE信号,第34号引脚为SS0。SS0、M/IO和DT/R组合起来,决定了当前总线周期的操作,具体对应关系如表所示。2023/2/236

12.READY:引脚22,准备就绪信号,输入,高电平有效。该信号由8284时钟发生器同步后产生。CPU在每个总线周期的T3状态的上升沿对READY引脚采样,若为高电平,说明数据已准备好,进入T4状态完成数据传送过程,结束当前总线周期;若为低电平,则CPU在T3状态之后自动插入一个或几个等待状态TW,直到READY变为高电平。无源状态:当S2、S1、S0都为高电平时表明操作过程即将结束,而另外iayige新的总线周期尚未开始,这时称为无源状态(最大工作模式下)。2023/2/237(二)8086/8088CPU工作模式

8086/8088的工作模式完全是由硬件决定的。

为了尽可能适应各种使用场合,在设计8086/8088CPU芯片时,就使得它们可以在两种模式下工作,即最大模式和最小模式。所谓最小模式,就是在系统中只有8086/8088一个微处理器。在这种系统中,所有的总线控制信号都直接由8086/8088产生,因此,系统中的总线控制逻辑电路被减到最少。

2023/2/238

8087是一种专用于数值运算的处理器,它能实现多种类型的数值操作,例如高精度的整数和浮点运算,也可以进行超越函数(如:三角函数、对数函数)的计算。

最大模式是相对最小模式而言,它用在中等规模的或者大型的8086/8088系统中,在此系统中,包含两个或多个微处理器,其中一个主处理器就是8086/8088,其它的处理器称为协处理器·它们是协助主处理器工作的。和8086/8088配合的协处理器有两个,一个是数值运算协处理器8087,一个是输入/输出协处理器8089。2023/2/239

由于在通常情况下,这些运算往往通过软件方法来实现,而8087是用硬件方法来完成这些运算的,所以在系统中加入协处理器8087之后,会提高系统的数值运算速度。

8089在原理上有点儿象带有两个DMA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但8089又和DMA的控制器不同,它可以直接为输入/输出设备服务,使8086/8088不再承担这类工作。所以在系统中增加协处理器8089后,会提高主处理器的效率,尤其是在输入输出频繁的场合。2023/2/2408086最小工作模式的典型配置2023/2/241

在最小模式下其硬件包括:一片8284A

作为时钟发生器。它有三个功能:产生时钟信号对READY和RESET信号进行同步。三片8282或74LS373

。(8282是8位的,而8086/8088系统采用20位地址,再加上BHE信号,所以需要三片8282),用来作为地址锁存器(由于采用地址数据分式复用总线,而CPU对存储器或I/O接口进行存取操作时,要求在整个总线周期内保持稳定的地址信息,因而必须在总线周期内的T1状态中将地址信息锁存起来)。当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时用两片8286作为总线收发器,也常称为总线驱动器。

2023/2/242在最小方式下,第2431引脚的功能如下:

(2)ALE:引脚25,地址锁存允许信号,输出。它是8086/8088提供给地址锁存器的控制信号,高电平有效。

(1)

:引脚24,中断响应信号,输出。该信号用于对外设的中断请求作出响应。

(3)

:引脚26,数据允许信号,输出。当使用数据总线收发器时,该信号为收发器提供一个控制信号,决定是否允许数据通过数据总线收发器。2023/2/243在DMA方式,以上三个引脚被浮置为高阻状态。

(4)

:引脚27,数据发送/接收信号,输出。该信号用来控制数据的传送方向。

(5)

:引脚28,存储器I/O端口控制信号,输出。该信号用来区分CPU是进行存储器访问还是I/O端口访问。

(6)

:引脚29,写信号,输出。表示CPU当前正在进行存储器或I/O写操作(取决于M/IO信号)。2023/2/244数据传送方式M/IORDWRI/O读001I/O写010存储器读101存储器写1108086最小模式数据传送方式2023/2/245

(7)HOLD:引脚31,总线保持请求信号,输入。当8086/8088CPU之外的总线主设备要求占用总线时,通过该引脚向CPU发一个高电平的总线保持请求信号。

(8)HLDA:引脚30,总线保持响应信号,输出。当CPU接收到HOLD信号后,这时如果CPU允许让出总线,就在当前总线周期完成时,在T4状态发出高电平有效的HLDA信号给以响应。2023/2/2468086最大工作模式的典型配置2023/2/247

在最大模式下,一般包括2个或多个处理器,这样就要解决主处理器和协处理器之间的协调工作问题和对总线的共享控制问题。在最大模式下,CPU不直接产生总线控制信号,而是将总线开始的状态信息等信号经一个控制信号转换电路,即8288总线控制器。

另外,在最大模式系统,一般还有中断优先管理部件,即8289A,在8086多处理器系统中,除8086CPU外还有8089和8087,他们也是采用分时方式来占用总线。因此,在多处理器系统中必须采用总线仲裁器8289配合总线控制器8288来确定每一个时刻的总线使用权赋予优先级别较高的处理器使用。2023/2/248在最大方式下,第2431引脚的功能如下:

(1)QS1、QS0:引脚24、25,指令队列状态信号,输出。QS1、QS0两个信号电平的不同组合指明了8086/8088内部指令队列的状态。QS1QS0含义00无操作01从指令队列的第一字节中取走代码10队列为空11除第一字节外,还取走了后续字节中的代码2023/2/249

(2)

:引脚26、27、28,总线周期状态信号,输出,低电平有效。这三个状态信号连接到总线控制器8288的输入端,8288对这些信号进行译码后产生内存及I/O端口的读写控制信号。0000111100110011010101018288产生的控制信号对应操作发中断响应信号

读I/O端口

写I/O端口暂停取指令读内存写内存无源状态

无2023/2/250(3)

:引脚29,总线封锁信号,输出。低电平有效。当它为低电平时,其它总线主控部件不能占用总线。在DMA期间,

被浮空而处于高阻状态。

信号由前缀指令“LOCK”产生,LOCK指令后面的一条指令执行完后,便撤消

信号。(4)

:引脚30、31,总线请求信号(输入)/总线请求允许信号(输出),低电平有效双向信号。该信号用以多处理器之间对总线使用权的控制。的优先级高于。2023/2/251在最大模式下,8086/8088也提供了总线主模块之间传递总线控制权的手段。CPU以外的其他总线主模块包括协处理器、DMA控制器,它们可以连接在局部总线上,去共享CPU和系统总线之间的接口,即共享地址锁存器、数据总线收发器、总线控制器,当然也共享系统总线。与最小模式下不同的是,在最大模式下,总线控制信号不再是HOLD和HLDA,而是将这两个信号引脚变成能更加完善的两个双向信号引脚RQ/GT0和RQ/GT1,它们都称为总线请求/总线允许信号端,可以分别连接两个其他的总线主模块。

RQ/GT0和RQ/GT1有着完全相同的功能,但是RQ/GT0比RQ/GT1的优先级要高。也就是说,如果RQ/GT0和RQ/GT1都连接了其他总线主模块,当两条引脚上同时出现总线请求时,CPU会在RQ/GT0先发出允许信号,等到CPU再次得到总线控制权时,才响应RQ/GT1引脚上的请求。不过,如果CPU已经把总线控制权让给连接RQ/GT1的主模块,此时又在RQ/GT0引脚上收到另一个主模块的总线请求,那么,要等前一个主模块释放总线后,CPU收回了总线控制权,才会去响应RQ/GT0引脚上的总线请求。可见CPU对总线请求的处理并不是像对中断请求的处理那样允许“嵌套”。

2023/2/252

①当CPU以外的一个总线主模块要求使用系统总线时,从RQ/GT(即RQ/GT0或者RQ/GT1,以下类同)线上往CPU发一个负脉冲,宽度为一个时钟周期。

②CPU在每个时钟周期的上升沿处对RQ/GT引脚进行检测,如果测得外部有一个负脉冲,则在T4状态或下个T1状态从同一引脚RQ/GT上往请求总线使用权的主模块发一个允许脉冲,这个允许脉冲的宽度也相当于一个时钟周期。不过要注意,总线请求负脉冲是外部发给CPU的,而总线允许脉冲是由CPU发给其他外部主模块的。CPU一旦发出了响应脉冲,各地址/数据引脚、地址/状态引脚以及RD、LOCK、S2、S1、S0、BHE/S7便处于高阻状态,于是在逻辑上暂时和总线断开。

③协处理器或其他总线主模块收到CPU发出的脉冲后,便得到了总线控制权,于是它可以对总线占用一个或几个总线周期。

④当外部主模块准备释放总线时,便在RQ/GT线上往CPU发一个释放脉冲,释放脉冲的宽度也为一个时钟周期。CPU检测到释放脉冲后,在下一个时钟周期便收回了总线控制权。2023/2/2531.总线控制器8288

2023/2/254

2.总线仲裁控制器8289

2023/2/2558289有两种优先级控制,构成系统的处理器都要通过主控器总线来共享总线上的资源。在某一时刻,只允许一个处理器使用主控系统总线。为此,利用8289可以实现优先级控制。主要有两种。BREQ——总线请求BPRN——总线优先权输入CBRQ——公共总线请求BUSY——总线忙2023/2/256BPRO——总线优先权输出BPRN——总线优先权输入CBRQ——公共总线请求BUSY——总线忙2023/2/257总线操作1.最小工作模式下的总线操作2023/2/2582023/2/2592.最大工作模式下的总线操作2023/2/2602023/2/261中断操作中断的基本概念

1.中断的定义在CPU执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需暂停正在执行的程序,转去处理该事件(执行中断服务程序),并在处理完毕后返回断点处继续执行被暂停的程序。返回主程序时执行的第一条指令的地址。2023/2/262图:中断过程示意图2023/2/263注意:在进行现场保护和现场恢复之前要先关闭中断系统,以屏蔽其他中断请求。待现场保护和现场恢复完成后,为了使系统具有中断嵌套功能,再次开放中断。中断处理流程图对于一个中断源的中断处理过程应包括中断请求、中断响应、保护断点、中断处理和中断返回。2023/2/264中断的主要用途:

实现输入/输出操作 电源掉电或其他情况的报警 控制台或人工干预 多处理机系统中各处理机之间的协调 控制操作系统2023/2/2652.中断源任何能够引发中断的事件都称为中断源,可分为硬件中断源和软件中断源两类。硬件中断源主要包括外设、数据通道、时钟电路和故障源等;软件中断源主要包括为调试程序设置的中断(如断点、单步执行等)、中断指令(INT21H)以及指令执行过程出错(如除法运算时除数为零)等。2023/2/266中断请求是中断源向CPU发出的请求中断的要求。软件中断源是在CPU内部由中断指令或程序出错直接引发中断;而硬件中断源必须通过专门的电路将中断请求信号传送给CPU,CPU也有专门的引脚接收中断请求信号。可屏蔽中断不可屏蔽中断INTRNMI2023/2/267软件中断软件中断是用一条指令使CPU进入中断处理子程序。在进入中断时,不需要执行中断响应总线周期,也不从数据总线读取中断类型码,不受中断允许标志IF的影响,也就是不管IF为0还是1,任何一个软件中断都可执行。但是软件中断信号仍会受标志寄存器中另外一个标志TF的影响,只有TF为1时,才能执行单步中断。正在执行软件中断时,如果有非屏蔽中断请求,则会在执行完当前指令后立即给与响应;如果有可屏蔽中断请求,且在这之前在中断处理子程序中执行了开放中断指令,而是中断标志IF为1,则也会在当前指令执行完后响应可屏蔽中断请求。2023/2/268非屏蔽中断一般用来处理系统的重大故障,比如系统掉电处理常常通过非屏蔽中断处理程序来执行。非屏蔽中断服务程序一般采取以下措施:(1)把现场的的数据立即转移到非易失性的存储器中,等电源恢复后继续执行中断前的程序。(2)启动备用电源,在尽量短的时间内用备用电源来维持微机系统的工作。非屏蔽中断从NMI引脚上引入,它不受中断允许标志IF的影响,它的中断类型号是2。2023/2/2692023/2/270中断向量表中断向量:中断服务程序的入口地址。对于8086/8088系统,所有中断服务程序的入口地址都存放在中断向量表中,每种中断对应一个中断类型号,与一个中断服务程序的入口地址相对应。每个中断服务程序的入口地

温馨提示

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

评论

0/150

提交评论