🏷️ 知识点:DMA
下列设备中,适合采用 DMA 输入输出的设备是()。
l. 键盘
I1. 网卡
Ⅲ. 固态硬盘
IV. 针十式打印机
A.1 、Ⅱ
B.II 、III
C.II 、IV
D.III 、IV
[tag_link]
正确答案:B
网卡和固态硬盘通常适合采用 DMA(直接内存访问)进行输入输出,因为它们需要处理大量的数据传输,DMA 可以有效地提高数据传输效率而不占用 CPU 资源。键盘和针式打印机的数据传输量较小,通常不需要使用 DMA。
下列关于中断I/O 方式和DMA方式比较的叙述中,错误的是()。
A.中断 I/O 方式请求的是方式请求的是 CPU 处理时间,DMA 方式请求的是总线使用权
B.中断响应发生在一条指令执行结束后,DMA 响应发生在一个总线事务完成后
C.中断 I/O 方式下数据传送通过软件完成,DMA 方式下数据传送由硬件完成
D.中断 I/O 方式适用于所有外部设备,DMA 方式仅适用于快速外部设备
[tag_link]
正确答案:D
中断处理方式 :在 I/O 设备输入每个数据的过程中,由于无须 CPU 干预,因而可使 CPU 与 I/O 设备并行工作。
仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理。
因此中断申请使用的是 CPU 处理时间,发生的时间是在一条指令执行结束之后,数据是在软件的控制下完成传送的。
而 DMA 方式与之不同。
DMA 方式:数据传输的基本单位是数据块,即在 CPU 与 I/O 设备之间,每次传送至少一个数据块;
DMA 方式 每次申请的是总线的使用权,所传送的数据是从设备直接送入内存的,或者相反;
仅在传送一个或多个数据块的开始和结束时,才需 CPU 干预,整块数据的传送是在控制器的控制下完成的。
D 选项错误。
这个说法过于绝对。
DMA 虽然适合大批量、速度较高的设备(如磁盘、网卡),但它并非仅适用于快速设备,只要设备支持 DMA 协议,都可以使用。
此外,中断 I/O 虽然可以用于多数外设,但在频繁交互场景中反而效率低。
操作系统 23 用户在删除某文件的过程中,操作系统不可能执行的操作是( )。
inode A. 删除此文件所在的目录 B. 删除与此文件关联的目录项 C. 删除与此文件对应的文件控制块 D. 释放与此文件关联的内存缓冲区 查看答案与解析 收藏 正确答案: 此文件所在目录下可能还存在其他文件,因此删除文件时不能(也不需要)删除文件所在的目录,而与此文件关联的目录项和文件控制块需要随着文件一同删除,同时释放文件关联的内存缓冲区。
下列关于 DMA 方式的叙述中,正确的是( )。
I. DMA 传送前由设备驱动程序设置传送参数Ⅱ. 数据传送前由 DMA 控制器请求总线使用权Ⅲ. 数据传送由 DMA 控制器直接控制总线完成IV. DMA 传送结束后的处理由中断服务程序完成
A. 仅 I、Ⅱ B. 仅 I、Ⅲ、IV C. 仅 Ⅱ、Ⅲ、IV D. I、Ⅱ、Ⅲ、IV
[tag_link]
正确答案:D
每类设备都配置一个设备驱动程序,设备驱动程序向上层用户程序提供一组标准接口,负责实现对设备发出各种具体操作指令,用户程序不能直接和 DMA 打交道。DMA 的数据传送过程分为预处理、数据传送和后处理 3 个阶段。预处理阶段由 CPU 完成必要的准备工作,数据传送前由 DMA 控制器请求总线使用权;数据传送由 DMA 控制器直接控制总线完成;传送结束后,DMA 控制器向 CPU 发送中断请求,CPU 执行中断服务程序做 DMA 结束处理。
若设备采用周期挪用 DMA 方式进行输入输出,每次 DMA 传送的数据块大小为 512 字节,相应的 I/O 接口中有一个 32 位数数据缓冲寄存器,对于数据输入过程,下列叙述中错误的是( )。
A. 每准备好 32 位数据,DMA 控制器就发出一次总线请求 B. 相对于 CPU,DMA 控制器的总线使用权的优先级更高 C. 在整个数据块的传送过程中,CPU 不可以访问主存储器 D. 数据块传送结束时,会产生"DMA 传送结束"的中断请求
[tag_link]
正确答案:C
在周期挪用方式下,CPU 是可以访问主存的,只是当 DMA 传输发生的那个特定周期,CPU 被暂停一个周期,因为 DMA 暂时挪用了总线资源。也就是说,CPU 的访问会被"打断一下",而不是整个传输过程中都无法访问主存。D 正确。DMA 会在一整个数据块(比如 512 字节)传送完毕后,产生一次中断,通知 CPU"数据传送完成",此时 CPU 可以进行下一步操作(如处理数据等)。所以正确答案选择 C,因为在周期挪用 DMA 方式下,CPU 在数据传送过程中可以访问主存,只是会偶尔被暂停一个周期,不是整个过程都被阻止。
DMA 方式中,DMA 控制器控制的数据传输通路位于()。
A. CPU和主存之间
B. CPU和DMA控制器之间
C. 设备接口和主存之间
D. 设备接口和 DMA 控制器之间
[tag_link]
正确答案:C
在 DMA 方式中,DMA 控制器控制的数据传输通路位于设备接口和主存之间。
这是因为 DMA(Direct Memory Access,直接存储器访问)的主要功能是在外设和存储器之间或者存储器和存储器之间提供高速数据传输。
操作系统 23 下面关于中断和异常的说法中,错误的是( )。
异常和中断 A. 中断或异常发生时,CPU 处于内核态 B. 每个系统调用都有对应的内核服务例程 C. 中断处理程序开始执行时,CPU 处于内核态 D. 系统添加新类型设备时,需注册相应的中断服务例程 查看答案与解析 收藏 正确答案: 本题考查 中断和异常 。
A 错误。
中断或异常发生时,CPU 处于用户态。
当中断或异常发生时,CPU 会从用户态切换到内核态,然后开始执行相应的中断处理程序或异常处理程序。
B 正确。
操作系统为每种系统调用提供了对应的内核服务例程,这些例程负责处理用户程序发起的系统调用,以及管理内核资源和执行相应的操作。
当用户程序发起系统调用时,处理器会从用户态切换到内核态,并执行与该系统调用对应的内核服务例程。
C 正确。
当中断发生时,CPU 会从用户态切换到内核态,并开始执行相应的中断处理程序。
因为中断处理程序需要访问和操作受保护的内核资源,如管理设备、执行特权指令等,所以中断处理程序必须在内核态下执行。
D 正确。
系统添加新类型设备时,需注册相应的中断服务例程。
因为许多设备在发生特定事件时会触发中断,需要相应的中断处理程序来进行处理,该中断处理程序就是中断服务例程。
假设某磁盘驱动器中有4个双面盘片,每个盘面有20000个磁道,每个磁道有500个扇区,每 个扇区可记录512字节的数据,盘片转速为7200rpm ( 转/分),平均寻道时间为5ms, 请回答下列问题。
(1)每个扇区包含数据及地址信息,地址信息分为3个字段,这3个字段的名称格式什么?对于该磁盘, 各字段至少占多少位?
(2)一个扇区的平均访问时间约为多少?
(3)若采用周期挪用DMA 方式进行磁盘与主机之间的数据传送,磁盘控制器中的数据缓冲区大小为64位, 则在一个扇区读写过程中,DMA 控制器向CPU 发送了多少次总线请求?若CPU 检测到DMA 控制器的 总线请求信号时也需要访问主存,则DMA 控制器是否可以获得总线使用权?为什么?
[tag_link]
[tag_link]
1)符号标志 SF 表示运算结果的正负性,因此 SF = F 15 对于加法运算 A + B → F ,若 A 、 B 为负,且 F 为正,则说明发生溢出:或者,若 A 、 B 为正, 且 F 为负,也说明发生溢出。因此,加运算时,溢出标志 OF = A 15 ⋅ B 15 ⋅ F 15 + A 15 ⋅ B 15 ⋅ F 15 。 对于减法运算 A − B → F ,若 A 为负、 B 为正,且 F 为正,则说明发生溢出:或者,若 A 为正、 B 为负,且 F 为负,也说明发生溢出。因此,减运算时,溢出标志 OF = A 15 ⋅ B 15 ⋅ F 15 + A 15 ⋅ B 15 ⋅ F 15 。 2)因为在单总线结构中,每一时刻总线上只有一个数据有效,而 ALU 有两个输入端和一个 输出端。因此,当 ALU 运算时,需要先用暂存器 Y 缓存其中一个输入端的数据,再通过 总线传送另一个输入端的数据。与此同时,ALU 的输出端产生运算结果,但由于总线正 被占用,因此需要暂存器 Z,以缓存 ALU 的输出端数据。 3)由图可知,rs 和 rd 都是 4bit,因此 GPRs 中最多有 2 4 = 16 个通用寄存器;rs 和 rd 来自指令寄 存器 IR;rd 表示寄存器编号,应连接地址译码器。 4)取指阶段需要根据程序计数器 PC 取出主存中的指令,并将指令写入指令寄存器 R 中。控制 信号序列如下: ①PCout,MARin // 将指令的地址写入 MAR ②Read // 读主存,并将读出的数据写入 MDR ③MDRout,Rin // 将 MDR 的内容写入指令寄存器 R 步骤①需要 1 个时钟周期,步骤②需要 5 个时钟周期,步骤③需要 1 个时钟周期,因此取指 令阶段至少需要 7 个时钟周期。 5)图中控制信号由控制部件(CU)产生。指令寄存器 IR 和标志寄存器 FR 的输出信号会连 到控制部件的输入端。 44 假设某磁盘驱动器中有 4 个双面盘片,每个盘面有 20000 个磁道,每个磁道有 500 个扇区,每个扇区可记录 512 字节的数据,盘片转速为 7200rpm(转/分),平均寻道时间为 5ms,请回答下列问题。
(1) 每个扇区包含数据及地址信息,地址信息分为 3 个字段,这 3 个字段的名称格式什么?对于该磁盘,各字段至少占多少位?
(2) 一个扇区的平均访问时间约为多少?
(3) 若采用周期挪用 DMA 方式进行磁盘与主机之间的数据传送,磁盘控制器中的数据缓冲区大小为 64 位,则在一个扇区读写过程中,DMA 控制器向 CPU 发送了多少次总线请求?若 CPU 检测到 DMA 控制器的总线请求信号时也需要访问主存,则 DMA 控制器是否可以获得总线使用权?为什么? CHS地址 DMA 查看答案与解析 收藏