第九章微机原理_第1页
第九章微机原理_第2页
第九章微机原理_第3页
第九章微机原理_第4页
第九章微机原理_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

第九章中断技术一、中断的基本概念二、中断控制器Intel8259A三、IBMPC/XT的基本中断系统四、PC/AT(80286)中8259的使用情况六、中断服务程序的编程五、Pentium的中断系统简介——CPU在正常运行程序时,由于程序的预先安排或计算机内外部事件,引起CPU中断正在运行的程序,而转到为预先安排的事件或内外部事件服务的程序中去。1.中断一、中断的基本概念中断源中断请求当前程序中断服务程序程序断点中断返回中断响应movah,2int21haddal,1movah,2movdl,alint21h预先安排的事件:计算机内外部事件:如:除法溢出;电源故障;内存错误;键盘输入;与不同外设的信息交换;等。

(1)实时处理在计算机用于工业控制时,由于很多控制参数发生变化的频率很高,计算机要及时地获得它们的变化情况。当有关参数发生变化时,外部设备则向计算机发出中断请求信号,要求计算机进行处理,从而达到实时数据处理的目的。

(2)故障处理在计算机运行时,往往会发生一些无法事先预料到的故障,如电源、内存或运算溢出等。当这些故障出现时,故障源向CPU发出中断请求,CPU对故障进行自动处理。

(3)同步操作在很多计算机系统中,外设与CPU经常同时工作。由于外设的工作速度较慢,所以CPU启动外设后,继续运行其它程序,而这时外设也进行数据的准备工作。当外设将数据准备完毕后,向CPU发出中断请求,CPU暂停当前工作,进行相应的数据处理工作。2.中断的主要作用

常见的中断源有:(1)一般的输入、输出设备。如键盘、鼠标、打印机等;(2)数据通道中断源,如磁盘等;(3)实时时钟。如PC机的计时时钟;(4)系统故障。如电源故障、计算溢出等;(5)断点。通常为调试程序而人为设置的中断点。3.中断源在计算机系统中,发出中断请求的来源称为中断源。4.中断的类型PC系列微机最多可以支持256种中断,它们被分为四种类型:

异常(由指令的执行引起的同步事件,与指令密切相关,如溢出,段不存在等)

•软件中断(INTn,INTO)

•外部可屏蔽中断(与指令的执行无关的事件,通常由外部事件如I/O设备的

•外部非屏蔽中断请求所引起的对CPU的请求)每个中断都指定了一个类型码,也称为中断号。对应每一种中断应当有一个中断服务程序(ISP)(InterruptServiceProgram——ISP)中断类型码通过一个地址指针表与中断服务程序的入口地址相联系:在实模式下:该表称为中断向量表;在保护模式下:该表称为中断描述符表。00000H00004H003FCH0型中断向量1型中断向量255型中断向量n型中断向量……4*n(1)异常是指令执行过程中引起的内部异常操作处理。包括除法错误异常、调试异常、断点中断等。异常中断的例子:0型——除法错误异常1型——调试异常…...(2)软件中断执行有定义的INTn指令而引发的中断,称为软件中断。软件中断使用05H、10H~0FFH中的若干个中断号;软件中断进一步分为BIOS中断和DOS中断。异常和软件中断是由处理器内部产生的。(3)外部可屏蔽中断

•外部可屏蔽中断是处理器响应各种外部硬件中断的最常用的方法,通过处理器的INTR引脚产生;•外部可屏蔽中断受处理器内部的中断允许标志位IF的控制;

•处理器只有一个INTR引脚可以接受外部可屏蔽中断请求,为了管理众多的外部中断源,微机系统中采用可编程中断控制器8259;•PC系列机通过两片8259级连可以响应15个外部中断源。(4)外部非屏蔽中断•为外部紧急请求提供服务的中断,通过处理器的NMI引脚产生;•NMI与IF标志的状态无关;•

NMI有一个专用的类型号02H;•使用非屏蔽中断的典型例子是电源故障中断。5.中断的优先级(权)与中断嵌套优先级(权)通常一个系统有多个中断源,而CPU同一时刻只能响应一个中断源的请求,那么当多个中断源同时请求中断服务时,应该先响应哪一个,有一个次序安排的问题。按中断源的轻重缓急程度确定的优先级别,称为优先级(权)。1异常软件中断外部非屏蔽中断外部可屏蔽中断优先级递增作用——①当多个中断请求到达时,CPU要响应优先权相对高的请求;

②当CPU正在进行中断服务时,优先权相对高的中断请求能中断优先权相对低的中断服务。中断嵌套1#中断请求响应返回1#中断服务程序2#中断请求响应返回2#中断服务程序3#中断请求响应返回3#中断服务程序原主程序中断优先级3#>2#>1#•中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时,如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被中止的中断服务程序,这一过程称为中断嵌套。

1中断优先判断可分为软件处理和硬件处理两种方式。中中中中中中中中断断断断断断断断源源源源源源源源12345678输入端口(地址:20H)INTR保护现场中断1申请中断2申请中断3申请外设1中断服务程序恢复现场,中断返回软件查询接口软件查询流程

软件方式电源故障

磁盘

键盘输入

打印输出

外设2中断服务程序外设3中断服务程序YYYNN先判断的,优先级高

硬件优先权排队电路——了解使用硬件进行中断优先权排队主要有以下两种方式:

8-3优先权编码组中断输入

优先权寄存器CPU数据总线

A1A2A3

B1B2B3A>BINTR比较器方式中断优先排队电路比较器方式

在图中优先权寄存器中存放的是当前在服务的中断码,如没有中断服务则为0,当有中断请求到来时,从中断输入A端输入的中断信号被编码,并与B端的在服务中断号进行比较,如A小于或等于B则从INTR端输出一低电平。否则为高电平,向CPU发出中断申请信号。当优先权较高的中断优先权较低的中断服务时,进入优先权较高的中断服务前,要先保存上次在服务的中断号,当本次中断结束时,要将上次在服务的中断号送回到优先权寄存器。

比较器雏菊花环电路方式

F/F1F/F2F/F3F/F4中断输入1中断输入2中断输入3中断输入4

中断响应(来自CPU)中断输出1中断输出2中断输出3中断输出4

雏菊花环电路优先权排队电路

当中断输入n发中断信号时,如没有在服务中断,同时,中断是开放的,则CPU响应中断请求n。每个中断输入可屏蔽其下一级的中断请求信号的输出,并可将屏蔽信号传递到下面的各级。当有某级中断在服务时,比它级别高的中断输入请求中断时,高级别中断将被CPU响应,同时屏蔽其以下的各级中断。从而达到了中断优先排队的目的。当中断请求被响应时,CPU将停止当前运行的程序,转入中断服务程序,而每个中断服务程序都有一个程序的入口地址,这个入口地址就是中断向量。000000000C00013C1F1F3C:0100(1F4C0)PUSHAXPUSHBX003FF中断向量表INT3中断服务程序中断向量6.中断向量与中断向量表(中断描述符表)内存中存放一组中断向量的区域被称为中断向量表。当中断被响应后,CPU根据中断的类型号,计算出中断向量在中断向量表中的位置,然后从表中取出中断向量(中断服务程序的入口地址),并进入中断服务程序。中断向量表•中断向量表存放在内存最低端的1K单元之中,物理地址00000H~003FFH.00000H00004H003FCH0型中断向量1型中断向量255型中断向量n型中断向量……4*n中断向量表包含256个中断向量。每个中断向量占用两个字(4个字节),高地址字为中断服务程序所在代码段的段基址,低地址字为代码段中中断服务程序第一条指令的偏移量。1中断描述符表——了解7.中断指令STI——开中断指令(将标志寄存器中的中断标志位IF置1,允许CPU响应来自INTR引脚的中断请求)CLI——关中断指令(将标志寄存器中的中断标志位IF清0,使CPU不响应来自INTR引脚的中断请求)INTn——软件中断指令(n为中断号,调用n号中断服务程序。)

①将标志寄存器压栈②将TF置0,禁止单步操作,将IF置0,使CPU处于关中断状态③断点的CS、IP压栈④从中断向量表取n号中断向量IP、CS⑤转向n号中断服务程序IRET——中断返回指令(中断服务程序的出口指令,从栈顶弹出6个字节依次写入IP、CS和标志寄存器)8.CPU响应中断的工作过程

(1)关闭中断:多数CPU在发出响应中断信号时,自动关闭中断。

(2)保留断点:CPU响应中断后,为了在处理完中断请求后正确返回到主程序,CPU要将返回地址(IP+1,CS)压入栈内保存起来。

(3)保护现场:由于中断具有很强的随机性,所以,为了能保证中断返回后主程序正确运行,要将有关寄存器和运行状态压入栈内保护起来。

(4)进行中断服务程序:要进行中断服务程序,就要取得入口地址,不同的CPU有不同的取得入口地址方式,8086/8088CPU是通过中断矢量形成入口地址的。当得到入口地址后,CPU就开始运行中断服务程序。

(5)恢复现场:当中断服务程序结束时,将已保护的有关寄存器和状态从栈中弹出,为主程序的正确运行作好准备。

(6)开放中断并返回:在中断服务程序的最后,要开放中断为以后的中断请求作好准备,然后使用中断返回指令(如8086/8088中的IRET)返回到主程序。二、简单中断电路——了解1.设置中断请求触发器——每一个中断源要能发出中断请求信号,且这个信号能保持,一直到CPU响应这个中断。CPUI/ORDINTR地址总线数据总线A7~A0D7~D0数据端口数据RQD外设Ready+5V2.设置中断屏蔽触发器——只有当此触发器置1时,外设请求才被送至CPU。CPURDINTR外设数据端口地址译码器地址译码器控制端口QDQDD7~D0CSR+5VWR1中断请求中断屏蔽ReadyA15~A0CPU内部有一中断允许触发器,由STI和CLI控制;CPU复位时,中断允许触发器为“0”;中断响应后CPU也关中断。三、中断控制器Intel8259A——了解

Intel8259A是兼容于8080/8085、8086/8088和80286系列的可编程中断控制器,其功能主要有:1)单片8259A可管理8级中断;2)通过级连,可管理多于8级的中断,在不增加其它电路的前提下,可使用8片8259A构成64级主从式中断系统;3)每一级中断都可通过编程使之被屏蔽或被允许;4)8259A可通过编程被设定为几种不同的工作方式。1.功能数据总线缓冲器读/写逻辑级联缓冲比较器控制逻辑

ISR优先权电路

IRRIMRIR0IR7D7~D0INTAINTRDWRA0CSCAS0CAS1CAS2SP/EN内部数据总线2.结构IR18位双向三态。是与CPU进行数据交换的数据通道,CPU对它的读出和写入都是通过该缓冲器进行的。用于CPU对8259A进行读写控制用于多片8259A进行级连根据设定的工作方式管理整个芯片的工作8位寄存器。用于存放来自外设的中断请求信号,当某引脚有中断请求信号时,相应的位被置1。00010110IRR8位寄存器。用于存放正在处理的中断请求信号,8259A在接收到CPU的响应信号(INTA)后,使相应位置1。00010100ISR用于识别和管理各种中断请求信号的优先级别。8位寄存器。用于存放对中请求的屏蔽信息。当某位被编程设置为1时,则相应的中断请求信号被屏蔽,不会被送到CPU.10000001IMRCSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVccA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2D7~D0数据总线(双向)RD读输入WR写输入A0选择内部寄存器地址CS片选CAS2~CAS2级连线SP/EN从程序/充许缓冲INT中断输出INTA中断响应输入IR0~IR7中断请求输入8259管脚对照表12822732642552462372282192010191118121713161415管脚信号3.工作方式[1]设置优先级的方式(1)全嵌套方式全嵌套方式是8259最常用的工作方式。初始化后若没有再设置其它优先级方式(如优先权旋转),8259自动进入全嵌套方式。其特点是:

•中断请求优先级顺序是IRQ0——IRQ7。

•当一个中断被响应时,中断服务寄存器ISR相应的位被置为“1”,且保持到中断服务程序在返回前发中断结束命令为止。

•在ISR位置位期间,禁止再发生同级或较低级的中断,较高级的中断请求仍能产生中断。

•每个中断请求可分别由IMR相应位屏蔽。1(2)特殊全嵌套特殊全嵌套方式同全嵌套方式只有一点不同,即:在特殊全嵌套方式下,当正处理某一级中断时,又有同级的中断请求产生时,8259A也会响应,从而实现一种对同级中断请求的特殊嵌套。特殊全嵌套方式一般用于多片8259A级连的系统中。1(3)优先级自动旋转方式优先级自动旋转方式一般用于系统中有多个优先级相等的中断源的情况。在这种方式下,优先级队列是变化的,一个设备受到服务后,其优先级自动降到最低。初始优先级队列是固定的,为:IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7(由高到低)。如果这时IRQ1有中断请求,则在完成其中断服务后,优先级队列变为(由高到低):IRQ0IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7IRQ1

优先级自动旋转方式由操作命令字OCW2设定。1(4)优先级特殊旋转方式

优先级特殊旋转方式与优先级自动旋转方式只有一点不同,即:在优先级特殊旋转方式中,初始的最低优先级由编程来决定,例如,设定IRQ3为最低优先级,那么,IRQ4即为最高优先级。

优先级自动旋转方式也是由操作命令字OCW2设定。1[2]屏蔽中断源的方式(1)普通屏蔽方式

在该方式中,8259A的每一条中断请求线都可根据需要设置屏蔽,从而使这个中断请求不能从8259A送到CPU。可以通过操作命令字OCW1来设置屏蔽。8259A内部有一个中断屏蔽寄存器IMR,它的每一位对应了一个中断请求输入,通过设置OCW1,使IMR中任一位或几位为1,当某位为1时,对应的中断请求被屏蔽。1(2)特殊屏蔽方式

在某些应用场合,希望能动态地改变系统的优先级结构,即在执行中断服务程序的某一部分时,希望禁止某些较低级的中断请求,而在执行中断服务程序的另一部分时,又能够开放比自己级别低的中断请求。要达到这种目的,可采用特殊屏蔽方式。设置了特殊屏蔽方式后,未被OCW1屏蔽的中断,不管其优先级如何,都可申请中断。

特殊屏蔽方式由操作命令字OCW3来设置。1[3]

结束中断处理的方式(1)自动中断结束方式(AEOI)

自动中断结束方式由初始化命令字ICW4设置。1(2)非自动中断结束方式

在这种方式下,当中断服务程序结束返回时,必须向8259A送中断结束命令(EOI),8259A在接到该命令后,将中断服务寄存器中相应位复位。它有两种情况:

•非特殊EOI命令:在全嵌套方式下,EOI命令能自动地把当前ISR中优先级最高的一位清0。因为在全嵌套方式中,最高的非零ISR位对应了最后一次被响应和被处理的中断。也就是当前正在处理的中断,所以,它的复位相当于结束了当前正在处理的中断。

•特殊EOI命令:在非全嵌套方式下,因无法确定最后响应的是哪一级中断,故应向8259A发特殊EOI命令。这个命令指出了要清除当前中断服务寄存器ISR中的哪一位。

两种EOI命令由操作命令字OCW2设定。1[4]中断查询方式[5]

多片级连方式一个8259A主片至多带8个从片,因此可扩展控制64个中断源。所有的主片和从片均分别进行初始化,且可设定为不同的工作方式。[6]缓冲方式

8259A不向CPU发INT请求信号,而由CPU发查询命令来获得对请求设备的中断优先级。其特点是:•外部设备仍然通过8259A发中断请求信号要求CPU进行服务,但8259A不是用INT信号向CPU发中断请求信号。•CPU内部的中断触发器复位,禁止外部对CPU的中断请求。•CPU使用软件查询确认中断源,进而对外部设备进行中断服务。

通过OCW3发出查询命令。1

•缓冲方式:在多片8259A级连的大系统中,8259A通过总线驱动器和数据总线相连,这就是缓冲方式。

•非缓冲方式:当系统中只有单片8259A,一般将它直接与数据总线相连;另外,在一些不太大的系统中,即使有几片8259A级连工作,也可以将8259A直接与数据总线相连。这种连接即为非缓冲方式。

缓冲方式由ICW4设置。

18259A的编程结构8259的编程结构由三组共10个寄存器构成,每个寄存器均为8位。4.8259A的编程

初始化命令字ICW(InitializationCommandWord)通常是系统开机时,由初始化程序填写,且在整个系统工作过程中保持不变。初始化命令字必须按顺序填写。下面我们讨论来讨论它的格式及填写规则。(1)ICW1

[1]初始化命令字1—需要ICW40—不需要ICW41—单片8259A0—级连调用地址间距(仅用于MCS—80/85模式)1—电平触发方式0—边沿触发方式中断向量地址(仅用于MCS—80/85模式)A0

D7D6D5D4D3D2D1D0

0A7A6A51LTIMADISNGLICW41A15A14A13A12A11A10A9A8

T7T6T5T4T3

中断向量地址的A15~A8位(MCS—8080/8085模式)中断向量地址的T7~T3位(8086/8088模式)A0

D7D6D5D4D3D2D1D01(2)ICW2注:T7~T3—中断向量类型码高位,由编程决定。低三位—自动设置为IR0~IR7的类型编码。D7D6D5D4D3D2D1D0IR7T7T6T5T4T3111IR6T7T6T5T4T3110IR5T7T6T5T4T3101IR4T7T6T5T4T3100IR3T7T6T5T4T3011IR2T7T6T5T4T3010IR1T7T6T5T4T3001IR0T7T6T5T4T30008259A传送的中断向量1S7S6S5S4S3S2S1S0

1—IR输入带有一个从控制器0—IR输入不带一个从控制器A0

D7D6D5D4D3D2D1D01100000

ID2ID1ID0从控制器ID,编码000~111分别对应0~7IR输入从片。A0

D7D6D5D4D3D2D1D01(3)ICW3(主控制器)ICW3(从控制器)

1—86/88模式0—80/85模式1—自动EOI0—正常EOI0X非缓冲方式10缓冲方式/从控制器11缓冲方式/主控制器1—特殊全嵌套方式0—非特殊全嵌套方式A0

D7D6D5D4D3D2D1D01(4)ICW4000SFNMBUFM/SAEOIµPM8259A初始化过程的流程图如图所示。ICW1ICW2ICW3ICW4级连方式?需要ICW4?准备接受中断请求No(SGNL=1)

Yes(SGNL=0)

No(ICW4=0)

Yes(ICW4=1)由CPU向8259A送三个字节的操作命令字OCW(OperationCommandWord),用以规定8259A的工作方式,如:

•中断屏蔽

•结束中断

•优线权旋转

•中断状态等。

操作命令字是在应用程序中设置的,设置时,顺序上没有严格的要求。[2]操作命令字1M7M6M5M4M3M2M1M0中断屏蔽1——置屏蔽0——复位屏蔽A0

D7D6D5D4D3D2D1D01(1)OCW1OCW1是中断屏蔽命令字,命令格式如图。命令字中的M7~M0对应IMR的各位。Mi=1表示该中断被屏蔽,Mi=0表示该中断开放。命令格式如图。

•R、SL、EOI的不同组合决定了8259A的几种工作方式。

•L2~L0这几位确定当SL=1时指定的特殊结束或特殊循环时的中断优先级。0R

SLEOI0

0

L2L1L0001非特殊EOI命令011特殊EOI命令101按非特殊EOI命令旋转100以自动EOI方式旋转(设置)自动旋转000以自动EOI方式旋转(清除)111按特殊EOI命令旋转110置优先权命令010无操作0000有0011效0102的0113中1004断1015请1106求1117级别(2)OCW2A0

D7D6D5D4D3D2D1D00中断结束特殊旋转00

ESMMSMM0

1

P

RR

RIS1=查询命令0=非查询命令用于控制8259A的运行方式。命令格式如图。(3)OCW3A0

D7D6D5D4D3D2D1D00读寄存器命令01010011无作用在下一个读脉冲时读IRR在下一个读脉冲时读ISR特殊屏蔽方式01010011无作用复位特殊屏蔽置特殊屏蔽[3]初始化编程PC机中使用单片8259A,定义地址为:20H、21H,8259A的工作方式设置如下:(1)固定优先权级别:IR0最高,IR7最低;(2)8个中断类型码分别是08H~0FH;(3)中断请求信号采用边沿触发方式;(4)中断服务结束时,采用一般中断结束命令(EOI);(5)采用一般屏蔽方式。初始化程序如下:初始化命令字:

ICW1:00010011B13H

ICW2:00001000B08H

ICW4:00000001B01H程序:MOVAL,13HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,01HOUT21H,AL三、IBMPC/XT的基本中断系统——了解中断类型

IBMPC/XT中有两种类型的中断:

(1)内部中断:即软件中断。包括被零除、单步、溢出和中断指令(INTn)等。这是由8088执行指令产生的中断。

(2)外部中断:

8088A有两条外部中断请求线——非屏蔽中断请求线NMI

可屏蔽中断请求线INTR。

非屏蔽中断NMI。非屏蔽中断来源于三方:系统板的RAM在读写时产生奇偶校验错;

I/O通道中的扩展选件出现奇偶校验错;协处理器8087的异常状态产生的中断。

•可屏蔽中断INTR。由外部设备通过一片8259A产生的中断请求。8087中断请求RAM奇偶错I/O通道检查错NMI屏蔽寄存器屏蔽位8253定时器键盘未用异步通信卡(辅)异步通信卡(主)硬盘软盘并行打印机NMIINTR01234567优先级8088CPU8259A扩充卡插槽2.

中断向量表

8088在内存的前1k字节建立了一个中断向量表,可存储256个中断向量,每个中断向量占用4个字节,分别存放中断服务程序入口地址的段地址和偏移量。每个中断向量以类型码加以区别,如:Int21hInt10h键盘中断类型码9当执行中断时,CPU将类型码乘以4后,得到中断向量地址,进而得到IP和CS的值,它就是中断服务程序的入口地址,程序由此转入中断服务程序执行。000000000C00013C1F1F3C:0100(1F4C0)PUSHAXPUSHBX003FF中断向量表INT3中断服务程序中断向量表6-3中断向量表地址(Hex)类型码中断名称0—30除以04—71单步8—B2非屏蔽C—F3断点10—134溢出14—175打印屏幕18—1B6保留1D—1F7保留20—238定时器24—279键盘28—2BA保留的硬中断2C—2FB异步通信(COM2)30—33C异步通信(COM1)34—37D硬盘

38—3BE软盘3C—3FF并行打印机地址(Hex)类型码中断名称40—4310视频显示I/O调用44—4711设备检测调用48—4B12存储器容量检测4C—4F13软/硬盘I/O调用50—5314通信I/O调用54—5715盒式磁带I/O调用58—5B16键盘I/O调用5C—5F17打印机I/O调用60—6318ROMBASIC64—6719引导程序入口68—6B1A时间调用6C—6F1B键盘CTRL-BREAK控制70—731C定时器报时74—771D显示器参数表78—7B1E软盘参数表地址(Hex)类型码中断名称7C—7F1F字符点阵结构参数表80—8320程序结束,返回DOS84—8721DOS系统功能调用88—8B22程序结束地址8C—8F23CTRL_BREAK退出地址90—9324标准错误出口地址94—9725绝对磁盘读98—9B26绝对磁盘写9C—9F27程序结束,驻留内存A0—FF28—3F为DOS保留100—17F40—5F保留180—19F60—67为用户软中断保留1A0—1FF68—7F不用200—21780—85BASIC使用218—3C386—F0BASIC运行时,用于解释3C4—3FFF1—FF未用3.

中断的执行

(1)

软中断当PC机执行INTn等指令时,即产生了软件中断,其执行过程如下:•栈指针SP减2,标志寄存器内容入栈,然后清除T和I标志,以屏蔽中断。•SP再次减2,将CS内容入栈。•用中断类型码n乘4,计算中断向量地址,将向量中的后两个字节送CS寄存器。•SP再次减2,把IP内容入栈,把中断向量中的前两个字节送至IP。•由当前的CS和IP值作为段地址和偏移量,转入相应的中断服务程序中去执行。(2)硬中断中断响应周期8088响应中断,到转入中断处理,要经过两个中断响应周期。T1T2T3T4T1T2T3T4第一个中断响应周期第二个中断响应周期CLKALEINTAAD7~AD0向量类型码第一个INTA信号:将在服务寄存器ISR相应位置位,表示正在为响应的那一级服务;同时将中断请求触发器复位。为本级再次中断请求做好准备。第二个INTA信号:要求8259A输入中断向量类型码。执行过程•接口设备通过中断请求线IR0—IR7中的一条,将8259A内部中断触发器IRR相应位置1。•8259A收到IRn信号后,将其与同时申请中断的信号及正挂起的中断信号比较分析优先级,若其级别最高,则由8259A的INT脚向CPU发出中断请求信号INTR。

8088响应中断,连续发出两个INTA信号,第一个INTA信号将在服务寄存器ISR相应位置位,表示正在为响应的那一级服务;同时将中断请求触发器复位。为本级再次中断请求做好准备。第二个INTA信号要求8259A输入中断向量类型码。

8088收到8位类型码后,将其乘4作为中断向量的地址。

8088屏蔽中断,保护现场,并由取得的中断向量得到IP和CS的值。

•以CS和IP值为段地址和偏移量,转入中断服务程序。

PC/AT中,8259的使用情况为:2片8259级联,提供15级向量中断。从片的INT接主片的IRQ2。

端口地址:主片20H、21H,从片A0H、A1H。

主片和从片均采用边沿触发。采用全嵌套优先级排列方式采用非缓冲方式,主片接+5V,从片接地。主片的类型码为08H~0FH,从片的类型码为70H~77H。

四、PC/AT(80286)中8259的使用情况——了解[注]从兼容的角度出发,奔腾的可屏蔽中断类似于80286。尽管当今的奔腾计算机中已找不到8259A芯片及相应的电路,而发展到高级可编程中断控制器(AdvancedProgrammableInterruptController)子系统,但它是至今还适用的中断资源及其优先级排序的来历。优先级(按从高到低的顺序):

IRQ0IRQ1IRQ8IRQ9IRQ10…IRQ15IRQ3IRQ4…IRQ7中断向量资源分配用户使用中断向量资源分配用户使用IRQ008H定时/计数器不可IRQ870H实时时钟不可IRQ109H键盘控制器不可IRQ971H保留可用IRQ20AH级连占用不可IRQ1072H保留可用IRQ30BH串行口2可能IRQ1173H保留可用IRQ40CH串行口1可能IRQ1274HPS/2鼠标可能IRQ50DH并行口2可用IRQ1375H协处理器不可IRQ60E软盘控制器不可IRQ1476H硬盘IDE1不可IRQ70FH并行口1可能IRQ1577H硬盘IDE2不可硬中断资源的分配五、Pentium的中断系统简介——了解故障陷阱流产INTn异常软件中断奔腾的中断系统R/S(恢复/停止引脚)FLUSH(刷新引脚)SMI(系统管理引脚)INIT(初始化引脚)NMIINTR(IRQ15~IRQ0)硬件中断故障——这类异常由引起异常的指令执行之前报告的,断点就是引起异常的指令的CS和EIP,因此,当故障处理程序消除了故障后,用IRET指令返回至引起故障的指令处,原来的程序恢复执行;陷阱——这类异常在引起异常的指令执行后报告,断点是引起异常的指令的下一条指令的CS和EIP,因此,当异常处理程序用IRET指令返回时,程序从引起异常的指令的下一条指令处恢复执行;流产——这类异常不能恢复执行。R/S——恢复或停止当前指令的执行。FLUSH——为低时,将Cache的内容写回到主存。SMI——为低时,向外界发出即将进入系统管理模式的提示信号。2.可屏蔽中断系统中相当于使用了两个中断控制器8259A级联,共提供15级可屏蔽的硬中断:第一个(主)控制器的I/O地址为20H和21H,它提供的8级中断IRQo—IRQ7;第二个(从)控制器的I/O地址为A0H和A1H,它的8级中断被定义为IRQ8一IRQ15。IRQ0定时器通道0的系统定时中断IRQl键盘输出缓冲器满IRQ2级联第二个(从)控制器IRQ3串行端口COM2IRQ4串行端口COMl1RQ5保留或并行端口2IRQ6软盘控制器IRQ7并行打印机端口1IRQ8IRQ9IRQ101RQll1RQ121RQl3IRQl4IRQl5系统CMOS/实时时钟保留,软件定位至IRQ2(1NT0AH)保留,PCI声卡与AGP显卡保留保留或PS/2鼠标协处理器在板硬盘IDEl通道在板硬

温馨提示

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

评论

0/150

提交评论