第五章 中断系统
Download
1 / 86

第五章 中断系统 - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

第五章 中断系统. 中断的基本概念 8086/8088 的中断系统 可编程中断控制器 8259A 8259A 在微机系统中的应用. 退出. 第一节 中断的基本概念. 一 CPU 与外设之间的数据传送控制方式 ( 即 I/O 控制方式 ) ,通常有以下三种: 程序控制方式 中断方式 DMA 方式 (Direct Memory Access) 程序控制方式 :是在 CPU 的控制下,通过执行程序指令进行的数据传送方式。又分为 “ 无条件传送 ” 和 “ 程序查询传送 ” 两种方式。. 程序控制方式.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 第五章 中断系统' - gregory-rosales


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

第五章 中断系统

中断的基本概念

8086/8088的中断系统

可编程中断控制器8259A

8259A在微机系统中的应用

退出


第一节 中断的基本概念

  • 一 CPU与外设之间的数据传送控制方式(即I/O控制方式),通常有以下三种:

    • 程序控制方式

    • 中断方式

    • DMA方式(Direct Memory Access)

  • 程序控制方式:是在CPU的控制下,通过执行程序指令进行的数据传送方式。又分为“无条件传送”和“程序查询传送”两种方式。

长江大学地物学院


程序控制方式

  • 无条件传送方式:是在假定外围设备(Peripheral Device)已经准备好的情况下,直接利用输入/输出指令(IN指令,OUT指令)与外围设备传送数据,而不去检测外设的工作状态。

    • 优点:控制程序简单

    • 缺点:数据传送不可靠

  • 程序查询方式(也称“条件传送”方式)

    • 主要特点:CPU通过执行程序不断读取并检测外设的状态,只有在外设确实已准备就绪的情况下,才进行数据传送;否则,还要继续不断地查询外设的状态。

长江大学地物学院


读取状态信息

读取状态信息

准备好?

忙?

输入数据

输出数据

程序控制方式

  • 查询式输入、输出程序流程图

长江大学地物学院


程序控制方式

  • 程序查询传送方式比无条件传送方式要准确可靠,但在此种方式下,CPU要不断查询外设的状态,占用了大量CPU时间,而真正用于数据传送的时间却很少,即CPU的工作效率很低;另外,采用这种方式,也很难满足实时系统对I/O处理的要求。因此,出现了中断控制方式。

长江大学地物学院


二 中断方式

  • 中断定义:在程序运行中,出现了某种紧急事件,CPU必须中止现行程序,转去处理此紧急事件(执行中断服务程序),并在处理完毕后再返回运行程序的过程。

  • 中断的全过程及有关概念:

    • 一个完整的中断过程包括:

      • 中断请求;

      • 中断判优;

      • 中断响应;

      • 中断处理;

      • 中断返回.

长江大学地物学院


二 中断方式

  • 中断请求是指中断源(引起中断的事件或设备)向CPU发出的请求中断的要求;

  • 中断判优当有多个中断源发出中断请求时,需要通过适当的办法(软件的;硬件的;软、硬件结合的)决定究竟先处理哪个中断请求,这就是“中断判优”;

  • 中断响应是指CPU中止现行程序转至中断服务程序的过程;

  • 中断处理就是指CPU执行中断服务程序;

  • 执行完中断服务程序后,返回到原先被中断的程序称为“中断返回”。

  • 为了能正确返回到原来程序被中断的地方(也称断点-即主程序中当前指令下面一条指令的地址),在中断服务程序的最后应专门放置一条中断返回指令。

  • 另外,为了使主程序在返回后仍能从断点处继续执行,还需要在中断服务程序的开头-保护现场(通过PUSH指令实现),在中断服务程序的末尾-恢复现场(通过POP指令实现)。

长江大学地物学院


三 中断响应和处理过程

  • 对于不同的中断类型(如可屏蔽中断、不可屏蔽中断;外部中断、内部中断…),处理器(CPU)进行响应和处理的具体过程并不完全相同;另外,就是对同一种中断类型(如可屏蔽中断),不同的处理器(如Z80,80X86)进行响应和处理的过程也不尽相同。

长江大学地物学院


三 中断响应和处理过程

  • 中断一般由硬件(处理器内部)和软件(由程序设计者编写的中断服务程序)共同完成,即整个中断响应和处理过程是由CPU内部的有关硬件和中断处理软件密切配合完成的。

  • 针对一个具体的系统(机型),中断服务程序设计者应该清楚在中断响应时,“硬件”完成了哪些操作(如FR是否已被压入堆栈),还需要“软件”(中断服务程序)完成哪些操作。

长江大学地物学院


四 中断优先级和中断嵌套

  • 1.中断优先级(Priority)的解决方法

    • 系统中多个中断请求可能同时出现,CPU只能按一定的次序(优先级策略)予以响应和处理,这个响应的次序称为中断优先级。一般的方法有:

      • 软件查询法(需要少量硬件)

      • 菊花链(daisy chain)优先级排队电路

      • 可编程中断控制器(如8259)

长江大学地物学院


INT

“或”

2

1

0

7

6

端口号=XXH

CRT

键盘

打印

磁盘

磁带

(1)软件查询法

  • 把各个外设的中断请求信号“相或”,产生一个总的INT信号

  • 当CPU响应中断后,进入中断处理程序,在中断处理程序的开始部分安排一段带有优先级的查询程序。

    • 优点:省硬件

    • 缺点:中断响应慢

长江大学地物学院


设备1

设备2

设备3

接口

接口

接口

中断回答

中断请求

INT1

INT2

INT3

菊花链

逻辑电路

CPU

INTR

+5V

集电极开路门(OC门)

INT1+INT2+INT3

(2)菊花链优先级排队电路 *

长江大学地物学院


中断请求

INTA

INTR

(2)菊花链优先级排队电路

  • INTR=INT1+INT2+INT3

  • 当INTA信号沿菊花链行进时,最靠近CPU并发出INT请求的接口将首先拦截住INTA信号,并送出中断类型码,进入相应的中断处理程序;在服务完成后撤销其请求(解除对下一级的阻塞和封锁)。

(3)可编程中断控制器(如8259)

INTA

长江大学地物学院


STI

可实现

“多重嵌套”

STI

…….

……..

IRET

IRET

五 中断嵌套

  • 通常,正在执行较低级的中断服务程序时,可以响应较高级的中断请求,而将正在处理的中断暂时挂起,称为中断嵌套。

长江大学地物学院


8086 8088
第二节 8086/8088的中断系统

一.中断的分类:在8086/8088系统中,可将中断分为两大类(如表5.1表5.2所示):

  • 第一类:硬件中断:是由外部的中断请求信号启动的中断,也称为外部中断。又可分为:

    • 非屏蔽中断NMI:整个系统只有一个,不受IF屏蔽

    • 可屏蔽中断INTR:受IF屏蔽,在中断控制器8259的统一管理下,可屏蔽中断有几个至几十个。

长江大学地物学院


中断的分类

(注意,这里的IF是CPU内部的标志寄存器的IF位,IF=0,则对所有从INTR引脚进入的中断请求均不予响应(“总开关”);另外,也可以在CPU外部的中断控制器(8259)中以及各个I/O接口电路(如8255)中对某一级中断或某个中断源单独进行屏蔽)。

  • 第二类:软件中断:是由CPU内部的标志状态(如TF、OF)或执行一条中断指令(INT n),以及除数为0引起的中断,也称为内部中断。

长江大学地物学院


二 中断向量和中断向量表

  • 中断向量 即中断服务程序的入口地址。

  • 中断向量表是存放中断向量(中断服务程序入口地址)的一个特定的内存区域(最低地址区).

  • 一个中断向量占4个字节单元,其中:

    • 低地址的两个字节单元存放中断服务程序入口地址的偏移量(IP)-低字节在前(低地址),高字节在后(高地址);

    • 高地址的两个字节单元存放中断服务程序入口地址的段地址(CS)-低字节在前(低地址),高字节在后(高地址)。

长江大学地物学院


中断向量和中断向量表

  • 8086/8088的中断向量表如书P80图5.1所示。

  • 解释:

    • 8086/8088可以处理256种中断,对每种中断都指定一个中断类型号(也称中断向量号),每个中断类型号与一个中断服务程序的入口地址相对应。

    • 256个中断向量要占256*4=1024个字节单元,地址编号从00000H~003FFH

      • 5个专用中断(类型0~类型4),它们有固定的定义和处理功能;

      • 27个保留的中断(类型5~类型31)。占0000:0014H~0000:007FH,共108个字节单元。这个区域供系统使用,不允许用户自行定义。

      • 224个用户可定义的中断(类型32~类型255)。占0000:0080H~0000:03FFH单元;使用时,要由用户自行填写相应的中断入口地址。(其中有些中断类型已经有了固定用途,例如,类型21H的中断已用作MS-DOS的系统功能调用)。

长江大学地物学院


中断向量和中断向量表

  • 由于中断向量在中断向量表是按中断类型号顺序存放的,所以每个中断向量的地址可由中断类型号×4计算出来。CPU响应中断时,需把中断类型号N乘以4,得到中断向量的对应地址4N(该中断向量所占4个字节单元的第一个字节单元的地址),然后把由此地址开始的两个低字节单元的内容装入IP寄存器:IP (4N,4N+1),再把两个高字节单元的内容装入CS寄存器:CS (4N+2,4N+3),这就是转入中断类型号为N的中断服务程序的控制过程。[N的来源,对于不同的中断类型(内部,外部:NMI、INTR)情况有所不同,详见后述]

长江大学地物学院


内存

00000H

低地址

00001H

0000CH

(0000:000CH)

1E00 0 H

+ 0A0 0 H

1EA0 0 H

1EA00H

(1E00:0A00H)

高地址

FFFFFH

中断向量和中断向量表

  • 例1:若中断类型号为3,则由中断类型号取得中断服务入口地址的过程如下图所示:

中断类型号3×4

=000CH

长江大学地物学院


则:中断服务程序的入口地址为 CS=4030;IP=2010

入口地址为:43210

中断向量和中断向量表

  • 例2.中断类型号为20H,中断服务程序的入口地址存放在0000:0080H开始的4个单元中。若:

    • (0080H)=10H

    • (0081H)=20H

    • (0082H)=30H

    • (0083H)=40H

长江大学地物学院


0001 0111 B

左移2位:

0101 1100 B

5

C

H

中断向量和中断向量表

  • 例3.中断类型号为23(17H),中断服务程序的入口地址为:2340:7890H,由于中断类型号17H对应的中断向量存放在0段的0000:005CH(17H×4=5CH)处,所以有:

    • (005CH)=

    • (005DH)=

    • (005EH)=

    • (005FH)=

90

78

40

23

长江大学地物学院


8086 80881
8086/8088中断处理流程图

长江大学地物学院



8086 80882
8086/8088中断处理流程图

  • *8086中断优先级(Priority)

  • 说明:

    • (1)~(5)步是CPU的内部处理(由硬件自动完成)

    • 所有内部中断(除法错、INT n、INT0、单步)以及NMI中断不需要从数据总线上读取中断类型码,而INTR中断需读取中断类型码,中断类型码由发出INTR信号的接口提供。

长江大学地物学院




低地址

IP

CS

TF=0

IP

CS

高地址

TF=1

单步运行方式时发生中断的处理过程

  • 堆栈的情形:

长江大学地物学院


可屏蔽中断过程

  • 见图5.3

长江大学地物学院



四 软件中断(内部中断)

  • 除法错中断(也称除数为0中断)-类型0

    • 在执行DIV(无符号除法)或IDIV(带符号除法)指令时,若发现除数为0,则立即产生一个类型号为0的内部中断,CPU转向除法错中断处理程序。

  • 溢出中断-类型4

    • 若上一条指令执行的结果使溢出标识位OF被置1,则接着执行INTO指令时,将引起类型为4的内部中断,CPU转入对溢出错误处理程序,若OF=0时,INTO指令执行空操作,即INTO指令不起作用。INTO指令通常安排在算术指令之后,以便在溢出时能及时处理。如下举例:

长江大学地物学院


溢出中断服务程序:

主程序:

.

.

.

ADD AX,BX; 若OF=1

INT O

IRET

软件中断

  • 软件(指令)中断(执行INT n指令引起的中断)

    • 双字节指令,第一个字节为操作码;第二个字节为中断类型号,该指令控制CPU转向相应的中断服务程序。

长江大学地物学院


TF=1

单步执行

…..

软件中断

  • 断点中断-类型3

    • INT3或简写为INT,是单字节指令。调试程序时可以在一些关键性的地方设置断点,使CPU在此断点处执行中断服务程序。

  • 单步中断-类型1

长江大学地物学院


软件中断(内部中断)的特点

  • 中断类型号由CPU内部自动提供(包括由中断指令第二字节提供的中断类型号),不需去执行中断响应总线周期读取中断类型号。

  • 除单步中断外,所有内部中断(除法错,INTO,INT n)均不可以用软件来屏蔽。

  • 除单步中断外,所有内部中断都比外部中断优先级高。

长江大学地物学院


例如:

PUSH AX

PUSH BX

PUSH CX

POP CX

POP BX

POP AX

保护现场(将需要保护的寄存器压入堆栈)

STI(可选);

中断处理

恢复现场

IRET

五 中断服务程序的一般结构

……

长江大学地物学院


PUSH FR

POP AX

AND AX,

PUSH AX;

POPF

PUSH FR; FR的内容压入堆栈

POP AX; FR的内容弹出到AX

OR AX,0100H; 使AX中对应TF的位置为“1”,其他位不变

PUSH AX; 修改后的AX内容压入栈

POPF 弹回到FR(TF=1)

0->TF

1->TF

  • 指令系统中没有单独置“1”或清“0”TF的指令,可实现如下:

长江大学地物学院


8259a 8259a programmable interrupt controller pic
第三节 可编程中断控制器8259A(8259A Programmable Interrupt Controller-PIC)

  • Intel 8259A用于管理和控制80x86的外部中断请求,实现优先级判决,提供中断矢量码,屏蔽中断输入等功能。

  • 使用单片8259A可以管理8级中断,采用级联方式,可扩充到64级(用9片8259A)。

长江大学地物学院


8259a

8259A

IR0

IR0

.

.

.

INT

INTA

  • 8259A

CPU

  • CPU

  • 8259A

IR0

.

.

.

.

.

中断请求

.

.

.

INTR

IR7

INTR

INTA

INTA

8259A

IR0

.

.

.

IR7

IR7

IR7

单片

级联

可编程中断控制器8259A

  • .

长江大学地物学院


8259a1
可编程中断控制器8259A

  • 一、8259A的引脚功能

  • 封装形式 28脚双列直插(28-pin DIP),DIP:Dual-In-Line Package ,

    如图所示。

长江大学地物学院


8259a2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

VCC

A0

D7

IR7

D6

IR6

INTA

D5

IR5

8259A

D4

IR4

D3

IR3

D2

IR2

D1

IR1

D0

IR0

INT

RD

CAS0

CAS1

GND

CAS2

SP/EN

WR

CS

可编程中断控制器8259A

长江大学地物学院


8259a3

CS

CS

CS

CS

WR

WR

WR

RD

RD

RD

可编程中断控制器8259A

  • --片选信号(Chip Select)低电平有效,来自地址译码器的输出只有 有效时,CPU才能对8259A进行读写操作。

  • --写信号,低电平有效,来自CPU的 输出;当 有效且 有效时,使8259A接受CPU送来的命令字。

  • --读信号,低电平有效,来自CPU的 输出;且 有效且 有效时,使8259A将状态信息放到数据总路线上,供CPU检测。

长江大学地物学院


8259a4

INTA

可编程中断控制器8259A

  • D7~ D0 :双向数据总线,接到系统数据总线的D7~ D0上,用来传送控制字、状态字和中断类型号。

  • IR7~IR0 :中断请求信号,输入,来自外部接口电路。(单片时)

  • INT:向CPU发出的中断请求信号。(单片时)。

  •   :中断响应信号,由此接收CPU发来的中断响应脉冲。

长江大学地物学院


8259a5

SP/ EN

SP/ EN

SP/ EN

可编程中断控制器8259A

  • A0:地址输入信号,用于对8259A内部寄存器的寻址。

  • CAS2~ CAS0:级联线(CASCADELINES),传送3位标

    识码,用于区分特定的从控制器。双向:对于主片为输出,对于从片为输入。

  • :从片/允许缓冲器信号。双功能引脚:

    • 作为输入时,8259A作为主片(   =1)  8259A作为从片(   =0)见P99图5.8

    • 作为输出时,用来启动(允许)数据总线收发器(如8286)。

      *究竟是作为输入还是输出,取决于8259A是否工作于“缓冲方式”(即8259A是否通过一个“数据总线收发器”与系统总线相连)。详见后面ICW4的格式。

长江大学地物学院


8259a6

CPU

CAS0

INTA

INTA

CAS1

AD7~AD0

D7~D0

CAS2

PR

IRR

ISR

.

.

.

ICW1

OCW1 (IMR)

A0

SP/EN

ICW2

OCW2

地址

译码

ICW3

OCW3

.

.

.

ICW4

INT

CS

RD

WR

二、8259A的内部结构

IR0

IR7

INTR

长江大学地物学院



8259a7
8259A的内部结构

  • IRR—Interrupt Request Register

  • PR---Priority Resolver

  • ISR---In-Service Register

  • IMR---Interrupt Mask Register

  • ICWs---Initialization Command Words

  • OCWs---Operation Command Words

  • 7个CPU可访问的寄存器,分两组:

    • 初始化命令字ICW1 ~ICW4---系统初启时设定。

    • 操作命令字OCW1~OCW3—系统运行时,由应用程序设定(实现对中断处理的动态管理和控制).

      The OCWs can be written into the 8259A anytime after initialization。

长江大学地物学院


8259a8

ICW1:用偶地址写入,且D4=1

ICW2

紧接着ICW1,用奇地址写入

ICW3

ICW4

OCW1:也用奇地址写入,但不紧跟ICW1

OCW2

也用偶地址写入,但D4=0

OCW3

即:

  • 采用了专门的“标识位,以节省输入地址的引脚数(仅用了A0)

0

0

0

8259A的内部结构

  • 7个寄存器的寻址问题:

    规定:A0

长江大学地物学院


8259a9
8259A的内部结构

  • 8259A的处理部件:

    • 中断请求寄存器IRR-8位寄存器+控制逻辑

      作用:接受并锁存来自IR0~IR7的中断请求信号

    • 中断服务寄存器ISR

      作用:保存当前正在处理的中断请求

    • 优先级裁决器PR

      作用:把新进入的中断请求和当前正在处理的中断进行比较,以决定哪一个优先级更高(见P90图5.7)

长江大学地物学院



8259a10

INTA

8259A的内部结构

  • 处理过程:

    • IR0~IR7上出现某一中断请求信号->IRR对应位被置“1”->由IMR的相应位决定是否将其屏蔽(屏蔽位=1,不通过;屏蔽位=0,通过)->中断请求进PR->PR把新进入的中断请求和当前正在处理的中断进行优先级比较->若新进入的中断优先级高,该中断请求被送到CPU。

    • 若CPU的IF=1,CPU完成当前指令后,响应中断,在 引脚上发出两个负脉冲(执行两个中断响应总线周期,参见P90图5.4):

长江大学地物学院


8259a11

INTA

INTA

8259A的内部结构

  • 处理过程(续):

    • 8259A收到第一个负脉冲后

      • 使IRR锁存允许,不予接受IR0~IR7上的中断请求信号;直到第二个负脉冲结束后,才又使IRR锁存禁止(输入输出透明)

      • 使ISR的相应位置“1”,以便为优先级裁决器以后的裁决提供依据。

      • 清除IRR的相应位。

    • 8259A收到第二个负脉冲后:

      • 把中断类型码寄存器的内容(ICW2的内容)送到D7~D0

      • 如果ICW4的AEOI位为1,则在第二个 脉冲结束时,将ISR中被第一个 脉冲置“1”的位清除(自动结束);否则,要等到中断结束命令(EOI)发送后才能清除。

长江大学地物学院



8259a12
8259A的工作方式

  • 设置优先级的方式

  • 屏蔽中断源的方式

  • 中断结束方式

  • 中断触发方式

  • 连接系统总线的方式

长江大学地物学院


8259a13
8259A的工作方式

  • 1 .设置优先级的方式

    • (1) 全嵌套方式(FULLY NESTED MODE)

      也称固定优先级方式。在这种方式下,由IRi引入的中断请求具有固定的优先级-IR0(最高)->IR7(最低).

      This mode is entered after initialization unless another mode is programmed.

      当一个中断请求被响应时,ISR中的对应位ISn被置“1”,8259A把中断类型码放到数据总线上,然后,进入中断服务程序。一般情况下(除了“中断自动结束”方式外),在CPU发出中断结束命令(EOI)前,此对应位一直保持为“1”-封锁同级或低级的中断响应,但并不禁止比本级优先级高的中断响应-实现中断“嵌套”。

长江大学地物学院


8259a14

8259(主片)

8259(从片)

IR0

IR0

CPU

IR1

IR1

IR7

IR7

8259A的工作方式

  • (2) 特殊全嵌套方式(SPECIAL FULLY NESTED MODE-SFNM)

    • 在处理某一级中断时,不但允许优先级更高的中断请求进入,也允许同级的中断请求进入。

    • 用于主从结构的8259系统中,将主片设置为“特殊全嵌套方式”。

    • 通过ICW4的“SFNM”位可以设置此种方式。

长江大学地物学院


8259a15
8259A工作方式

  • (3) 优先级自动循环方式(AUTOMATIC ROTATION)

    • 优先级是循环变化的(不希望有固定的优先级差别)-一个设备的中断服务完成后,其优先级自动降为最低,而将最高优先级赋给原来比它低一级的中断请求。

    • 开始时,优先级队列还是:IR0->IR7,若此时出现了IR0请求,响应IR0并处理完成后,队列变为:

      • IR1,IR2,IR3,IR4,IR5,IR6,IR7,IR0。

        若又出现了IR4请求,处理完IR4后,队列变为:

        __________________________________

    • 系统中是否采用“自动循环优先级”,由

      操作命令字OCW2来设定。

长江大学地物学院


8259a16
8259A的工作方式

  • (4)优先级特殊循环方式(SPECIFIC ROTATION)

    • 与“优先级自动循环方式”相比,只有一点不同,即可以设置开始的最低优先级。例如,设定IR4为最低优先级,那么IR5就是最高优先级,其余各级按循环方法类推。(OCW2:”11000100”)

长江大学地物学院


8259a17

输出OCW3(ESMM=1,SMM=1)

输出OCW1(使IMR对应于本级的位为“1”)

……

……

输出OCW1(使IMR对应于本级的位为“0”)

输出OCW3(ESMM=1,SMM=0)

设置

“中断级无效”

撤销

8259A的工作方式

  • 2. 屏蔽中断源的方式(中断屏蔽方式)

    • 普通屏蔽方式

      • 通过对中断屏蔽寄存器(IMR)的设定,实现对相应位为“1”的中断请求的屏蔽。

      • 可通过OCW1使IMR的一位或几位置“1”。

    • *特殊屏蔽方式(SPECIAL MASK MODE)

      • 作用:要求允许另一个低的中断请求被响应

      • 实现:

长江大学地物学院


8259a18

INTA

8259A工作方式

  • 3. 中断结束方式(END OF INTERRUPT-EOI)

    • (1)中断自动结束方式(AUTOMATIC-AEOI方式)

      • 在第二个 后沿,即完成把对应的ISR位复位。

        • 注意:AEOI方式是在中断响应后,而不是在中断处理程序结束后将ISR位清0。这样,在中断处理过程中,8259A中就没有“正在处理”的标识。此时,若有中断请求出现,且IF=1,则无论其优先级如何(比本级高、低或相同),都将得到响应。尤其是当某一中断请求信号被CPU响应后,如不及时撤销,就会再次被响应-“二次中断”

        • 所以,AEOI方式适合于中断请求信号的持续时间有一定限制以及不出现中断嵌套的场合。

        • 通过ICW4可以设置AEOI方式(AEOI=1)

长江大学地物学院


8259a19
8259A工作方式

  • (2)一般(常规)中断结束方式

    • 适合于全嵌套方式。

    • 实现:在中断服务程序结束时,向8259A发常规中断结束命令(OCW2:EOI=1,SL=0,R=0)

    • 例:MOV AL,20H; OCW2=20H

      OUT 20H,AL; 端口地址=20H(偶地址)

    • 在全嵌套方式下,ISR中最高优先级的置“1”位,正对应于当前正在处理的中断,将其清“0”,就完成了当前正在处理中断的结束操作。

IR0

IR7

长江大学地物学院


8259a20
8259A工作方式

  • (3)特殊中断结束方式(SPECIFIC EOI-SEOI)

    • 在非全嵌套方式下,无固定的优先级序列(使用设置优先权命令或特殊屏蔽方式),此时,根据ISR的内容就无法确定刚刚所响应(处理)的中断。这种情况下,就不能用上述的EOI方式进行中断结束处理,而必须用特殊的中断结束命令SEOI--用OCW2:EOI=1,SL=1,R=0,L2~L0.

    • 由L2~L0指定清除ISR中的哪一位。

长江大学地物学院


8259a21
8259A工作方式

  • 4. 中断触发方式

    • 电平触发方式:由IRi上的有效电平来触发“中断请求触发器”。

    • 边沿触发方式:由IRi上由低电平向高电平的跳变来触发“中断请求触发器”。

      • 由ICW1的LTIM位可以设置中断触发方式。

长江大学地物学院


8259a22

SP / EN

SP / EN

SP / EN

EN

SP

8259A工作方式

  • 5. 连接系统总线的方式

    • 缓冲方式(ICW4的BUF=1)

      • 8259A通过总线驱动器(如8286)和数据总线相连。

      • 在缓冲方式下,8259A的 作为输出( 有效),此时,由ICW4的M/S位来定义(标识)本8259A是主片还是从片。如图

    • 非缓冲方式(ICW4的BUF=0) 如图

      • 即8259A直接与数据总线相连

      • 在“非缓冲方式下”,8259A的 作为输入( 有效)

        此时,由 端来标识本8259A是主片还是从片。

      • 在“非缓冲方式下”,ICW4的BUF=0,M/S位无意义。

长江大学地物学院


缓冲方式级联图

长江大学地物学院


8259a23
8259A主从级联图

长江大学地物学院


8259a24
8259A工作方式

  • *“中断查询”方式

  • 特点:总的说,既有中断的特点,又有查询(Polling)的特点。

    • 外设仍然向8259A发中断请求信号,要求CPU服务。

    • CPU的IF=0,不响应外部的中断请求(对CPU的中断请求信号不起作用)

    • 此时,CPU需要用软件查询方法来确认中断源,从而实现对设备的服务

      • 先向8259A发查询命令(poll command)

        • OCW3:

P

长江大学地物学院


8259a25

A0

D7

D0

0

IR - - - - W2 W1 W0

当前最高优先级的中断请求

1:有设备请求服务;

0:无设备请求服务。

RD

INTA

8259A的工作方式

  • 紧接着执行一条读指令(IN指令),读出专门的“中断状态字”:

    • 当8259A收到P=1的查询命令后,在下一个 信号将使ISR的相应位置“1”,就像收到了 一样,并把上述的“中断状态字”送到数据总线上,由CPU读入AL。

长江大学地物学院


8259a26
8259A的控制字及编程使用

  • 8259A的初始化流程:

长江大学地物学院


初始化命令字ICW1

D7 D6 D5 D4 D3 D2 D1 D0

A0=0

长江大学地物学院


举例

  • 设8259A采用电平触发,单片使用,需要ICW4,则程序段为:

    MOV AL,1BH; ICW1的内容

    OUT 20H,AL; 写入ICW1的端口(A0=0)

长江大学地物学院


初始化命令字ICW2

D7 D6 D5 D4 D3 D2 D1 D0

A0=1

初始化时只写入高5位,低3位是由中断请求线Iri的二进制编码决定的,并且是在第一个INTA1到来时,将这个编码写入低3位的.同一个8259A上的8个中断源的中断号的高5位都相同.

长江大学地物学院


举例

  • 设硬盘中断号的高5位为08H,它的中断请求线连接IR5,则程序段为:

    MOV AL,08H; ICW2的内容

    OUT 21H,AL; 写入ICW2的端口(A0=1)

长江大学地物学院


主片和从片初始化命令字ICW3

D7 D6 D5 D4 D3 D2 D1 D0

主片

A0=1

主片的输入IRi上连接有从片的中断请求INT时,Si=1否则Si=0

从片

A0=1

从片的3位ID有8种编码,对应其连接的主片的IRi.

长江大学地物学院


举例

  • 见图5.8,设主片8259A的IR3和IR6分别连接从片的INT, 则主片的ICW3=01001000B,则程序段为:

    MOV AL,48H; ICW3的内容

    OUT 21H,AL; 写入ICW3的端口(A0=0)

  • 对应

    从片A的ICW3=00000011B

    从片B的ICW3=00000110B

长江大学地物学院


初始化命令字ICW4

D7 D6 D5 D4 D3 D2 D1 D0

A0=1

SFNM位:D4=1 主片采用特殊完全嵌套方式;D4=0 一般完全嵌套方式.

BUF位: D3=1缓冲方式;D3=0 非缓冲方式.

M/S位:D2=1为表示该片为主片;D2=0为从片.

AEOI位:D1=1自动结束方式;D1=0为非自动结束,要求中断服务完成后,要发出EOI命令.

µPM位:D0=1表示8259A用于16位以上微机,D0=0用于8位微机

长江大学地物学院


举例

  • PC机80286中,8259A与系统总线采用缓冲器连接,非自动结束方式,只用一片8259A,正常完全嵌套,则

    ICW4=00001101B=0DH 程序段:

    MOV AL,0DH

    OUT 21H,AL

长江大学地物学院


中断屏蔽操作(OCW1)

  • 分通常屏蔽和特殊屏蔽(很少用)

    通常屏蔽操作字(屏蔽对应位):

D7 D6 D5 D4 D3 D2 D1 D0

A0=1

Mi=1 屏蔽;Mi=0 开放

长江大学地物学院


举例

  • 使中断源IR3开放,其余被屏蔽,则OCW1=11110111B,程序段:

    MOV AL,0F7H

    OUT 21H,AL

长江大学地物学院


优先权控制和中断结束命令字(OCW2)

D7 D6 D5 D4 D3 D2 D1 D0

A0=0

用于控制循环优先级方式和规定中断结束方式

其功能见下页表:

长江大学地物学院


OCW2的功能表

长江大学地物学院


举例

若对IR3中断源采用指定中断结束方式,则在中断服务程序的中断返回指令IRET之前写如下程序段:

MOV AL,01100011B

OUT 20H,AL

长江大学地物学院


8259a27
第四节 8259A在微机中的应用

举例1:单片使用8259A的初始化编程

要求:1.8级中断,CAS0~CAS2不用,SP/EN接+5V

2.使用020H和021H两个端口,

3.IR0~IR7采用边沿触发.

4.采用完全嵌套方式, 0级为最高优先级,7级为最低优先级

5.设定0级请求对应中断号为8,1级请求对应9,……,7级请求对应中断号为0FH

长江大学地物学院


初始化编程

MOV AL,13H;ICW1:边沿触发,单片,要ICW4

OUT 20H,AL

MOV AL,8;ICW2:中断号的高5位

OUT 21H,AL

MOV AL,9 ;ICW4:完全嵌套,16位,非自动结束

OUT 21H,AL

长江大学地物学院


硬件连接图

图5.13 单片8259A中断系统的硬件连接图

长江大学地物学院




ad