🏷️ 知识点:异常和中断

共 22 道相关题目

2020 年第 20 题 组成原理 选择题

下列事件中属于外部中断事件的是( )。

I. 访存时缺页II. 定时器延时III. 网络数据包到达

A. 仅 I、II B. 仅 I、III C. 仅 II、III D. 仅 I、II、III

[tag_link]

正确答案:C

访存时缺页属于 内部异常 ,I 错误;定时器到时描述的是时钟中断,属于 外部中断 ,II 正确;网络数据包到达描述的是 CPU 执行指令以外的事件,属于外部中断,III 正确。


模拟卷 年第 21 题 组成原理 选择题

DMA 方式的接口电路中有程序中断部件,其作用包括( )。 I. 实现数据传送 II. 向 CPU 提出总线使用权 III. 向 CPU 提出传输结束 IV. 检查数据是否出错

A. 仅 III B. III 和 IV C. I、III 和 IV D. I 和 II

异常和中断

[tag_link]

正确答案:A

考查 DMA 方式中的中断与中断传输方式的区别。 前者是向 CPU 报告数据传输结束,后者是传送数据,另外 DMA 方式中的中断不包括检查是否出错,而是报告错误。

注意:DMA 方式与程序中断方式的比较如下。

① DMA 传送数据的方式是靠硬件传送,而程序传送方式是由程序来传送。

② 程序中断方式需要中断 CPU 的现行程序,需要保护现场,而 DMA 方式不需要中断现行程序。

③ 程序中断方式需要在一条指令执行结束才能得到响应,而 DMA 方式则可以在指令周期内的任意存储周期结束时响应。

④ DMA 方式的优先级高于程序中断方式的优先级。


模拟卷 年第 21 题 组成原理 选择题

关于外中断(故障除外)和 DMA,下列哪个说法是正确的( )。

A. I 和 V B. I 和 IV C. I D. II 和 III

异常和中断

[tag_link]

正确答案:C

本题考查外中断方式和 DMA 方式的区别。 和中断方式相比,DMA 连接的是高速设备,其优先级高于中断请求,以防止数据丢失,Ⅰ正确。 DMA 请求的响应时间可以发生在每个机器周期结束时,只要 CPU 不占用总线,而中断请求的响应时间只能发生在每条指令执行完毕,Ⅱ错误。 通常情况下,DMA 的优先级要高于外中断,所以 DMA 优先级一般要比非屏蔽中断请求要高,Ⅲ错误。 如果不开中断,非屏蔽中断(以及内中断)仍可响应,Ⅳ错误。 在 DMA 方式的预处理和后处理中,需要 CPU 的干预,只是在传送的过程中不需要 CPU 的干预,Ⅴ错误。

注意:中断方式具有对异常时间的处理能力,而 DMA 方式仅局限于完成传送数据块的能力。


2020 年第 21 题 组成原理 选择题

外部中断包括不可屏蔽中断(NMI)和可屏蔽中断,下列关于外部中断的叙述中错误的是( )。

A. CPU 处于关中断状态时也能响应 NMI 请求 B. 一旦可屏蔽中断请求信号有效,CPU 将立即响应 C. 不可屏蔽中断的优先级比可屏蔽中断的优先级高 D. 可通过中断屏蔽字改变可屏蔽中断的处理优先级

[tag_link]

正确答案:B

由 CPU 内部产生的异常称为 内中断 ,内中断都是 不可屏蔽中断 。通过中断请求线 INTR 和 NMI 从 CPU 外部发出的中断请求为外中断,通过 INTR 信号线发出的外中断是可屏蔽中断,而通过 NMI 信号线发出的是不可屏蔽中断。不可屏蔽中断不受中断标志位的影响,使在关中断的情况下也会被响应,选项 A 正确。不可屏蔽中断的处理优先级最高,任何时候只要发生不可屏蔽中断,都要中止现行程序的执行,转到不可屏蔽中断处理程序执行,选项 C 正确。可屏蔽中断 可以通过中断屏蔽字来设定优先级,选项 D 正确。CPU 响应中断需要满足 3 个条件:① 中断源有中断请求;② CPU 允许中断 及开中断;③ 一条指令执行完毕,且没有更紧迫的任务。故选项 B 错误。


2021 年第 21 题 组成原理 选择题

异常事件在当前指令执行过程中进行检测,中断请求则在当前指令执行后进行检测。下列事件中。下 列事件中,相应处理程序执行后,必须回到当前指令重新执行的是()。

A. 系统调用

B. 页缺失

C. DMA传送结束

D. 打印机缺纸

[tag_link]

正确答案:B

大部分中断都是在一条指令执行完成后(中断周期)才被检测并处理,除了缺页中断和 DMA 请求。DMA 请求只请求总线的使用权,不影响当前指令的执行,不会导致被中断指令的重新执行;而缺页中断发生在取指或间址等指令执行过程之中,并且会阻塞整个指令。当缺页中断发生后,必须回到这条指令重新执行,以便重新访存。选 B。


2023 年第 21 题 组成原理 选择题

下列关于硬件和异常/中断关系的叙述中,错误的是()。

A. CPU 在执行一条指令过程中检测异常事件 B. CPU 在执行完一条指令时检测中断请求信号

C. 开中断中 CPU 检测到中断请求后就进行中断响应

D. 外部设备通过中断控制器向 CPU 发中断结束信号

[tag_link]

正确答案:D

异常 通常指内部中断,是指令执行错误或中断指令产生的内部中断,在指令执行过程 中被检测,因此选项 A 正确。外部中断指硬件中断,在指令执行完毕后,CPU 会检查中断请 求信号,如果有中断请求发生,则进行中断响应,暂停当前的任务,保存现场并处理中断,因 此,选项 B,C 正确。外部设备通过中断控制器向 CPU 发出中断请求信号而不是中断结束信 号,选项 D 错误。


模拟卷 年第 22 题 组成原理 选择题

下列说法中,错误的是( )。 Ⅰ. 在中断响应周期,置 “0” 允许中断触发器是由关中断指令完成的。 Ⅱ. 中断服务程序的最后一条指令是转移指令 Ⅲ. CPU 通过中断来实现对通道的控制 Ⅳ. 程序中断和通道方式都是由软件和硬件结合实现的 I/O 方式

A. Ⅱ和Ⅲ和Ⅳ B. Ⅲ和Ⅳ C. Ⅰ、Ⅱ和Ⅲ D. Ⅰ、Ⅲ和Ⅳ

异常和中断

[tag_link]

正确答案:C

Ⅰ错误:在中断响应周期,允许中断触发器被置“0”(即关中断)是由硬件自动完成的,目的是保护中断现场,防止嵌套中断; 关中断指令是软件中使用的,并非在响应周期由指令完成。 Ⅱ错误:中断服务程序的最后一条指令通常是专门的中断返回指令(如IRET),用于恢复现场并返回到被中断的程序; 转移指令(如JMP)用于跳转,不是中断服务程序的规范结尾。 Ⅲ错误:CPU对通道的控制是通过发送通道命令字或启动I/O指令来实现的,而中断是通道向CPU报告状态或完成情况的机制,并非CPU控制通道的手段。 Ⅳ正确:程序中断方式通过硬件中断机制和软件服务程序结合实现I/O; 通道方式通过硬件通道处理器执行通道程序与CPU协作,同样软硬结合。 因此,错误的说法是Ⅰ、Ⅱ和Ⅲ,对应选项C。


模拟卷 年第 22 题 组成原理 选择题

下列 I/O 方式中,由软件和硬件相结合的方式实现的是( )。 Ⅰ. 程序查询 Ⅱ. 程序中断 Ⅲ. DMA Ⅳ. 通道

A. Ⅰ和Ⅱ

B. Ⅱ和Ⅲ

C. Ⅱ和Ⅳ

D. Ⅱ、Ⅲ和Ⅳ

异常和中断

[tag_link]

正确答案:D

程序查询(Ⅰ)完全由软件实现,CPU 通过执行指令不断轮询设备状态,无需硬件辅助,属于纯软件方式。 程序中断(Ⅱ)由硬件和软件共同实现:硬件负责检测中断信号并触发,软件则通过中断服务程序处理具体 I/O 操作,是典型的软硬结合方式。 DMA(Ⅲ)同样需要软硬协作:硬件由 DMA 控制器直接管理数据传送,软件则负责初始化控制器、设置参数并在传输完成后处理中断。 通道(Ⅳ)是一种高级 I/O 控制机制,硬件上通道控制器执行通道程序独立管理 I/O,软件上由 CPU 启动和监控通道操作,也依赖于软硬结合。 因此,Ⅱ、Ⅲ和Ⅳ均符合“软件和硬件相结合”的实现方式。


模拟卷 年第 22 题 组成原理 选择题

在 DMA 方式下,数据从内存传送到外设经过的路径是( )。

A. 内存 → 数据总线 → 外设

B. 内存 → 数据总线 → DMA → 外设

C. 内存 → CPU → 数据总线 → 外设

D. 外设 → 内存

总线类型 异常和中断

[tag_link]

正确答案:B

【解析】本题考查 DMA 的数据传送方式。 在 DMA 方式下,数据传送不需要经过 CPU,但需要经过 DMA 控制器中的数据缓冲寄存器。 DMA 控制器中的数据缓冲寄存器用来暂存每次传送的数据。 输入时,数据由外设(如磁盘)先送往数据缓冲寄存器,再通过数据总线送到主存。 反之,输出时,数据由主存通过数据总线送到数据缓冲寄存器,然后再送到外设。


模拟卷 年第 22 题 组成原理 选择题

某机有四级中断,优先级从高到低为 1→2→3→4。若将优先级顺序修改,改后 1 级中断的屏蔽字为 1101,2 级中断的屏蔽字为 0100,3 级中断的屏蔽字为 1111,4 级中断的屏蔽字为 0101,则修改后的优先顺序从高到低为( )。

A. 1→2→3→4

B. 3→1→4→2

C. 1→3→4→2

D. 2→1→3→4

异常和中断

[tag_link]

正确答案:B

首先,理解屏蔽字的含义:每个中断的屏蔽字表示当处理该中断时,哪些中断被屏蔽。 屏蔽字为 4 位二进制数,假设位顺序对应中断 1、2、3、4。 若某位为 1,则屏蔽对应中断; 若为 0,则不屏蔽。 根据中断优先级规则,高优先级中断可以屏蔽低优先级中断,而低优先级中断不能屏蔽高优先级中断。 因此,从屏蔽字可以推导优先级关系:若中断 i 的屏蔽字中对应中断 j 的位为 1,则中断 j 的优先级低于中断 i; 若为 0,则中断 j 的优先级高于中断 i。 给定屏蔽字:中断 1 为 1101,中断 2 为 0100,中断 3 为 1111,中断 4 为 0101。 分析每个屏蔽字: 中断 1 的屏蔽字 1101:位 3 为 0,说明中断 3 优先级高于中断 1; 位 2 和位 4 为 1,说明中断 2 和中断 4 优先级低于中断 1。 中断 2 的屏蔽字 0100:位 1、位 3、位 4 均为 0,说明中断 1、3、4 优先级均高于中断 2。 中断 3 的屏蔽字 1111:所有位为 1,说明中断 3 屏蔽所有中断,因此中断 3 优先级最高。 中断 4 的屏蔽字 0101:位 1 和位 3 为 0,说明中断 1 和中断 3 优先级高于中断 4; 位 2 为 1,说明中断 2 优先级低于中断 4。 综合上述关系:中断 3 优先级最高; 中断 1 优先级高于中断 4 和中断 2; 中断 4 优先级高于中断 2。 因此,修改后的优先级从高到低为 3→1→4→2,对应选项 B。 验证屏蔽字与优先级顺序一致,确认正确。


模拟卷 年第 22 题 组成原理 选择题

通道方式的工作过程中,下列步骤的正确顺序是( )。

A. ①→②→③→④

B. ②→③→①→④

C. ④→③→②→①

D. ③→④→①→②

异常和中断

[tag_link]

正确答案:D

通道方式的工作过程中,CPU 首先根据 I/O 请求编制通道程序,为通道提供具体的操作指令。 接着,CPU 执行启动指令,将通道程序地址传递给通道并启动它。 通道被启动后,独立执行通道程序,组织实际的 I/O 操作,例如控制设备进行数据传输。 最后,当 I/O 操作完成时,通道向 CPU 发出中断请求,通知 CPU 操作结束。 因此,步骤的正确顺序是:编制通道程序(③)→启动 I/O 通道(④)→组织 I/O 操作(①)→向 CPU 发出中断请求(②),对应选项 D。 其他选项的顺序不符合通道工作流程,例如中断请求应在操作完成后发出,而不是在开始阶段。


模拟卷 年第 22 题 组成原理 选择题

对于单 CPU 单通道工作过程,下列可以完全并行工作的是( )。

A. 程序和程序之间

B. 程序和通道之间

C. 程序和设备之间

D. 设备和设备之间

异常和中断

[tag_link]

正确答案:C

本题考查通道的工作原理。 做题的时候要注意完全并行的“完全”这两个字,对于单 CPU 系统来讲,程序和程��之间是并发的关系,而不是真正意义上的并行,要理解好并发和并行的区别。 通道方式是 DMA 方式的进一步发展,通道实际上也是实现 I/O 设备和主存之间直接交换数据的控制器。 通道的基本工作过程如下图所示。 CPU 通过执行 I/O 指令负责启停通道,以及处理来自通道的中断实现对通道的管理,因此通道和程序(即 CPU)并没有完全并行,因为通道仍然需要 CPU 来对它实行管理,B 错误。 而在设备工作时,它只与通道交互,此时程序与其并行工作,C 正确。 而 A、D 显然错误。


模拟卷 年第 22 题 组成原理 选择题

设 CPU 与 I/O 设备以中断方式进行数据传送。CPU 响应中断时,该 I/O 设备接口控制器送给 CPU 的中断向量表(中断向量表存放在段向量)的指针是 0800H,800H 单元中的值为 1200H,则该 I/O 设备的中断服务程序在主存中的入口地址为( )。

A. 0800H

B. 0801H

C. 1200H

D. 1201H

异常和中断

[tag_link]

正确答案:C

在中断方式下,CPU 响应中断时,I/O 设备接口控制器会提供一个中断向量表指针,该指针指向中断向量表中对应中断服务程序入口地址的存储位置。 本题中,指针为 0800H(与 800H 数值相同,均指地址 0x0800),该地址单元中存储的值为 1200H。 由于中断向量表条目通常直接存放中断服务程序的入口地址(在简化模型或特定系统中,可能为物理地址或偏移地址,段地址隐含),因此 1200H 即为该 I/O 设备中断服务程序在主存中的入口地址。 选项中,1200H 符合这一结果,故选择 C。


2012 年第 22 题 组成原理 选择题

响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括()。

I. 关中断

Ⅱ.保存通用寄存器的内容

Ⅲ.形成中断服务程序入口地址并送PC

A. 仅I 、Ⅱ

B. 仅I 、Ⅲ

C. 仅Ⅱ、Ⅲ D. I 、Ⅱ 、Ⅲ

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

[tag_link]

正确答案:D

在响应 外部中断的过程 中,中断隐指令完成的操作包括:①关中断;

②保护断点;

③引出中断服务程序(形成中断服务程序入口地址并送 PC),所以只有 I、III 正确。

Ⅱ 中的保存通用寄存器的内容是在进入中断服务程序后首先进行的操作。

对于 B,外部中断是用户态到核心态的 “门”,也发生在用户态,在核心态完成中断过程。

对于 C,进程切换属于系统调用执行过程中的事件,只能发生在核心态。

对于 D,缺页产生后,在用户态发生缺页中断,然后进入核心态执行缺页中断服务程序。


2015 年第 22 题 组成原理 选择题

内部异常(内中断)可分为故障( fault) 、 陷阱( trap) 和终止( abort) 三类。下列有关内部异常的 叙述中,错误的是()。

A. 内部异常的产生与当前执行指令相关

B. 内部异常的检测由CPU内部逻辑实现

C. 内部异常的响应发生在指令执行过程中

D. 内部异常处理后返回到发生异常的指令继续执行

[tag_link]

正确答案:D

参考 中断和异常的区别 ,内中断是指来自 CPU 和内存内部产生的中断,包括程序运算引起的各种错误,如地址非法、校验错、页面失效、非法指令、用户程序执行特权指令自行中断(INT)和除数为零等,以上中断都在指令的执行过程中产生的,故 A 正确。

这种检测异常的工作肯定是由 CPU(包括控制器和运算器)实现的,故 B 正确。

内中断不能被屏蔽,一旦出现应立即处理,C 正确。

对于 D,考虑到特殊情况,如除数为零和自行中断(INT)都会自动跳过中断指令,所以不会返回到发生异常的指令继续执行,故错误。


2016 年第 22 题 组成原理 选择题

异常是指令执行过程中在处理器内部发生的特殊事件,中断是来自处理器外部的请求事件。下列关于 中断或异常情况的叙述中,错误的是()。

A. “访存时缺页” 属于中断 B. “整数除以 0” 属于异常 C. “DMA 传送结束” 属于中断 D. “存储保护错” 属于异常

[tag_link]

正确答案:A

中断 是指来自 CPU 执行指令以外事件的发生,如设备发出的 I/O 结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。

时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。

这一类中断通常是与当前程序运行无关的事件,即它们与当前处理机运行的程序无关。

异常 也称内中断、例外或陷入(Trap),指源自 CPU 执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、虚存系统的缺页以及专门的陷入指令等引起的事件。

A 错误。

操作系统 23 下列关于批处理系统的叙述中,正确的是( ) Ⅰ.批处理系统允许多个用户与计算机直接交互 Ⅱ.批处理系统分为单道批处理系统和多道批处理系统 Ⅲ.中断技术使得多道批处理系统和 I/O 设备可与 CPU 并行工作 操作系统概念 A. 仅Ⅱ、Ⅲ B. 仅Ⅱ C. 仅Ⅰ、Ⅱ D. 仅Ⅰ、Ⅲ 查看答案与解析 收藏 正确答案: 本题考察操作系统 发展历程 。

批处理系统中,作业执行时用户无法干预其运行,只能通过事先配置作业控制来间接干预,缺少交互能力,也因此才发展出分时系统,I 错误。

批处理系统按发展历程又分为单道批处理系统、多道批处理系统,II 正确。

多道程序设计技术允许同时把多个程序放入内存,并允许它们交替在 CPU 中运行,它们共享系统中的各种硬、软件资源,当 一道程序因 1/0 请求而暂停运行时,CPU 便立即转去运行另 一道程序,即多道批处理系统的 1/0 设备可与 CPU 并行工作,这都是借助于中断技术实现的,III 正确。


2025 年第 22 题 组成原理 选择题

下列选项中,会触发外部中断请求的事件是()。

A. DMA传送结束

B. 总线事务结束

C. 页故障处理结束

D. 执行断点指令

[tag_link]

正确答案:A

参考 中断和异常 ,外部中断请求通常是由外部设备或硬件事件触发的。

DMA 传送结束是由 DMA 控制器发出的中断请求,用于通知 CPU 数据传输已经完成,这属于外部中断。

而其他选项通常与内部事件或软件处理相关,不属于外部中断。

操作系统 23 在采用页式虚拟存储管理方式的系统中,当发生上下文切换时,下列寄存器中操作系统不需要更新的是( )。

虚拟页式管理 A. 通用寄存器 B. 页表基址寄存器 C. 程序计数器 D. 内核中断向量表基址寄存器 查看答案与解析 收藏 正确答案: 在 上下文切换 时,操作系统需要保存和恢复与当前进程相关的状态信息。

通用寄存器、页表基址寄存器和程序计数器通常会在上下文切换时更新,以切换到新进程的上下文。

然而,内核 中断向量表 基址寄存器通常是系统级的,通常不会在每次上下文切换时更改,因此操作系统不需要在上下文切换时更新该寄存器。


2024 年第 23 题 操作系统 选择题

下面关于中断和异常的说法中,错误的是( )。

异常和中断

A. 中断或异常发生时,CPU 处于内核态 B. 每个系统调用都有对应的内核服务例程 C. 中断处理程序开始执行时,CPU 处于内核态 D. 系统添加新类型设备时,需注册相应的中断服务例程

[tag_link]

正确答案:A

本题考查 中断和异常

  • A 错误。中断或异常发生时,CPU 处于用户态。当中断或异常发生时,CPU 会从用户态切换到内核态,然后开始执行相应的中断处理程序或异常处理程序。
  • B 正确。操作系统为每种系统调用提供了对应的内核服务例程,这些例程负责处理用户程序发起的系统调用,以及管理内核资源和执行相应的操作。当用户程序发起系统调用时,处理器会从用户态切换到内核态,并执行与该系统调用对应的内核服务例程。
  • C 正确。当中断发生时,CPU 会从用户态切换到内核态,并开始执行相应的中断处理程序。因为中断处理程序需要访问和操作受保护的内核资源,如管理设备、执行特权指令等,所以中断处理程序必须在内核态下执行。
  • D 正确。系统添加新类型设备时,需注册相应的中断服务例程。因为许多设备在发生特定事件时会触发中断,需要相应的中断处理程序来进行处理,该中断处理程序就是中断服务例程。

模拟卷 年第 32 题 操作系统 选择题

I/O 中断是 CPU 与通道协调工作的一种手段,所以在( )时,便要产生中断。

A. CPU 执行“启动 I/O”指令而被通道拒绝接收

B. 通道接收了 CPU 的启动请求

C. 通道完成了通道程序的执行

D. 通道在执行通道程序的过程中

异常和中断

[tag_link]

正确答案:C

I/O 中断是 CPU 与通道之间协调工作的重要机制,用于通知 CPU 有关 I/O 操作的状态变化。 在通道系统中,通道独立执行通道程序来处理 I/O 操作,当通道完成通道程序的执行时,它必须向 CPU 发出中断信号,以便 CPU 得知操作已结束,并可以继续后续处理(如检查操作结果或启动新的 I/O)。 因此,在这种情况下,中断是必须产生的。 对于其他选项:A 描述的是启动被拒绝的异常情况,虽然也可能产生中断,但并非通道协调工作中的常态; B 中通道接收启动请求时通常不会立即产生中断,因为通道只是开始执行程序; D 过于模糊,通道在执行过程中可能仅在特定事件(如错误)下产生中断,而非必然。 综上,C 是最符合题意的选项。


模拟卷 年第 32 题 操作系统 选择题

下列有关设备管理概念的叙述中,( )是不正确的。 I. 通道可视为一种软件,其作用是提高了 CPU 的利用率 II. 编制好的通道程序是存放在主存储器中的 III. 用户给出的设备编号是设备的物理号 IV. 来自通道的 I/O 中断事件应该由设备管理负责

A. I 和 III

B. I 和 IV

C. II、III 和 IV

D. II 和 IV

异常和中断

[tag_link]

正确答案:A

通道(I/O 通道)是一种硬件设备,专门用于处理输入输出操作,以减轻 CPU 的负担,从而提高 CPU 的利用率。 因此,叙述 I 中“通道可视为一种软件”的说法不正确,通道本质上是硬件而非软件。 用户在使用设备时,通常通过逻辑设备号来指定设备,由操作系统将逻辑号映射到物理设备号。 因此,叙述 III 中“用户给出的设备编号是设备的物理号”不正确,用户给出的是逻辑号。 叙述 II 正确:编制好的通道程序确实存放在主存储器中,通道从主存读取并执行这些程序。 叙述 IV 也正确:来自通道的 I/O 中断事件由操作系统的设备管理部分负责处理,以协调 I/O 操作。 综上,不正确的叙述是 I 和 III,对应选项 A。


模拟卷 年第 44 题 组成原理 综合题

(12 分)假定硬盘传输数据以 32 位的字为单位,传输速率为 1MB/s。CPU 的时钟频率为 50MHz。

(1)采用程序查询的输入输出方式,假定不能使数据丢失,求传输程序运行周期占用 CPU 的时间比率。

(2)采用中断方法进行控制,每次传输的开销(包括中断处理)为 100 个时钟周期。求 CPU 为传输硬盘数据花费的时间比率。

(3)采用 DMA 控制器进行输入输出操作,假定 DMA 的启动操作需要 1000 个时钟周期,DMA 完成时处理中断需要 500 个时钟周期。如果平均传输的数据长度为 4KB(此处,1MB=1000KB),问在硬盘工作的一次传输中,处理器将用多少时间比重进行输入输出操作,忽略 DMA 申请使用总线的影响。

异常和中断 计算机性能指标

[tag_link]

【答案】 (1) 100% (2) 50% (3) 0.75% 【解析】 首先,计算基本参数。硬盘传输速率为 1 MB/s,根据给定 1 MB = 1000 KB,假定 1 KB = 1000 字节,则 1 MB/s = 1 , 000 , 000 字节 / 秒 . 数据传输以 32 位字为单位,每字 4 字节,因此每秒传输字数为 1 , 000 , 000/4 = 250 , 000 字 / 秒 . 每字传输时间间隔为 1/250 , 000 秒 = 4 × 1 0 − 6 秒 = 4 微秒 . CPU 时钟频率为 50 MHz,即 50 × 1 0 6 周期 / 秒 , 时钟周期为 1/ ( 50 × 1 0 6 ) = 2 × 1 0 − 8 秒 = 0.02 微秒 . 每字传输时间间隔对应的时钟周期数为 4 微秒 /0.02 微秒 = 200 周期 .

(1)程序查询方式:为确保数据不丢失,CPU 必须在每字传输时间内完成对该字的查询与传输。假定传输程序处理每字需 200 周期,则每秒 CPU 用于传输的时间为 250 , 000 字 / 秒 × 200 周期 / 字 = 50 × 1 0 6 周期 / 秒 , 与 CPU 总周期数相等,故占用比率为 1,即 100%。

(2)中断方式:每次传输开销(包括中断处理)为 100 时钟周期。每秒中断次数为 250{,}000 次,故每秒 CPU 用于传输的时间为 250 , 000 × 100 = 25 × 1 0 6 周期 . CPU 总周期为 50 × 1 0 6 周期 / 秒 , 因此时间比率为 25 × 1 0 6 /50 × 1 0 6 = 0.5 , 即 50%。

(3)DMA 方式:平均传输数据长度为 4 KB。根据 1 MB = 1000 KB, 4 KB = 4000 字节 . 传输 4 KB 所需时间为 4000 字节 /1 , 000 , 000 字节 / 秒 = 0.004 秒 = 4 毫秒 . 对应的时钟周期数为 4 × 1 0 − 3 秒 / ( 2 × 1 0 − 8 秒 / 周期 ) = 200 , 000 周期 . CPU 每次 DMA 传输参与时间:启动 DMA 需 1000 周期,完成中断处理需 500 周期,共 1500 周期。在硬盘一次传输中,处理器进行输入输出操作的时间比重为 1500 周期 /200 , 000 周期 = 0.0075 , 即 0.75%。


模拟卷 年第 44 题 组成原理 综合题

(11 分)设某计算机有 4 级中断 A、B、C、D,其硬件排队优先级次序为 A>B>C>D。如表所示列出了执行每级中断服务程序所需的时间。

如果以执行中断服务程序的时间作为确定中断优先级的尺度:时间越短优先级越高。

(1)如何为各级中断服务程序设置屏蔽码?

(2)如果 A、B、C、D 分别在 0μs、8μs、10μs、0μs 时刻发出中断请求,请画出 CPU 执行中断服务程序的序列。

(3)基于上题,请计算上述 4 个中断服务程序的平均执行时间。

异常和中断

[tag_link]

【解析】 本题考查中断处理次序。中断响应次序和中断处理次序是两个不同的概念。 中断响应次序也称为硬件排队次序,它是不可改变的。在不改变硬件排队电路的前提下,可以通过改变中断屏蔽字来改变中断处理的优先级,使原来级别较低的中断源变成较高的级别。

(1)由题意,可知中断处理的次序为 C > A > D > B 。屏蔽码中的“1”表示屏蔽该中断源的中断请求,“0”表示没有屏蔽,各中断服务程序的屏蔽码如下表所示。 中断屏蔽码 中断源 A B C D ​ A 1 0 1 1 ​ B 1 1 1 0 ​ C 0 0 1 1 ​ D 1 0 1 1 ​ ​

(2)根据各级中断发出的中断请求信号的时刻,画出 CPU 执行中断服务程序的序列,如下图所示。 第 0 μ s 时,D 请求到来,由于没有其他的中断请求,所以开始执行中断服务程序 D。 第 6 μ s 时,A 请求到来,A 的优先级高于 D,转去执行中断服务程序 A。 第 8 μ s 时,B 请求到来,由于 B 的优先级低于 A,所以不响应 B 请求,继续执行中断服务程序 A。 第 10 μ s 时,C 请求到来,C 的优先级最高,虽然此时中断服务程序 A 还没结束,也必须暂停转去执行中断服务程序 C。 中断服务程序 C 所需时间为 3 μ s ,当第 13 μ s 时,中断服务程序 C 执行完毕,返回执行中断服务程序 A。 第 14 μ s 时,中断服务程序 A 执行完毕(共执行 5 μ s ),返回执行中断服务程序 D。 第 20 μ s 时,中断服务程序 D 执行完毕(共执行 12 μ s ),返回现行程序。 因为 B 请求还存在,所以此时开始执行中断服务程序 B,直至 35 μ s 结束(共执行 15 μ s )。 [图片] 注意:有同学会问执行完 D 为什么又要返回现行程序再响应 B 的中断,这是因为 B 的中断在有 A、C、D 的条件下 B 中断都是被屏蔽而暂时不响应的,而当上述 3 种中断执行完毕后,回到主程序,B 中断才不被屏蔽,所以这时候才会直接响应 B 的中断,如果不回到主程序而直接响应 B 的中断是错误的。

(3)在 35 μ s 时间内,完成了 4 级中断的处理,所以平均执行时间为 4 35 ​ = 8.75 μ s