问题
问答题
阅读以下关于中断的叙述。
[说明]
在某嵌入式系统中,王工设计的计算机模块如图4-1所示。它要求CPU在执行完当前指令后转而对中断请求进行处理。假定:TDC为查询链中每个设备的延迟时间,Ta、Tb、Tc分别为设备A、B、C的中断服务程序所需的执行时间,TS和TR为保存现场和恢复现场所需的时间。
本系统不允许中断嵌套,如果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响应中断的流程比上述流程复杂一些。