问答题 阅读以下关于中断的叙述。
[说明]
在某嵌入式系统中,王工设计的计算机模块如图4-1所示。它要求CPU在执行完当前指令后转而对中断请求进行处理。假定:TDC为查询链中每个设备的延迟时间,Ta、Tb、Tc分别为设备A、B、C的中断服务程序所需的执行时间,TS和TR为保存现场和恢复现场所需的时间。
问答题 一般计算机系统根据对中断处理的策略不同,可分为单级中断系统和多级中断系统。本项目中王工设计的系统属于哪一类中断系统?请将设备A、设备B、设备C三个设备的中断优先级按照从高到低的次序排列。
【正确答案】(1)单级、或单级中断系统
(2)设备C,设备B,设备A。
【答案解析】[解析] 本题考查中断处理相关知识的应用。
根据计算机系统对中断处理的策略不同。可分为单级中断系统和多级中断系统。
单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发排成一行。其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务子程序。即使优先权比它高的中断源也不能再打断。只有该中断服务程序执行完毕之后,才能响应其他中断。
多级中断系统是指计算机系统中有相当多的中断源,根据各中断条件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。一般说来,优先级高的中断级可以打断优先权低的中断服务程序,以程序嵌套方式进行工作。根据系统的配置不同,多级中断可分为一维多级中断和二维多级中断。
本项目中王工设计的系统属于单级中断系统,设备A、设备B、设备C的中断优先级按照从高到低的次序排列为设备C>设备B>设备A。
问答题 本系统不允许中断嵌套,如果CPU响应中断,则中断处理过程按照如下流程执行,将(1)~(5)的内容填入答题纸上相应的位置。
中断处理过程流程:
a. CPU检查响应中断的条件是否满足;
b.如果CPU响应中断,则 (1)
c. (2)
d.分析中断原因;
e. (3)
f.退出中断, (4)
g. (5) ,CPU继续执行。
【正确答案】(1)CPU关中断
(2)保存中断现场
(3)执行中断处理程序
(4)恢复现场
(5)开中断
【答案解析】[解析] 如果系统设计时不允许中断嵌套,当系统产生中断后,CPU响应中断的流程如下:
a) CPU检查响应中断的条件是否满足;
b)如果CPU响应中断,则CPU先先中断;
c)保存中断现场,为了使中断处理程序不影响主程序的运行,要把发生中断时的任务上下文现场保存起来,当中断处理完成返回主程序时,CPU能够恢复主程序在中断前的状态,保证主程序的正确运行。
a)分析中断原因,根据中断向量得到中断处理程序入口地址;
b)执行中断处理程序;
c)退出中断,恢复现场;
d)开中断,CPU继续执行。
如果系统设计时允许中断嵌套,那么CPU响应中断的流程比上述流程复杂一些。
问答题 当设备A、设备B、设备C同时发出中断请求时,请计算出处理器处理设备A、B、C的时间TA、TB和TC。如果处理三个设备所需要的总时间为T,那么本系统所设计的中断极限频率f是多少?
【正确答案】(1)TA=3TDC+TS+Ta+TR
(2)TB=2TDC+TS+Tb+TR
(3)TC=TDC+TS+Tc+TR
(4)f=1/T
【答案解析】[解析] 当设备A、设备B、设备C同时发出中断请求时,处理器按照优先级依次处理每个设备的中断请求。中断查询链中每个设备的延迟时间为TDC,设备A经过3个延迟,设备B经过2个延迟,设备C经过1个延迟,加上保存现场和恢复现场的时间,以及每个设备的中断服务程序时间,所以三个设备的中断处理时间分别为:
TA=3TDC+TS+Ta+TR
TB=2TDC+TS+Tb+TR
TC=TDC+TS+Tc+TR
如果处理三个设备所需要的总时间为T,那么本系统所设计的中断极限频率f=1/T。
问答题 嵌入式系统中多用I/O设备管理软件来管理外设。I/O设备管理软件一般分为4层,层次关系和每一层的主要功能说明如图4-2所示。请给出4层软件的名称,将(1)~(4)的内容填入答题纸上相应的位置。
[*]
【正确答案】(1)用户进程或应用程序
(2)设备无关的系统软件或设备管理程序
(3)设备驱动程序
(4)中断处理程序
【答案解析】[解析] 嵌入式系统中多用I/O设备管理软件来管理外设。为了实现对硬件的抽象,提供统一的API接口,I/O设备管理软件一般分层设计。
硬件之上为中断处理程序,负责处理与设备相关的各种异步事件,如发送完成、接收完成、总线错误等;上面一层为设备相关的驱动程序,负责设置硬件设备的寄存器,包括初始化、启动、关闭硬件设备,以及进行状态检查等工作;再上一层为设备无关的系统软件,即设备管理程序,实现对设备进行命名、保护、阻塞、缓存、分配等功能;最上面一层是应用程序,进行10调用。