第六章 中断控制接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2.2 8259A的内部结构及中断响应顺序
优 先 级 分 析 器 IRR
INT
比 较 器
IRQ0 IRQ1
IRQ7 IM R ISR ICW2
INT A D0~7
中断向量
6.2 8259A中断控制器
6.2.2 8259A的内部结构及中断响应顺序
•外部设备提出中断请求(IRQi)。 •中断请求被锁存在IRR中,并与IMR相“与”。 •经优先级分析器检出优先级最高的中断请求。 •由控制电路比较该中断请求与当前中断(CPU正在处理的)
6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
ICW3:
0
0
0
0
0
ID2
ID1
ID0 从片
从片ID
ICW4:
0
0
0 SFNM BUF M/S AEOI 1
1 0 特非 殊特 完殊 全完 嵌全 套嵌 方套 式方 式 1 0 1 0 1 0 缓非 冲缓 方冲 式方 式 本本 自非 片片 动自 为为 动 主从 片片
6.2.4 8259A在IBM PC系列机中的应用
IBM PC/AT的中断源 IBM PC/AT中8259A的初始化
6.2 8259A中断控制器
6.2.4 8269A在PC机中的应用IBM PC/AT中8259A的主片初始化 ;初始化主控8259A MOV AL,11H ;ICW1,8259A级联使用,边沿检测 OUT 20H,AL MOV AL,08H ;ICW2,设置中断向量的高5位, OUT 21H,AL ;IRQ0~IRQ7分别对应INT08H到0FH MOV AL,04H ;ICW3,在IRQ2上接有一从属8259A OUT 21H,AL MOV AL,01H ;ICW4,指定非AEOI方式 OUT 21H,AL
中断逻辑
8259 ( 1)
(70H~77H) 8259
查出其它的中断源
( 2)
IRQ8 实时时钟 IRQ14 硬盘
6.1 中断系统概述
•中断相量表
中断相量:中断 子程序的首地址 中断255
CS IP
0000:03FFH 0000:03FCH
中断3 CS 中断2 中断1 中断0 IP CS IP CS IP
WRTNMIRE (OUT G 80H A0H)
CK
中断逻辑 除 单 法 错 步 断 溢 OF 点 出
PCK NPI
I/O CHCK
PCK:RAM奇偶错。 NPI:8087异常。 I/O CHCK:I/O通道奇偶错。 ENABLE/OCK
6.1 中断系统概述
6.1.4 PC机中断系统
INT n 指令 非屏蔽中断请求 NMI(2) INTR(08~0FH) IF 除 单 法 错 步 OF 断 溢 点 出 IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 计时器 键盘 级联 COM2 COM1 LPT2 软盘 LPT1
ICW4

6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
读IMR:IN AL,21H
d4=1
偶 奇 奇 奇
ICW1 ICW2 ICW3

偶 偶 偶
OCW1
d4=0 d3=0
IMR
OCW2
d4=0 d3=1
OCW3
IRR ISR
ICW4

6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
ICW1:
0
0
0
1
LTM 1 0 电边 平沿 触触 发发
X SNGL IC4 1 0 1 0 单级 要不 片联 4 求 4 要 使使 用用 ICW ICW
ICW2 :
off7 off6 off5 off4 off3
ICW3:
0
0
0
中断向量高5位
s7
s6
s5
s4
s3
s2
s1
s0 主片
1:连有从片;0:未连从片
6.2 8259A中断控制器
6.2.4 8269A在PC机中的应用IBM PC/AT中8259A的从片初始化
;初始化从属8259A MOV AL,11H ;ICW1,8259A级联使用,边沿检测 OUT 0A0H,AL MOV AL,70H ;ICW2,设置中断向量的高5位, OUT 0A1H,AL ;IRQ8~IRQ15分别对应 INT70H~77H MOV AL,02H ;ICW3, 该从控制器接在主控制器的 IRQ2上 OUT 0A1H,AL MOV AL,01H ;ICW4,指定非AEOI方式 OUT 0A1H,AL
6.1 中断系统概述
6.1.3 中断响应- CPU中断响应过程
•关中断:CPU响应中断后,首先将标志寄存
器入栈,然后关闭中断(IF置0),以防止 在 保存断点和保护现场之前再次响应中断。

保存断点:将CS、IP推入堆栈,以保证中
断结束时返回到断点处。
•根据中断向量(CPU发中断响应信号时获得
的)查询中断向量表,得到中断服务子程序的 首地址,并转去执行中断处理程序。
第六章 中断控制接口
6.1 中断系统概述
6.2 8259A中断控制器
习 题
6.2 8259A中断控制器
6.2.1 8259A的引脚
D0~D7 A0 RD IRQ0 IRQ1 ….. 中断源
WR
IRQ7 级联
CS 8259A CAS0
INT
INTA
CAS1 CAS2
SP/EN
主从/缓冲
6.2 8259A中断控制器

6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
读IRR:MOV AL,00001010B
OUT 20H,AL
IN AL,20H
d4=1
偶 奇 奇 奇
ICW1
ICW2 ICW3
奇 偶 偶 偶
OCW1
d4=0 d3=0
IMR
OCW2
d4=0 d3=1
OCW3 IRR ISR
0000:000CH 0000:000BH 0000:0008H 0000:0007H 0000:0004H 0000:0003H 0000:0000H
6.1 中断系统概述
•中断相量表的初始化
开机或者复位时由BIOS将10H~1FH号中断的首地 址写入表中。 执行引导程序时由操作系统将20H~2FH号中 断的首地址写入表中。 用户应用程序中的中断服务子程序的首地 址,由主程序通过INT 21H和INT 27H指令将其写入表中。
TF IF
INTR (08~0FH)
(70H~77H)
0
1 2 3 4 5 6 7
8259
IRQ
断 溢 点 出 ( ( 3 4 ) )
IRQ IRQ
外部中断:可屏蔽中断和非可屏蔽中断。 内部中断:除法错等中断,软中断。
6.1 中断系统概述
6.1.2 中断系统的功能 实现中断与返回:能够响应中断,转到相应的中断服务程 序,处理结束后能够返回到断点处。 实现优先级排队:多个中断源同时发出中断请求 时,中断系统能够按优先级依次进行处理。 实现中断嵌套:CPU在处理低级中断时,若 出现更高级的中断请求,应暂停对较低级的 中断的处理,转去处理较高级的中断。
ICW4

6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
读ISR: MOV AL,00001011B OUT 20H,AL IN AL,20H d4=1
偶 奇 奇 奇
ICW1
ICW2 ICW3
奇 偶 偶 偶
OCW1
d4=0 d3=0
IM R
OCW2
d4=0 d3=1
OCW3 IRR ISR
的优先级,判断是否能够进行嵌套。是则向CPU发出INT信号。
•CPU输出第一个INTA脉冲信号,将IRR的对应位清0,并
将ISR的对应位置1。
断向量码输出到数据总线。
•输出第二个INTA脉冲信号,8259A在这个周期将中
• CPU读取中断向量码,转到相应的中断处理程序。
6.2 8259A中断控制器
*8259A的级联 主片
INTR INTA INT IRQ0 IRQ1

从片 IRQ0 INTA IRQ1 CAS0 IRQ7 CAS1 CAS2 SP/EN … INT IRQ0 IRQ1 INT
INTA IRQ7 CAS0 CAS1 SP/EN CAS2
INTA CAS0 IRQ7 CAS1 CAS2 SP/EN
EOI EOI
6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
OCW1: /IMR
M7 M6 M5 M4 M3 M2 M1 M0
1:该中断请求被屏蔽;0:该中断请求开放
OCW2:
R
SL EOI
0
0
L2
L1
L0
选择一个中断级 ISR对应位复位 1:L0~L2有效 0:L0~L2无效 1:优先级自动循环 0:优先级非自动循环
6.2 8259A中断控制器
6.2.3 8259A的程序设计-内部寄存器
OCW3:
0 ESMM SMM
0
1来自百度文库
P
RR RIS 00=无操作 01=无操作 10=读 11= 读ISR IRR
00=无操作 01=无操作 10=取消指定的屏蔽 11=设置指定的屏蔽
1:查询命令 0:非查询命令
6.2 8259A中断控制器
• 在PC系列机中主要的中断源有哪些? • 试述86系列CPU响应中断而转入中断服务程序的
过程。
转向执行中断子程序?
习 题
• 软中断和硬中断有什么区别? • 什么是EOI命令?什么是8259A的自动EOI方式? • 编写一段程序屏蔽IRQ3和IRQ5上的中断请求,
但不允许改变其它中断请求。
• 编写一段程序读出ISR的内容。 • 8259A 如何识别4个ICW命令和3个OCW命令?
6.1 中断系统概述
•CPU中断响应过程模拟
… IF=0 IF=1 …
中断号(例如 2) CS IP
堆栈
中断向量表
CS
… IF=1 CS IP

IP CS IP CS IP
2 1 0

到CS:IP取出指令
转入执行中断程序
6.1 中断系统概述
6.1.4 PC机中断系统
INT n 指令 NMI INTR IF +5V Q LS74 RESET D XD 7
第六章 中断控制接口
6.1 中断系统概述
6.2 8259A中断控制器


习 题
• 什么是中断? • 86系列CPU响应中断的条件是什么? • 86系列CPU响应中断时,硬件自动完成哪些工作?
• 中断向量表的作用是什么?中断号为05H的中断
的中断服务子程序的首地址如何得到,CPU如何
外部完成哪些工作?
6.1 中断系统概述
6.1.3 中断响应-中断系统响应中断的条件 有中断请求信号:主要指外部中断,如INTR、NMI。 中断请求没有被屏蔽:每个中断源都可以在CPU 的控制下发出中断请求信号(INTR),如8250 的IER寄存器和OUT0、OUT1信号,8255A的 PC2、4、6以及8259的IMR。 CPU的中断是开放的:CPU只有在标志寄存 器中的IF标志为1时才对外部中断请求信号 (INTR)进行响应。CPU可通过STI、CLI 指令对IF标志置1或清0。 CPU在现行指令执行完毕时才响应中断: 满足以上条件的情况下
第六章 中断控制接口
2011/10
东北大学计算机系统研究所
第六章 中断控制接口
6.1 中断系统概述
6.2 8259A中断控制器
习 题
6.1 中断系统概述
6.1.1 中断请求与中断源
INT n 指令
NMI(2)
非屏蔽中断请求
IRQ IRQ IRQ IRQ IRQ
中断逻辑
除法错 ( 0) 单 步 ( 1 )
中断程序一般都常驻内存。
6.1 中断系统概述
•中断描述符表IDT
IDTR GDT 8字节 中断0的门 中断1的门 中断2的门

门描述符(中断描述符) 偏移量16~31 访问字节 选择子 偏移量0~15
6.1 中断系统概述
调用门:允许较低级的程序调用(CALL)较高级的程 序(如操作系统)。(在GDT中) 任务门:允许从特权级较低的任务切换 (CALL或中断,如按时间片)到特权级 较高的任务。(在GDT、IDT中) 陷阱门:所访问的是异常处理子程序。(在 IDT中) 中断门:用于访问中断处理程序。与陷阱门 的区别是中断处理之前清IF,而陷阱门 不管IF的状态。(在IDT中)
相关文档
最新文档