中断控制器及定时控制器(精品).ppt
《中断控制器及定时控制器(精品).ppt》由会员分享,可在线阅读,更多相关《中断控制器及定时控制器(精品).ppt(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用中断控制器及定时控制器(精品)Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用10.1 中断概述中断概述l10.1.1中断的一般概念中断的一般概念l10.1.28086/8088的中断方式的中断方式l10.1.3中断优先权管理中断优先权管理返回11/10/20222微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用
2、10.1.1 中断的一般概念中断的一般概念 中断(中断(Interrupt)是一种使是一种使CPU中止正在执行的程序而转去中止正在执行的程序而转去处理特殊事件的操作过程。处理特殊事件的操作过程。它是微处理器与外部设备进行信息交换的一种方式。目的:解决CPU与外设之间速度不匹配的矛盾。l(一)(一)中断控制方式的优点中断控制方式的优点l(二)(二)中断源中断源l(三)(三)中断系统的功能中断系统的功能l(四)(四)中断服务程序与一般子程序调用中断服务程序与一般子程序调用的区别的区别返回11/10/20223微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(一)中断控制方式的优
3、点l使使CPU与外设并行工作与外设并行工作l实现实时处理实现实时处理l自动地进行故障处理自动地进行故障处理返回11/10/20224微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(二)中断源引引起起中中断断的的事事件件,或或提提出出中中断断申申请请的的来来源源,称为中断源。称为中断源。如如:输输入入/输输出出设设备备中中断断(如如键键盘盘、打打印印机机)、过过程程控控制制产产生生的的中中断断(如如程程序序调调试试)、电电源源故故障中断等。障中断等。中断源分为中断源分为内部中断内部中断和和外部中断外部中断两大类。两大类。内部中断(软件中断):产生于处理器内部,内部中断(软件
4、中断):产生于处理器内部,由专门的中断指令引起。由专门的中断指令引起。外部中断(硬件中断):产生于处理器外部,外部中断(硬件中断):产生于处理器外部,由外部硬件引起。由外部硬件引起。返回11/10/20225微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(三)中断系统的功能l能实现中断及正确地返回能实现中断及正确地返回中断前:保护断点和现场中断前:保护断点和现场返回前:恢复现场和断点返回前:恢复现场和断点l能实现优先权排队和中断嵌套能实现优先权排队和中断嵌套中断优先权:中断优先权:多个中断源同时提出申请时,多个中断源同时提出申请时,CPU响应中断的先后次响应中断的先后次序
5、。序。中断嵌套:中断嵌套:CPU处理低级中断源的中断响应时,能够被高级中断中处理低级中断源的中断响应时,能够被高级中断中止而转去响应高级中断。止而转去响应高级中断。l能屏蔽某些中断能屏蔽某些中断由中断允许触发器决定是否响应中断请求。由中断允许触发器决定是否响应中断请求。8086/8088中,当中断中,当中断标志位标志位IF=1时,才允许响应可屏蔽中断时,才允许响应可屏蔽中断INTR。返回11/10/20226微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(四)中断服务程序与一般子程序调用的区别(四)中断服务程序与一般子程序调用的区别 l产生产生中断中断的的时间具有随机性时
6、间具有随机性,何时执行中断服务,何时执行中断服务程序是不确定的。程序是不确定的。l在中断方式中,在中断方式中,CPU自动完成自动完成对标志寄存器对标志寄存器FR的的保护与恢复保护与恢复,无需,无需PUSHF和和POPF指令。指令。l中断服务程序采用中断服务程序采用中断返回指令中断返回指令IRET,而不是子,而不是子程序返回指令程序返回指令RET,二者执行的操作不同。,二者执行的操作不同。l中断服务程序中总中断服务程序中总有一条开中断指令有一条开中断指令(该指令安(该指令安排在排在IRET指令前,以便返回主程序后能再次响应指令前,以便返回主程序后能再次响应中断;该指令若安排在中断服务程序开始的地
7、方,中断;该指令若安排在中断服务程序开始的地方,则允许在中断处理过程中响应更高级的中断源请则允许在中断处理过程中响应更高级的中断源请求)。求)。返回11/10/20227微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用10.1.2 8086/8088的中断方式的中断方式 l(一)(一)8086/8088中断分类中断分类l(二)(二)8086/8088中断向量表中断向量表l(三)(三)8086/8088中断响应过程中断响应过程返回11/10/20228微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(一)(一)8086/8088中断分类中断分类 8086/
8、8088中断系统可处理256种不同的中断,其中断源如图10-1所示。这256种中断分两大类:l硬硬件件中中断断(外外部部中中断断)由外部硬件引起的中断。l软软件件中中断断(内内部部中中断断)由CPU执行某些指令引起的,即由INT指令或CPU执行程序时某些错误引起的中断。返回11/10/20229微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用图10-1 8086/80888086/8088中断源中断源返回中中断断逻逻辑辑INTn指令指令单单步步TF=1除法除法错误错误INTO指令指令非屏蔽中断请求非屏蔽中断请求INTR2NMICPU014nIR0IR1IR2IR3IR4IR
9、5IR6IR782510AINT可编程可编程中中 断断控制器控制器(PIC)系统定时器系统定时器键盘键盘彩色图形接口彩色图形接口保留(通信)保留(通信)串行通信接口串行通信接口保留(保留(ALT打印机)打印机)软盘软盘保留(打印机)保留(打印机)08090A0B0C0D0E0F图图 10-1 8086/8088中断源中断源返回返回 类型号类型号11/10/202210微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(1)硬件中断l非屏蔽中断非屏蔽中断NMI由引脚由引脚NMI(non-maskableinterrupt)引入,中断类型号为)引入,中断类型号为2。NMI不受中断
10、允许标志不受中断允许标志IF的屏蔽的屏蔽。当。当NMI引脚上出现宽度大引脚上出现宽度大于于2个时钟周期的正脉冲时,个时钟周期的正脉冲时,CPU在执行完当前指令后就马上在执行完当前指令后就马上响应响应NMI中断。中断。一般用于处理系统的重大故障,如系统掉电等。一般用于处理系统的重大故障,如系统掉电等。l可屏蔽中断可屏蔽中断INTR由引脚由引脚INTR(interrupt)引入,采用高电平触发方式。)引入,采用高电平触发方式。INTR上的中断请求可被上的中断请求可被IF屏蔽。屏蔽。只有当只有当IF=1时,时,CPU才能响应才能响应INTR中断。中断。IF的状态可由开中断指令的状态可由开中断指令ST
11、I和关中断指令和关中断指令CLI来设置。来设置。注意:注意:系统复位或响应任一种中断后,系统复位或响应任一种中断后,IF均被清零,必须在一定时候均被清零,必须在一定时候用用STI来开放中断来开放中断。8086/8088只有一条只有一条INTR输入线。将输入线。将INTR与中断控制器与中断控制器8259A的的INT相连,由相连,由8259A可扩展多个外部中断源。可扩展多个外部中断源。返回11/10/202211微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(2)软件中断软件中断通常由三种情况引起:l由指令由指令INT引起的中断引起的中断l由由CPU某些错误引起的中断某些错误
12、引起的中断 l由由DEBUG调试程序设置的中断调试程序设置的中断注:286以上微处理器常将软件中断称为异常返回11/10/202212微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用 由指令由指令INT引起的中断引起的中断CPU执行一条执行一条INTn指令后立即产生中断。指令后立即产生中断。n为中断类型号为中断类型号,可为,可为00HFFH中的某数。中的某数。返回11/10/202213微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用 由由CPU某些错误引起的中断某些错误引起的中断l除除数数为为0中中断断类类型型0中中断断。除除法法运运算算中中,若若除除
13、数数为为0或或商商超超过过寄寄存存器器所所能能表表达达的的范范围围,则产生类型则产生类型0中断。没有相应的中断指令。中断。没有相应的中断指令。l溢出中断(溢出中断(INTO指令)指令)类型类型4中断。当中断。当溢出标志溢出标志OF=1时,时,CPU执行执行INTO指令就会指令就会进入溢出中断处理程序,打印出错信息,并进入溢出中断处理程序,打印出错信息,并把控制权交给操作系统。若把控制权交给操作系统。若OF=0,INTO指指令不起作用。因此,令不起作用。因此,将将INTO指令放在加、减指令放在加、减法运算指令后,可对法运算指令后,可对OF的状态进行检测的状态进行检测,一,一旦发生溢出便给予出错报
14、警。旦发生溢出便给予出错报警。返回11/10/202214微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用由由DEBUG调试程序设置的中断调试程序设置的中断l单单步步中中断断类类型型1中中断断。在在跟跟踪踪标标志志(TrapFlag)TF=1时时,CPU在在每每条条指指令令执执行行后后,自自动动产产生生类类型型1中中断断,显显示示各各寄寄存存器器和和有有关关存存储储单单元元的的内内容容,以以及及下下条条要要执执行行的的指指令令。TF由由DEBUG程程序序修改修改。l断断点点中中断断类类型型3中中断断。用用DEBUG程程序序的的G命命令令设设置置断断点点,实实质质上上是是把把
15、一一条条断断点点指指令令INT3插插入入到到断断点点设设置置处处。当当CPU执执行行到到断断点点处处,自自动动进进入入类类型型3的的中中断断服服务务程程序序,显显示示相相关关寄寄存存器器和和存存储储器器的内容。可的内容。可省写为省写为INT(单字节指令)。(单字节指令)。返回下一页11/10/202215微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用软件中断的特点及优先级l软件中断的特点:软件中断的特点:a.中断类型号由指令提供;中断类型号由指令提供;b.不受中断允许标志不受中断允许标志IF的影响;的影响;c.在在执执行行软软件件中中断断时时,如如果果有有外外部部硬硬件件
16、中中断断请请求求,CPU会会在在执执行行完完当当前前指指令令后后给给予予响响应应(对对于于可可屏屏蔽中断请求,要求蔽中断请求,要求IF=1)。)。l中断源中断源优先权优先权级别由高到低的级别由高到低的顺序顺序为:为:除法错除法错INTnINTONMIINTR单单步步返回11/10/202216微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(二)(二)8086/8088中断向量表中断向量表l中中断断向向量量是是中中断断服服务务程程序序的的入入口口地地址址(段段地地址址和和偏偏移移地地址址)。8086/8088系系统统在在存存储储器器00000H003FFH的的1KB区区域域
17、建建立立了了一一个个中中断断向向量量表表,可可存存储储256个个中中断断向向量量(类类型型号号00FFH),每每个个向向量量占占4个个字字节节,低低2个个字字节节存存放放中中断断入入口口地地址址的的段段内内偏偏移移地地址址(IP),高高2个个字字节节存存放放中中断断入入口口的的段段地址(地址(CS),),如如图图10-2所示。所示。l中断类型号由指令给定或由外设提供。当中断类型号由指令给定或由外设提供。当CPU响响应中断时,将应中断时,将中断类型号中断类型号n乘以乘以4就得到中断向量就得到中断向量的存放地址的存放地址,取,取4n和和4n+1单元中的内容装入单元中的内容装入IP,取取4n+2和和
18、4n+3单元中的内容装入单元中的内容装入CS,程序就转,程序就转入相应的中断处理过程。见入相应的中断处理过程。见举例举例。返回下一页11/10/202217微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(二)中断向量表(续)l在在8086/8088中中断断向向量量表表中中,前前5个个是是专专用用中中断断,用用户户不不能修改,除类型能修改,除类型2外都是软件中断。外都是软件中断。l类类型型05H1FH是是系系统统使使用用中中断断,不不允允许许用用户户修修改改。其其中中类类型型08H0FH对对应应8259中中断断控控制制器器的的8路路可可屏屏蔽蔽中中断断请请求求,类类型型10
19、H1AH为为BIOS中中断断,类类型型1DH1FH指向三个专用数据表。指向三个专用数据表。l类类型型20H3FH为为DOS中中断断,用用户户程程序序可可调调用用,特特别别是是类型类型21H中断,称为中断,称为DOS系统功能调用,使用特别多。系统功能调用,使用特别多。l类型类型40H以后的中断类型大都可由用户安排。以后的中断类型大都可由用户安排。返回11/10/202218微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用图10-2 8086/8088中断向量表返回2CSIPCSIPCSIPCSIPCSIPCSIPCSIP0000:0000H0000:0003H0000:000
20、4H0000:0007H0000:0008H0000:000BH0000:000CH0000:000FH0000:0010H0000:0013H0000:0014H0000:007EH0000:007FH0000:03FFH除数为除数为0的中断的中断单步中断单步中断非屏蔽中断非屏蔽中断断点中断断点中断溢出中断溢出中断类型类型0类型类型1类型类型2类型类型4类型类型3类型类型5类型类型31类型类型32类型类型255(十进制十进制)(十进制十进制)专用中断(共专用中断(共5个)个)保留中断(共保留中断(共27个)个)供用户定义的中断供用户定义的中断(共(共225个)个)返回111/10/20221
21、9微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用举例举例 执行执行INT05H过程:过程:l取中断类型号取中断类型号05Hl计算中断向量地址计算中断向量地址05H*4=14Hl取取中中断断入入口口的的偏偏移移地地址址FF54HIP,取取段段地地址址FF00HCSl程序转向中断服务程序入口程序转向中断服务程序入口FF00H:FF54H返回0000:0014HFFH00HFFH54H0000:0015H0000:0016H0000:0017H11/10/202220微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(三)8086/8088中断响应过程l808
22、6/8088的中断响应过程分三大步:(1)响应中断,获取中断类型号响应中断,获取中断类型号(2)中中断断服服务务,包包括括保保护护现现场场、保保护护断断点点和和断断点点处理处理(3)中断返回,包括恢复断点和恢复现场中断返回,包括恢复断点和恢复现场l在8086/8088各类中断中,除了第一步不同类型中断提供中断类型号的方式不同之外,第二步、第三步的处理过程大体是相同的。返回11/10/202221微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(1)中断类型号的获取获取方式有:获取方式有:l可屏蔽中断可屏蔽中断INTR由由外设(外设(8259A)提供)提供中断类型号中断类型号
23、8086/8088响响应应INTR中中断断要要用用两两个个总总线线周周期期:第第一一个个总总线线周周期期通通知知8259A,CPU准准备备响响应应中中断断,要要求求准准备备好好中中断断类类型型号号;第第二二个个总总线线周周期期中中,被被响响应应外外设设的的中中断断类类型型号号通通过过低低8位位数数据据总总线线送送给给CPU。CPU将将类类型型号号左左移移两两位位,成为中断向量的存放地址,存入暂存器。(参考成为中断向量的存放地址,存入暂存器。(参考图图10-1)l非非屏屏蔽蔽中中断断NMI不不经经过过中中断断响响应应周周期期,自自动动形形成成中中断断类型号类型号02H;l专专用用软软件件中中断断
24、自自动动形形成成中中断断类类型型号号。除除法法出出错错0,单单步中断步中断1,断点中断,断点中断3,溢出中断,溢出中断4;l中断指令中断指令INTn由由指令提供指令提供中断类型号中断类型号n。返回11/10/202222微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用(2)中断响应l取取得得中中断断类类型型码码后后的的操操作作过过程程大大体体相相同同,顺顺序序为(见为(见图图10-3):):根据中断类型码根据中断类型码计算中断向量所在地址计算中断向量所在地址;将标志寄存器将标志寄存器FR的内容的内容入栈入栈,保护现场;,保护现场;复复制制TF的的状状态态,IF和和TF标标志
25、志清清0,以以屏屏蔽蔽外外部部其它中断及防止单步运行中断服务程序;其它中断及防止单步运行中断服务程序;将将断点断点地址地址CS和和IP的内容推入堆栈的内容推入堆栈保护保护;从从中中断断向向量量表表读读取取中中断断向向量量送送入入CS和和IP,转转入入中断服务程序。中断服务程序。l以上各步骤是以上各步骤是CPU自动完成的。自动完成的。返回11/10/202223微微微微 机机机机 原原原原 理理理理 及及及及 应应应应 用用用用图10-3 8086/8088中断响应流程图返回是内部中断吗?是内部中断吗?是非屏蔽中断吗?是非屏蔽中断吗?是可屏蔽中断吗?是可屏蔽中断吗?TF1吗?吗?执行下一条指令执
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 控制器 定时 精品
限制150内