




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微型计算机原理与应用 -8086中断系统简介主要内容:一、中断及中断过程一、中断及中断过程 二、二、8086的中断系统的中断系统中断服务程序中断服务程序发申请发申请中断服务程序中断服务程序发申请发申请中断方式下中断方式下CPU执行程序流程执行程序流程外外设设n由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU即返回继续执行原来被中断的主程序 1、什么是中断?、什么是中断?PPT比如比如.讲课讲课相当于子程序相当于子程序正在看书正在看书电话铃响电话铃响接电话接电话继续看
2、书继续看书执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应实际场景实际场景计算机计算机中断返回中断返回计算机应外设的要求暂停主程序的执行,转而执行一个子程序这个过程就是中断计算机应外设的要求暂停主程序的执行,转而执行一个子程序这个过程就是中断n中断与子程序调用的区别:中断与子程序调用的区别:n中断源是随机产生的;中断源是随机产生的;n中断的处理过程与子程序调用完全不同中断的处理过程与子程序调用完全不同o中断也是微处理器与外部设备进行信息交换的一种方式中断也是微处理器与外部设备进行信息交换的一种方式。平时平时CPU和外设和外设你
3、干你的事我干我的事,有事的时候才联系。你干你的事我干我的事,有事的时候才联系。o这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。作效率得以大大地提高。2、中断方式的优点:、中断方式的优点:程序员:程序员:INT n指令引起中断外部设备外部设备:IO设备、实时时钟什么是中断源?什么是中断源?引起中断的原因或发出中断请求的设备称为中断源。引起中断的原因或发出中断请求的设备称为中断源。3、中断源、中断源PPTn内部中断源内部中断源: vCPU运行时出现的非正常情况(除数为零、溢出、内存不够) v程序执行 (单步执行、断点执行) v 中断指令INT n q 外
4、部中断源外部中断源: 外设提出的请求(可屏蔽中断、不可屏蔽中断) 出现在出现在INTRINTR线上的中断请求,线上的中断请求,CPU CPU 是否响应要取决于是否响应要取决于标志位标志位IFIF的状态:的状态: 若若IF=1IF=1,则,则CPUCPU就响应就响应,此时,此时CPUCPU是处在开中断状态;是处在开中断状态; 若若IF=0IF=0,则,则CPUCPU就不响应就不响应, ,此时此时CPUCPU是处在关中断状态。是处在关中断状态。 而而IFIF标志位的状态,可以用指令标志位的状态,可以用指令STISTI使其置位,即开使其置位,即开中断;也可以用中断;也可以用CLICLI指令来使其复位
5、,即关中断。指令来使其复位,即关中断。 可屏蔽中断可屏蔽中断 n4、可屏蔽中断与不可屏蔽中断、可屏蔽中断与不可屏蔽中断 出现在出现在NMINMI线上的中断请求,线上的中断请求,不受标志位不受标志位IFIF的影响的影响,在当前指令执,在当前指令执行完以后行完以后,CPU,CPU就响应。就响应。NMINMI线上的中断请求信号是线上的中断请求信号是边沿触发边沿触发的,它的的,它的出现是异步的出现是异步的, ,由内部把它锁存。要求由内部把它锁存。要求NMINMI上的中断请求脉冲的有效宽上的中断请求脉冲的有效宽度度( (高电平的持续时间高电平的持续时间) )要大于两个时钟周期。要大于两个时钟周期。 非屏
6、蔽中断非屏蔽中断5.中断系统应具备的功能o能够实现中断,并能正确地返回;能够进行优先级排队和实现中断嵌套;(多个中断源的情况)能够禁止中断(不响应中断)和中断屏蔽(不让中断请求挂到CPU引脚上)。与硬件中断与硬件中断可屏蔽可屏蔽不可屏蔽不可屏蔽软件中断软件中断中断源的类型?中断源的类型?外设外设时钟时钟 在自动控制中,常采用一个外部时钟电路控制其时间间隔。需要定时时,CPU发出启动时钟电路开始计时,待定时时间到,就会向CPU发出中断请求,由CPU转去完成检测和控制等任务。中断请求中断请求4。可屏蔽中断的处理过程。可屏蔽中断的处理过程中断判优中断判优中断响应中断响应中断处理中断处理中断返回中断返
7、回n先以先以官员接待访客介绍这五个步骤介绍这五个步骤官员接官员接待来访待来访者?者?中断过程的五个步骤:重点介绍其中三个中断过程的五个步骤:重点介绍其中三个n中断的处理过程总结中断的处理过程总结INTAIF=01)中断请求外设要求外设要求CPU为他服务时就输出一个请求为他服务时就输出一个请求信号,加载到信号,加载到CPU的中断请求输入引脚的中断请求输入引脚n只有一个中断源的情况只有一个中断源的情况 外设(中断源)发出中断请求信号,经中断管理器送到CPU的INTR引脚。-CPU怎么知道来了中断请求?中断接口电路来管理中断请求!客人客人敲门敲门秘书登记、排序、拒绝秘书登记、排序、拒绝1n多个个中断
8、源的情况多个个中断源的情况申请阶段的工作o请求需要登记:外设提出的中断请求信号,用中断请求触发器保存; o多个中断源管理:多个中断源的中断请求,到底选哪一个中断请求信号与CPU的INTR引脚相沟通,用中断屏蔽触发器;控制你的请求信号能否到达 CPU的INTR引脚。o允许或禁止CPU响应中断:用中断允许触发器,IF标志来控制(用STI 指令使IF标志为“1”,用CLI 指令使IF标志为“0”)。 秘书处登记,秘书通报秘书处登记,秘书通报-多个中断源产生中断,CPU首先为谁服务?-排序排序看成是申请阶段的工作内容看成是申请阶段的工作内容 中断优先级控制两个含义:n对同时产生的中断:应首先处理优先级
9、别较高的中断;n对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套中断嵌套。 优先级的问题一般由专门的中断控制器来处理。秘书给排号秘书给排号(1)从申请进入响应阶段,要具备一定条件:o外设提出中断请求,该请求到达CPU的INTR引脚;(不能被屏蔽)o CPU执行完当前指令; o 中断允许触发器IF状态为“1”。CPU在指令的最后一个时钟周期在指令的最后一个时钟周期去检查去检查INTR引脚引脚2)中断响应在每条指令的最后一个时钟周期,CPU检测INTR,若某些条件成立,则CPU响应中断:(2)可屏蔽中断响应时序)可屏蔽中断响应时序122)中断响应可屏蔽中断响
10、应周期包含两个总线周期可屏蔽中断响应周期包含两个总线周期第一个总线总线周期INTA出现一次低电平,第二个总线周期又出现一次第1个低电平表示响应引脚上的中断申请,由于这个申请已被响应,那么对应的(中断申请触发器内)请求标志要被清除。告知外设我响应你的请求。第2个低电平:(中断请求对应一个编码中断类型号)将中断类型号读到CPU;中断类型号从哪里来?由中断控制器8259中来的,通过数据总线传给CPU;读进来后,根据这个号找到中断服务程序的起始地址,然后就执行服务程序。 读取中断类型号(在读取中断类型号(在-INTA的第的第2个低电平时间,从数据总线上读取个低电平时间,从数据总线上读取中中断类型号断类
11、型号N(由中断控制器提供)(由中断控制器提供) 。保存保存PSW (F标志寄存器)标志入堆栈标志寄存器)标志入堆栈关中断(关中断(IF=“0”、TF= “0” ) 保存断点 (当前的CS、IP入堆栈保存)主要是保证中断结束后能返回被中断的程序。 调用中断服务程序的入口地址调用中断服务程序的入口地址 (比较复杂,单独介绍)(比较复杂,单独介绍)执行中断服务程序 (3)可屏蔽中断的响应处理)可屏蔽中断的响应处理 1断点没保护好,中断服务程序入口地址没找到,将IF位置0;暂时不接待其他中断请求-别打扰我!计算机自动处理的。断点具体在哪里我计算机自动处理的。断点具体在哪里我们是不知道的,只知道是们是不
12、知道的,只知道是下一条指令下一条指令的的地址。地址。2)中断响应nCPU自动完成上述过程!自动完成上述过程!中断类型号N*4=中断向量表的偏移地址 (内部计算)。从中断向量表0000H: N*4内存单元中读取中断向量(中断服务程序的入口地址)四个字节将中断向量送入将中断向量送入IP、CS中中 怎么找到怎么找到中断服务程序的首地址?中断服务程序的首地址?小结中断服务程序的首地址是这样来的:N什么时候读到的?中断相应开始,INTA引脚第二次等于0的时候,由中断控制器通过数据总线传到CPU;读进来做什么呢?把他乘以4,以他为偏移地址与0000段叠加得到一个地址;这个内存单元有四个字节内容,低地址两个
13、单元内容送IP,高地址的内容送CS,这样就找到了中断服务程序的入口地址2)中断响应入口地址,学名中断向量中断向量,放哪里了呢?放到内存中的一片区域中这片区域位于0段,范围是0000:00000000:0325这个区域,这个区域由于是存放中断向量的地方称为中断向量表中断向量表。放在什么地方了呢?由类型号确定,0000:4*N开始的4个单元中段地址在哪儿,偏移地址是多少中断服务程序的首地址的讲解中断服务程序的首地址的讲解1)中断类型码中断类型码 8086可处理256个中断源,为每个中断源分配了一个编码,这个编码对应一个中断子程序,其取值范围为0255,称为中断类型码。中断类型码。2)中断向量)中断
14、向量 中断服务子程序都有的入口地址(中断服务程序的段基址和偏移量),称中断服务子程序都有的入口地址(中断服务程序的段基址和偏移量),称为为中断向量。中断向量。3)中断向量表)中断向量表中断向量放在固定的一块地址中(中断向量放在固定的一块地址中(000H-3FFH)而且按中断类型)而且按中断类型码的顺序来放码的顺序来放 形成一个地址表,形成一个地址表,叫中断向量表叫中断向量表预备知识预备知识o(1) 保护现场(由一系列的PUSH指令完成)。目的是为了保护那些在子程序中可能改变的寄存器,(如AX,BX,CX等)。o(2) 开中断(由STI指令实现)。目的是为了能实现中断的嵌套。 (3) 中断服务-
15、执行子程序o(4) 恢复现场是与保护现场对应的。o(5) 返回(使用中断返回指令IRET)。n在中断子程序中通过编写代码完成上述过程在中断子程序中通过编写代码完成上述过程。n中断子程序的结构中断子程序的结构2)中断响应(4)可屏蔽中断的响应处理)可屏蔽中断的响应处理 2执行中断子程序3)中断返回IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服务程序时中断返回后PPT执行执行IRET指令:指令: 。从堆栈顶弹出断点送IP、CS寄存器SP+4送SP 从堆栈顶弹出现场送F标志寄存器SP+2送SP 根据根据IP、CS的值返回原来
16、的程序。的值返回原来的程序。 回顾小结回顾小结1 1、中断处理包括哪几个阶段?、中断处理包括哪几个阶段?2 2、请求阶段涉及那几个硬件?、请求阶段涉及那几个硬件? 中断请求触发器:用来保存中断请求信号中断请求触发器:用来保存中断请求信号 中断屏蔽触发器:管理多个中断源,让谁的中断挂到中断屏蔽触发器:管理多个中断源,让谁的中断挂到CPUCPU的的INTAINTA引脚上)引脚上) 中断允许触发器:常说的中断允许触发器:常说的IFIF标志。标志。3 3、可屏蔽中断的响应有几步、可屏蔽中断的响应有几步 读类型码读类型码 保持保持IFIF 关中断关中断 断点保护断点保护 调用中断服务程序入口地址调用中断
17、服务程序入口地址 执行子程序执行子程序4 4、返回阶段执行什么操作?、返回阶段执行什么操作?5 5、怎么通过中断类型码找到入口地址、怎么通过中断类型码找到入口地址如何将中断服务程序的入口地址放入中断向量表中断向量表是内存当中的一个部分 用来存放中断向量;表存放的位置是段地址为0000H,偏移地址从0000H-03FH这么一片区域。共1024个单元,每个中断向量占4个单元,总共可放256个中断向量。怎么存放呢?每个中断向量占4个单元而且按中断类型码的顺序来放,形成一个地址表,叫中断向量表。 这样如果中断类型码是0,那么中断向量放在0000开始的4个单元,如果类型码是1,就放在0004开始的单元,
18、类推下去,类型码为N,则放在4*N开始的4个单元中断向量表中断向量表中断向量号(表)的规定中断向量号(表)的规定000H004H008H00CH014H080H3FFHIP偏移地址CS段基地址IP偏移地址CS段基地址IP偏移地址CS段基地址中断类型码0(除法错)中断类型码1(单步中断)中断类型码2(NMI中断)中断类型码3(断点中断)中断类型码4(溢出中断) 中断类型码5(保留)系统保留中断用户自定义中断某些外设的中断类型码由程序员给定范围是某些外设的中断类型码由程序员给定范围是32-255中断类型号0-4是专用中断, 中断类型号5-31系统保留的中断类型号32-255是用户可以 使用的。如果
19、自己编写某个中 断源对应的中断服务程序,那 么中断源的编号只 能从32- 255之间选。 入口地址放入中断向量表程序o例:某个中断源,程序员将其中断类型码设置为N,并编写一个名字为int48h中断子程序,最后要编写程序将该中断处理子程序的入口地址放入向量表。只需把子程序只需把子程序INT48H的的IP和和CS放到放到地址表地址表-中断向量表中去就可以了。中断向量表中去就可以了。如何将中断服务程序的入口地址放入中断向量表中断向量表的初始化程序中断向量表的初始化程序 CLI CLI MOV AX MOV AX,0 0 MOV DS MOV DS,AXAX;将;将DSDS内容设为内容设为0-0-0
20、0段段 MOV SI MOV SI,48H48H* *4 4 MOV AXMOV AX,OFFSET int48hOFFSET int48h;中断程序的偏移地址放到;中断程序的偏移地址放到 MOV SI MOV SI,AXAX MOV AXMOV AX,SEG int48hSEG int48h MOV SI+2 MOV SI+2,AXAX STISTIIP0LIP0HCS1LCS0LCS0HIP1LIP1HCS1HIP2LIP2HCS2LCS2H000H003H004H4NH000H3FFHSISI+中断类型号中断向量表中断向量的区别和联系q 中断类型号中断类型号-中断源的编号 q 中断向量中断向量-中断源要求CPU执行一个中断服务程序(子程序)中断服务程序的首地址(起始地址) q 中断向量表中断向量表-存放中断服务程序首地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全新多媒体制作合同范本(2025版)
- 跨国企业雇工合同书
- 配电工程施工合同范本2025年
- 矿粉买卖合同范本2025年
- 汽车以租代购协议(2025版)
- 农副产品的购销简单合同范本(2025版)
- 水箱采购合同范本2025年
- 2025年高级工程师水利工程项目施工质量监管服务协议
- 2025年专业云数据中心托管与虚拟化技术集成服务合同
- 2025年规模化养殖场生物防疫保障与人员招聘管理协议
- 液氯排氯中三氯化氮的测定
- 国际HS编码大类表(HS编码前两位)
- RB/T 040-2020病原微生物实验室生物安全风险管理指南
- GB/T 17031.2-1997纺织品织物在低压下的干热效应第2部分:受干热的织物尺寸变化的测定
- 公安交通集成指挥平台技术架构与建设思路
- 2020学年“快乐活动日”实施方案
- FZ/T 73023-2006抗菌针织品
- QC中化二建减少储罐焊接不合理变形课件
- 旅行社派团单
- DB15T 1700.1-2019“蒙字标”认证通用要求 农业生产加工领域
- 项目投标安全经理答辩
评论
0/150
提交评论