第六章 中断控制接口_第1页
第六章 中断控制接口_第2页
第六章 中断控制接口_第3页
第六章 中断控制接口_第4页
第六章 中断控制接口_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,第六章 中断控制接口,2011/10 东北大学计算机系统研究所,.,第六章 中断控制接口,6.1 中断系统概述,6.2 8259a中断控制器,习 题,.,外部中断:可屏蔽中断和非可屏蔽中断。 内部中断:除法错等中断,软中断。,int n 指令,中断逻辑,非屏蔽中断请求,8259,irq,irq,irq,irq,irq,irq,irq,irq,5,1,2,3,4,0,6,7,intr(080fh),nmi(2),(70h77h),单 步 (1),断 点 (3),溢 出 (4),tf,if,6.1.1 中断请求与中断源,6.1 中断系统概述,除法错 (0),.,实现中断嵌套:cpu在处理低级中

2、断时,若出现更高级的中断请求,应暂停对较低级的中断的处理,转去处理较高级的中断。,6.1 中断系统概述,实现中断与返回:能够响应中断,转到相应的中断服务程序,处理结束后能够返回到断点处。,实现优先级排队:多个中断源同时发出中断请求时,中断系统能够按优先级依次进行处理。,6.1.2 中断系统的功能,.,cpu的中断是开放的:cpu只有在标志寄存器中的if标志为1时才对外部中断请求信号(intr)进行响应。cpu可通过sti、cli指令对if标志置1或清0。,6.1 中断系统概述,有中断请求信号:主要指外部中断,如intr、nmi。,中断请求没有被屏蔽:每个中断源都可以在cpu的控制下发出中断请求

3、信号(intr),如8250的ier寄存器和out0、out1信号,8255a的pc2、4、6以及8259的imr。,6.1.3 中断响应-中断系统响应中断的条件,cpu在现行指令执行完毕时才响应中断:满足以上条件的情况下,.,关中断:cpu响应中断后,首先将标志寄存器入栈,然后关闭中断(if置0),以防止 在保存断点和保护现场之前再次响应中断。 保存断点:将cs、ip推入堆栈,以保证中断结束时返回到断点处。 根据中断向量(cpu发中断响应信号时获得的)查询中断向量表,得到中断服务子程序的首地址,并转去执行中断处理程序。,6.1 中断系统概述,6.1.3 中断响应- cpu中断响应过程,.,6

4、.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中断响应过程模拟,.,pck:ram奇偶错。 npi:8087异常。 i/o chck:i/o通道奇偶错。,int n 指令,中断逻辑,intr,nmi,除法错,单 步,断 点,溢 出,of,if,ls74,q,xd,7,d,wrtnmireg,ck,+5v,reset,pck,npi,i/o chck,enable/ock,(out 80h a0h),6.1 中断系

5、统概述,6.1.4 pc机中断系统,.,int n 指令,中断逻辑,非屏蔽中断请求,8259,irq,irq,irq,irq,irq,irq,irq,irq,5,1,2,3,4,0,6,7,intr(080fh),nmi(2),除法错,(70h77h),单 步,断 点,溢 出,of,if,计时器,键盘,级联,com2,com1,lpt2,软盘,lpt1,实时时钟,硬盘,irq,14,irq,8,8259(2),(1),查出其它的中断源,6.1 中断系统概述,6.1.4 pc机中断系统,.,6.1 中断系统概述,0000:0000h,0000:0003h,0000:0004h,ip,cs,ip,

6、cs,ip,cs,ip,cs,0000:0007h,0000:0008h,0000:000bh,0000:000ch,0000:03fch,0000:03ffh,中断0,中断1,中断2,中断3,中断255,中断相量表,中断相量:中断子程序的首地址,.,开机或者复位时由bios将10h1fh号中断的首地址写入表中。,6.1 中断系统概述,中断相量表的初始化,执行引导程序时由操作系统将20h2fh号中断的首地址写入表中。,用户应用程序中的中断服务子程序的首地址,由主程序通过int 21h和int 27h指令将其写入表中。,中断程序一般都常驻内存。,.,中断描述符表idt,8字节,中断0的门,中断1

7、的门,中断2的门,idtr,gdt,门描述符(中断描述符),偏移量1631,访问字节,选择子,偏移量015,6.1 中断系统概述,.,调用门:允许较低级的程序调用(call)较高级的程序(如操作系统)。(在gdt中),任务门:允许从特权级较低的任务切换(call或中断,如按时间片)到特权级较高的任务。(在gdt、idt中),陷阱门:所访问的是异常处理子程序。(在idt中),中断门:用于访问中断处理程序。与陷阱门的区别是中断处理之前清if,而陷阱门不管if的状态。(在idt中),6.1 中断系统概述,.,第六章 中断控制接口,6.2 8259a中断控制器,6.1 中断系统概述,习 题,.,6.2

8、.1 8259a的引脚,8259a,d0d7,rd,wr,cs,a0,int,inta,.,irq0,irq1,irq7,cas0,cas1,cas2,级联,sp/en,主从/缓冲,中断源,6.2 8259a中断控制器,.,6.2.2 8259a的内部结构及中断响应顺序,irq0,irq1,irq7,irr,imr,优先级分析器,isr,比较器,icw2,中断向量,int,inta,d07,6.2 8259a中断控制器,.,外部设备提出中断请求(irqi)。 中断请求被锁存在irr中,并与imr相“与”。 经优先级分析器检出优先级最高的中断请求。 由控制电路比较该中断请求与当前中断(cpu正在

9、处理的)的优先级,判断是否能够进行嵌套。是则向cpu发出int信号。 cpu输出第一个inta脉冲信号,将irr的对应位清0,并将isr的对应位置1。,6.2 8259a中断控制器,6.2.2 8259a的内部结构及中断响应顺序,输出第二个inta脉冲信号,8259a在这个周期将中断向量码输出到数据总线。 cpu读取中断向量码,转到相应的中断处理程序。,.,int,inta,irq1,irq0,irq7,sp/en,cas0,cas1,cas2,int,inta,irq1,irq0,irq7,sp/en,cas0,cas1,cas2,int,inta,irq1,irq0,irq7,sp/en,

10、cas0,cas1,cas2,主片,从片,inta,intr,6.2 8259a中断控制器,*8259a的级联,.,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 8259a中断控制器,6.2.3 8259a的程序设计-内部寄存器,.,icw1,icw2,icw3,icw4,ocw1,ocw2,ocw3,偶,奇,奇,奇,d4=1,imr,奇,偶,偶,d4=0 d3=0,d

11、4=0 d3=1,irr,isr,偶,偶,读isr: mov al,00001011b out 20h,al in al,20h,6.2 8259a中断控制器,6.2.3 8259a的程序设计-内部寄存器,.,icw1,icw2,icw3,icw4,ocw1,ocw2,ocw3,偶,奇,奇,奇,d4=1,imr,奇,偶,偶,d4=0 d3=0,d4=0 d3=1,irr,isr,偶,偶,6.2 8259a中断控制器,6.2.3 8259a的程序设计-内部寄存器,读imr:in al,21h,.,icw1: icw2 : icw3:,0,0,0,1,ltm,x,sngl,ic4,1电平触发,0边

12、沿触发,1单片使用,0级联使用,1要求icw4,0不要icw4,off7,off6,off5,off4,off3,0,0,0,s7,s6,s5,s4,s3,s2,s1,s0,主片,1:连有从片;0:未连从片,中断向量高5位,6.2 8259a中断控制器,6.2.3 8259a的程序设计-内部寄存器,.,icw3: icw4:,0,0,0,0,0,id2,id1,id0,0,0,0,sfnm,buf,m/s,aeoi,1,从片,从片id,1特殊完全嵌套方式,0非特殊完全嵌套方式,1 缓冲方式,0 非缓冲方式,1 本片为主片,0 本片为从片,1 自动 eoi,0 非自动 eoi,6.2 8259a

13、中断控制器,6.2.3 8259a的程序设计-内部寄存器,.,ocw1: /imr ocw2:,m7,m6,m5,m4,m3,m2,m1,m0,1:该中断请求被屏蔽;0:该中断请求开放,r,sl,eoi,0,0,l2,l1,l0,选择一个中断级,1:优先级自动循环,0:优先级非自动循环,1:l0l2有效,0:l0l2无效,isr对应位复位,6.2 8259a中断控制器,6.2.3 8259a的程序设计-内部寄存器,.,ocw3:,0,esmm,smm,0,1,p,rr,ris,00=无操作,1:查询命令,01=无操作,10=读irr,11=读isr,00=无操作,01=无操作,10=取消指定的

14、屏蔽,11=设置指定的屏蔽,0:非查询命令,6.2 8259a中断控制器,6.2.3 8259a的程序设计-内部寄存器,.,6.2 8259a中断控制器,6.2.4 8259a在ibm pc系列机中的应用,ibm pc/at的中断源,ibm pc/at中8259a的初始化,.,;初始化主控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,

15、al mov al,01h ;icw4,指定非aeoi方式 out 21h,al,6.2 8259a中断控制器,6.2.4 8269a在pc机中的应用- ibm pc/at中8259a的主片初始化,.,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 ;irq8irq15分别对应 int70h77h mov al,02h ;icw3, 该从控制器接在主控制器的 irq2上 out 0a1h,al mov al,01h ;icw4,指定非aeoi方式 out 0a1h,al,.,第六章 中断控制接口,6.1 中断系统概述,6.2 8259a中断控制器,习 题,.,习 题,什么是中断? 86系列cpu响应中断的条件是什么? 86系列cpu响应中断时,硬件自动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论