第二大题
中断,非常简单。
好的,根据您的描述,这是一个非常经典和有代表性的计算机组成原理中断系统考题。它主要考察的是对中断优先级、中断嵌套和中断屏蔽技术的综合理解。
我为您复现并解析这道模拟考题。
一、模拟考题复现
题目描述:
某计算机系统CPU可响应4个中断源 I₁, I₂, I₃, I₄。硬件排队线路决定的中断优先级(抢占优先级)从高到低依次为 I₁ > I₂ > I₃ > I₄。系统中设有中断屏蔽寄存器,可通过编程设置屏蔽字来改变中断处理的优先级。
某时刻 t₀,4个中断源同时发出中断请求
中断嵌套指的是,当CPU正在执行一个中断源的中断服务程序(ISR)期间,又响应了一个优先级更高的中断请求,从而暂停当前正在执行的中断服务程序,转而去执行那个优先级更高的中断服务程序。当更高优先级的中断处理完毕后,再返回到被暂停的中断服务程序继续执行。这种中断服务程序“层层相套”的执行方式就称为中断嵌套。
简单来说,就是 高优先级中断打断低优先级中断的处理过程。
问题:
- 为了使中断嵌套的层次最少,中断服务程序中的中断屏蔽字应如何设置?在表格中填出。为什么这么设置?。
 
- 在第(2)问的设置下,从 
t₀ 时刻开始处理这4个中断,最少的嵌套次数为多少次? 
- 中断服务程序中,设置中断屏蔽字的操作通常应在何时进行?
 
- 现在将中断处理优先级设定为1>4>3>2,画出1 2 3 4在最开始同时发起请求,硬件优先级为1>2>3>4的中断处理时序图。
 
二、问题解析
1. 如何设置屏蔽字使嵌套最少?并解释原因。
让优先级1>2>3>4即可,知道屏蔽字表格的含义就能做,
好的,这是一个标准的4x4中断屏蔽字表格,用于表示 I₁ > I₂ > I₃ > I₄ 的中断优先级和嵌套规则。
中断屏蔽字设置表 (实现完全嵌套)
| 正在执行的ISR | 屏蔽位 I₁ | 屏蔽位 I₂ | 屏蔽位 I₃ | 屏蔽位 I₄ |
| ISR₁ | 1 | 1 | 1 | 1 |
| ISR₂ | 0 | 1 | 1 | 1 |
| ISR₃ | 0 | 0 | 1 | 1 |
| ISR₄ | 0 | 0 | 0 | 1 |
3. 在上述设置下,最少的嵌套次数为多少次?
答案:
最少的嵌套次数为 0次。
分析过程:
根据题目,t₀ 时刻 I₁, I₂, I₃, I₄ 同时请求中断。
- 响应I₁:CPU在 
t₀ 时刻检查到所有请求。根据硬件优先级 I₁ > I₂ > I₃ > I₄,CPU首先响应 I₁。 
- 执行ISR₁:CPU进入 
I₁ 的中断服务程序 ISR₁。根据我们在第(2)问中的设置,ISR₁ 开始执行时,会立即设置屏蔽字屏蔽掉所有其他中断。因此,即使 I₂, I₃, I₄ 的请求信号仍然有效,CPU也不会响应它们。ISR₁ 会完整地执行直到结束。 
- 响应I₂:当 
ISR₁ 执行完毕返回后,CPU会再次检查中断请求。此时 I₂, I₃, I₄ 的请求依然存在。根据硬件优先级,CPU响应 I₂。 
- 执行ISR₂:CPU进入 
ISR₂,同样地,它会屏蔽所有其他中断,ISR₂ 会完整执行不被打断。 
- 依此类推:CPU会顺序执行完 
ISR₃ 和 ISR₄。 
整个处理流程是 串行 的:ISR₁ -> ISR₂ -> ISR₃ -> ISR₄。后一个中断总是在前一个中断服务程序完全结束后才得到响应和处理。没有发生任何一个ISR打断另一个ISR的情况,因此嵌套次数为0。
3. 设置中断屏蔽字的操作应在何时进行才能让中断嵌套最少?
答案:
在1、2、3、4发起中断请求之前。
4.画图
自己画,简单的很。