- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPU对外围设备进行控制时,如果周期性地查询硬件的工作状态,那么CPU的利用率将会很低。因为绝大多数外围设备并不是一直处于工作状态,它们在大部分的时间内都是处于空闲状态,所以如果这个时候还要占用CPU资源,则是对资源的一种极大的浪费。尤其对于一个嵌入式操作系统,需要具有高实时性的指标。因此,就需要引入一种新的机制——中断来解决这个问题。 5.1.1 中断原理 所谓中断,是指处理事情的一个“过程”,这一过程一般是由计算机内部或外部某种紧急事件引起并向主机发出请求处理的信号,主机在允许的情况下响应请求,暂停正在执行的程序,保存好“断点”处的现场,转去执行中断处理程序,处理完中断服务程序后自动返回到原断点处,继续执行原程序,这一处理过程称为“中断”。比如当定时器计数归零时、有键盘信号输入时、有异步事件发生时等,CPU都需要暂停当前的工作,转去执行相应的事件处理子程序,待执行完毕后再回到断点处,继续执行原来的程序,这就形成了一次中断过程。 凡是能引起中断的外部设备或内部原因,都称为中断源。通常中断源包括:输入/输出设备、实时控制过程中的各种参数、故障源以及软件中断等。 由于中断请求是随机发生的,因此CPU在响应中断时需要从多个外设中识别出提出中断请求的设备。只有正确识别了中断源,CPU才能找到相应的中断服务程序入口地址,转入中断服务程序并为之服务。识别中断源有两种方法:查询法和矢量法。 1. 查询法 查询法是一种软件程序查询的方式,它需要必要的硬件支持。基本流程是:当CPU收到中断请求信号时,通过执行一段查询指令对外设进行逐个询问,直至找到发出中断请求的设备。查询法流程如图5.1所示。 查询法的优点是硬件简单,程序层次分明,查询的顺序就决定了设备的优先级,而且只要改变程序中的查询顺序即可改变中断源的优先级,而不必改变硬件连接。其缺点是由于要对外设进行逐个询问因此造成运行速度慢,实时性差,CPU的使用效率低。 图5.1 查询法流程图 2. 矢量法 矢量法是一种硬件查询方法。当CPU响应某个外设的中断请求时,它会要求外设提供中断类型号,CPU根据该中断类型号自动指向相应的中断服务程序的入口地址,转入中断服务程序进行处理。矢量法主要通过硬件实现,其优点在于识别中断源时不需占用CPU的额外时间,在中断响应周期即可完成。 5.1.2 中断的分类 Intel 80x86可以处理256种类型的中断源,按照中断源与CPU的相对位置关系可以将中断分为内部中断和外部中断。 1. 内部中断 内部中断也称软中断,是由于微处理器内部执行程序时检测到异常或执行软中断指令时所引起的程序中断,与外部中断电路无关。内部中断可以分为除法错中断、单步中断、指令中断和溢出中断四类。 (1) 除法错中断(0型中断):在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,将产生一个向量为0的内部中断。 如: MOV BL, 0 DIV BL ;BL=0,产生除法错中断 又如: MOV AX, 200H MOV BL, 1 DIV BL ;商为200H,不能用AL表示,产生除法错中断 (2) 单步中断(1型中断):若单步标志TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,使程序单步执行。单步中断常用于实现对程序的单步调试。 (3) 指令中断:在指令INT n时产生的一个中断向量号为n(0~255)的内部中断。其中向量号为3的指令常用于程序调试中设置断点,调试器可以用该断点查看随程序执行而动态变化的事件情况。 (4) 溢出中断(4型中断):在执行溢出中断指令INT O时,若溢出标志位OF为1,则产生一个向量号为4的中断。一般在算术指令后安排一条INT O指令,以便于处理溢出错误。 如: MOV AX,3000H ADD AX,6000H INT O ;3000H+6000H=9000H,溢出,OF=1,产生溢出中断 内部中断有以下特点: ? 中断向量号是由CPU自动提供的,不需要在执行中断响应总线周期时去读取向量号。 ? 除单步中断外,所有的内部中断都无法屏蔽,即都不能通过执行CLI指令使内部中断允许标志位IF清零来屏蔽对它们的响应。 ? 除单步中断外,任何内部中断的优先权都比外部中断高。 2. 外部中断 外部中断也称硬件中断,是由微处理器外部设备引起的中断。外部中断是外设随机产生的,它发生中断的时间通常是不确定的,可能在程序执行的任何位置发生,因此外部中断是真正意义上的中断。而内部中断是由程序执行引起的异常指
您可能关注的文档
- (ARM Linux嵌入式系统开发基础)第1章嵌入式系统开发基础.ppt
- (ARM Linux嵌入式系统开发基础)第2章嵌入式微处理器及ARM9硬件.ppt
- (ARM Linux嵌入式系统开发基础)第3章LinuxC编译调试基础.ppt
- (ARM Linux嵌入式系统开发基础)第4章LinuxC编程基础.ppt
- (ARM Linux嵌入式系统开发基础)第5章Bootloader开发基础.ppt
- (ARM Linux嵌入式系统开发基础)第6章嵌入式Linux内核.ppt
- (ARM Linux嵌入式系统开发基础)第7章嵌入式文件系统.ppt
- (ARM Linux嵌入式系统开发基础)第8章ARM-Linux串行接口通.ppt
- (ARM嵌入式系统基础及应用)第1章嵌入式系统概述.ppt
- (ARM嵌入式系统基础及应用)第2章ARM体系结构.ppt
- (ARM嵌入式系统基础及应用)第8章WindowsCE驱动程序开发.ppt
- (ARM嵌入式系统基础及应用)第9章基于NiosII嵌入式SOPC设计.ppt
- (ARM嵌入式系统基础及应用)第10章嵌入式系统项目开发方法.ppt
- (AutoCAD2010中文版学习与实训)项目二十八绘制基本三维实体.ppt
- (AutoCAD2010中文版学习与实训)项目二十二块操作.ppt
- (AutoCAD2010中文版学习与实训)项目二十九三维编辑与布尔操作.ppt
- (AutoCAD2010中文版学习与实训)项目二十六三维绘图环境设置.ppt
- (AutoCAD2010中文版学习与实训)项目二十面域与图形信息查询.ppt
- (AutoCAD2010中文版学习与实训)项目二十三绘图单位与图纸比例.ppt
- (AutoCAD2010中文版学习与实训)项目二十四同一幅图中绘制不同比例图形的技巧.ppt
最近下载
- 重点语法知识梳理三:形容词及100题-2021-2022学年六年级英语上学期期末知识大串讲(牛津上海版).pdf VIP
- 数字温湿度传感器DHT11说明书.doc VIP
- 猫瘟(猫泛白细胞减少症).ppt VIP
- 2025年《证券市场基本法律法规》高频考点班.pdf VIP
- Sharp数据表紧凑型光学灰尘传感器.pdf VIP
- 重点语法知识梳理五:感叹句及100题(教师版)-2021-2022学年八年级英语上学期期末知识大串讲(牛津上海版).pdf VIP
- 初一数学导学案.doc VIP
- 2022-2023学年八年级英语下学期期末考点大串讲(牛津上海版)重点语法知识梳理一:现在完成时及拓展专练50题(解析版).pdf VIP
- 2022-2023学年八年级英语下学期期末考点大串讲(牛津上海版)重点语法知识梳理二:宾语从句及拓展专练50题(解析版).pdf VIP
- 国家开放大学电大本科《数据库应用技术》2029-2030期末试题及答案(125精品.pdf VIP
文档评论(0)