




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021/6/7 1 第六章第六章 中断控制接口中断控制接口 2011/10 东北大学计算机系统研究所 2021/6/7 2 第六章第六章 中断控制接口中断控制接口 6.1 中断系统概述中断系统概述 6.2 8259A中断控制器中断控制器 习习 题题 2021/6/7 3 外部中断:外部中断:可屏蔽中断可屏蔽中断和和非可屏蔽中断非可屏蔽中断。 内部中断:内部中断:除法错等中断除法错等中断,软中断软中断。 INT n 指令指令 中断逻辑中断逻辑 非屏蔽中断请求非屏蔽中断请求 8259 IRQ IRQ IRQ IRQ IRQ IRQ IRQ IRQ 5 1 2 3 4 0 6 7 INTR (08
2、0FH) NMI(2) (70H77H) 单单 步步 (1) 断断 点点 (3) 溢溢 出出 (4) TF IF 6.1.1 中断请求与中断源中断请求与中断源 6.1 6.1 中断系统概述中断系统概述 除法错除法错 (0) 2021/6/7 4 实现中断嵌套:实现中断嵌套:CPU在处理低级中断时,若在处理低级中断时,若 出现更高级的中断请求,应暂停对较低级的出现更高级的中断请求,应暂停对较低级的 中断的处理,转去处理较高级的中断。中断的处理,转去处理较高级的中断。 6.1 6.1 中断系统概述中断系统概述 实现中断与返回:实现中断与返回:能够响应中断,转到相应的中断服务程能够响应中断,转到相应
3、的中断服务程 序,处理结束后能够返回到断点处。序,处理结束后能够返回到断点处。 实现优先级排队:实现优先级排队:多个中断源同时发出中断请求多个中断源同时发出中断请求 时,中断系统能够按优先级依次进行处理。时,中断系统能够按优先级依次进行处理。 6.1.2 中断系统的功能中断系统的功能 2021/6/7 5 CPU的中断是开放的:的中断是开放的:CPU只有在标志寄存只有在标志寄存 器中的器中的IF标志为标志为1时才对外部中断请求信号时才对外部中断请求信号 (INTR)进行响应。进行响应。CPU可通过可通过STI、CLI 指令对指令对IF标志置标志置1或清或清0。 6.1 6.1 中断系统概述中断
4、系统概述 有中断请求信号:有中断请求信号:主要指外部中断,如主要指外部中断,如INTR、NMI。 中断请求没有被屏蔽:中断请求没有被屏蔽:每个中断源都可以在每个中断源都可以在CPU 的控制下发出中断请求信号(的控制下发出中断请求信号(INTR),),如如8250 的的IER寄存器和寄存器和OUT0、OUT1信号,信号,8255A的的 PC2、4、6以及以及8259的的IMR。 6.1.3 中断响应中断响应-中断系统响应中断的条件中断系统响应中断的条件 CPU在现行指令执行完毕时才响应中断在现行指令执行完毕时才响应中断: 满足以上条件的情况下满足以上条件的情况下 2021/6/7 6 关中断关中
5、断:CPU响应中断后,首先将标志寄存响应中断后,首先将标志寄存 器入栈,然后关闭中断(器入栈,然后关闭中断(IF置置0),以防止),以防止 在在 保存断点和保护现场之前再次响应中断。保存断点和保护现场之前再次响应中断。 保存断点保存断点:将:将CS、IP推入堆栈,以保证中推入堆栈,以保证中 断结束时返回到断点处。断结束时返回到断点处。 根据中断向量(根据中断向量(CPU发中断响应信号时获得发中断响应信号时获得 的)的)查询中断向量表查询中断向量表,得到中断服务子程序的,得到中断服务子程序的 首地址,并转去首地址,并转去执行中断处理程序。执行中断处理程序。 6.1 6.1 中断系统概述中断系统概
6、述 6.1.3 中断响应中断响应- CPU中断响应过程中断响应过程 2021/6/7 7 6.1 6.1 中断系统概述中断系统概述 IF=1 IF=1 IF=0 CS IP CS IP 堆栈堆栈中断向量表中断向量表 CS IP CS IP CS IP 0 1 2 CS IP 中断号(例如中断号(例如 2) 到到CS:IP取出指令取出指令 转入执行中断程序转入执行中断程序 CPU中断响应过程模拟中断响应过程模拟 2021/6/7 8 PCK:RAM奇偶错。奇偶错。 NPI:8087异常。异常。 I/O CHCK:I/O通道奇偶错。通道奇偶错。 INT n 指令指令 中断逻辑中断逻辑 INTR N
7、MI 除法错除法错 单单 步步 断断 点点 溢溢 出出 OF IF LS74 Q XD7 D WRTNMIRE G CK +5V RESET PCK NPI I/O CHCK ENABLE/OCK (OUT 80H A0H) 6.1 6.1 中断系统概述中断系统概述 6.1.4 PC机中断系统机中断系统 2021/6/7 9 INT n 指令指令 中断逻辑中断逻辑 非屏蔽中断请求非屏蔽中断请求 8259 IRQ IRQ IRQ IRQ IRQ IRQ IRQ IRQ 5 1 2 3 4 0 6 7 INTR(080FH) NMI(2) 除法错除法错 (70H77H) 单单 步步 断断 点点 溢
8、溢 出出 OF IF 计时器计时器 键盘键盘 级联级联 COM2 COM1 LPT2 软盘软盘 LPT1 实时时钟实时时钟 硬盘硬盘IRQ 14 IRQ 8 8259 (2) (1) 查出其它的中断源查出其它的中断源 6.1 6.1 中断系统概述中断系统概述 6.1.4 PC机中断系统机中断系统 2021/6/7 10 6.1 6.1 中断系统概述中断系统概述 0000:0000H 0000:0003H 0000:0004H IP CS IP CS IP CS IP CS 0000:0007H 0000:0008H 0000:000BH 0000:000CH 0000:03FCH 0000:0
9、3FFH 中断中断0 中断中断1 中断中断2 中断中断3 中断中断255 中断相量表中断相量表 中断相量:中断相量:中断中断 子程序的首地址子程序的首地址 2021/6/7 11 开机或者复位时由开机或者复位时由BIOS将将10H1FH号中断的首地址号中断的首地址 写入表中。写入表中。 6.1 6.1 中断系统概述中断系统概述 中断相量表的初始化中断相量表的初始化 执行引导程序时由操作系统将执行引导程序时由操作系统将20H2FH号号中中 断的首地址写入表中。断的首地址写入表中。 用户应用程序中的中断服务子程序的首地用户应用程序中的中断服务子程序的首地 址,由主程序通过址,由主程序通过INT 2
10、1H和和INT 27H指令将其写入表中指令将其写入表中。 中断程序一般都常驻内存。中断程序一般都常驻内存。 2021/6/7 12 中断描述符表中断描述符表IDTIDT 8字节字节 中断中断0的门的门 中断中断1的门的门 中断中断2的门的门 IDTR GDT 门描述符(中断描述符)门描述符(中断描述符) 偏移量偏移量1631访问字节访问字节选择子选择子偏移量偏移量015 6.1 6.1 中断系统概述中断系统概述 2021/6/7 13 调用门调用门:允许较低级的程序调用(:允许较低级的程序调用(CALL)较高级的程)较高级的程 序(如操作系统)。(在序(如操作系统)。(在GDT中)中) 任务门
11、任务门:允许从特权级较低的任务切换:允许从特权级较低的任务切换 (CALL或中断,如按时间片)到特权级或中断,如按时间片)到特权级 较高的任务。(在较高的任务。(在GDT、IDT中)中) 陷阱门陷阱门:所访问的是异常处理子程序。(在:所访问的是异常处理子程序。(在 IDT中)中) 中断门中断门:用于访问中断处理程序。与陷阱门:用于访问中断处理程序。与陷阱门 的区别是中断处理之前清的区别是中断处理之前清IF,而陷阱门而陷阱门 不管不管IF的状态。(在的状态。(在IDT中)中) 6.1 6.1 中断系统概述中断系统概述 2021/6/7 14 第六章第六章 中断控制接口中断控制接口 6.2 825
12、9A中断控制器中断控制器 6.1 中断系统概述中断系统概述 习习 题题 2021/6/7 15 6.2.1 8259A的引脚的引脚 8259A D0D7 RD WR CS A0 INT INTA . IRQ0 IRQ1 IRQ7 CAS0 CAS1 CAS2 级联级联 SP/EN 主从主从/缓冲缓冲 中断源中断源 6.2 8259A6.2 8259A中断控制器中断控制器 2021/6/7 16 6.2.2 8259A的内部结构及中断响应顺序的内部结构及中断响应顺序 IRQ0 IRQ1 IRQ7 IRR IM R 优先级分析器优先级分析器 ISR 比较器比较器 ICW2 中断向量中断向量 INT
13、 INT A D07 6.2 8259A6.2 8259A中断控制器中断控制器 2021/6/7 17 外部设备提出中断请求(外部设备提出中断请求(IRQi)。)。 中断请求被锁存在中断请求被锁存在IRR中,并与中,并与IMR相相“与与”。 经优先级分析器检出优先级最高的中断请求。经优先级分析器检出优先级最高的中断请求。 由控制电路比较该中断请求与当前中断(由控制电路比较该中断请求与当前中断(CPU正在处理的)正在处理的) 的优先级,判断是否能够进行嵌套。是则向的优先级,判断是否能够进行嵌套。是则向CPU发出发出INT信号。信号。 CPU输出第一个输出第一个INTA脉冲信号,脉冲信号,将将IR
14、R的对应位清的对应位清0,并将,并将 ISR的对应位置的对应位置1。 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.2 8259A的内部结构及中断响应顺序的内部结构及中断响应顺序 输出第二个输出第二个INTA脉冲信号,脉冲信号,8259A在这个周期将中在这个周期将中 断向量码输出到数据总线。断向量码输出到数据总线。 CPU读取中断向量码,转到相应的中断处理程序。读取中断向量码,转到相应的中断处理程序。 2021/6/7 18 INT INTA IRQ1 IRQ0 IRQ7 SP/EN CAS0 CAS1 CAS2 INT INTA IRQ1 IRQ0 IRQ7 SP/EN
15、CAS0 CAS1 CAS2 INT INTA IRQ1 IRQ0 IRQ7 SP/EN CAS0 CAS1 CAS2 主片主片 从片从片 INTA INTR 6.2 8259A6.2 8259A中断控制器中断控制器 *8259A的级联的级联 2021/6/7 19 ICW1 ICW2 ICW3 ICW4 OCW1 OCW2 OCW3 偶 奇 奇 奇 d4=1 IMR 奇 偶 偶 d4=0 d3=0 d4=0 d3=1 IRR ISR 偶 偶 读读IRR:MOV AL,00001010B OUT 20H,AL IN AL,20H 6.2 8259A6.2 8259A中断控制器中断控制器 6.2
16、.3 8259A的程序设计的程序设计-内部寄存器内部寄存器 2021/6/7 20 ICW1 ICW2 ICW3 ICW4 OCW1 OCW2 OCW3 偶偶 奇奇 奇奇 奇奇 d4=1 IM R 奇奇 偶偶 偶偶 d4=0 d3=0 d4=0 d3=1 IRR ISR 偶偶 偶偶 读读ISR: MOV AL,00001011B OUT 20H,AL IN AL,20H 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.3 8259A的程序设计的程序设计-内部寄存器内部寄存器 2021/6/7 21 ICW1 ICW2 ICW3 ICW4 OCW1 OCW2 OCW3 偶 奇
17、奇 奇 d4=1 IMR 奇 偶 偶 d4=0 d3=0 d4=0 d3=1 IRR ISR 偶 偶 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.3 8259A的程序设计的程序设计-内部寄存器内部寄存器 读读IMR:IN AL,21H 2021/6/7 22 ICW1: ICW2 : ICW3: 0001LTMXSNGL IC4 1电平触发 电平触发 0边沿触发 边沿触发 1单片使用 单片使用 0级联使用 级联使用 1要求 要求ICW4 0不要 不要ICW4 off7 off6 off5 off4 off3000 s7s6s5s4s3s2s1s0 主片主片 1:连有从片;
18、:连有从片;0:未连从片:未连从片 中断向量高中断向量高5位位 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.3 8259A的程序设计的程序设计-内部寄存器内部寄存器 2021/6/7 23 ICW3: ICW4: 00000ID2ID1ID0 000SFNM BUFM/S AEOI1 从片从片 从片从片ID 1特殊完全嵌套方式 特殊完全嵌套方式 0非特殊完全嵌套方式 非特殊完全嵌套方式 1 缓冲方式 缓冲方式 0 非缓冲方式 非缓冲方式 1 本片为主片 本片为主片 0 本片为从片 本片为从片 1 自动 自动 EOI 0 非自动 非自动 EOI 6.2 8259A6.2 8
19、259A中断控制器中断控制器 6.2.3 8259A的程序设计的程序设计-内部寄存器内部寄存器 2021/6/7 24 OCW1: /IMR OCW2: M7M6M5M4M3M2M1M0 1:该中断请求被屏蔽;:该中断请求被屏蔽;0:该中断请求开放:该中断请求开放 RSL EOI00L2L1L0 选择一个中断级选择一个中断级 1:优先级自动循环:优先级自动循环 0:优先级非自动循环:优先级非自动循环 1:L0L2有效有效 0:L0L2无效无效 ISR对应位复位对应位复位 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.3 8259A的程序设计的程序设计-内部寄存器内部寄存器
20、2021/6/7 25 OCW3: 0ESMM SMM01PRR RIS 00=无操作无操作 1:查询命令:查询命令01=无操作无操作 10=读读 IRR 11=读读ISR 00=无操作无操作 01=无操作无操作 10=取消指定的屏蔽取消指定的屏蔽 11=设置指定的屏蔽设置指定的屏蔽 0:非查询命令:非查询命令 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.3 8259A的程序设计的程序设计-内部寄存器内部寄存器 2021/6/7 26 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.4 8259A在在IBM PC系列机中的应用系列机中的应用 IBM PC
21、/AT的中断源 IBM PC/AT中8259A的初始化 2021/6/7 27 ;初始化主控8259A MOV AL,11H ;ICW1,8259A级联使用,边沿检测 OUT 20H,AL MOV AL,08H ;ICW2,设置中断向量的高5位, OUT 21H,AL ;IRQ0IRQ7分别对应INT08H到0FH MOV AL,04H ;ICW3,在IRQ2上接有一从属8259A OUT 21H,AL MOV AL,01H ;ICW4,指定非AEOI方式 OUT 21H,AL 6.2 8259A6.2 8259A中断控制器中断控制器 6.2.4 8269A在在PC机中的应用机中的应用- IB
22、M PC/AT中中8259A的主片初始化的主片初始化 2021/6/7 28 6.2 8259A6.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 ;IRQ8IRQ15分别对应 INT70H77H MOV AL,02H ;ICW3, 该从控制器接在主控制器的 IRQ2上 OUT 0A1H,AL MOV AL,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体育休闲广场健身俱乐部市场分析初步评估报告
- 药品调剂分装管理制度
- 药品间接销售管理制度
- 药店员工奖罚管理制度
- 药店督导各项管理制度
- 菜园农药使用管理制度
- 设备人员技能管理制度
- 设备单独使用管理制度
- 设备技术档案管理制度
- 设备检测检验管理制度
- 2024年广东省中考生物+地理试卷(含答案)
- 外国城建史(复习整理)
- 新人教版小学生四年级下册英语期末试题及答案-试题-试卷
- 高考语文必备古诗文(含翻译及赏析)
- 内蒙古自治区安全评价收费指导性意见(试行)(2006年)
- 食品中日文加工用语
- 小班化教育课堂教学.ppt
- ISO 铸件尺寸公差标准 ISO8062
- 巧克力糖自动包装机说明书
- 等效内摩擦角计算表
- 继承不动产登记具结书
评论
0/150
提交评论