2020 组成原理 DMA 选择题
第 22 题

若设备采用周期挪用 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 在数据传送过程中可以访问主存,只是会偶尔被暂停一个周期,不是整个过程都被阻止。