中断等待和异常处理优化
来源:互联网 发布:法国小哥知乎 编辑:程序博客网 时间:2024/05/21 06:00
<1>中断等待
中断等待表示从中断请求开始到中断处理开始执行间的时间。
对于Cortex-M处理器,若中断时零等待的,而且系统设计允许取向量和压栈同时执行,则中断等待为12个周期,其中包括寄存器压栈、取向量以及取中断处理指令(这是最理想的情况)。
<2>多周期指令执行期间产生中断
若在处理器执行多周期指令(如整数除法)时产生中断请求,该指令可能会被丢弃且在中断处理结束后重新执行。这种设计还适用于加载双字(LDRD)和存储双字(STRD)指令。
<3>末尾连锁
若某个异常A产生时处理器正在处理另一个具有相同或者更高优先级的异常B,A异常就会进入挂起状态。在处理器执行完B异常处理后,它可以继续执行A异常。处理器不会重新出栈和压栈,而是跳过该过程并尽快执行A异常。这样,两个异常处理间隔时间就会降低很多。对于无等待状态的存储器系统,末尾连锁的中断等待时间仅为6个时钟周期。
<4>延迟到达
<5>出栈抢占
<6>惰性压栈
阅读全文
0 0
- 中断等待和异常处理优化
- 中断和异常的处理
- 中断和异常的处理
- 异常处理和异常的代码优化
- s3c2410 中断异常处理
- s3c2410 中断异常处理
- s3c2410 中断异常处理
- s3c2410 中断异常处理
- s3c2410 中断异常处理
- ARM 异常中断处理
- s3c24x0 中断异常处理
- 异常中断处理
- 中断与异常处理
- 异常与中断处理
- Xen处理中断、异常
- s3c2410 中断异常处理
- 中断机制和中断描述符表、中断和异常的处理
- 中断机制和中断描述符表、中断和异常的处理
- Redis实战之文本检索
- 面试算法:lg(k)时间查找两个排序数组合并后第k小的元素
- 反转整数-LintCode
- Android Studio 获取网络JSON数据并处理
- 递归找到根
- 中断等待和异常处理优化
- Unity3D Update() 和 FixedUpdate()区别
- Python学习笔记:二
- 让VS2010调试器帮你格式化显示自定义数据
- git 删除分支
- maven与springMVC之HttpMessageConverter解析json
- 微信小程序之----video视频播放
- UnsatisfiedLinkError错误的原因以及解决方案
- #笔记1