中断延迟

(Interrupt Latency) 中断延迟

是指从硬件中断发生到开始执行中断处理程序第一条指令之间的这段时间。
也就是:
计算机接收到中断信号到操作系统作出响应,并完成换到转入中断服务程序的时间。

不严格地,也可以表述为:
(外部)硬件(设备)发生中断,到系统执行中断服务子程序(ISR)的第一条指令的时间。

另外,如果尽可能严格地考虑问题,那么还要考虑下列情况:

1.中断的详细情况就是:外界硬件发生了中断后,CPU到中断处理器读取中断向量,并且查找中断向量表,
找到对应的中断服务子程序(ISR)的首地址,然后跳转到对应的ISR去做相应处理。
此部分时间,我称其为:识别中断时间

2.在允许中断嵌套的实时操作系统中,中断也是基于优先级的,允许高优先级中断抢断正在处理的低优先级中断,
如ucOS/II,所以,如果当前正在处理更高优先级的中断,即使此时有低优先级的中断,
也系统不会立刻响应,而是等到高优先级的中断处理完之后,才会响应。
而即使在不支持中断嵌套,即中断是没有优先级的,中断是不允许被中断的,所以,如果当前系统正在处理一个中断,
而此时另一个中断到来了,系统也是不会立即响应的,而只是等处理完当前的中断之后,才会处理后来的中断。
此部分时间,我称其为:等待中断打开时间

3.在嵌入式系统中,如ucOS/II,(其他类似系统中也有此情况),
常用开关中断来实现共享区的互斥访问。
如:
//利用μC/OS_Ⅱ 宏调用关中断和开中断
void Function (void)
{
     OS_ENTER_CRITICAL(); //关闭中断
     .
     .  
     .
    OS_EXIT_CRITICAL(); //打开中断
}
所以,会出现这种情况:当前中断来了,但由于之前某个程序访问共享区,
而关闭中断了,导致当前中断得不到处理。而只有等待其访问完成共享区之后,再开中断。
(不过,一般来说,关中断的时间都很短,否则也就不适合用开关中断的方法来实现共享区互斥访问,
而应该用信号量或者其他手段实现。因为关中断时间长短,是衡量一个实时系统性能好坏的一个重要指标)
此部分时间,我称其为:关闭中断时间

4.其他的有待高人补充。

所以,总的中断延迟时间就可以表示为:

中断延迟 = 识别中断时间 + [等待中断打开时间] + [关闭中断时间]

当然,对于2,3两种情况,很多时候,并没有遇到,所以,一般多为中断延迟等于识别中断时间。

注:对于保存所要用到的寄存器内容或称保存现场,保存上下文等,此处也叫 中断前导,
并且做相应中断处理,
在处理完之后,进行恢复,此处也叫中断后续,
这些工作,是在中断处理子程序ISR完成的

(Interrupt Latency) 中断延迟相关推荐

  1. SylixOS中断延迟队列

    概念 内核在处理中断请求时,要求在单位时间内可以处理尽可能多的中断,也就是系统要求处理中断的吞吐率要尽可能地大.这就要求中断处理程序要尽可能地短小精悍,并且不能有耗时操作.但是大多数的中断处理程序是很 ...

  2. MC9S12G128 Timer (定时器溢出中断 延迟函数)

    MC9S12G128 Timer (定时器溢出中断 延迟函数) 溢出中断 延迟函数 寄存器 溢出中断 void TIM_Init(void) {TSCR1_TEN = 1; TSCR1_TFFCA = ...

  3. interrupt()会中断线程的wait等待

    public class Thread5 {public static void main(String[] args) {SubThread subThread = new SubThread(); ...

  4. 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表

    欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 A ASIC(专用集成电路) Application-Specific Integrated C ...

  5. 嵌入式操作系统VxWorks简介

    出处:http://www.embhelp.com/drew/mypage/VxWorks.htm VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RT ...

  6. 嵌入式关键字英文对照

    /*************************************************************************************************** ...

  7. 主流嵌入式操作系统介绍(一)

    主流嵌入式操作系统介绍(一) 2010年08月13日 http://www.edu03.com/2010/0610/863.html 嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能.可靠性.成 ...

  8. 嵌入式开发常用英语单词--你知多少?

    如果说你英语不咋的,那很大可能说明你的IT水平也就那样,看看这些我们经常能碰到的熟悉的朋友(单词)吧,或许,你会想到更多. 嵌入式开发常用英语单词主要分为以下五大部分: 1.C语言和数据结构 2.Li ...

  9. 【001】Cortex-R5体系结构概述

    原文来源 ARM的Cortex-R5技术参考手册,为网页版,也可以下载pdf. 下载地址:https://developer.arm.com/documentation/ddi0460/d/ < ...

最新文章

  1. android TextView里边实现图文混配效果
  2. “让技术做好事”,最特殊的创投在大湾区成立
  3. go使用grpc实现异步_(python、go)基于ETCD的gRPC分布式服务器实现详解
  4. Part5 数据的共享与保护 5.4类的友元5.5共享数据的保护
  5. 调用图片文件夹中的任意图片随机显示_hexo框架下,实现图片一键式上传到七牛云
  6. jupyter not a color scheme terminal
  7. Windows10系统如何开启和关闭隐藏的卓越性能模式
  8. juniper设备配置syslog日志发送到远程日志服务器
  9. html5 webp,在 CRA 中使用 webp 图片提升加载性能
  10. Juicer: 辅助基因组组装
  11. PSNR、SSIM、BD-rate和BD-PSNR
  12. Android程序员必备,offer拿到手软
  13. 【arduino】常用芯片ATMEGA328P-AU 32TQFP资料详解
  14. 西部数据推出10TB容量监控级硬盘
  15. 做一套给三星手机用的导航栏图标(伪装Windows10移动版)
  16. 刷流量和刷点击率的方法探讨
  17. EXTJS教程(2)
  18. 16python学生信息管理系统
  19. CE寻找游戏基址+偏移
  20. 委外加工(Subconctracting)流程

热门文章

  1. 洛谷 P1387 最大正方形
  2. jQuery和dom的相互转换
  3. 消除 activity 启动时白屏、黑屏问题
  4. 用户控件和服务器控件的数据绑定
  5. oracle 10g undo 管理,Oracle 10g undo表空间管理
  6. OpenCV+python:直方图的应用(二)
  7. c语言程序开平方,关于开平方的c程序
  8. tiav15安装重启_西门子博途TIA Portal V15.1安装无限重启和.net3.5SP1错误处理
  9. java timer.schedule如何控制执行次数_Java 分布式任务调度平台:PowerJob 快速开始+配置详解...
  10. android clean 框架,clean架构