输入输出系统主要是研究如何解决主存进度和外部设备的速度不匹配问题。DMA是其中的一种方式。请回答下面的问题: (1) DMA方式的基本概念.DMA方式的优缺点。 (2) DMA能完成哪些基本操作? (3) DMA控制器由哪些基本逻辑部件组成?各部件功能是什

admin2009-07-15  53

问题 输入输出系统主要是研究如何解决主存进度和外部设备的速度不匹配问题。DMA是其中的一种方式。请回答下面的问题:
(1) DMA方式的基本概念.DMA方式的优缺点。
(2) DMA能完成哪些基本操作?
(3) DMA控制器由哪些基本逻辑部件组成?各部件功能是什么?

选项

答案(1)DMA方式的基本概念:直接访问内存DMA方式,是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU中完全接管对总线的控制,数据交换不经过CPU,而直接在内存储器和I/O设备之间进行。DMA方式一般用于高速地传送成组的数据。DMA控制器将向内存发出地址和控制信号、修改地址、对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。 DMA方式的主要优点是速度快。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,也不像中断方式那样,要进行保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数等,也不是由软件实现,而是用硬件线路直接实现的。所以 DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。正因为如此,DMA方式在包括微型机在内的计算机中被广泛采用。DMA方式的缺点是硬件线路比较复杂。 (2)DMA的种类很多,但各种DMA至少能执行以下一些基本操作: ①从外部设备发出DMA请求。 ②CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制。 ③由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行数据传送的操作。 ④向CPU报告DMA操作的结束。 (3)DMA控制器的基本组成及各部件功能c ①内存地址计数器 用于存放内存中要交换的数据地址。在DMA传送前,需通过程序将数据在内存中的起始位置 (首地址)送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。 ②字计数器 用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1”,当计数器溢出,即最高位,产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发出中断信号。 ③数据缓冲寄存器 用于暂存每次传送的数据(一个字).当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备, ④“DMA请求”标志 每当设备准备好一个数据字后给出一个控制信号,使“DMA请求”标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA请求”标志复位,为交换下一个字做好准备。 ⑤“控制/状态”逻辑 由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型 (输入输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。 ⑥中断机 当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。这里的中断与前面介绍的I/O中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是I/O系统中不同的中断事件。

解析
转载请注明原文地址:https://jikaoti.com/ti/FGE7FFFM
0

最新回复(0)