跳到正文
IGCSE·Tuition
计算机科学 · 课程

用情境解释中断

你能用一句话定义中断,但情境题要你按顺序说明实际发生了什么。

本页内容
  1. 具体发生了什么?一步一步看
  2. 例题详解:计算时有人按键
  3. 要留意的错误
  4. 自我检测
  5. 接下来学什么

**中断(interrupt)**是发给处理器的信号,表示有事情需要关注。处理器暂停当前程序,运行一小段例程来处理该事件,然后从暂停的位置继续。题目会给出按键、打印机故障或停电之类的情境,要你解释会发生什么。

本课接在翻译器的比较之后,并用到硬件与处理中的处理器概念。

具体发生了什么?一步一步看

  1. 来源发出信号:硬件(键盘、打印机、计时器)或软件(需要服务的程序)。
  2. 处理器在每个取指-译码-执行循环中,完成当前指令后检查是否有中断。
  3. 如果有中断在等待,且它的优先级(priority)足够高,处理器就保存状态:程序计数器和寄存器的内容。
  4. 它运行与该信号对应的中断服务例程(ISR)。
  5. 它恢复已保存的状态,从下一条指令继续运行原来的程序。

如果两个中断同时到达,优先级较高的先处理。停电信号的优先级高于按键。

带中断检查的循环可以用伪代码写成:

REPEAT
   FETCH instruction at program counter
   EXECUTE instruction
   IF interrupt signal received AND its priority is high enough THEN
      SAVE program counter and registers
      RUN interrupt service routine
      RESTORE program counter and registers
   ENDIF
UNTIL program ends

例题详解:计算时有人按键

一个程序有四条指令:

I1: A ← 2
I2: B ← A * 3
I3: C ← B + 1
I4: D ← C * 2

用户在 I2 执行时按下一个键。追踪处理器的行为。

步骤动作ABCD
1执行 I12
2执行 I2:B = 2 × 326
3中断检查:有按键在等待,于是保存状态(下一条指令是 I3,A = 2,B = 6)26
4运行 ISR:把按键存入键盘缓冲区26
5恢复状态,从 I3 继续26
6执行 I3:C = 6 + 1267
7执行 I4:D = 7 × 226714

最终 D = 14,与没有中断时相同。

这正是保存和恢复步骤的用意:被中断的程序不会受损。检验:2 × 3 = 6,6 + 1 = 7,7 × 2 = 14。你可以在受限伪代码追踪训练器里追踪类似的循环。

要留意的错误

错误答案:“处理器停止运行程序,直到用户不再按键为止。”

这把中断当成永久停止,也没有提到保存的状态。另一种说法是处理器一直询问键盘有没有按键。那是轮询(polling),而中断的意义在于由设备主动向处理器发信号。

完整的答案要写出信号,说明当前指令先完成,说明状态被保存,写出例程名称,并说明程序随后继续。

自我检测

1. 打印文件时打印机缺纸了。解释这里如何使用中断。

显示答案

打印机向处理器发出中断信号。处理器完成当前指令并保存状态。它运行一段例程,通知用户打印机需要纸张。然后恢复状态,继续运行其他程序。

2. 一个按键和一个停电警告同时到达。先处理哪一个?为什么?

显示答案

停电警告,因为它的优先级更高。处理器可能需要在断电前保存工作。按键可以等待。

3. 说出处理器在运行中断服务例程之前必须保存的一样东西,并说明原因。

显示答案

程序计数器(或寄存器内容)。没有它,处理器返回时就不知道该运行哪条指令,也不知道被中断的程序正在使用什么值。

接下来学什么

接着从应对事件转到计算机上的维护工具,见辨认实用程序的功能。之后的软件与系统练习会把中断和其他各课混合在一起。

把步骤写得有条理,是我们的老师可以在线上一对一计算机科学补习中直接指导的技能。

常见问题

什么是中断(interrupt)?

中断是发给处理器的信号,表示有事情需要立刻关注。它可以来自硬件,如按键或打印机错误,也可以来自软件,如程序请求服务。处理器会暂时中止当前任务,处理该信号,然后继续。

中断一到,处理器会立刻停下吗?

通常它会先完成正在执行的那条指令,再检查是否有中断。这时它会保存当前状态,才知道之后该从哪里继续。许多考试评分标准看重的就是对这一保存步骤的描述。

什么是中断服务例程?

它是处理某一种中断的小程序,例如把按键读入缓冲区。处理器保存状态之后才运行它。例程结束后,已保存的状态被恢复,被中断的程序继续运行。

更新于:

下一步

如果情境题的答案总在步骤之间跳来跳去,一对一的老师可以让你大声讲出顺序,在写到纸上之前先把次序理顺。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 其他费用、时间安排及后续课程,在试听课后由家长与老师直接确认。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

是家长或监护人?在这里咨询

已通过我们的服务帮助 9,000+ 名学生