跳到主要内容

408 真题做题本·计算机组成原理部分

第 6 章 总线和输入输出系统

6.1 总线

  1. 【2009】假设某系统总线在一个总线周期中并行传输4B 信息, 一个总线周期占用2 个时钟周期, 总线时钟频率为10MHz, 则总线带宽是( )。

A. 10MB/s
B. 20MB/s
C. 40MB/s
D. 80MB/s

答案: B

解析: 总线时钟频率为 ,因此每秒包含 个时钟周期。一个总线周期占用2个时钟周期,所以每秒可完成的总线周期数为

每个总线周期并行传输 ,故总线带宽为

因此选B。

  1. 【2010】下列选项中的英文缩写均为总线标准的是( )。

A. PCI、CRT、USB、EISA
B. ISA、CPI、VESA、EISA
C. ISA、SCSI、RAM、MIPS
D. ISA、EISA、PCI、PCI-Express

答案: D

解析: ISA、EISA、PCI 和 PCI-Express 均属于总线标准。

A项中的CRT是阴极射线管显示技术,不是总线标准;B项中的CPI表示每条指令所需时钟周期数,不是总线标准;C项中的RAM是随机存取存储器,MIPS通常表示每秒执行百万条指令,均不是总线标准。因此选D。

  1. 【2011】在系统总线的数据线上, 不可能传输的是( )。

A. 指令
B. 操作数
C. 握手(应答) 信号
D. 中断类型号

答案: C

解析: 数据总线用于在各部件之间传输数据信息。指令、操作数以及中断类型号本质上都属于需要传送的二进制数据信息,可以通过数据总线传输。

握手信号或应答信号用于协调总线通信过程,属于控制信号,应通过控制总线传输,而不是通过数据总线传输。因此选C。

  1. 【2012】某同步总线的时钟频率为100MHz, 宽度为32 位, 地址/ 数据线复用, 每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发) 传输方式,则一次“主存写”总线事务传输128 位数据所需要的时间至少是( )。

A. 20ns
B. 40ns
C. 50ns
D. 80ns

答案: C

解析: 总线时钟频率为 ,一个时钟周期为

地址线和数据线复用,因此首先需要1个时钟周期传送首地址。总线宽度为32位,传送128位数据需要

个数据传输周期。突发传输只需传送一次首地址,后续4个数据可连续传输,所以总时钟周期数至少为

所需时间为

因此选C。

  1. 【2012】下列关于USB 总线特性的描述中,错误的是( )。

A. 可实现外设的即插即用和热拔插
B. 可通过级联方式连接多台外设
C. 是一种通信总线,连接不同外设
D. 同时可传输2 位数据,数据传输率高

答案: D

解析: USB支持即插即用和热插拔,也可通过集线器形成分层星形拓扑,从而连接多台外设;它属于用于主机与外部设备之间通信的串行总线。

USB采用串行传输方式,并不是“同时传输2位数据”。其较高的数据传输率来自较高的串行传输频率、差分信号和协议改进等,而不是并行传输2位数据。因此错误的是D。

  1. 【2012】下列选项中,在 I/O 总线的数据线上传输的信息包括( )。

I. I/O 接口中的命令字
II. I/O 接口中的状态字
III. 中断类型号

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

答案: D

解析: I/O 总线通常由数据线、地址线和控制线组成。命令字、状态字以及中断类型号都属于需要在 CPU 与 I/O 接口之间传送的数据信息,可以通过数据线传输。因此 I、II、III 均正确,选 D。

  1. 【2013】下列选项中, 用于设备和设备控制器(I/O 接口) 之间互连的接口标准是( ).

A. PCI
B. USB
C. AGP
D. PCI-Express

答案: B

解析: USB是典型的外部设备接口标准,用于主机或设备控制器与键盘、鼠标、打印机、移动存储设备等外设之间的连接。

PCI、AGP和PCI-Express主要用于计算机内部各功能部件或扩展卡与系统之间的互连,不属于本题所指的设备与设备控制器之间的外设接口标准。因此选B。

  1. 【2014】某同步总线采用数据线和地址线复用方式,其中地址/ 数据线有32 根,总线时钟频率为66MHz, 每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据), 该总线的最大数据传输率(总线带宽) 是( )。

A. 132MBps
B. 264MBps
C. 528MBps
D. 1056MBps

答案: C

解析: 地址/数据线共有32根,在数据传送阶段每次可传送

每个时钟周期在上升沿和下降沿各传送一次数据,即每周期传送2次。因此最大数据传输率为

地址/数据线复用会影响一次具体总线事务的有效效率,但题目求的是总线在连续数据传送状态下的最大数据传输率。因此选C。

  1. 【2014】一次总线事务中, 主设备只需给出一个首地址, 从设备就能从首地址开始的若干连续单元读出或写入多个数据。这种总线事务方式称为( )。

A. 并行传输
B. 串行传输
C. 突发传输
D. 同步传输

答案: C

解析: 突发传输方式中,主设备只在传输开始时给出一次首地址,随后从设备按照地址递增规则,连续传送多个相邻存储单元的数据。这样可以减少重复传送地址所占用的总线周期,提高总线利用率。

并行传输和串行传输描述的是数据位的传输组织方式;同步传输描述的是总线定时方式,均不符合题意。因此选C。

  1. 【2015】下列有关总线定时的叙述中,错误的是( )。

A. 异步通信方式中, 全互锁协议最慢
B. 异步通信方式中, 非互锁协议的可靠性最差
C. 同步通信方式中, 同步时钟信号可由各设备提供
D. 半同步通信方式中,握手信号的采样由同步时钟控制

答案: C

解析: 同步通信由统一的时钟信号规定各总线事件发生的时刻,各设备必须按照同一时序工作。同步时钟一般由总线控制器或专门的时钟源统一提供,不能由各设备各自独立提供,否则会因时钟不同步而无法保证通信时序。因此C项错误。

异步通信中,全互锁方式的请求和回答信号都必须等待对方信号变化后才撤销,可靠性高但速度最慢;非互锁方式对对方应答的依赖最少,速度较快但可靠性最差。半同步通信仍以同步时钟为基础,对握手信号的检测和采样受同步时钟控制。因此A、B、D正确。

  1. 【2016】下列关于总线设计的叙述中,错误的是( )。

A. 并行总线传输比串行总线传输速度快
B. 采用信号线复用技术可减少信号线数量
C. 采用突发传输方式可提高总线数据传输率
D. 采用分离事务通信方式可提高总线利用率

答案: A

解析: 并行总线一次可同时传输多位数据,但随着工作频率提高和传输距离增加,不同信号线之间会出现时钟偏斜、串扰和同步困难等问题。高速串行总线可以采用差分传输、更高的信号频率和多通道聚合等技术,其实际传输速度可能高于并行总线。因此不能笼统地认为并行总线一定比串行总线快,A项错误。

信号线复用可让同一组信号线在不同时刻承担不同功能,从而减少引脚和线路数量;突发传输减少地址传送开销;分离事务通信将请求与响应阶段分离,使总线在等待从设备响应时可服务其他事务,均有助于提高总线利用率或数据传输率。因此B、C、D正确。

  1. 【2017】下列关于多总线结构的叙述中,错误的是( )。

A. 靠近CPU 的总线速度较快
B. 存储器总线可支持突发传送方式
C. 总线之间须通过桥接器相连
D. PCI-Express × 16 采用并行传输方式

答案: D

解析: 多总线结构通常按性能分层。CPU、主存附近的数据交换频繁,因此相应总线的速度通常较快;存储器总线可采用突发传送,以一次首地址连续传送多个相邻数据;不同层次或不同协议的总线之间一般通过桥接器连接。因此A、B、C正确。

PCI-Express采用高速点对点串行传输。“×16”表示由16条Lane组成,每条Lane均采用串行差分传输,而不是传统意义上的16位并行总线。因此D错误。

  1. 【2018】下列选项中, 可提高同步总线数据传输率的是( )。 I. 增加总线宽度 II. 提高总线工作频率 III. 支持突发传输 IV. 采用地址/ 数据线复用

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

答案: B

解析: 增加总线宽度可增加每次传送的数据量;提高总线工作频率可增加单位时间内的传送次数;突发传输只需传送一次首地址,随后连续传送多个数据,可减少地址阶段开销。因此I、II、III均可提高数据传输率。

地址线与数据线复用的主要目的是减少引脚和信号线数量。由于地址与数据不能在同一时刻使用这组线路,通常不会提高数据传输率,甚至可能增加时间开销,故IV错误。因此选B。

  1. 【2019】假定一台计算机采用3 通道存储器总线,配套的内存条型号为DDR3 - 1333,即内存条所接插的存储器总线的工作频率为1333MHz, 总线宽度为64 位, 则存储器总线的总带宽大约是( )

A. 10.66GBps
B. 32GBps
C. 64GBps
D. 96GBps

答案: B

解析: 每个通道的总线宽度为64位,即每次可传送

一个通道的带宽约为

采用3通道并行工作时,总带宽约为

因此选B。

  1. 【2020】QPI 总线是一种点对点全双工同步串行总线, 总线上的设备可同时接收和发送信息, 每个方向可同时传输20 位信息(16 位数据+4 位校验位),每个QPI 数据包有80 位信息,分2 个时钟周期传送, 每个时钟周期传递2 次。因此, QPI 总线带宽为: 每秒传送次数× 2B × 2。若QPI 时钟频率为2.4GHz, 则总线带宽为( )。

A. 4.8GBps
B. 9.6GBps
C. 19.2GBps
D. 38.4GBps

答案: B

解析: 每个方向每次传送的有效数据为16位,即

QPI是全双工总线,发送和接收两个方向可同时传输,因此总带宽为

这里最后乘以2表示全双工的两个方向,而不是将校验位计入有效数据。因此选B。

  1. 【2021】下列关于总线的叙述中,错误的是( )。

A. 总线是在两个或多个部件之间进行数据交换的传输介质
B. 同步总线由时钟信号定时,时钟频率不一定等于工作频率
C. 异步总线由握手信号定时, 一次握手过程完成一位数据交换
D. 突发(Burst) 传送总线事务可以在总线上连续传送多个数据

答案: C

解析: 总线是部件之间进行信息传输的介质,A正确。同步总线由时钟统一规定时序,但采用双倍数据率等技术时,一个时钟周期可以传送多次数据,因此有效数据传送频率不一定等于时钟频率,B正确。突发事务可在一次地址阶段后连续传送多个数据,D正确。

异步总线利用请求、应答等握手信号协调一次传送,一次握手通常完成一个数据字或一个总线宽度的数据交换,并非仅交换一位数据。因此C错误。

  1. 【2023】某存储总线宽度为64 位, 总线时钟频率为1GHz, 在总线上传输一个数据或地址需要一个时钟周期, 不支持突发传送方式。若通过该总线连接CPU 和主存, 主存每次准备一个64 位数据需要6ns, 主存块大小为32B, 则读取一个主存块时间是( )。

A. 8ns
B. 11ns
C. 26ns
D. 32ns

答案: D

解析: 总线时钟频率为,一个时钟周期为

总线宽度为64位,即每次传送8B。主存块为32B,因此需读取

个64位数据。

由于不支持突发传送,每个数据都必须分别完成一次总线事务:传送地址用,主存准备数据用,传送数据用。故每个数据需

读取整个主存块需要

因此选D。

  1. 【2024】某存储器总线的时钟频率为420MHz, 总线宽度为64 位, 每个时钟周期传送2 次数据;其总线事务支持突发传送方式,最多传送8 次数据,第一个时钟周期传送地址和读/ 写命令,从第4 个至第7 个时钟周期连续传送8 次数据。该总线的总线带宽(最大数据传输率) 为( )。

A. 3.84GB/s
B. 6.72GB/s
C. 30.72GB/s
D. 53.76GB/s

答案: A

解析: 一次突发事务从第1个时钟周期开始,到第7个时钟周期结束,共占用7个时钟周期。第4至第7个周期每周期传送2次数据,共传送8次。

总线宽度为64位,每次传送,所以一次事务传送

一次事务所需时间为

因此考虑完整事务开销后的最大数据传输率为

选项B是仅按数据传送阶段计算的瞬时峰值,未计入地址、命令和等待周期。因此选A。

6.2 I/O 系统的基本概念

  1. 【2010】假定一台计算机是显示存储器用DRAM 芯片实现, 若要求显示分辨率为1600 × 1200, 颜色深度为24 位, 帧频为85Hz, 显存总带宽的50% 用于刷新屏幕, 则需要的显存总带宽至少约为( ).

A. 245Mbps
B. 979Mbps
C. 1958Mbps
D. 7834Mbps

答案: D

解析: 每帧像素数为

每个像素需要24位,每秒刷新85帧,因此刷新屏幕所需的有效带宽为

显存总带宽只有50%用于刷新屏幕,所以总带宽至少应为

因此选D。

6.3 I/O 接口

  1. 【2014】下列有关I/O 接口的叙述中,错误的是( )。

A. 状态端口和控制端口可以合用同一个寄存器
B. I/O 接口中CPU 可访问的寄存器称为I/O 端口
C. 采用独立编址方式时, I/O 端口地址和主存地址可能相同
D. 采用统一编址方式时, CPU 不能用访存指令访问I/O 端口

答案: D

解析: I/O接口中可由CPU访问的数据寄存器、状态寄存器和控制寄存器统称为I/O端口,B正确。状态信息通常由设备写入、CPU读取,控制信息通常由CPU写入,二者方向不同,因此状态端口与控制端口可以复用同一个寄存器,A正确。

独立编址时,I/O地址空间与主存地址空间彼此独立,因此二者可以具有相同的数值地址,C正确。统一编址时,I/O端口被映射到主存地址空间,CPU正是使用访存指令访问I/O端口,所以D错误。

  1. 【2017】I/O 指令实现的数据传送通常发生在( )。

A. I/O 设备和I/O 端口之间
B. 通用寄存器和I/O 设备之间
C. I/O 端口和I/O 端口之间
D. 通用寄存器和I/O 端口之间

答案: D

解析: 采用独立编址时,CPU通过专门的I/O指令访问I/O端口。I/O指令通常在CPU通用寄存器与I/O接口中的数据端口之间传送数据。

外部设备与I/O端口之间的数据交换由设备接口硬件完成,不是I/O指令直接完成的。因此选D。

  1. 【2021】下列选项中, 不属于I/O 接口的是( )。

A. 磁盘驱动器
B. 打印机适配器
C. 网络控制器
D. 可编程中断控制器

答案: A

解析: 打印机适配器、网络控制器和可编程中断控制器均属于连接系统总线与外部设备或中断源的接口、控制部件。

磁盘驱动器是实际执行数据存取的外部设备,不是主机与设备之间的I/O接口。因此选A。

6.4 I/O 方式

  1. 【2010】单级中断系统中, 中断服务程序内的执行顺序是( )。 I. 保护现场 II. 开中断 III. 关中断 IV. 保存断点 V. 中断事件处理 VI. 恢复现场 VII. 中断返回

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

答案: A

解析: 题干限定为“中断服务程序内”。关中断和保存断点通常由中断隐指令在硬件响应阶段完成,不属于中断服务程序中的显式步骤。服务程序首先保护现场,随后处理中断事件;处理结束后恢复现场,再开中断并执行中断返回。正确顺序为

因此选 A。

  1. 【2011】某计算机有五级中断L4 ∼L0, 中断屏蔽字为M4M3M2M1M0,表示对级中断进行屏蔽。若中断响应优先级从高到低的顺序是L0 →L1 →L2 →L3 →L4, 且要求中断处理优先级从高到低的顺序为L4→L0→L2→L1→L3, 则L1 的中断处理程序中设置的中断屏蔽字是( )。

A. 11110
B. 01101
C. 00011
D. 01010

答案: D

解析: 在L1的中断服务程序中,应允许处理优先级高于L1的L4、L0、L2进入,而屏蔽L1自身和处理优先级低于L1的L3。

排列,有

故中断屏蔽字为,选D。

  1. 【2011】某计算机处理器主频为50MHz, 采用定时查询方式控制设备A 的I/O, 查询程序运行一次所用的时钟周期数至少为500。在设备A 工作期间, 为保证数据不丢失, 每秒需对其查询至少200次, 则CPU 用于设备A 的I/O 的时间占整个CPU 时间的百分比至少是( )。

A. 0.02%
B. 0.05%
C. 0.20%
D. 0.50%

答案: C

解析: 每秒至少查询200次,每次至少占用500个时钟周期,所以每秒用于查询的时钟周期数至少为

CPU每秒共有个时钟周期,因此占用比例为

因此选C。

  1. 【2013】下列关于中断I/O 方式和DMA 方式比较的叙述中,错误的是( )。

A. 中断I/O 方式请求的是CPU 处理时间, DMA 方式请求的是总线使用权
B. 中断响应发生在一条指令执行结束后, DMA 响应发生在一个总线事务完成后
C. 中断I/O 方式下数据传送通过软件完成, DMA 方式下数据传送由硬件完成
D. 中断I/O 方式适用于所有外部设备, DMA 方式仅适用于快速外部设备

答案: D

解析: 中断I/O请求CPU执行中断服务程序,实质上请求CPU处理时间;DMA控制器则申请总线使用权,A正确。CPU一般在一条指令执行完毕后响应中断,而DMA请求通常在当前总线事务完成后得到响应,B正确。中断I/O的数据搬运由CPU执行指令完成,DMA的数据传送由DMA控制器硬件完成,C正确。

DMA更适合高速、批量设备,但从原理上并非仅能用于快速设备。低速设备也可采用DMA,只是通常不经济。因此D表述过于绝对,是错误项。

  1. 【2014】若某设备中断请求的响应和处理时间为100ns, 每400ns 发出一次中断请求, 中断响应所允许的最长延迟时间为50ns, 则在该设备持续工作过程中, CPU 用于该设备的I/O 时间占整个CPU 时间的百分比至少是( )。

A. 12.5%
B. 25%
C. 37.5%
D. 50%

答案: B

解析: 设备每产生一次中断,每次中断响应和处理实际占用CPU的时间为,所以CPU至少用于该设备I/O的比例为

最长允许延迟只是规定CPU最迟何时开始响应,不是CPU实际执行I/O处理所额外占用的时间。因此选B。

  1. 【2015】在采用中断I/O 方式控制打印输出的情况下, CPU 和打印控制接口中的I/O 端口之间交换的信息不可能是( )。

A. 打印字符
B. 主存地址
C. 设备状态
D. 控制命令

答案: B

解析: 中断I/O方式下,CPU可通过I/O端口向打印控制接口写入待打印字符和控制命令,也可读取设备忙、就绪、出错等状态信息,因此A、C、D均可能交换。

主存地址不是打印控制接口完成逐字符打印所需的信息。只有DMA等直接存储器访问方式才需要配置主存地址。因此选B。

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

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

答案: A

解析: 缺页是在当前访存指令执行过程中,由处理器的地址转换和存储管理机制检测到的内部事件,属于异常,更具体地说属于可恢复的故障类异常,而不是外部中断。

整数除以0和存储保护错均在指令执行过程中由CPU内部检测,属于异常;DMA传送结束由DMA控制器从处理器外部提出请求,属于中断。因此A错误。

  1. 【2017】下列关于多重中断系统的叙述中,错误的是( )。

A. 在一条指令执行结束时响应中断
B. 中断处理期间CPU 处于关中断状态
C. 中断请求的产生与当前指令的执行无关
D. CPU 通过采样中断请求信号检测中断请求

答案: B

解析: 外部中断请求通常与当前指令的执行无关,CPU在一条指令执行结束时采样中断请求信号并决定是否响应,因此A、C、D正确。

多重中断系统允许高优先级中断打断低优先级中断服务程序。为实现中断嵌套,完成必要的现场保护和屏蔽字设置后需要开中断,所以中断处理期间并非始终处于关中断状态。因此B错误。

  1. 【2017】系统将数据从磁盘读到内存的过程包括以下操作: ①DMA 控制器发出中断请求 ②初始化DMA 控制器并启动磁盘 ③从磁盘传输一块数据到内存缓冲区 ④执行“DMA 结束”中断服务程序 正确的执行顺序是( )。

A. ③→①→②→④
B. ②→③→①→④
C. ②→①→③→④
D. ①→②→④→③

答案: B

解析: DMA输入过程首先由CPU或设备驱动程序设置主存地址、传送长度、方向等参数并启动磁盘,即②;随后DMA控制器控制数据块从磁盘接口传送到内存缓冲区,即③;数据块传送完成后DMA控制器向CPU发出中断请求,即①;CPU响应中断并执行DMA结束中断服务程序,即④。

因此正确顺序为,选B。

  1. 【2018】下列关于外部I/O 中断的叙述中,正确的是( )。

A. 中断控制器按所接收中断请求的先后次序进行中断优先级排队
B. CPU 响应中断时,通过执行中断隐指令完成通用寄存器的保护
C. CPU 只有在处于中断允许状态时,才能响应外部设备的中断请求
D. 有中断请求时, CPU 立即暂停当前指令执行, 转去执行中断服务程序

答案: C

解析: 可屏蔽外部中断只有在CPU处于开中断状态且请求未被屏蔽时才会得到响应,因此C正确。

中断控制器通常按硬件优先级或可编程优先级判定顺序,而不是简单按请求到达先后排队,A错误。中断隐指令一般完成关中断、保存断点和程序状态字、取得中断向量等操作,通用寄存器通常由中断服务程序用软件保护,B错误。CPU通常在当前指令执行完毕后才响应外部中断,不会立即中止当前指令,D错误。

  1. 【2019】某设备以中断方式与CPU 进行数据交换, CPU 主频为1GHz, 设备接口中的数据缓冲寄存器为32 位, 设备的数据传输率为50kBps。若每次中断开销(包括中断响应和中断处理) 为1000 个时钟周期, 则CPU 用于该设备输入/ 输出的时间占整个CPU 时间的百分比最多是( )

A. 1.25%
B. 2.5%
C. 5%
D. 12.5%

答案: A

解析: 数据缓冲寄存器为32位,即每次中断最多传送4B。每秒中断次数为

每次中断开销为1000个时钟周期,因此每秒用于I/O的时钟周期数为

CPU主频为1GHz,即每秒有个时钟周期,故占用比例为

因此选A。

  1. 【2019】下列关于DMA 方式的叙述中, 正确的是( )。 I. DMA 传送前由设备驱动程序设置传送参数 II. 数据传送前由DMA 控制器请求总线使用权 III. 数据传送由DMA 控制器直接控制总线完成 IV. DMA 传送结束后的处理由中断服务程序完成

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

答案: D

解析: DMA传送开始前,设备驱动程序需要设置主存首地址、传送字节数、传送方向和设备等参数,I正确。DMA控制器在需要传送数据时向CPU或总线仲裁器申请总线使用权,II正确;取得总线后,DMA控制器直接产生地址和控制信号,控制设备接口与主存之间的数据传送,III正确;整个数据块传送结束后,DMA控制器通过中断通知CPU,由中断服务程序完成状态检查和后处理,IV正确。

因此I、II、III、IV均正确,选D。

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

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

答案: B

解析: NMI不受普通中断允许标志和中断屏蔽字控制,通常具有高于可屏蔽中断的优先级,所以CPU在普通关中断状态下仍可响应NMI,A、C正确。通过在各中断服务程序中设置不同的中断屏蔽字,可以改变可屏蔽中断之间的处理优先级,D正确。

可屏蔽中断请求有效后,还必须满足当前指令执行结束、CPU处于开中断状态、该请求未被屏蔽且通过优先级判定等条件,才会响应,并非立即响应。因此B错误。

  1. 【2020】若设备采用周期挪用DMA 方式进行输入和输出,每次DMA 传送的数据块大小为512 字节, 相应的I/O 接口中有一个32 位数据缓冲寄存器。对于数据输入过程, 下列叙述中, 错误的是( )

A. 每准备好32 位数据, DMA 控制器就发出一次总线请求
B. 相对于CPU, DMA 控制器的总线使用权的优先级更高
C. 在整个数据块的传送过程中, CPU 不可以访问主存储器
D. 数据块传送结束时, 会产生“DMA 传送结束”中断请求

答案: C

解析: 周期挪用方式下,设备接口每准备好一个数据缓冲寄存器宽度的数据,即32位,DMA控制器就申请一个总线周期,A正确。为避免设备数据丢失,DMA总线请求通常具有高于CPU访存请求的优先级,B正确。整个数据块传送完成后,DMA控制器通过中断通知CPU,D正确。

DMA控制器只在每次传送时暂时挪用一个或若干总线周期。两次DMA传送之间,CPU仍可取得总线并访问主存,因此并非整个数据块传送期间都不能访问主存。C错误。

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

A. 系统调用
B. 页缺失
C. DMA 传送结束
D. 打印机缺纸

答案: B

解析: 页缺失是在当前指令访存过程中发现所访问的页面不在主存。操作系统调入所缺页面并更新页表后,原指令尚未成功完成,必须重新执行该指令,故选B。

系统调用通常由陷阱指令主动产生,处理完成后转到其下一条指令;DMA传送结束和打印机缺纸属于外部中断,响应时当前指令已经完成,处理结束后通常从下一条指令继续执行。

  1. 【2021】下列是关于多重中断系统中CPU 响应中断的叙述,其中错误的是( )。

A. 仅在用户态(执行用户程序) 下, CPU 才能检测和响应中断
B. CPU 只有在检测到中断请求信号后, 才会进入中断响应周期
C. 进入中断响应周期时, CPU 一定处于中断允许(开中断) 状态
D. 若CPU 检测到中断请求信号,则一定存在未被屏蔽的中断源请求信号

答案: A

解析: CPU无论处于用户态还是内核态,都可能检测和响应中断。例如执行操作系统内核代码期间仍可能响应更高优先级的外部中断,因此A错误。

CPU检测到有效且未屏蔽的中断请求,并且当前处于中断允许状态时,才进入中断响应周期,B、C正确。CPU端检测到的有效中断请求通常是各中断源请求经过屏蔽和优先级逻辑处理后的结果,因此至少存在一个未被屏蔽的请求源,D正确。

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

A. CPU 在执行一条指令过程中检测异常事件
B. CPU 在执行完一条指令时检测中断请求信号
C. 开中断中CPU 检测到中断请求后就进行中断响应
D. 外部设备通过中断控制器向CPU 发中断结束信号

答案: D

解析: 异常与当前指令的执行直接相关,CPU在指令执行过程中检测异常事件;外部中断通常在一条指令执行结束时采样和判定,因此A、B正确。CPU处于开中断状态,且检测到有效、未屏蔽并满足优先级条件的中断请求后,会进入中断响应过程,C正确。

外部设备通过中断控制器向CPU发送的是中断请求信号。中断服务完成后,通常由CPU执行结束中断命令,向中断控制器发出中断结束信息,而不是由外部设备向CPU发送“中断结束信号”。因此D错误。

  1. 【2023】下列关于I/O 控制方式的叙述中,错误的是( )。

A. 查询方式下, 通过CPU 执行查询程序进行I/O 操作
B. 中断方式下, 通过CPU 执行中断服务程序进行I/O 操作
C. DMA 方式下, 通过CPU 执行DMA 传送程序进行I/O 操作
D. 对于SSD、网络适配器等高速设备, 采用DMA 方式输入/ 输出

答案: C

解析: 查询方式由CPU反复执行程序检查设备状态并完成数据传送,A正确;中断方式由CPU响应设备中断并执行中断服务程序完成数据交换,B正确;SSD、网络适配器等高速、批量设备通常采用DMA方式,以减少CPU干预,D正确。

DMA方式下,CPU只负责初始化DMA控制器和传送结束后的处理,实际数据传送由DMA控制器硬件直接控制总线完成,并不是由CPU执行所谓“DMA传送程序”逐个搬运数据。因此C错误。

  1. 【2024】下列关于中断I/O 控制方式的叙述中,错误的是( )。

A. 中断屏蔽字用于确定中断响应的优先级
B. 保存断点和程序状态字在中断响应阶段完成
C. 保存通用寄存器和设置新中断屏蔽字由软件实现
D. 单重中断方式下中断处理时CPU 处于关中断状态

答案: A

解析: 中断响应优先级由硬件排队器、中断控制器或中断请求线路的连接关系决定。中断屏蔽字主要控制在当前中断服务程序中允许或禁止哪些中断,从而改变中断处理优先级,而不能决定硬件中断响应优先级。因此A错误。

中断响应阶段由硬件保存断点和程序状态字,B正确;通用寄存器保护及新中断屏蔽字设置通常由中断服务程序的软件指令完成,C正确;单重中断不允许嵌套,中断处理期间保持关中断,D正确。

  1. 【2024】DMA 控制I/O 方式下, 设备的输入/ 输出由DMA 控制器控制完成, 此时, DMA 控制器控制的数据传输通路位于( )。

A. CPU 与主存之间
B. CPU 与DMA 控制器之间
C. 设备接口与主存之间
D. 设备接口和DMA 控制器之间

答案: C

解析: DMA的核心是绕过CPU的数据寄存器。DMA控制器取得总线使用权后,直接控制设备接口的数据缓冲寄存器与主存之间的数据传送,因此其控制的完整数据传输通路位于设备接口与主存之间。

DMA控制器负责产生主存地址和读写控制信号,但数据传送的两个端点并不是CPU与DMA控制器,也不只限于设备接口与DMA控制器之间。因此选C。

  1. 【2009】某计算机的CPU 主频为500MHz, CPI 为5(即执行每条指令平均需5 个时钟周期)。假定某外设的数据传输率为0.5MB/s, 采用中断方式与主机进行数据传送, 以32 位为传输单位, 对应的中断服务程序包含18 条指令,中断服务的其他开销相当于2 条指令的执行时间。请回答下列问题, 要求给出计算过程。 (1) 在中断方式下, CPU 用于该外设I/O 的时间占整个CPU 时间的百分比是多少? (2) 当该外设的数据传输率达到5MB/s 时, 改用DMA 方式传送数据。假定每次DMA 传送块大小为5000B, 且DMA 预处理和后处理的总开销为500 个时钟周期, 则CPU 用于该外设I/O 的时间占整个CPU 时间的百分比是多少?(假设DMA 与CPU 之间没有访存冲突)

答案:

(1)

(2)

解析:

(1)传输单位为32位,即每次中断传送

外设的数据传输率为,故每秒中断次数为

每次中断服务程序包含18条指令,其他开销相当于2条指令,因此一次中断总开销相当于

条指令。CPI为5,所以每次中断占用

个时钟周期。

每秒用于该外设I/O的时钟周期数为

CPU每秒共有个时钟周期,故占用比例为

(2)DMA每次传送5000B,设备传输率为,所以每秒DMA传送块数为

每块的DMA预处理和后处理共占500个时钟周期,因此每秒CPU用于DMA管理的时钟周期数为

占CPU总时间的比例为

题目说明DMA与CPU之间没有访存冲突,因此无须再计入CPU因DMA占用总线而等待的时间。

  1. 【2016】假定CPU 主频为50MHz, CPI 为4。设备D 采用异步串行通信方式向主机传送7 位ASCII 字符, 通信规程中有1 位奇校验位和1 位停止位, 从D 接收启动命令到字符送入I/O 端口需要0.5ms。请回答下列问题, 要求说明理由。 (1) 每传送一个字符, 在异步串行通信线上共需传输多少位?在设备D 持续工作过程中, 每秒钟最多可向I/O 端口送入多少个字符? (2) 设备D 采用中断方式进行输入/ 输出, 示意图如下:
2024年设备D采用中断方式进行输入输出的示意图

I/O 端口每收到一个字符申请一次中断,中断响应需10 个时钟周期,中断服务程序共有20 条指令,其中第15 条指令启动D 工作。若CPU 需从D 读取1000 个字符,则完成这一任务所需时间大约是多少个时钟周期?CPU 用于完成这一任务的时间大约是多少个时钟周期?在中断响应阶段CPU 进行了哪些操作?

答案:

(1)每个字符共传输10位;每秒最多送入2000个字符。

(2)完成任务大约需要个时钟周期;CPU用于该任务大约需要个时钟周期。

中断响应阶段主要完成关中断、保存断点和程序状态字、识别中断源并取得中断服务程序入口地址,然后转入中断服务程序。

解析:

(1)异步串行通信的字符帧除7位ASCII数据外,还包括1位起始位、1位奇校验位和1位停止位,因此总位数为

设备D从接收启动命令到一个字符送入I/O端口需要,因此持续工作时每秒最多送入

个字符。

(2)CPU主频为,时钟周期为

设备D工作所对应的时钟周期数为

设备完成一个字符后提出中断请求。CPU响应中断需10个时钟周期;CPI为4,中断服务程序执行到第15条指令时重新启动设备D,所以从设备完成一个字符到再次启动D还需

个时钟周期。

因此,从一次启动设备到下一次启动设备,每个字符对应的流水节拍约为

个时钟周期。读取1000个字符所需总时间约为

个时钟周期。

CPU实际用于每个字符的时间包括10个中断响应周期和20条中断服务程序指令:

个时钟周期。1000个字符共占用CPU

个时钟周期。设备独立工作的等待时间不占用CPU执行时间。

  1. 【2018】假定计算机的主频为500MHz,CPI 为4。现有设备A 和B, 其数据传输率分别为2MBps和40MBps, 对应I/O 接口中各有一个32 位数据缓冲寄存器。请回答下列问题, 要求给出计算过程。 (1) 若设备A 采用定时查询I/O 方式, 每次输入/ 输出都至少执行10 条指令。设备A 最多间隔多长时间查询一次才能不丢失数据?CPU 用于设备A 输入/ 输出的时间占CPU 总时间的百分比至少是多少? (2) 在中断I/O 方式下, 若每次中断响应和中断处理的总时钟周期数至少为400, 则设备B 能否采用中断I/O 方式? 为什么? (3) 若设备B 采用DMA 方式, 每次DMA 传送的数据块大小为1000B, CPU 用于DMA 预处理和后处理的总时钟周期数为500,则CPU 用于设备B 输/ 输出的时间占CPU 总时间的百分比最大是多少?

答案:

(1)最多每查询一次;CPU时间占比至少为

(2)不能。设备B要求的中断频率过高,中断响应和处理所需的时钟周期数超过CPU全部可用周期。

(3)CPU时间占比最大为

解析:

(1)设备A的数据缓冲寄存器为32位,即每次可保存4B数据。其数据传输率为,所以缓冲寄存器被填满的频率为

相邻两次数据到达的时间间隔为

因此查询间隔不得超过

每次I/O至少执行10条指令,CPI为4,所以每次至少需要

个时钟周期。每秒至少需要的查询时钟周期数为

CPU主频为500MHz,故占用比例至少为

(2)设备B的数据传输率为,每次中断传送4B,因此每秒需要中断

每次中断至少占用400个时钟周期,所以每秒至少需要

个时钟周期,而CPU每秒仅有个时钟周期。所需周期数是CPU总周期数的

倍,即,因此设备B不能采用中断I/O方式持续完成该传输。

(3)每个DMA数据块为1000B,设备B每秒传送,故每秒DMA传送次数为

每次DMA预处理和后处理共需500个时钟周期,因此每秒CPU开销为

个时钟周期。占CPU总时间的百分比为