版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章中断系统8.1中断的基本概念8.2PC系列机的中断结构8.3可编程中断控制器8259A第8章中断8.1中断的概念
中断是指计算机的CPU在执行主程序时,收到了外部的或内部的中断请求,因而暂时中止主程序的执行,转去执行一段预先编制好的中断服务程序来处理这一中断请求,待处理完毕之后,又返回主程序接着被中断处继续执行,这样的一个过程就称为中断。
主程序IRET中断服务程序断点中断请求中断请求可以来自处理器外部的中断源,也可以由处理器执行指令引起:例如执行INTn指令。中断的过程中断源引起中断的原因或者发出中断请求的来源,称为中断源。根据中断源是来自CPU内部还是外部,将中断源分为两类:外部中断源和内部中断源,对应的中断称为外部中断和内部中断。8.2PC系列机的中断结构8086/8088的中断源1、外部中断外部中断是由于8088外部提出中断请求引起的程序中断利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件外部中断的原因是处理器外部随机产生的,所以是真正的中断(Interrupt)内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(Exception)⑴非屏蔽中断通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断8088的非屏蔽中断的向量号为2,非屏蔽中断请求信号为NMI非屏蔽中断主要用于处理系统的意外或故障。例如:电源调电前的数据保护存储器读写错误的处理⑵可屏蔽中断外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断8088的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器8088通常需要配合中断控制器8259A共同处理可屏蔽中断可屏蔽中断主要用于主机与外设交换数据IF控制可屏蔽中断的响应2、内部中断内部中断是由于8088内部执行程序出现异常引起的程序中断利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用内部中断的中断向量号已定⑴除法错中断在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断例如:movbl,0idivbl ;除数BL=0,产生除法错中断movax,200hmovbl,1divbl ;商=200H,不能用AL表达 ;产生除法错中断⑵指令中断在执行中断调用指令INTn时产生的一个向量号为n(0~255)的内部中断,称为指令中断其中向量号为3的指令中断比较特别(生成一个字节的指令代码:11001100),常用于程序调试,被称为断点中断例如:DEBUG.EXE调试程序的运行命令G设置的断点,就是利用INT3指令实现的⑶溢出中断在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断,被称为溢出中断例如:movax,2000haddax,7000h ;2000H+7000H=9000H,溢出:OF=1into ;因为OF=1,所以产生溢出中断⑷单步中断若单步中断TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,称为单步中断例如:DEBUG.EXE调试程序的单步命令T就利用单步中断实现对程序的单步调试3.中断优先级系统将所有的中断划分为四级,以0级为最高,依次降低,各级情况如下:
0级---除单步中断以外的所有内部中断
1级---不可屏蔽中断
2级---可屏蔽中断
3级---单步中断
不同级别的中断同时申请时,CPU根据级别高低依次决定响8.2.2中断向量和中断向量表中断类型号在8086系统中,共设有256类中断,每类中断分配到一个8位的编号,这个编号就叫做中断类型号。中断类型号的范围:00~FFH(0~255D)8086获取中断类型号的方法为:可屏蔽中断(硬件中断):由中断控制器8259A提供。软件中断:在中断指令INTn中,参数n即为中断类型号除上面二种情况外,其余中断都是固定类型号:除法错(类型0)、单步中断(类型1)、断点中断INT3(类型3)、溢出中断INTO(类型4),不可屏蔽中断(类型2)。8.2.2中断向量与中断向量表中断服务程序的入口地址叫做中断向量,将全部中断向量集中在一张表中,这张表叫做中断向量表。PC机中断向量表的位置固定在内存的最低1K字节中,即00000H~003FFH处。每一个中断服务程序的入口地址在表中占4字节:前2字节为偏移量,后2字节为段基址。为了便于在中断向量表中找到中断向量,通常设置一种指针,来指出中断向量存放在中断向量表中的具体位置;存放中断向量的4个存储单元的最低地址称为中断向量表地址指针。计算方法:中断向量表地址指针=中断类型号×4根据中断类型号找到中断向量的过程如果已知一个中断类型号,则通过两次地址转换(中断类型号到中断向量表地址;中断向量表地址到中断处理程序入口地址)后,可到达中断服务程序。8086中断向量表8.3可编程中断控制器8259A8.3.18259A的引脚信号和内部结构8259A芯片是由美国Intel公司研制生产的,功能强大。它可以对中断源进行优先级判别、可以向CPU提供中断矢量号n,还可以根据中断源需要屏蔽中断请求。一片8259A可以管理8级中断源,并且可通过级联扩展,最多可用9片管理64级中断。8259A可编程中断控制器,主要用于管理外部中断请求。1.8259A的引脚①D0~D7:双向数据总线。CPU用来传送命令,接收状态和读取中断向量。②CAS0~CAS2:级联总线,双向。主控8259A与从控8259A的连接线。主控时该总线为输出,从控时则为输入。③IR0~IR7:外设中断请求线,输入。从外设送来的中断请求由这些引脚输入到8259A。在边沿触发方式中IR输入应有由低到高的上升沿,此后保持为高,直到被响应。在电平触发方式中,IR输入应保持高电平直到被响应为止。④SP/EN:主从定义/缓冲器方向引脚,是一个双功能引脚。在非缓冲方式中用作输入线,指定8259A为主控制器(=1)或是从控制器(=0)。在缓冲方式中用作输出线,控制缓冲器的接收/发送。⑤INTA:中断响应引脚,输入。接收CPU发送来的2个中断响应脉冲,第一个用来通知8259A,其中断请求已被响应;第二个作为读操作信号,读取8259A所提供的中断类型号。⑥CS:片选信号,输入,低电平有效。注意,不论该信号是否有效,都不会影响对8259A读取中断类型号。⑦WR:写信号,输入,低电平有效。⑧RD:读信号,输入,低电平有效。⑨A0:地址线,输入。该引脚与片选、读/写信号联合使用,作为对8259A内部端口寻址。⑩Vcc和GND:8259A的+5V电源和地线。2.8259A的内部结构D7~D0INTAINT中断请求寄存器中断屏蔽寄存器数据总线缓冲器IR0IR7读/写控制逻辑级联缓冲器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优先权判别电路中断服务寄存器控制逻辑8259的工作原理8.3.28259A的工作方式普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式结束中断处理方式屏蔽中断源方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓冲方式中断优先方式与中断嵌套中断嵌套方式在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。8259A有两种中断嵌套方式:普通全嵌套方式(默认方式)
一中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。特殊全嵌套方式
一中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。注:特殊全嵌套仅用于多个8259A级连时的主8259A,而不能用于从属8259A或单8259A系统。D.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:从片的INT被主片封锁,故更高级别的IR0-IR2中断也无法得到响应特殊嵌套方式:因主片不封锁从片的INT,故级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁)C.假定IR7发生中断,并获得服务一般嵌套方式:IR4的中断被服务时,这些中断将被封锁。B.特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。A.INTE.从8259AINTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式与特殊全嵌套方式的区别
去CPU3.结束中断处理方式什么是8259A的中断结束?8259A利用中断服务寄存器ISR判断:某位为1,表示正在进行中断服务;该位为0,就是该中断结束服务。3.结束中断处理方式自动中断结束方式普通中断结束方式配合全嵌套优先权方式使用当CPU用输出指令往8259A发出普通中断结束EOI命令时,8259A就会把所有正在服务的中断中优先权最高的ISR位复位特殊中断结束方式配合循环优先权方式使用CPU在程序中向8259A发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位4.连接系统总线的方式缓冲方式将8259A通过总线驱动器和数据总线相连接。一般用于较大的系统中,比如采用多片8259A级联组成的主从式系统,多采用这种方式。8259A的数据线需加缓冲器予以驱动8259A把SP*/EN*引脚作为输出端,输出允许信号,用以锁存或开启缓冲器非缓冲方式将8259A直接与系统数据总线相连接。一般用于小系统中,比如只有一片8259A,就可采用非缓冲方式。SP*/EN*引脚为输入端若8259A级连,由其确定是主片或从片8.3.38259A的初始化命令字初始化8259A必须从ICW1开始写ICW1意味着重新初始化8259A写入ICW1后,8259A的状态如下:清除ISR和IMR(全0);将中断优先级设成初始状态:IR0最高,IR7最低;设定为一般屏蔽方式;采用非自动中断结束方式;状态读出逻辑预置为读IRR。ICW1——初始化字LTIM:触发方式=1高电平触发=0上升沿触发SNGL:级连控制=1单片=0级连IC4:ICW4控制=1要写ICW4=0不写ICW4(默认ICW4为全0)A0 D7 D6 D5 D4 D3 D2 D1 D0
0 x
x
x 1 LTIM x SNGL IC4ICW2——中断向量码T7~T3:中断向量码的高5位T2~T0:最低3位为中断源的序号IRn000~111分别对应IR0~IR7由8259A根据中断源的序号自动填入
例如: 若ICW2命令字为48H,则IR0的中断向量码为48H,IR7的中断向量码为4FH,等等。A0 D7 D6 D5 D4 D3 D2 D1 D0
1 T7T6 T5 T4 T3
0
0
0ICW3——级连控制字主片的级联控制字Si=1对应IRi线上连接了从片
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 S7S6 S5 S4 S3
S2
S1
S0从片的级联控制字ID2~ID0标识码,说明本从片连接到主片的哪个IR引脚上。000~111分别对应IR0~IR7。
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 00 0 0 0
ID2 ID1 ID0示例ICW3——级连控制字(续)ICW3必须与主从片的连接关系一致:
例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CAS0比较,二者一致的从片才可发送中断向量码。动画ICW4——中断结束方式字SFNM:特殊全嵌套1特殊全嵌套方式0一般全嵌套方式AEOI:自动EOI1自动EOI方式0非自动EOI方式A0 D7 D6 D5D4 D3 D2 D1 D0
1 00 0SFNM BUF M/S AEOI 1BUF:缓冲方式M/S:主/从缓冲选择BUFM/S11缓冲方式/主PIC10缓冲方式/从PIC0x非缓冲方式/正常8.3.58259A的操作命令字OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求:OCW1必须写入奇地址端口(A0=1)OCW2,OCW3必须写入偶地址端口(A0=0)OCW1——中断屏蔽字Mi=1中断请求线IRi被屏蔽(不允许中断)=0允许该IRi中断OCW1将写入IMR寄存器。A0=1时读OCW1可读出设置的IMR内容。A0 D7 D6 D5 D4 D3 D2 D1 D0
1 M7M6 M5 M4 M3
M2
M1
M0OCW2——中断结束和优先级循环L2~L0:优先级编码R:优先级自动循环SL:指定优先级EOI:结束中断命令
RSLEOI001非指定EOI命令(NSEOI),全嵌套方式011指定EOI命令(SEOI),全嵌套方式,按L2-L0编码复位ISR101NSEOI命令,优先级自动循环100自动EOI,设置优先级自动循环000自动EOI,取消优先级自动循环(固定优先级)111SEOI命令,按L2-L0编码循环优先级(L2-L0设为最低优先级)110按L2-L0编码循环优先级(L2-L0设为最低优先级)
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 RSL EOI 0 0
L2
L1
L0OCW3——屏蔽方式和读出控制字ESMM:
允许使能特殊屏蔽方式SMM:
特殊屏蔽方式ESMMSMM11特殊屏蔽方式置位10特殊屏蔽方式复位0x非特殊屏蔽方式P(Polling):=1查询方式=0非查询方式A0 D7 D6 D5 D4 D3 D2 D1 D0
0 0 ESMM SMM 0 1 P RR RISRR:读寄存器RIS:ISR/IRR选择RRRIS11读ISR10读IRR0x无效OCW3(续)查询方式允许8259A不工作于中断方式,而是以查询方式工作。CPU先写一个D2=1的OCW3,再对同一地址读入,即可得到如下状态字节:
IxxxxR2R1R0
I=1表示有中断请求,中断请求号为R2-R0此查询步骤可反复执行,以响应多个同时发生的中断。
读IRR/ISR:写入此命令后,随后再对同一地址读,即可得到IRR或ISR的内容。8.3.58259A的编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市基础设施资产管理合同
- 医疗器械公司总裁招聘合同样本
- 办公区休闲区域施工合同模板
- 机场航站楼廊架施工合同
- 保安公司人事经理聘用合同样本
- 订单履行与合同管理
- 航空物流总监招聘合同样本
- 体检科护士招聘合同样本
- 水利大坝建设级配碎石供应协议
- 2024美食节线上线下联合营销合作协议书3篇
- 基础会计(第7版)ppt课件完整版
- Q∕SY 1206.1-2009 油气管道通信系统通用技术规范 第1部分:光传输系统
- 汽车4S店八大运营业绩指标管控培训_89页
- 设备安装、调试及验收质量保证措施
- 火力发电厂生产技术管理导则
- 汽轮机叶片振动与分析
- 地质工作个人述职报告三篇
- 产品可追溯流程图圖
- 形意拳九歌八法释意
- 中国主要机场管制席位及频率
- 电站压力式除氧器安全技术规定
评论
0/150
提交评论