好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第7章中断系统.ppt

107页
  • 卖家[上传人]:彩***
  • 文档编号:277742002
  • 上传时间:2022-04-15
  • 文档格式:PPT
  • 文档大小:1.01MB
  • / 107 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第7 7章章 中断系统中断系统u7.1 概述概述u7.2 可编程中断控制器可编程中断控制器8259Au7.3 PCI中断中断u7.4 串行中断串行中断7.17.7.1 1 中断系统概述中断系统概述u7.1.1 中断的基本概念中断的基本概念u7.1.2 现代微机中的中断类型现代微机中的中断类型u7.1.3 现代微机中的中断处理现代微机中的中断处理u7.1.4 中断向量的修改与设置中断向量的修改与设置7.1.17.1.7.1.1 1 中断的基本概念中断的基本概念CPU运行程序期间,遇到某些特殊情况运行程序期间,遇到某些特殊情况(内部或外部事件),暂时中止原先程序的执(内部或外部事件),暂时中止原先程序的执行,而转去执行一段特定的处理程序,服行,而转去执行一段特定的处理程序,服务完务完毕,再返回去继续执行被暂时中断的程序毕,再返回去继续执行被暂时中断的程序这这一过程就叫中断一过程就叫中断术语术语1、中断中断引起中断的事件称为中断源引起中断的事件称为中断源中断源有外部中断和内部中断,内部中断由程序预中断源有外部中断和内部中断,内部中断由程序预先安排的中断指令(先安排的中断指令(INT n)引起,或由于引起,或由于 CPU运算运算中产生某种错误(如除法出错、运算溢出)引起。

      中产生某种错误(如除法出错、运算溢出)引起外部中断是外部设备或协处理器向外部中断是外部设备或协处理器向CPU发出中断申发出中断申请引起的请引起的 2、中断源、中断源中断向量表:中断向量表:把系统中所有的中断向量集中起来放到存储器把系统中所有的中断向量集中起来放到存储器的某一个区域内,这个存放中断向量的存储区就叫的某一个区域内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表放在内存中断向量表或中断服务程序入口地址表放在内存最低最低1K字节(字节(00000H0003FFH)中断向量表中断向量表3、 中断向量与中断向量表中断向量与中断向量表中断向量:是中断服务程序的入口地址中断向量:是中断服务程序的入口地址它包括中断服务程序的段地址它包括中断服务程序的段地址CS和偏移地址和偏移地址IP(共占共占4个字节地址)个字节地址)CSIP用户可用用户可用 中断向量中断向量(224224个)个)系统保留系统保留 中断向量中断向量(2727个)个)专用专用 中断向量中断向量 (5 5个)个) 00080H00080H003FCH003FCH003FFH003FFH0007CH0007CH 00014H00014H 00000H00000H00004H00004H00008H00008H0000CH0000CH00010H00010H255255号向量号向量 3232号向量号向量 3131号向量号向量 5 5号向量号向量 4 4号向量(溢出中断)号向量(溢出中断)3 3号向量号向量( (断点中断)断点中断) 2 2号向量(非屏蔽)号向量(非屏蔽) 1 1号向量(单步)号向量(单步)0 0号向量(除法错)号向量(除法错) 2.N和指针和指针7.1.2 现代微机中的中断类型现代微机中的中断类型1 1、外部硬件可屏蔽中断、外部硬件可屏蔽中断 由外部设备产生的中断请求都属于外部硬由外部设备产生的中断请求都属于外部硬件中断。

      如键盘、鼠标、扫描仪及打印机等产生件中断如键盘、鼠标、扫描仪及打印机等产生的中断就属此类的中断就属此类由由INTR引脚引入这些中断请求,需要使用引脚引入这些中断请求,需要使用可编程中断控制器如可编程中断控制器如8259A等对多个外部设备同时等对多个外部设备同时或先后产生的中断请求按优先级排队,选取一个或先后产生的中断请求按优先级排队,选取一个当前具有最高优先级的中断请求送往当前具有最高优先级的中断请求送往INTR引脚 NMINMI往往用于处理必须立即响应的外部事往往用于处理必须立即响应的外部事件或重要的外部事件,比如电源故障和存储器件或重要的外部事件,比如电源故障和存储器读数据出现奇偶错等读数据出现奇偶错等这种中断不受这种中断不受 IF标志位影响,它是不可标志位影响,它是不可屏蔽的屏蔽的 2 2、外部硬件不可屏蔽中断、外部硬件不可屏蔽中断 3 3、软件中断、软件中断 软件中断指令如软件中断指令如INT 3,INT n,INTO和和BOUND等引起的中断等引起的中断这些软件中断指令在执行时,不需要中断这些软件中断指令在执行时,不需要中断识别总线周期,它们的中断类型号是固定的,可识别总线周期,它们的中断类型号是固定的,可以立即启动相应的中断处理程序。

      以立即启动相应的中断处理程序 u2.中断识别中断识别CPU响应中断后,响应中断后,CPU要设法寻找中断源,即找到是要设法寻找中断源,即找到是哪一个中断源发出的中断请求,这就是所谓的中断识别哪一个中断源发出的中断请求,这就是所谓的中断识别中断识别的主要目的是要形成该中断服务程序的入口地中断识别的主要目的是要形成该中断服务程序的入口地址,以便址,以便CPU将此地址置入将此地址置入CS:IP寄存器,从而实现程寄存器,从而实现程序的转移序的转移识别方法识别方法CPU识别中断或获取中断服务程序入口地址的方法有两种:识别中断或获取中断服务程序入口地址的方法有两种:向量中断:向量中断:是由中断向量来指示中断服务程序的入口地址例是由中断向量来指示中断服务程序的入口地址例如,对可屏蔽中断是在如,对可屏蔽中断是在CPU响应中断后,发出中断响应中断后,发出中断应答应答INTA时,由中断控制器通过数据总线返回到时,由中断控制器通过数据总线返回到CPU的中断类型号来确定中断源的的中断类型号来确定中断源的查询中断:查询中断:是采用软件或硬件(串行顺序链电路)查询技术来是采用软件或硬件(串行顺序链电路)查询技术来确定发出中断请求的中断源。

      确定发出中断请求的中断源7.1.3现代微机中的中断处理现代微机中的中断处理虽然不同的微型计算机的中断系统有所不同,但实虽然不同的微型计算机的中断系统有所不同,但实现中断时都有一个相同的中断处理过程它包括:现中断时都有一个相同的中断处理过程它包括:中断请求中断请求中断判优中断判优中断响应中断响应中断服务中断服务中断返回中断返回依次介绍此过程依次介绍此过程7.1.3 现代微机中的中断处理现代微机中的中断处理1、中断处理过程、中断处理过程(1) 中断请求中断请求当外部设备要求当外部设备要求CPU为它服务时,都要发送一为它服务时,都要发送一个个“中断请求中断请求”信号给信号给CPU进行中断请求;进行中断请求;CPU在执行完每条指令后去检查在执行完每条指令后去检查“中断请求中断请求”输入线,看是否有外部发来的输入线,看是否有外部发来的“中断请求中断请求”中断判优中断判优A)可屏蔽中断请求由接口电路向可屏蔽中断请求由接口电路向8259A发中断请发中断请求,经求,经8259A处理之后通过处理之后通过INTR引脚向引脚向CPU发请求发请求信号,并且还要提供中断类型号信号,并且还要提供中断类型号对外部的中断申请有权决定是否予以响应:对外部的中断申请有权决定是否予以响应:若允许申请,中断程序开始处用若允许申请,中断程序开始处用STI指令打指令打开中断;开中断;若不允许,则用若不允许,则用CLI指令关闭中断。

      指令关闭中断B)非屏蔽中断通过非屏蔽中断通过NMI引脚提出请求;引脚提出请求;C)内部中断根据指令的执行情况而定内部中断根据指令的执行情况而定中断判优中断判优(2)中断判优)中断判优要求设计者根据中断源的紧急情况,给每个中断源一个要求设计者根据中断源的紧急情况,给每个中断源一个中断级别,即中断优先权,根据中断优先权进行判优中断级别,即中断优先权,根据中断优先权进行判优作用(作用(2个)个):A)解决同时出现两个或两个以上的中断源产生请求解决同时出现两个或两个以上的中断源产生请求的情况B)实现中断嵌套实现中断嵌套排优方法排优方法软件排优软件排优硬件排优(如:可编程中断控制器)硬件排优(如:可编程中断控制器)中断响应中断响应(3)中断响应)中断响应CPU响应中断时,最重要的是要获得对应的中断类型号,响应中断时,最重要的是要获得对应的中断类型号,之后,完成如下操作:之后,完成如下操作:A)将标志寄存器将标志寄存器PSW的内容压入堆栈的内容压入堆栈B)将将TF和和IF清清0C)保护断点,即将断点处保护断点,即将断点处CS和和IP的内容压入堆栈;的内容压入堆栈;D)将中断类型号将中断类型号4,找到被响应的中断源的服务程,找到被响应的中断源的服务程序的入口地址(包括中断服务程序的段地址和偏移地址)序的入口地址(包括中断服务程序的段地址和偏移地址),再分别将它们装入,再分别将它们装入CPU的的CS和和IP寄存器,一旦装入寄存器,一旦装入完毕,就进入中断服务程序并开始执行。

      完毕,就进入中断服务程序并开始执行中断服务中断服务(4) 中断服务中断服务中断服务:由中断服务子程序来完成子程序中必须作以中断服务:由中断服务子程序来完成子程序中必须作以下工作:下工作:A)保护现场:把中断服务子程序中用到的寄存器的内保护现场:把中断服务子程序中用到的寄存器的内容入栈,以防影响主程序的运行;容入栈,以防影响主程序的运行;B)开中断:以便在此子程序中允许中断嵌套;开中断:以便在此子程序中允许中断嵌套;C)执行中断处理程序:完成相应的任务;执行中断处理程序:完成相应的任务;D)关中断:确保有效的恢复现场关中断:确保有效的恢复现场E)恢复现场恢复现场中断返回中断返回(5)中断返回)中断返回中断服务程序结束,执行中断服务程序结束,执行“中断返回中断返回”:会自动将保存在堆栈中的被中断的程序的断点及标志会自动将保存在堆栈中的被中断的程序的断点及标志寄存器的内容弹出(依次弹出寄存器的内容弹出(依次弹出6个字节为个字节为IP,CS和和PSW););并将弹出的断点装入代码段寄存器(并将弹出的断点装入代码段寄存器(CS)和指令指针和指令指针寄存器(寄存器(IP) ,使程序又回到中断前的地址继续执行。

      使程序又回到中断前的地址继续执行说明说明不同类型中断的处理过程都要经过以上不同类型中断的处理过程都要经过以上5步,但存在细微差别,其主要区别在于获取步,但存在细微差别,其主要区别在于获取中断号的方法不同因此,在中断响应这一中断号的方法不同因此,在中断响应这一步有差别步有差别4.中断响应周期中断响应周期2. 中断响应周期中断响应周期(1)内部中断:)内部中断:由指令或在执行指令过程中提供中断类型号,获得类型号由指令或在执行指令过程中提供中断类型号,获得类型号之后执行:之后执行:A)将标志寄存器将标志寄存器PSW的内容压入堆栈的内容压入堆栈B)将将TF和和IF清清0C)保护断点,即将断点处保护断点,即将断点处CS和和IP的内容压入堆栈;的内容压入堆栈;D)将中断类型号将中断类型号4,从向量表中取入口地址送,从向量表中取入口地址送CS、IP中,执行相应的中断程序中,执行相应的中断程序2)外部中断)外部中断(2)外部中断:)外部中断:非屏蔽中断响应:非屏蔽中断响应:NMI引脚有请求,则自动产引脚有请求,则自动产生中断类型码生中断类型码2,其后的处理与内部中断相同其后的处理与内部中断相同可屏蔽中断响应:可屏蔽中断响应:中断响应周期有两个:中断响应周期有两个:第一个第一个#INTA:通知中断源提供中断类型号;通知中断源提供中断类型号;第二个第二个#INTA:T4状态的前沿获得中断类型号。

      状态的前沿获得中断类型号获得类型号之后处理与内部中断相同获得类型号之后处理与内部中断相同7.1.4 中断向量的中断向量的修改与设置修改与设置开机上电时,系统配置和使用的中断所对应的开机上电时,系统配置和使用的中断所对应的中断向量由中断向量由BIOS负责装入,负责装入,BIOS将中断服务程序的将中断服务程序的入口地址直接写入中断向量表入口地址直接写入中断向量表。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.