微原-第八章中断系统与可编程中断控制器8259A(精)

合集下载

微机接口技术课件 8 中断控制器8259

微机接口技术课件 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章中断系统和中断控制器8259A

第8章中断系统和中断控制器8259A
对于外部中断,CPU判断标志位IF,若CPU 允许响应外部中断(IF=1),向发出中断请 求的外设返回一个中断应答信号,否则CPU 不响应该中断请求。
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

第八章 中断和可编程中断控制器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章 中断系统与中断控制器8259A

第8章  中断系统与中断控制器8259A

第8章中断系统与中断控制器8259A
(4)恢复现场:用弹栈指令把保护现场时入栈寄存器内容 恢复,注意应按先进后出的原则,恢复寄存器原来的内容 值。出栈后,堆栈指针也应恢复到进入中断处理时的位置。 (5)中断返回: 8086CPU必须根据中断结束方式,发中断 结束指令,并在最后用一条中断返回指令IRET。中断返 回指令IRET的作用是将断点的内容重新送入CS和IP寄存 器和标志寄存器,保证CPU从断点开始执行原来的程序。
第8章中断系统与中断控制器8259a存储器地址中断向量地址存储器内容中断向量对应中断类型号00000h中断服务程序入口偏移地址低8位00001h中断服务程序入口偏移地址高8位00002h中断服务程序入口段基址低8位00003h中断服务程序入口段基址高8位00004h中断服务程序入口偏移地址低8位00005h中断服务程序入口偏移地址高8位00006h中断服务程序入口段基址低8位00007h中断服务程序入口段基址高8位003f8h中断服务程序入口偏移地址低8位254003f9h中断服务程序入口偏移地址高8位003fah中断服务程序入口段基址低8位003fbh中断服务程序入口段基址高8位003fch中断服务程序入口偏移地址低8位255003fdh中断服务程序入口偏移地址高8位003feh中断服务程序入口段基址低8位003ffh中断服务程序入口段基址高8位表818086cpu中断向量表第8章中断系统与中断控制器8259a每个中断向量占用4个存储单元4个单元中的前2个单元存放的是中断服务程序所在段内的偏移量ip的内容16位地址
第8章中断系统与中断控制器8259A
3. 中断响应 根据中断请求的中断源的类型不同,中断响应分成以下两 种情况: (1)对非屏蔽中断请求的响应:该请求信号与CPU的NMI 引脚线相连接,如果CPU检测到该请求,CPU执行完当前 指令后就自动执行相应的中断服务程序,CPU不需要发出 中断响应信号。 (2)对可屏蔽中断INTR请求的响应:要检查IF,如IF=1, CPU允许中断,就会在结束当前指令后响应该外设的中断 请求。CPU响应可屏蔽中断时要自动完成下列几步操作:

微机原理与接口技术-08-8259中断系统

微机原理与接口技术-08-8259中断系统

命令字。
/RD--读信号,低电平有效,来自CPU的/RD输出;且 /CS有效且/RD有效时,使8259A将状态信息放 到数据总路线上,供CPU检测。
8259A的引脚功能
D7~ D0 ——双向数据总线,接到系统数据总线的D7~ D0 上,用来传送控制字、状态字和中断类型号。 IR7~IR0 ——中断请求信号,输入,来自外部接口电路。 (单片时) INT /INTA ——向CPU发出的中断请求信号。(单片时)。 ——中断响应信号,由此接收CPU发来的中断响 应脉冲。
中断类型号3×4 =000CH 内存 00000H 00001H
…….
低地址
0000CH (0000:000CH)
00(IPL) 0A(IPH) 00(CSL) 1E(CSH) ….... 中断服务程序
1E00 0 H + 0A0 0 H 1EA0 0 H 高地址
1EA00H (1E00:0A00H) FFFFFH
8259A的编程结构
CPU AD7~AD0 SP/EN D7~D0 RD WR A0 . . . 地址 译码 CS INTA ICW1 ICW2 ICW3 ICW4 OCW1 (IMR) OCW2 OCW3 PR IRR CAS0 CAS1 CAS2 ISR
IR0 . . . IR7
INTA INTR

优点:省硬件 缺点:中断响应慢
(2)菊花链优先级排队电路
设备1 接口
中断应答
设备2 接口
设备3 接口
中断请求
INT1
INT2
INT3
CPU
菊花链 逻辑电路
+5V
INTA
INTR
INT1+INT2+INT3

第8章 中断和可编程中断控制器8259A

第8章 中断和可编程中断控制器8259A
占4个单元存储空间)。
■ 中断向量表:在 软件中断
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 中断


一.中断的概念和分类

微机原理与接口技术 第八章 中断与可编程中断控制器8259A

微机原理与接口技术 第八章 中断与可编程中断控制器8259A

38
第八章 中断与可编程中断控制器8259A
39
出现IR2、IR4
主程序 …… …… …… …… …… …… ……
IR2服务 …
S…TI … CLI P…OP… EOI IRET
出现IR1 IR1服务 IR4服务 … S…TI CLI P…OP… EOI IRET
第八章 中断与可编程中断控制器8259A
微机原理与接口技术
第八章 中断与可编程 中断控制器8259A
第八章 中断与可编程中断控制器8259A
2
本章内容
第八章 中断与可编程中断控制器8259A
3
第八章 中断与可编程中断控制器8259A
4
第八章 中断与可编程中断控制器8259A
5
二、中断源和中断分类
第八章 中断与可编程中断控制器8259A
G B7 B6 B5 B4 B3 B2 B1 B0
CLK RD
INTA
接 CPU 的 D7 ~ D0
CPU从D2D1D0读取 7当4L前S2优45先方级向最高的 始中终断是类A型B码
第八章 中断与可编程中断控制器8259A
29
第八章 中断与可编程中断控制器8259A
30
(二)中断嵌套
第八章 中断与可编程中断控制器8259A
28
利用74LS148编码器构成的优先权排队电路示意图
74LS245的 方向是AB
+5V
D Q INTR
假设中断请求 信号低有效
INT 7 INT 6
II7 6
Eo
INT 5 I5
INT 4 I4
A2
INT 3 I3
A1
INT 2 I2
A0

微机原理与接口技术第8章 中断系统与8259芯片编程

微机原理与接口技术第8章  中断系统与8259芯片编程

1.中断的过程
中断是计算机中一个重要的概念。计 算机的大多数操作和命令都是通过中断告 知CPU的,然后再由CPU根据中断的内容 做出相应的反应。所以在学习微型计算机 原理时,有必要对CPU如何处理中断的过 程进行一定的了解。80486中断处理的具 体流程如图8-1所示。
图8-1 中断处理流程图

2.中断的处理
中断处理与返回:中断处理就是执行中断处理程序, 完成输入/输出或故障处理操作。每个中断源都有相应的 中断处理程序。通常,在中断处理程序的开始部分,将 有关寄存器的内容放入堆栈(即保护现场),然后完成 中断操作的程序段。在中断处理程序的末尾,放一条中 断返回指令。中断返回指令的任务是恢复中断前的断点, 即将断点地址送回指令指针。 思考: (1)什么是中断系统? (2)发生一个中断后,系统将做哪些工 作?
图8-5 8259A的编程结构
8259A内部由两大部分组成,上半部分包括中断请 求寄存器IRR,优先级判别器PR和中断服务寄存器ISR。 它们构成8259A的中断处理部分,称为处理部件。这部分 的功能是接收和处理从IR1~IR0引脚进入的外部中断,其 工作过程体现了8259A本身的工作原理,即接收中断申请 (IR1~IR0),中断判优,在ISR中记录当前正在处理的 中断优先级,向CPU发中断申请,当CPU响应该中断时, 接收CPU的两个连续中断响应信号将控制转移到中断服务 程序中去。
1.8259A的引脚信号
8259A是一个采用NMOS工艺制造,使用单5V电源 且具有28个引脚的双列直插式芯片,其外部引脚如图8-3 所示。
图8-3 8259A引脚图
2.8259A的内部结构
如图8-4所示的是8259A的内部结构图,从内部结
构图中可以看出,8259A共由8个部分组成。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.1 中断系统
8086标志寄存器中有一个陷阱标志位 TF,若TF=1,则微处理器每执行完一条指 令就引起一个中断类型码为1的内部中断。 它用于实现单步操作,是一种强有力的调 试手段。
8.2 8086中断系统
一、8086微处理器的中断类型 ●断点中断 INT 3指令产生一个中断码为3的内部 中断,称为断点中断。在程序调试过程中, 需要跟踪程序走向、了解程序执行过程的 中间结果时,可以用INT 3指令临时替换原 有的指令,称为设置断点。
8.1 中断系统
三、中断管理 ●中断嵌套
主程序 ①响应中断1 外设1 中断请求 外设1中断服务程序 ②响应中断2 外设2中断服务程序
外设2中断请求
④中断返回
IRET
③中断返回
IRET
8.1 中断系统
四、中断过程 对于不同类型的中断源,微处理器的响 应及处理过程不完全一样,大致过程为 中断源请求中断 中断响应 中断服务
8.1 中断系统
四、中断过程 ●中断源请求中断 外部中断源:由外部硬件产生可屏蔽 或不可屏蔽中断的请求信号。 内部中断源:在程序运行过程中发生 了指令异常或其他情况。
8.1 中断系统
四、中断过程 ●中断响应 ▲响应可屏蔽中断条件: 1、微处理器处于中断允许状态(IF=1) 2、没有不可屏蔽中断请求和总线请求 3、当前指令执行结束 ▲响应不可屏蔽中断条件: 1、没有总线请求 2、当前指令执行结束
8.2 8086中断系统
一、8086微处理器的中断类型 ●除法错中断 在执行DIV(无符号数除法)或IDIV (有符号数除法)指令时,若发现除数为 零或商超过寄存器所能表达的范围(商溢 出),8086微处理器立即执行中断类型码 为0的内部中断。
8.2 8086中断系统
一、8086微处理器的中断类型 ●单步中断
第8章 中断系统与可编程中断控制器8259A
8.1 中断系统
一、中断系统中的名词概念 ●中断
中断是指CPU暂停正在执行的程序,转去 执行处理中断事件的中断服务程序,待执行 完中断服务程序再返回到原被中断的程序继 续执行。
8.1 中断系统
一、中断系统中的名词概念 ●中断源及分类 通常称引起中断的事件为中断源。 内部中断源:中断源位于微处理器内部, 如程序异常、陷阱中断、软件中断等 外部中断源:中断源在微处理器的外部, 如外部故障、外部事件、I/O事件等
8.1 中断系统
一、中断系统中的名词概念 ●中断服务程序 中断服务程序:处理中断事件的程序段。 如除法错中断服务程序、输入输出中断服 务程序等。 中断服务程序与一般的子程序对比:子程 序的调用是由程序设定,因此是确定的而 中断服务程序由某个事件引发,它的发生 往往是随机的、不确定的。
8.1 中断系统
8.2 8086中断系统
一、8086微处理器的中断类型 ●外部不可屏蔽中断 不可屏蔽中断由NMI引脚引入,微处理 器对NMI中断请求的响应,不受中断允许 标志位IF控制。不管IF的状态如何,只要 NMI信号有效,8086现行指令执行结束, 没有DMA请求,都会立即响应NMI中断请 求。NMI中断类型码固定为2 。
8.1 中断系统
三、中断管理 ●中断源的识别 在多个中断源共存的系统中,当有中 断发生时,CPU需要识别是那个中断源发 出的请求 软件方法:软件查询中断源的状态来识别 硬件方法:需硬件提供中断类型号来识别
8.1 中断系统
三、中断管理 ●中断的优先权 Nhomakorabea对于系统中的所有中断源,必须根据中 断的性质及处理的轻重缓急对中断源进行 排队,并给予优先权。所谓优先权,是指 有多个中断源同时提出中断请求时,微处 理器响应中断的优先次序。
8.2 8086中断系统
一、8086微处理器的中断类型 8086中断结构
外部不可屏蔽中断 NMI 8086 微处理器中断逻辑 INTA INT n 指令 INT 3 断点 INTO 溢出 除法 出错 单步 中断 INTR 8259A 外 部 可 屏 蔽 中 断 请 求
8.2 8086中断系统
一、8086微处理器的中断类型 ●外部可屏蔽中断 可屏蔽中断由INTR引入,受标志寄存器 中的中断允许标志位IF的控制。IF=0时,微 处理器不响应INTR的中断请求,IF=1时, 微处理器响应INTR的中断请求。 8086的可屏蔽中断源由可编程中断控制 器8259A统一管理,INTR中断的类型码可 以是8~255 。
相关文档
最新文档