第8章 中断和可编程中断控制器8259A
微机接口技术课件 8 中断控制器8259

溢出中断指令INTO
– INTO指令首先检查溢出标志OF位 • 如果OF=1,则启动一个中断号为4的中断过程 • 如果OF=0,不做任何操作
– INTO指令一般安排在有符号数算术运算指令后面,用于进行运 算结果的溢出检查
IMUL BX
;乘法指令
INTO
;若溢出,则启动中断服务处理
MOV RESULT, AX
中断向量表的设置
当中断到来时,CPU就会根据其中断类型码,确定中断向
量地址指针,设然置后中到中断断向向量量表表中的,作取用出中和断意向义量,形成入口
地址IP和CS,转入中断服务程序
系统提供的中断服务程序的设置由系统自动完成;程序员自
中断向量表的设置方法
定义的中断服务程序的中断向量应由程序员设置
中断向量表的设置方法 – 用传送指令直接设置 – 调用DOS的系统功能,并使用软中断指令INT 2lH 设 置
类型码为0 类型码为1 类型码为3 类型码为4
软件中断和硬件中断
软件中断特点: ➢ 用一条指令进入中断处理子程序,类型号由指令给出 ➢ 进入中断时,不需要执行中断响应总线周期 ➢ 不受IF位的影响 ➢ 正在执行软件中断时,如有外部硬件中断请求,则执行完当前指 令后,根据条件允许否给以响应 ➢ 软件中断没有随机性
使用中断返回指令,结束中断服务, 返回中断前的原程序
更详细的程序框架
入口地址:PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH SP PUSH BP STI
ZDFWCX∶ … …
CLI POP BP POP SP POP DI POP SI POP DX POP CX POP BX POP AX STI IRET
8.1计算机组成之.8259A详细说明

4
5 6 7 8 9 10 11 12 13 14
25
24 23 22 21 20 19 18 17 16 15
D3
D2 D1
D0
CAS0 CAS1 GND
IR0
INT SP/EN
CAS2
-7-
中断系统和中断控制器8259A
中断响应线INTA:接收CPU在中断响应周期发来的中断响应 信号,8259A接到此信号后,送中断类型码(编程设定);
- 10 -
中断系统和中断控制器8259A
2.屏蔽中断源方式
程序中安排清除中断允许标志位指令(CLI),可以使CPU对所有 可屏蔽中断INT一起进行屏蔽,但无法实现选择性屏蔽。8259A可编程设 定允许或屏蔽指定的可屏蔽中断源:
普通屏蔽方式:通过将中断屏蔽寄存器IMR的某些位置1, 使对应的中断请求被屏蔽,目的是屏蔽高优先级的中断源; 特殊屏蔽方式:该方式主要用于中断嵌套时,开放低优先级 的中断请求,使其能得到及时响应。在预实现特殊屏蔽的中 断服务程序中通过置入控制字将IMR中相应位置1, ISR中 对应位会自动清0,从而屏蔽了本级中断,使低优先级的中 断可以得到响应。在该中断服务程序结束前要退出特殊屏蔽 方式,恢复ISR相应位,再用EOI结束中断服务程序,而且 特殊屏蔽期间被响应的低级中断服务程序必须用特殊中断结 束命令退出。
第8章中断系统和中断控制器8259A

4. 保存现场
CPU响应中断,首先需要禁止CPU响应中 断信号,并保存中断返回地址以及其它可 能被破坏的寄存器
8086/8088 CPU的基本中断现场保护需要 将CS寄存器和IP寄存器压入堆栈
普通屏蔽方式 特殊屏蔽方式
普通中断结束方式 特殊中断结束方式
中断触发方式 数据线连接方式
边沿触发方式 电平触发方式 缓冲方式 非缓冲方式
(1)中断触发方式 按照引入中断请求的方式,8259A有下列几种工作方式:
1>边沿触发方式 8259A将中断请求输入端出现的上升沿,作为中断请求
信号,上升沿后 相应引脚,可以一直保持高电平。
可编程,提高中断优先管理的灵活性。
2. 8259A外部结构
CS WR RD D7 D6 D5 D4 D3 D2 D1 D0 CAS0 CAS1 GND
1
8259A
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 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP/EN CAS2
2. 优先级判别
多个中断源同时发起中断请求时,CPU需要 对多个中断源的优先级进行判断,响应最紧 急的中断请求。
中断源的优先级需要根据中断源的紧迫性、 重要性以及外设处理速度等进行综合考虑
不可屏蔽中断发生,优先响应不可屏蔽中断。
3. 中断响应
第八章 中断和可编程中断控制器8259A

微型计算机原理与接口技术
第七章 微型计算机中断系统
例:某中断类型号为68H,其中断服务程序存在 A000H:2050H开始的存储单元,处理过程如图所示:
INT 68H MOV AX,0 ① 向量地址 =68H4 =1A0H ② 0:19C 类型 67H 中断向量 1A0 50 20 1A2 00 A0 1A4 类型 69H 中断向量 ⑤ 中断处理程序 A000:2050 STI PUSH DS A000 CS ③ 2050 IP
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
可屏蔽中断从 8259A 的 8 个输入端引入,一般情况 下,优先级从高到低排列的次序为IR0~IR7。
山东工商学院 高群
微型计算机原理与接口技术
第七章 微型计算机中断系统
主程序运行中,IR2、IR4同时提出中断请求。IR2优先级 高,先为IR2服务。在IR2的服务程序中,要用STI指令开 中断,允许更高级中断进入。
专用 中断向量 (5 个)
2 号向量(非屏蔽)
00008H
1 号向量(单步)
00004H
0 号向量(除法错)
00000H
CS IP
山东工商学院 高群
16 位
微型计算机原理与接口技术
第七章 微型计算机中断系统
中断类型号是系统分配给每个中断源的代号。 其中00H~04H为专用中断,05H~3FH为系统保 留中断,用户一般是不能对它们定义的(这里面有一 些为固定的用途,如INT 21H即为MS-DOS的系统 调用),40H~FFH为用户定义的中断。 中断向量指针:中断向量最低字节存放的地址称 为中断向量指针(即这个中断向量存放的地址)。 中断向量指针=中断类型号×4
第8.1章 中断控制器8259A

第8章 中断和DMA技术
8) 控制逻辑 在8259A的控制逻辑电路中有一组初始化命令字寄存器 ICW1~ICW4和一组操作命令字寄存器OCW1~OCW3,利用它们 通过编程设置来管理8259A的工作方式。
第8章 中断和DMA技术
2.外部引脚 • D7~D0:数据线。 • INT:中断请求,和CPU的INTR引脚相连,用来向CPU提出中 断请求。 • INTA#:中断响应,接收CPU的中断响应信号。 –8259A要求响应信号是两个连续的负脉冲。若CPU接收到 中断请求,并且允许中断,当一条指令执行完时,则在 随后的两个总线周期,INTA#引脚连续发出两个负脉冲, 到第二个负脉冲结束,则CPU读取8259A送到数据总线上 的中断类型号。 • RD#:读信号,低电平有效,通知8259A将某个寄存器的内容 送到数据总线上。 • WR#:写信号,低电平有效,通知8259A从数据线上接收数据 (即命令字)。
第8章 中断和DMA技术
8.1.2 8259A的中断过程
根据8259A的内部结构,其工作的过程如下: (1)外部中断源通过IR0-IR7输入高电平中断请求信号; (2) 外部中断源的中断请求信号使中断请求触发器IRR的相应 位置“1”,并与IMR按位相“与”,送给优先权判决电路。 (3) 优先权判决电路PR从IRR中检测出优先级最高的中断请求 位,并将其与ISR中记录的正在被CPU服务的中断进行优先级 比较。当提请的中断优先级高于正在服务的中断优先级时, 中断优先权判决电路就向控制逻辑发出有效的中断请求信号。
– 中断请求后,8259A对当前请求中断中优先权最 高的中断IRi予以响应,将其向量号送上数据总 线,对应ISR的Di位置位,直到中断结束(ISR 的Di位复位) – 在ISR的Di位置位期间,禁止再发生同级和低级 优先权的中断,但允许高级优先权中断的嵌套
8_8259A可编程中断控制器实验

2 8259A可编程中断控制器实验2.1 实验目的1、掌握8259A可编程中断控制器的工作原理、编程方法以及如何通过8259A实现对外部可屏蔽硬件中断的管理;熟悉实验中涉及到的中断屏蔽寄存器IMR和中断服务寄存器ISR等的使用方法。
2、进一步掌握中断服务程序的设计方法。
2.2 实验预习要求1、复习教材中有关中断的内容,了解微型计算机中外部可屏蔽硬件中断的处理过程。
2、复习8259A的工作原理以及如何通过8259A实现对外部可屏蔽硬件中断源的管理。
3、复习中断服务程序的编写方法。
4、预先编写好实验程序。
2.3 实验原理微型计算机中用户可使用的外部硬件中断只有可屏蔽中断,由8259A可编程中断控制器管理。
中断控制器用于接收外部的中断请求信号,可实现中断优先级判定、提供中断类型号、屏蔽中断输入等功能。
在IBM PC/XT机中,仅使用了1片8259A芯片,能实现对外部8个硬件可屏蔽中断源的中断管理(其中IRQ2系统保留),有关8259A在IBM PC/XT机中的使用情况见教材“7.5 可编程中断控制器Intel 8259A”一节。
IBM PC/A T(80286CPU)及其以后机型使用2片8259A组成级联方式,扩展的8259A 与主8259A通过IRQ2进行级联,两个8259A中断控制器最多可对外部15个中断源进行管理。
实验台上的中断请求信号通过扁平电缆连接到微机主板上的ISA总线扩展插槽的IRQ2、IRQ3、IRQ4和IRQ7中的某一个上,然后送往主板上主8259A可编程中断控制器的对应中断请求输入端。
具体选用IRQ2、IRQ3、IRQ4和IRQ7中的哪一个,由本实验台接口卡上的跳线开关(JK)设置,可以选择将IRQ2、IRQ3、IRQ4和IRQ7中的某一个引到实验台上的IRQ插座上,跳线方法详见第3章,实验台接口卡出厂设置为IRQ7。
系统启动时,8259A中断类型号的高5位已被初始化为00001,故IRQ0~IRQ7的中断类型号为08H~0FH;8259A的中断结束方式初始化为非自动结束方式,即要在中断服务程序中发EOI命令;中断请求信号设置为“边沿触发”方式;8259A的端口地址为20H和21H。
微原-第八章中断系统与可编程中断控制器8259A(精)
8.1 中断系统
一、中断系统中的名词概念 ●中断类型号
为了能使CPU识别中断源,从而能正确地 转向该中断源对应的中断服务程序入口,通 常用若干位二进制编码来给中断源编号,该 编号称为中断类型号。
8.1 中断系统
一、中断系统中的名词概念 ●中断断点
由于中断的发生,某个程序被暂停执行。 该程序中即将执行,但由于中断而没有被 执行的那条指令(即中断发生时CPU正在 执行指令的下一条指令)的地址称为中断 断点,简称断点
一、中断系统中的名词概念 ●中断系统 为实现计算机的中断功能而配置的相关硬 件、软件的集合称为中断系统。
8.1 中断系统
二、中断工作方式的特点 ●并行处理能力 ●实时处理能力 ●故障处理能力 ●多道程序或多重任务的运行
8.1 中断系统
三、中断管理 ●对中断全过程的控制 中断源发出中断请求时,微处理器能决 定是否响应这一中断。若允许响应这个中 断请求,微处理器能在保护断点后,将控 制转移到相应的中断服务程序去,中断处 理完后,微处理器又能返回到断点处继续 执行被中断的程序。
四、中断过程 ●中断服务
保保保保 保保保 保保保保 保保保 保保保保 保保
8.2 8086中断系统
一、8086微处理器的中断类型
8086用8位二进制码表示一个中断类型,共有 256个中断,可分为两大类: 可屏蔽中断 外部中断 非可屏蔽中断 中断 除法错中断 单步中断 内部中断 断点中断 溢出中断 软中断
8.1 中断系统
四、中断过程 ●中断响应 ▲响应内部中断条件: 当前指令执行 结束 ▲中断响应过程如下:
主程序 中断响应周期 中断服务程序 保护现场 开中断 中断处理 关中断 恢复现场 中断返回 识别中断源 FLAGS ,CS ,IP进栈 清TF,IF标志 读中断向量 ,转入中断 服务程序 断点
微机原理习题答案8章
第8章中断系统与可编程中断控制器8259A1.什么叫中断?8086微机系统中有哪几种不同类型的中断?答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。
这个过程称为中断。
8086微机系统中有3种中断:1)外部可屏蔽中断。
2)外部不可屏蔽中断。
3)内部中断2.什么是中断类型?它有什么用处?答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。
8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。
这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。
3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处是能够提高中断响应的实时性。
对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。
(3)中断请求未被8259屏蔽。
(4)没有不可屏蔽中断请求和总线请求。
4.什么是中断向量?中断类型号为1FH的中断向量为2345H:1234H,画图说明它在中断向量表中的存放位置。
答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。
在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。
8.3 可编程中断控制器8259A及其应用
8259A的工作方式( 8259A的工作方式(2)——结束中断的方式 的工作方式
注意: 注意:
级连方式下,一般不用中断自动结束方式, 级连方式下,一般不用中断自动结束方式,而用 非自动结束方式。不管用哪一种非自动结束方式, 非自动结束方式。不管用哪一种非自动结束方式, 都至少连发两次中断结束命令,一次对主片, 都至少连发两次中断结束命令,一次对主片,一 次对从片。 次对从片。
(5)数据总线缓冲器 数据总线缓冲器
是双向三态8位缓冲器,用于连接系统数据总线和 8259A 内 部 总 线 , 传 递 CPU 发 送 的 控 制 信 息 , 返 回 8259A的状态信息 的状态信息
(6)读/写控制电路 读 写控制电路
Di位为 表示 中断正在服务中;为0表示没有被服务 位为1表示 中断正在服务中; 位为 表示IRi中断正在服务中 表示没有被服务
第8章 中断系统
§8.3 可编程中断控制器8259A及其应用
第8章 中断系统
中断接口8259A是可编程中断控制器, 中断接口8259A是可编程中断控制器,用于管理 8259A是可编程中断控制器 8080/8085、8086/8088、80286/80386的可屏蔽中断 8080/8085、8086/8088、80286/80386的可屏蔽中断
8.3.3
8259A中断控制器的引脚( 8259A中断控制器的引脚(1) 中断控制器的引脚
8259A是一个使用+5V电源的28脚双列直插芯片。 8259A是一个使用+5V电源的28脚双列直插芯片。 是一个使用+5V电源的28脚双列直插芯片 中断请求输入信号,一般IR ① IR0~IR7—中断请求输入信号,一般IR0优先 级最高, 最低,但优先级可由编程改变。 级最高,IRQ7最低,但优先级可由编程改变。 INT—中断请求输出信号, CPU的INTR引脚 引脚。 ② INT—中断请求输出信号,接CPU的INTR引脚。 INTA—中断响应,由此脚接收来自CPU CPU的中断 ③ INTA—中断响应,由此脚接收来自CPU的中断 响应信号。 响应信号。 ④ CS—片选,当CS有效时,该芯片工作。 CS—片选, CS有效时 该芯片工作。 有效时, ⑤ WR—写信号,有效时CPU将命令字写入8259A。 WR—写信号,有效时CPU将命令字写入8259A CPU将命令字写入8259A。
第08章 中断技术及8259A的使用
8.2 中断的一般过程
• • • • 中断请求 中断响应 中断服务 中断返回
中断请求
• 中断请求信号是由中断源向 中断请求信号是由中断源向CPU发出的。 发出的。 发出的 中断源可以是外部事件,也可以是CPU的 中断源可以是外部事件,也可以是 的 内部事件。 内部事件。外部事件的中断请求是外部设 备向CPU中断请求引脚发出的电平或边沿 备向 中断请求引脚发出的电平或边沿 信号。内部事件的中断请求可以是CPU执 信号。内部事件的中断请求可以是 执 行一条中断指令使CPU进入中断处理过程, 进入中断处理过程, 行一条中断指令使 进入中断处理过程 也可以是CPU执行程序的结果使 执行程序的结果使CPU进入 也可以是 执行程序的结果使 进入 中断处理过程。 中断处理过程。
无总线请求; 无总线请求; CPU允许中断; 允许中断; 允许中断 CPU执行完现行指令。 执行完现行指令。 执行完现行指令
CPU响应中断要自动完成三项任务: 响应中断要自动完成三项任务: 响应中断要自动完成三项任务 关闭中断; 关闭中断; CS,IP以及 以及PSW的内容推入堆栈(保护断点); 的内容推入堆栈( , 以及 的内容推入堆栈 保护断点); 取得中断服务程序入口地址,进入中断服务。 取得中断服务程序入口地址,进入中断服务。
8.3 8086中断系统 中断系统
INT n 指令 非屏蔽中断请求 NMI 中 断 逻 辑 INT R INT3 指令 INTO 指令 单步 中断 除数为0 除数为 中断 中 断 控 制 系 统 (8259A) 硬件中断 8086的中断分类 的中断分类
· · ·
可 屏 蔽 中 断 请 求
软件中断
中断向量及中断向量表
8086中断过程之内部中断过程 中断过程之内部பைடு நூலகம்断过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
■ 中断向量表:在 软件中断
8086系统中,位于内存 中断类型号:指令中 0~3FFH的1KB存储区
外部可屏蔽中断
域,共可存储256个中 中断类型号:中断源或硬 断向量 ,这一地址连续
件通过DB提供 的空间称为中断向量表
专 用 中 断 (5个)
000 004 008 00C 010
■ 中断优先级排队
软件查询中断优先级 中断优先级排队 硬件查询中断优先级 矢量中断优先级
§8.1 中断
一.中断的概念和分类
4. 中断优先级和中断嵌套
若响应后,优先权放到最低, 如何编制程序?
MOV BL,01H IN AL,20H TEST AL,BL JZ L1 JMP IR0_SRV L1: ROL BL,1 TEST AL,BL JZ L2 JMP IR1_SRV L2: ……
1. 中断的定义和功能
■ 中断系统的基本功能:
◇ 能够提出中断请求。当中断源要求CPU为其服务时,必须 先向CPU提出申请,这是通过发出中断请求信号实现的。 INTR、NMI、INT n、INTO ◇ 能够进行中断响应、中断服务、中断返回。 ◇ 能够进行中断屏蔽与开放(IF)。系统中大部分中断源是 可屏蔽的,称为可屏蔽中断,而个别的中断请求是不能被屏蔽的, 称为非屏蔽中断。 ◇ 能够识别中断源。8086通过中断类型号识别。 ◇ 能够进行中断优先级排队。
软件中断(INT n)
② 内部中断
由CPU的某些运算错误引起的中断 溢出中断、除法错 为调试程序设置的中断 单步中断、断点中断
不受 IF 影响,CPU对这些中断永远开放!
§8.1 中断
一.中断的概念和分类
3. 中断向量表
中断类型号:系统自动产生
■ 中断向量:中断服务程序的入口地址CS:IP (CS存高位,IP存低位,
■ 中断向量的设置:
§8.1 中断
一.中断的概念和分类
3. 中断向量表
◇专用中断由CPU自动提供中断类型号; ◇ INT n指令,类型号为n;
■ 中断类型号的获取:
◇外部可屏蔽中断,由中断接口电路提供中断类型号。 CPU在响应中断过程中,发出的第二个中断响应信号INTA时, 会读取数据总线D7~D0上的数据,把该数据作为中断类型号, 据此转入相应的中断服务程序。
§8.1 中断
一.中断概念和分类
1. 中断的定义和功能
非预料事件1 中断 服务 程序 1 中断 服务 程序 2
■ 中断:在CPU正常运行程序时,由于 内部或外部某个非预料事件的发生, CPU暂停现行程序的执行,转去进行突 发事件的处理,处理完后回到原来程序 继续执行,这一过程称为中断。
非预料事件2
● ● ●
IP CS IP CS
(中断矢量表)。
014 系统 使用 (27个) 07 C 080 用户 使用 (224个) 0FC
● ● ●
IP CS
中断向量
类型31 中断入口 类型32 中断入口
● ● ●
■ 中断类型号:中断
向量在中断向量表中的 顺序号(0~255)。
类型255 中断入口
IP CS
■ 中断技术的优点:
◇ 基本功能调用:通过软件中断可实现DOS功能调用和基本BIOS 调用; ◇ 改善程序调试的手段(环境);
◇ 提高了CPU的利用效率。
■ 中断系统:是指实现中断功能的硬件和软件的总和,通常由 中断接口电路以及CPU的与中断有关的部件和指令共同组成。
§8.1 中断
一.中断概念和分类
第二个通知外设将中断类型号输出到数据总线(D7 ~ D0读取中断类型号)I引脚引入,采用上升沿触发,上升沿 之后要维持两个时钟周期高电平才使申请有效。
① 外部中断
可屏蔽中断
非屏蔽中断请求的中断类型号为2,不受 IF 影响。
由CPU的INTR引脚引入,电平触发,高电平有效, INTR信号高电平必须维持到CPU响应中断才结束。 受 IF 影响。
◇软件法、硬件 法的结合 ◇专用芯片需先 编程写入控制字 ◇能确定并改变 多中断源优先级序 专用芯片法 中断控制芯片 8259A
RD WR A0
CS
CAS0 CAS1 CAS2
SP / EN
读写控制 电路
级联比较 /缓冲器
中断 服务 寄存器 (ISR)
优先级 判断器 (PR)
中断 请求 寄存器 (IRR)
§8.1 中断
一.中断的概念和分类
4. 中断优先级和中断嵌套
■ 中断优先级:给每个中断源指定一个优先级,称为中断优先级。
当多个中断源同时发出中断请求时, CPU按照中断优先级的高低顺序, 依次响应。
■ 8086/8088 CPU中断优先级:
8086/8088规定中断优先级从高到低的次序为: 内部中断(除法错,INTO,INT n); 不可屏蔽中断(NMI); 可屏蔽中断(INTR); 单步中断。 当有多个中断源同时产生中断申请时,CPU先响应优先级最高的 中断源,再响应优先级较低的中断源。
◇ 实现中断嵌套。高级中断请求能够中断低级的中断服务。
§8.1 中断
一.中断的概念和分类
2. 中断源和中断分类
一般的输入、输出设备 实时时钟
■ 中断源:能够提出中断申请的事件或设备称为中断源。
中断源
故障源
为调试程序而设置的中断源
■ 8086中断源:有2类中断源
外部中断
(硬件中断) 内部中断
从CPU的不可屏蔽中断引脚NMI和可屏 蔽中断引脚INTR引入
4. 中断优先级和中断嵌套
① 软件查询中断优先级
■ 中断优先级排队
◇ 硬件电路
◇ 多中断源输入或门的输入端(IF = 1);
◇ 或门的输出端接8086CPU的INTR。 ◇ 硬件功能 ◇ 输入中断源中有一个为高时输出为高; ◇ 可屏蔽中断请求由多中断源提供。 ◇ 优先级流程法 ◇ 使用连续的条件判断指令; ◇ 先判断哪一个中断源,则该中断源优先级最高。
● ● ●
⑵ 计算中断向量地址64H×4=190H; 64H×4 =190H ⑶ 取190H中存放的字送入IP,IP= 2010H;取192H中存放的字送入CS, CS=4030H; ⑷ 转向逻辑地址为4030H∶2010H (CS:IP)开始的中断服务程序去运行。
10H 20H 30H 40H
● ● ●
;CS
INT_SERVE
SEG OFFSET
CS :
IP
0 0 0 0 : N×4
§8.1 中断
一.中断的概念和分类
3. 中断向量表
利用DOS功能调用设置取中断向量和设置中断向量。
MOV AL,N MOV AH,35H INT 21H PUSH ES PUSH BX MOV AX,SEG INT_SERVE MOV DS,AX MOV DX,OFFSET INT_SERVE MOV AL,N MOV AH,25H INT 21H ┇ POP BX POP ES ;中断类型号送入AL ;取原向量到ES:BX中 ;保存原向量 ;段地址送DS ;偏移地址送DX ;中断类型号送入AL ;读磁盘 ;设置新向量 ;取出原向量
中断源较多的情况不合适!
§8.1 中断
一.中断的概念和分类
4. 中断优先级和中断嵌套
■ 中断优先级排队
② 硬件查询中断优先级
硬件优先级排队是指利用专门的硬件电路或中断控制器对 系统中各中断源的优先权进行安排。
链式优先权排队电路是一种简单的中断优先权硬件排队电 路,又称为菊花链优先权排队电路,它是利用外设连接在排队 电路的物理位置来决定其中断优先权的,排在最前面的优先权 最高,排在最后面的优先权最低。 ◇ 硬件电路:由数字逻辑电路构成优先级电路。
● ● ●
15 8 7 0
类型0中断入口(除法出错) 类型1 中断入口(单步中断) 类型 2中断入口( NMI) 类型3中断入口(断点中断) 类型4中断入口(溢出中断) 类型5中断入口
■ 断点:是指CPU执行的现行程序被中断 时的下一条指令的地址,又称断点地址。 ■ 过程调用与中断服务的区别:
◇ 过程调用: 可预见性 ◇ 中断服务: 有突发性 断点明确 断点随机 任务简单 任务复杂
CPU执行流程
§8.1 中断
一.中断概念和分类
1. 中断的定义和功能
◇ 并行操作:指CPU和多个外设并行操作; ◇ 分时操作:指CPU可分时执行多个用户程序和多道作业; ◇ 实现实时处理、 故障处理;
§8.1 中断
一.中断的概念和分类
2. 中断源和中断分类
NMI INTR 内部 中断 INT n 指令 INTO 指令 除法 错 单步 中断 断点 中断 8086 CPU 中断系统 非屏蔽中断 可屏蔽中断 外 部 中 断
■ 8086中断分类:
8086中断分类和中断源
如何设置TF?
由中断指令INT n 引起的中断
第8章 中断和可编程中断控制器8259A
第8章 中断和可编程中断控制器8259A
内容提要:
论述中断的概念、中断分类、中断的响应过程 并介绍中断控制器8259A。 8.1 中断 8.2 8259A的工作原理 8.3 8259A的应用举例
第8章 中断和可编程中断控制器8259A
§8.1 中断
◇ 硬件功能:硬件确定后,则优先级次序已确定。
§8.1 中断
一.中断的概念和分类
4. 中断优先级和中断嵌套
② 硬件查询优先方式
设备1 接口1 菊花 链逻 辑 来自CPU的 中断响应 送到CPU的 中断请求 (a)菊花链优先级结构 (b)菊花链逻辑 中断应答 中断请求 菊花链 逻辑 设备1 接口1 设备2 接口2 菊花 链逻 辑