单选题 下列关于DMA的叙述中,正确的是______。
  • A.DMA方式下,在主存和外设之间有一条物理通路直接相连
  • B.DMA方式下,CPU没有开销
  • C.CPU对DMA请求和中断请求的最长响应时间是相等的
  • D.周期挪用方式下,DMA控制器窃取的是主存的存储周期
【正确答案】 D
【答案解析】[解析] A错误,DMA方式并不是说在主存和外设之间建立一条物理上的直接通路,而是在主存和外设之间通过外设接口、系统总线以及总线桥接部件等连接,建立一个信息可以互相通达的通路。因此“直接通路”是逻辑上的含义,并非物理上的。
B错误,DMA的数据交换过程包括3个步骤:DMA控制器的初始化、DMA传送和DMA传送的后处理。其中,CPU参与初始化和后处理两部分工作,因此,不是一点开销都没有。
C错误,DMA方式下,向CPU请求的是总线控制权,要求CPU让出总线控制权给DMA控制器,由DMA控制器来控制总线完成主存和外设之间的数据交换,因此,CPU只要用完总线后就可以响应请求,释放总线,让出总线控制权。CPU总是在一次总线事务完成后响应,因此,DMA方式响应时间应该少于一个总线周期。而中断方式下请求的是CPU时间,要求CPU中止正在执行的程序,转到中断服务程序去执行,通过执行中断服务程序,对中断事件进行相应的处理。CPU总是要等到一条指令执行结束后,才去查询有无中断请求,所以响应时间少于一个指令周期的时间。因此,这两个响应时间并不相等。
D正确,在周期挪用方式下,每当UO设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。