全部科目 > 系统架构设计师 >
2024年下半年 上午试卷 综合知识
第 46 题
知识点 异常与中断   指令   中断  
关键词 特权指令   用户态   中断   指令  
章/节 嵌入式系统  
 
 
应用程序在用户态使用特权指令进行系统调用,是()中断
 
  A.  信号中断
 
  B.  溢出中断
 
  C.  访管中断
 
  D.  外部中断




 
 
相关试题     嵌入式系统 

  第12题    2019年下半年  
混成系统是嵌入式实时系统的一种重要的子类。以下关于混成系统的说法中,正确的是   (12)   

  第63题    2024年下半年  
任务P1依次执行40ms计算,60ms l/O任务,40ms计算,任务P2依次执行100ms计算,40ms I0任务,40ms,任务P2晚启动20ms经过优化后,系统执行事件是()ms。

  第11题    2013年下半年  
看门狗(WatchDog)是嵌入式系统中一种常用的保证系统可靠性的技术,(11)会产生看门狗中断。

 
知识点讲解
· 异常与中断
· 指令
· 中断
 
        异常与中断
        异常是指任何打断处理器正常执行,迫使处理器进入特权执行模式的事件。异常可以分为同步异常和异步异常。同步异常是指程序内部与指令执行相关的事件引起的异常,例如,内存偶地址校准异常、除数为零异常等;异步异常是指与程序指令不相关的外部事件产生的异常,例如,系统复位异常、数据接收中断等。
        同步异常可以分为精确异常和不精确异常。精确异常是指处理器的程序计数器可以精确地指出引起异常的指令。而在流水线或指令预取的处理器上则不能精确地判断引起异常的指令或数据,这时的异常称为不精确异常。
        异步异常可以分为可屏蔽的异常和不可屏蔽的异常。可以被软件阻塞或开放的异步异常称为可屏蔽的异常,否则,为不可屏蔽异常。不可屏蔽的异常总是被处理器处理,例如,硬件复位异常。许多处理器具有一个专门的不可屏蔽中断请求线(NMI),任何连接到NMI请求线的硬件都可以产生不可屏蔽中断。
        所有的处理器按照定义的次序处理异常,虽然每一种嵌入式处理器处理异常的过程不尽相同,但一般都会按照优先级次序来处理。从应用程序的观点看,所有的异常都具有比操作系统内核对象更高的优先级,包括任务、队列和信号量等。
        中断也称为外部中断,是一个由外部硬件产生的事件引起的异步异常,大多数嵌入式处理器架构中将中断归为异常的一类。实时内核最重要的指标是中断关了多长时间。所有的实时系统在进入临界代码时都要关中断,执行完临界代码之后再开中断。中断延迟时间是指关中断的最长时间与开始执行中断服务子程序的第一条指令的时间之和,中断恢复时间是微处理器返回到被中断的程序代码所需要的时间。
        从应用的观点来看,异常和外部中断是外部硬件和应用程序通信的一种机制。一般来讲,异常和中断可以在如下两个方面用在设计中:内部错误和特殊条件管理、硬件并发和服务请求管理。
 
        指令
        指令是指挥计算机完成各种操作的基本命令。
        (1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
        (2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
        (3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
 
        中断
        中断是异步发生的,是来自处理器外部的I/O设备的信号的结果。硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的。硬件中断的异常处理程序常常被称为中断处理程序(interrupt handler)。
               硬中断与软中断
               硬中断是由硬件产生的,例如磁盘、网卡、键盘、时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上。
               软中断是一组静态定义的下半部分接口,可以在所有的处理器上同时执行,即使两个类型相同也可以。但是一个软中断不会抢占另外的一个软中断,唯一可以抢占软中断的是硬中断。
               可屏蔽中断与不可屏蔽中断
               可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。
               CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(Non Maskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。IF位可以由用户控制,指令STI或Turbo C的Enable()函数,将IF位置1(开中断),指令CLI或Turbo_c的Disable()函数,将IF位清0(关中断)。
               中断优先级
               当多个中断源同时请求中断时,而CPU一次只能响应其中的一个中断,同时为了能响应所有中断,就引入中断优先级来处理。系统会根据引起中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。中断优先级有两种:查询优先级和执行优先级。
               查询优先级是不可以更改和设置的,在该方式下当多个中断源同时产生中断信号时,中断仲裁器会选择中断源优先处理的顺序,此过程与是否发生中断服务程序的嵌套毫不相干。当CPU查询各个中断标志位的时候,会依照优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高查询优先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。
               由于可屏蔽的中断源很多,故需要对其进行管理,如区分是哪个中断源发出的中断信号?哪个中断源最优先及怎样处理多级中断嵌套等。为此,可使用中断控制器对多个可屏蔽中断源进行管理。
               中断控制器能够对中断进行排队管理,避免中断信号的丢失,同时支持对不同中断进行优先级的配置,使高优先级中断能够中断低优先级中断,满足系统中具有更高时间约束特性功能的需要。
               中断嵌套
               当处理器正在处理一个中断时,有比该中断优先级高的中断源发出中断请求时,如果处理器正在执行中断处理程序,那么处理器会对高优先级的中断进行立即处理,处理完之后再返回到低优先级的中断服务程序继续执行。这样就形成了中断服务程序中套用中断服务程序的情况,即中断嵌套。可嵌套中断的处理流程和中断服务框图如下图所示。
               
               可嵌套中断处理流程



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2026 All Rights Reserved
软考在线版权所有