南航嵌入式实时操作系统第7章中断和时间管理.ppt

南航嵌入式实时操作系统第7章中断和时间管理.ppt

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 中断和时间管理 7.1 中断管理 中断的分类 中断处理的过程 实时内核的中断管理 用户中断服务程序 中断时序* 7.1.1 概述 从发展过程来看: 中断(interrupt)最初被用来替换I/O操作的轮询处理方式,以提高I/O处理的效率。 随后,中断又包含了自陷(trap,也称为内部中断或是软件中断)的功能。 后来,中断的概念得到进一步扩大,被定义为导致程序正常执行流程发生改变的事件(不包括程序的分支情况)。可把概念被扩大的中断称为广义中断。 概述 在实际应用中,广义的中断通常被分为中断、自陷和异常(exception)等类别。 中断是由于CPU外部的原因而改变程序执行流程的过程,属于异步事件,又称为硬件中断。自陷和异常则为同步事件; 自陷表示通过处理器所拥有的软件指令、可预期地使处理器正在执行的程序的执行流程发生变化,以执行特定的程序。自陷是显式的事件,需要无条件地执行; Motorola 68000系列中的Trap指令 ARM中的SWI指令 Intel 80x86中的INT指令?? 概述 异常为CPU自动产生的自陷,以处理异常事件。 如被0除、执行非法指令和内存保护故障等。 异常没有对应的处理器指令,当异常事件发生时,处理器也需要无条件地挂起当前运行的程序,执行特定的处理程序。 概述 对实时系统,中断必不可少 实时内核大都提供了管理中断的机制 方便开发中断处理程序,提高中断处理的可靠性 使中断处理程序与任务有机结合 7.1.2 中断的分类 分类方式 硬件中断是否可以被屏蔽: 可屏蔽中断和不可屏蔽中断 中断源: 硬件中断和软件中断 中断信号的产生: 边缘触发中断和电平触发中断 中断服务程序的调用方式: 向量中断、直接中断和间接中断 可屏蔽中断和不可屏蔽中断 由于中断的发生是异步的,程序的正常执行流程随时有可能被中断服务程序打断。如果程序正在进行某些重要运算,中断服务程序的插入将有可能改变某些寄存器的数据,造成程序的运行发生错误。 可屏蔽中断:能够被屏蔽掉的中断。 外部设备的中断请求信号一般需要先通过CPU外部的中断控制器,再与CPU相应的引脚相连。 可编程中断控制器可以通过软件进行控制,以禁止或是允许中断。 不可屏蔽中断:在任何时候都不可屏蔽的。 一个比较典型的例子是掉电中断,当发生掉电时,无论程序正在进行什么样的运算,它都肯定无法正常运行下去。这种情况下,急需进行的是一些掉电保护的操作。对这类中断,应随时进行响应。 硬件中断和软件中断 硬件中断:由于CPU外部的设备所产生的中断。 异步事件:可能在程序执行的任何位置发生,发生中断的时间通常是不确定的。 软件中断:同步中断或是自陷,通过处理器的软件指令来实现。 产生中断的时机是预知的,可根据需要在程序中进行设定。 软件中断的处理程序以同步的方式进行执行。 其处理方式同硬件中断处理程序类似。 硬件中断和软件中断 软件中断是一种非常重要的机制: 系统可通过该机制在用户模式执行特权模式下的操作。 是软件调试的一个重要手段,如Intel 80x86中的INT 3,设置断点,调试器可以用它来形成观察点,并查看随程序执行而动态变化的事件情况。 边缘触发中断和电平触发中断 边缘触发中断:中断线从低变到高或是从高变到低时,中断信号就被发送出去,并只有在下一次的从低变到高或是从高变到低时才会再度触发中断。 事件发生的时间非常短,有可能出现中断控制器丢失中断的情况。 如果多个设备连接到同一个中断线,即使只有一个设备产生了中断信号,也必须调用中断线对应的所有中断服务程序来进行匹配,否则会出现中断的软件丢失情况。 边缘触发中断和电平触发中断 电平触发中断:在硬件中断线的电平发生变化时产生中断信号,并且中断信号的有效性将持续保持下去,直到中断信号被清除。 能够降低中断信号传送丢失的情况 能通过更有效的方式来服务中断,每个为该中断服务后的ISR都要向外围设备进行确认,然后取消该设备对中断线的操作。 当中断线的最后一个设备得到中断服务后,中断线的电平就会发生变化,不用对连接到同一个硬件中断线的所有中断服务程序进行尝试。 向量中断、直接中断和间接中断 向量中断:通过中断向量来调用中断服务程序。 直接中断:中断对应的中断服务程序的入口地址是一个固定值,当中断发生的时候,程序执行流程将直接跳转到中断服务程序的入口地址,执行中断服务程序。 间接中断:中断服务程序的入口地址由寄存器提供。 向量中断 中断硬件设备的硬件中断线(也称为中断请求IRQ)被中断控制器汇集成中断向量(interrupt vector); 每个中断向量对应一个中断服务程序(inter

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档