云计算百科
云计算领域专业知识百科平台

408真题解析-2010-21-计组&操作系统-中断执行顺序

一 真题2010-21

2010-21. 在中断系统中,中断服务程序内的执行顺序是( )。

I. 保护现场 II. 开中断 III. 关中断 IV. 保存断点 V. 中断返回 VI. 中断处理 VII. 恢复现场

A. I→V→VI→VII B. III→I→V→VI→VII C. III→IV→I→VI→VII→II→V D. III→IV→I→VI→VII→V

二 题目要素解析

要素内容
考查科目 计算机组成原理(为主) + 操作系统
核心知识点 中断响应流程中“硬件自动操作”与“中断服务程序(ISR)内部操作”的边界划分
关键限定词 “中断服务程序内” → 仅指由软件编写的 ISR 代码所执行的步骤
易混淆点 “保存断点”和“关中断”通常由硬件在进入 ISR 前自动完成,不属于 ISR 内部操作“中断返回”指令(如 IRET)虽在 ISR 最后执行,但其本质是特殊指令,仍属 ISR 内容
命题意图 考查考生是否清楚:ISR 从“保护现场”开始,到“中断返回”结束

三 哔哔详解

🔍 首先明确:什么是“中断服务程序(ISR)”?

  • ISR 是一段由程序员或操作系统编写的子程序(函数)
  • 它的入口地址存放在中断向量表中
  • CPU 响应中断后,跳转到 ISR 入口开始执行其第一条指令

⚙️ 中断全过程分两阶段:

✅ 阶段 1:中断响应(硬件自动完成,在 ISR 执行前)
  • III. 关中断:CPU 硬件自动置 IF=0(防止嵌套)

  • IV. 保存断点:硬件将 PC(下条指令地址)压入堆栈

    ❗ 这两项 不属于 ISR 内部操作!它们发生在跳转到 ISR 之前。

✅ 阶段 2:中断服务程序执行(软件,即“ISR 内”)

从 ISR 第一条指令开始,顺序为:

  • I. 保护现场:push 所有被使用的寄存器
  • VI. 中断处理:具体服务逻辑(如读设备状态)
  • VII. 恢复现场:pop 寄存器
  • II. 开中断(可选但推荐):允许高优先级中断嵌套
  • V. 中断返回:执行 IRET 指令(弹出断点到 PC,恢复标志)
  • 💡 因此,严格意义上的 ISR 内顺序应为: I → VI → VII → (II) → V

    四 参考答案

    A ✅

    五 考点精析

    5.1 中断介绍

    5.1.1 什么是中断?

    中断(Interrupt) 是指 CPU 在执行当前程序时,外部或内部事件请求 CPU 暂停现行程序,转去处理该事件,处理完毕后再返回原程序继续执行的过程。

    5.1.2 中断源分类

    类型来源举例
    外部中断 CPU 外部设备 键盘输入、定时器到期、I/O 完成
    内部中断(异常) CPU 内部 除零错误、缺页、非法指令、系统调用(trap)

    5.2 中断响应过程

    5.2.1 核心概念

    5.2.1.1 定义

    中断响应是指CPU 在接收到有效的中断请求后,暂停当前正在执行的程序,由硬件自动完成一系列准备工作,为转去执行中断服务程序奠定基础的过程。

    它是连接中断请求和中断服务程序执行的关键环节,整个过程由 CPU 硬件逻辑自动完成,无需程序员干预,也无对应的指令实现。

    5.2.1.2 核心前提

    CPU 能响应中断,需同时满足三个必要条件(408 选择题高频考点):

  • CPU开中断(程序状态字寄存器 PSW 中的中断允许位为 1,若关中断则直接屏蔽所有中断请求);
  • 外设 / 中断源发出有效的中断请求(中断请求信号保持稳定,且中断源未被屏蔽);
  • CPU 执行完当前正在执行的指令(中断响应具有指令级原子性,不会在指令执行过程中响应中断,保证指令执行的完整性)。
  • 5.2.1.3 与中断服务程序的核心区分
    对比维度中断响应过程中断服务程序(ISR)
    执行主体 硬件(CPU 内部逻辑自动完成) 软件(由 CPU 执行程序员编写的中断服务子程序)
    核心目的 为跳转并执行中断服务程序做硬件准备 处理具体的中断请求(如 I/O 数据读取、异常处理等)
    执行内容 关中断、保存断点(PC)、识别中断源、跳转至 ISR 入口 保护现场、开中断(可选)、中断处理、恢复现场、开中断、执行中断返回指令(如 IRET)
    可控性 对程序员完全透明,不可修改 程序员可编写、修改其逻辑
    执行时长 极短(固定硬件操作,通常几个时钟周期) 较长(取决于具体处理任务,从微秒到毫秒级)

    5.2.2 中断响应过程的本质性质

    硬件自动执行性:核心性质,整个过程由 CPU 内部的中断响应逻辑完成,无任何汇编 / 机器指令参与,程序员无法干预或修改步骤。

    指令级原子性:CPU 仅在当前指令执行完毕后才会检测中断请求,绝不会在指令执行过程中响应中断,避免指令执行被拆分破坏。

    不可屏蔽性:一旦满足中断响应条件,CPU 必须完成中断响应的全部硬件步骤,此过程无法被其他中断或指令打断。

    准备性:中断响应并非处理中断,而是为中断处理做铺垫,核心是保存程序返回的关键信息、定位中断源,实现 “从当前程序到中断服务程序的跳转”。

    通用性:无论何种中断源(I/O 中断、故障中断、时钟中断),中断响应的硬件步骤均固定,与具体中断处理逻辑无关。


    5.2.3 中断响应过程的标准执行步骤

    ⚠️ 关键区分:

    • 中断响应(Response):从检测到中断到跳转至 ISR 入口 → 硬件自动完成
    • 中断处理(Service):执行 ISR 代码 → 软件完成

    中断响应的步骤为CPU 硬件固定逻辑,不同教材表述略有差异,但核心步骤一致,按执行顺序排列为6 个核心步骤,也是 408 考点的核心记忆点:

    步骤 1:关中断

    CPU 硬件自动将程序状态字寄存器(PSW)中的中断允许位清 0,屏蔽新的中断请求。

    目的:防止中断响应过程被其他中断请求打断,保证硬件准备工作的完整性。

    步骤 2:保存断点

    CPU 硬件自动将 ** 当前程序的下一条指令地址(即程序计数器 PC 的当前值)** 压入系统堆栈。

    核心说明:
    • 断点是 CPU 执行完中断服务程序后,返回原程序的唯一地址标识;
    • 保存的是 “下一条指令地址”,而非当前执行的指令地址(因当前指令已执行完毕);
    • 保存操作由硬件完成,堆栈的入栈地址由 CPU 自动维护。
    步骤 3:保存程序状态字(PSW)

    CPU 硬件自动将当前程序的 PSW 值(包含中断允许位、标志位、工作模式等)压入堆栈,与断点地址相邻保存。

    目的:恢复原程序时,需还原其运行的状态标志,保证原程序继续执行的正确性。

    步骤 4:识别中断源,获取中断服务程序入口地址

    CPU 通过中断识别逻辑确定发出中断请求的中断源,再通过中断向量表 / 中断查询表获取该中断源对应的中断服务程序入口地址。

    两种核心识别方式(408 选择题高频):
  • 向量中断:中断源直接提供中断向量号,CPU 通过向量号查找中断向量表,快速获取入口地址(主流方式,如 x86 架构);
  • 查询中断:CPU 通过硬件查询电路依次查询各中断源,确定有效请求的中断源,再获取入口地址(早期架构)。
  • 步骤 5:将中断服务程序入口地址送入 PC

    CPU 硬件自动将步骤 4 获取的入口地址写入程序计数器 PC,完成程序执行流程的跳转。

    核心作用:CPU 下一个时钟周期将根据新的 PC 值,取中断服务程序的第一条指令,正式进入中断服务程序执行阶段。

    步骤 6:转入中断服务程序执行

    CPU 按新的 PC 值开始取指、译码、执行,进入由软件实现的中断服务程序阶段(保护现场、中断处理等)。

    补充:部分教材将 “保存 PSW” 合并到 “保护现场” 中,或省略 “转入中断服务程序”,但关中断、保存断点、获取并装入入口地址是中断响应的三大核心必选步骤,408 考试中需重点记忆。

    简化记忆口诀(适配 408 考场)

    关中断 → 存断点 → 存 PSW → 识源址 → 装 PC → 转服务

    完整步骤(此处包含中断嵌套)
    步骤操作执行主体是否属于“中断服务程序内”
    1 关中断 (置 IF=0) 硬件 ❌ 否
    2 保存断点 (将 PC 压栈) 硬件 ❌ 否
    3 识别中断源 (查中断向量表) 硬件/中断控制器 ❌ 否
    4 跳转至 ISR 入口 硬件 ❌ 否
    5 保护现场 (push 寄存器) 软件(ISR 第一条指令) ✅ 是
    6 开中断 (允许高优先级中断嵌套) 软件(可选但推荐) ✅ 是
    7 中断处理 (具体服务逻辑) 软件 ✅ 是
    8 关中断 (防止恢复现场时被打断) 软件(部分系统需要) ✅ 是
    9 恢复现场 (pop 寄存器) 软件 ✅ 是
    10 开中断 软件 ✅ 是
    11 中断返回 (执行 IRET,弹出 PC 并恢复 FLAGS) 软件 + 硬件 ✅ 是

    5.2.4 中断响应过程与中断服务程序的流程衔接

    完整的中断处理流程为:中断请求 → 中断响应(硬件) → 中断服务程序(软件) → 中断返回,二者的衔接关系为:

    中断响应(硬件):关中断→保存断点→保存PSW→获取入口地址→PC装入入口地址
    ↓ (硬件跳转)
    中断服务程序(软件):保护现场→中断处理→恢复现场→开中断→中断返回
    ↓ (软件返回)
    原程序继续执行(恢复断点+PSW,PC还原为原断点地址)

    5.3 常见命题

    5.3.1 中断响应的前提条件(选择题必考)

    命题形式:判断 CPU 能响应中断的条件,或判断某一条件不满足时是否能响应中断。

    必背结论:三个条件同时满足(CPU 开中断、有效中断请求、当前指令执行完毕),缺一不可。

    典型陷阱:

    • 错误表述:“CPU 接收到中断请求后,立即响应中断”(忽略 CPU 关中断、当前指令未执行完的情况);
    • 错误表述:“指令执行过程中,CPU 可响应高优先级中断”(违背指令级原子性)。

    5.3.2 中断响应的硬件特性(概念辨析题核心)

    命题形式:判断关于中断响应的表述是否正确,区分硬件操作与软件操作。

    必背结论:

  • 中断响应由硬件自动完成,对程序员透明,无对应的指令;

  • 中断响应过程不可被打断,关中断是其第一步;

  • 保存断点是硬件操作,保护现场是软件操作(中断服务程序步骤),二者不可混淆。

    典型陷阱:

    • 错误表述:“保存断点是中断服务程序的步骤,由软件实现”;
    • 错误表述:“程序员可通过指令修改中断响应的步骤”。

    5.3.3 中断响应的核心步骤与顺序(顺序题 / 选择题)

    命题形式:考查中断响应步骤的执行顺序,或判断某一步骤是否属于中断响应。

    必背结论:

  • 核心步骤顺序:关中断→保存断点→识别中断源→装入入口地址;

  • 属于中断响应的步骤:关中断、保存断点、保存 PSW、获取 / 装入入口地址;

  • 不属于中断响应的步骤:保护现场、中断处理、恢复现场、开中断、中断返回(均为中断服务程序软件步骤)。

    关联真题:2010-21 题中,中断服务程序的起始步骤包含关中断、保存断点,本质是部分教材将中断响应的硬件步骤纳入中断服务程序的表述,408 考试中需按题干要求判定,核心仍需区分硬件 / 软件操作。

  • 5.3.4 断点的定义与保存(细节考点)

    命题形式:判断保存的断点地址是哪一个,或断点的作用。

    必背结论:

  • 断点是当前程序的下一条指令地址(PC 当前值),而非当前执行的指令地址;
  • 断点由硬件自动压入堆栈,是返回原程序的唯一地址标识;
  • 断点与 PSW 在堆栈中连续保存,恢复时按 “先进后出” 原则弹出。
  • 5.3.5 中断源的识别方式(选择题次高频)

    命题形式:区分向量中断和查询中断的特点,或判断某一架构采用的中断识别方式。

    必背结论:

  • 向量中断:速度快,中断源提供向量号,通过中断向量表获取入口地址(现代 CPU 主流方式);
  • 查询中断:速度慢,CPU 依次查询中断源,无中断向量号(早期架构);
  • 中断向量表是内存中的固定区域,存储各中断源对应的中断服务程序入口地址,由操作系统初始化。
  • 5.3.6 中断响应与异常响应的异同(综合考点)

    命题形式:对比中断响应(外部中断)与异常响应(内部中断,如除法溢出、指令错误)的差异。

    核心异同:

    • 相同点:响应过程均为硬件自动完成,核心步骤均为关中断、保存断点、获取入口地址;
    • 不同点:异常无外部中断请求,由 CPU 内部产生,且异常响应可在指令执行过程中触发(如除法溢出),无需等待当前指令执行完毕。

    5.3.7 堆栈在中断响应中的作用(理解考点)

    命题形式:判断中断响应中堆栈的作用,或堆栈的操作顺序。

    必背结论:

  • 堆栈的核心作用:保存断点地址和 PSW,是中断响应中唯一的存储介质;
  • 操作顺序:入栈(中断响应)→出栈(中断服务程序的中断返回阶段),严格遵循先进后出原则;
  • 堆栈类型:中断响应中使用系统堆栈,而非用户堆栈,保证数据安全性。
  • 5.3.8 典型错误表述:直接排除

    “中断响应过程由软件实现,程序员可修改”→ 错误(硬件自动完成);

    “CPU 在指令执行过程中可响应中断请求”→ 错误(指令级原子性);

    “断点是当前正在执行的指令地址”→ 错误(下一条指令地址);

    “中断响应的第一步是保护现场”→ 错误(关中断,保护现场是中断服务程序步骤);

    “向量中断通过查询方式识别中断源”→ 错误(向量号直接查表)。

    六 考点跟踪

    年份题号考查内容CSDN 参考链接VX参考链接
    2009 第22题 外部中断 2009-22-操作系统-中断事件 408真题解析-2009-22-操作系统-中断事件
    2010 第21题 中断响应过程(中断服务程序)
    2012 第22题 中断响应过程(中断隐指令)
    2017 第22题 多重中断特征
    2020 第20题 外部中断事件
    2020 第21题 外部中断(中断屏蔽)
    2021 第22题 多重中断特征
    2023 第21题 中断、异常
    2024 第21题 中断I/O控制方式
    2024 第23题 中断、异常、系统调用
    2025 第22题 外部中断事件

    说明:本文内容基于公开资料整理,参考了包括但不限于《数据结构》(严蔚敏)、《计算机操作系统》(汤小丹)、《计算机网络》(谢希仁)、《计算机组成原理》(唐朔飞)等国内高校经典教材,以及其他国际权威著作。同时,借鉴了王道、天勤、启航等机构出版的计算机专业考研辅导系列丛书中的知识体系框架与典型题型分析思路。文中所有观点、例题解析及文字表述均为作者结合自身理解进行的归纳与重述,未直接复制任何出版物原文。内容仅用于学习交流,若有引用不当或疏漏之处,敬请指正。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 408真题解析-2010-21-计组&操作系统-中断执行顺序
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!