这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » [学习笔记]异常与中断

共1条 1/1 1 跳转至

[学习笔记]异常与中断

院士
2024-05-21 01:04:24     打赏
[学习笔记]异常与中断

异常是指任何打断处理器正常执行,迫使处理器进入特权执行模式的事件。

异常可以分为同步异常和异步异常。同步异常是指程序内部与指令执行相关的事件引起的异常如内存偶地址校准异常、除数为零异常等;异步异常是指与程序指令不相关的外部事件产生的异常,如系统复位异常、数据接收中断等。 同步异常可以分为精确异常和不精确异常。精确异常是指处理器的程序计数器可以精确地指出引起异常的指令。而在流水线或指令预取的处理器上则不能精确地判断引起异常的指令或数据,这时的异常称为不精确异常。 异步异常可以分为可屏蔽的异常和不可屏蔽的异常。可以被软件阻塞或开放的异步异常称为可屏蔽的异常;否则,为不可屏蔽异常。不可屏蔽的异常总是被处理器处理,如,硬件复位异常。许多处理器具有一个专门的不可屏蔽中断(Non Mask Able InterruptNMI)请求线,任何连接到NMI请求线的硬件都可以产生不可屏蔽中断。

所有的处理器按照定义的次序处理异常,虽然每一种嵌入式处理器处理异常的过程不尽相同,但一般都会按照优先级次序来处理。从应用程序的观点看,所有的异常都具有比操作系统内核对象更高的优先级,包括任务、队列和信号量等。

中断也称为外部中断,是一个由外部硬件产生的事件引起的异步异常,大多数嵌入式处理器架构中将中断归为异常的一类。实时内核最重要的指标是中断关了多长时间。所有的实时系统在进入临界代码时都要关中断,执行完临界代码之后再开中断。

中断延迟时间是指关中断的最长时间与开始执行中断服务子程序的第一条指令的时间之和。

中断恢复时间是微处理器返回到被中断的程序代码所需要的时间。

从应用的观点来看,异常和外部中断是外部硬件和应用程序通信的一种机制。一般来讲,异常和中断可以在如下两个方面用在设计中:内部错误和特殊条件管理、硬件并发和服务请求管理。

这么多年的工作经验下来,我发现区分异常与中断似乎实际意义也不大。呵呵





关键词: 笔记     中断     异常    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]