(东南大学集成电路课程)中断管理_第1页
(东南大学集成电路课程)中断管理_第2页
(东南大学集成电路课程)中断管理_第3页
(东南大学集成电路课程)中断管理_第4页
(东南大学集成电路课程)中断管理_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东南大学集成电路学院国家ASIC系统工程技术研究中心国家ASIC系统工程技术研究中心主要内容n1. 中断管理n2. 时间管理国家ASIC系统工程技术研究中心1. 中断管理n1.1 中断的缘由n1.2 中断的概念n1.3 中断的分类n1.4 中断的处理n1.5 uC/OS II的中断管理国家ASIC系统工程技术研究中心1.1 中断的缘由n缘起:CPU高速的处理能力与慢速的I/O设备的矛盾n早期CPU采用轮询方式(polling)与I/O设备交互。CPU必须不停的查询I/O设备的状态,直到状态有效才进行通信。 串行处理,只能按照固定顺序逐个查询和依次处理,无法做到并发; 等待状态有效的过程中,CP

2、U不能去做其他复杂耗时的事情,否则会延误处理。n解决方案:允许打断正常执行流程,转而处理其他事务国家ASIC系统工程技术研究中心1.2 中断的概念n定义(广义) (动词)打断正常执行流程,转而处理其他事务的过程 (名词)导致正常执行流程被打断的事件或信号国家ASIC系统工程技术研究中心1.3 中断的分类n根据中断来源划分 外部中断/异步中断 (外部硬件)中断 可屏蔽中断 不可屏蔽中断(non-maskable interrupt, NMI) 内部中断/同步中断 软陷(trap)/软中断(software interrupt, SWI) 异常(exception)/内部硬件中断国家ASIC系统工

3、程技术研究中心外部中断n特征 中断信号由外部硬件产生 可以在任何时间内发生,包括指令执行期间,具有不确定性,是一个异步过程n例如 键盘、鼠标 串口、并口、网口 实时时钟国家ASIC系统工程技术研究中心外部中断的可屏蔽性n当程序的正常执行流程不允许被打断的情况下,需要屏蔽外部中断的干扰,即需要有可屏蔽的中断。 外部设备的中断请求信号一般需要先通过CPU外部的中断控制器,再与CPU的中断引脚相连; 需要通过软件进行中断的识别; 中断控制器可以通过软件进行控制,以禁止或是允许中断。 n有一些中断十分重要(如:掉电),必须立即处理,任何时候都不允许屏蔽,即需要非屏蔽的中断 连接CPU另一个中断引脚,与

4、可屏蔽中断信号区分开; 无需软件识别; 硬件决定,无软件控制。国家ASIC系统工程技术研究中心内部中断n特征 由 CPU 控制单元产生 只能在指令执行完毕后产生,因此是一个同步过程n包括 软陷 异常国家ASIC系统工程技术研究中心软陷n概念:通过处理器的软件指令、可预期地使处理器正在执行的程序的执行流程发生变化,以执行特定的程序。 Intel 80 x86中的INT指令 ARM中的SWI指令 Motorola 68000系列中的Trap指令n特征 需要调用处理器指令,是显式的事件 需要无条件地执行n用途 系统调用国家ASIC系统工程技术研究中心异常n概念:由处理器内部硬件自动产生的信号,使处理

5、器正在执行的程序的执行流程发生变化,执行特定的处理程序。 被0除 执行非法指令 内存保护故障n特征 无需处理器指令 需要无条件执行n用途 故障恢复 内存保护国家ASIC系统工程技术研究中心1.4 中断处理n中断检测n中断响应n中断处理国家ASIC系统工程技术研究中心中断检测n中断检测在每条指令结束时进行,检测是否有中断请求或是否满足异常条件。 为满足中断处理的需要,在指令周期中使用了中断周期。 在中断周期中,处理器检查是否有中断发生,即是否出现中断信号。 没有中断信号:处理器继续运行,并通过取指周期取当前程序的下一条指令; 有中断信号:将进入中断响应,对中断进行处理。 国家ASIC系统工程技术

6、研究中心中断和指令周期 取指令取指令执行指令执行指令检查中断检查中断处理中断处理中断开始开始停止停止取周期取周期执行周期执行周期中断周期中断周期不允许不允许中断中断允许中断允许中断国家ASIC系统工程技术研究中心中断检测n中断的触法方式 边沿触发 电平触发国家ASIC系统工程技术研究中心中断响应n概念:从中断发生到程序开始处理中断的过程n中断响应过程(处理器自动完成) 保护断点(保存寄存器、设置标志位) x86: EFLAGS、CS、EIPStack ARM:PC+4LR、CPSRSPSR 获得中断类型号 采用直接中断方式或向量中断方式转入中断服务程序国家ASIC系统工程技术研究中心直接中断n

7、中断服务程序首址固定,直接根据中断类型号跳转到对应的中断服务程序n特点 可快速识别中断源,但灵活性差 每个中断源拥有独立的中断服务程序,适合中断源较少的系统国家ASIC系统工程技术研究中心向量中断n中断硬件设备的硬件中断线(也称为中断请求IRQ)被中断控制器汇集成中断向量(interrupt vector),每个中断向量对应一个中断服务程序n中断向量表(interrupt vector table):由对应不同中断类型号的中断服务程序首址或第一条指令构成 一般存放在内存地址0 x00000000或是0 xFFFF0000处 X86:256个入口,每个中断向量四个字节(中断服务程序首址)。 AR

8、M 7/9:7个入口,Reset、Undefined Instruction、SWI、Prefetch Abort、Data Abort、Reserved、IRQ、FIQ ARM 11/Cortex:64个入口,VICn中断服务程序首址可由软件设置,需要根据中断类型号查找中断向量表获得对应的中断服务程序首址或第一条指令,然后自动跳转到对应的中断服务程序国家ASIC系统工程技术研究中心中断响应n影响中断响应的主要因素 最长指令执行时间 在一条指令执行完成后,处理其他更紧急的任务所用时间 第一次“关CPU中断”到第一次“开CPU中断”所经历的时间 多个中断源同时请求中断服务时,通过软件找到相关中断

9、源的中断服务程序入口所经历的时间国家ASIC系统工程技术研究中心中断响应n中断延迟:因指令执行或中断屏蔽造成的中断响应的延长。n中断延迟时间和响应时间的计算中断延迟时间 = MAX( 最长指令执行时间,最长关中断时间 )+ 中断服务开始执行的时间 中断响应时间 = 中断延迟时间 + 保存CPU内部寄存器的时间国家ASIC系统工程技术研究中心中断处理n中断服务程序(ISR)n中断嵌套n中断优先级n中断屏蔽n中断重入国家ASIC系统工程技术研究中心中断服务程序n中断服务程序(Interrupt Service Routine) 用于处理(广义)中断的程序代码n主要工作(1)保存上下文:保存中断服务

10、程序将要使用的所有寄存器的内容,以便于在退出中断服务程序之前进行恢复;(2)中断源识别:如果中断向量被多个设备所共享,为了确定产生该中断信号的设备,需要轮询这些设备的中断状态寄存器;(3)获取中断相关的其他信息;(4)中断处理:对中断进行具体的处理;(5)恢复保存的上下文;(6)返回被中断的程序:执行中断返回指令,使CPU的控制返回到被中断的程序继续执行。国家ASIC系统工程技术研究中心中断嵌套n产生条件:对一个中断的处理还没有完成时,又发生了另外一个中断,即系统中发生了多个中断时n处理方法 非嵌套的中断处理方式: 在处理一个中断的时候,禁止再发生中断。 嵌套的中断处理方式: 定义中断优先级,

11、允许高优先级的中断打断低优先级中断的处理过程。 允许屏蔽中断国家ASIC系统工程技术研究中心中断的非嵌套处理程序程序中断服务程序中断服务程序A A中断服务程序中断服务程序B B国家ASIC系统工程技术研究中心中断的嵌套处理程序程序中断服务程序中断服务程序A A高优先级中断服务高优先级中断服务程序程序B B国家ASIC系统工程技术研究中心中断屏蔽n对于可屏蔽中断,通过禁止CPU响应中断请求的方法,改变中断源的中断服务顺序n实现机制 开关中断 屏蔽码:每个中断源对应一个屏蔽位,通过设置屏蔽位控制对中断源的响应 改变中断优先级国家ASIC系统工程技术研究中心用户中断服务程序n中断服务程序通常都对中断

12、进行了屏蔽,以保证其他中断和系统中的任务能够得到及时处理。 中断服务程序通常都只处理一些必要的操作,其他操作则通过任务的方式来进行。 中断服务程序只是进行与外围设备相关的数据的读写操作,并在需要的情况下向外围设备发送确认信息,然后唤醒另外的任务进行进一步的处理。 n用来配合中断服务程序的另外的任务通常被称为DSR(deferred service routine)或IST(interrupt service thread),即用户中断服务程序。国家ASIC系统工程技术研究中心用户中断服务程序n优点 可以使用实时内核提供的应用编程接口 可同系统中的任务进行更多方式的通信 允许更长时间和更复杂的执

13、行n缺点 实时性差一些国家ASIC系统工程技术研究中心中断处理国家ASIC系统工程技术研究中心中断的栈n独立的中断栈n共享任务的栈用户栈用户栈堆堆静态数据静态数据代码代码中断栈中断栈中断向量表中断向量表中断向量表中断向量表用户栈用户栈堆堆静态数据静态数据代码代码中断栈中断栈(A)(A)(B)(B)内存高端内存高端内存低端内存低端国家ASIC系统工程技术研究中心中断重入n具有相同中断服务程序(函数)的中断嵌套发生n可重入条件 保护共享资源 避免寄存器冲突n示例(ARM)国家ASIC系统工程技术研究中心与中断相关的任务管理n如果中断处理导致系统中出现比被中断任务具有更高优先级的就绪任务出现: 需要

14、把高优先级任务放入就绪队列; 把被中断的任务从执行状态转变为就绪状态; 完成用户中断服务程序后,在中断接管程序的中断后续处理中激活重调度程序,使高优先级任务能在中断处理工作完成后得到调度执行。 国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务程序 (1)保存全部CPU寄存器的值; (2)调用OSIntEnter(),或直接把全局变量OSIntNesting(中断嵌套层次)加1; (3)执行用户代码做中断服务; (4)调用OSIntExit(); (5)恢复所有CPU寄存器; (6)执行中断返回指令。国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n

15、关键函数 OSIntEnter(C代码分析) OSIntCtxSw(汇编代码分析) OSIntExit(C代码分析)国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家

16、ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC

17、/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断服务过程国家ASIC系统工程技术研究中心国家ASIC系统工程技术研究中心1.5 uC/OS II的中断管理n中断切换(OSIntCtxSw)与任务切换(OS_TASK_SW)的区别 无需保存寄存器(进入中断时已保存) 需要保证所有被挂起的任务的栈结构一致(调整栈指针)n中断退出(OSIntExit)与任务调度(OSSched)的区别 中断嵌套层数的判断 就绪表检索值的保存 切换方式国家ASIC系统工程技术研究

18、中心2. 时间管理n2.1 时间管理的功能n2.2 时间管理的硬件基础n2.3 uC/OS II的时间管理国家ASIC系统工程技术研究中心2.1 时间管理的功能n任务有限等待的计时 n维持系统时间片轮转调度n软定时器的定时管理n维持日历时间国家ASIC系统工程技术研究中心2.2 时间管理的硬件基础n嵌入式系统中的时钟源 硬件定时器(Timer) 由CPU时钟分频计数产生; 系统时钟(或称OS时钟)的时钟源,其最小粒度由应用和操作系统的特点决定; 实现系统时间片调度、任务超时等待和周期性唤醒等功能的基础。 实时时钟(Real Time Clock,RTC) 由外部晶振分频计数产生; 独立于操作系统,为整个系统提供一个计时标准; 一般靠电池供电,即使系统断电也可以维持计时; 实现日历管理功能的基础。国家ASIC系统工程技术研究中心系统时钟n嵌入式操作系统的周期性工作节拍(tick)n作用 为时间片轮转调度提供时间片 为任务的超时等待提供到时唤醒 为任务的软定时器提供计时判读n时间精度与CPU开销的权衡 一般周期选择1ms10ms国家ASIC系统工程技术研究中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论