DMA传送方式为什么快

如题所述

外设与计算机内存之间的信息交换,可通过程序查询方式和中断方式进行。这两种方式都是在CPU的控制下,通过CPU执行指令来完成的。数据传送方向为外设→CPU→内存。这两种方式每传送一个字节都需要耗用较长时间。在程序查询方式时,CPU要反复测试外设状态,在外设未准备好时,CPU就处于等待状态,直到外设准备好,才进行数据传送。在中断方式下,每实现一次数据传送,CPU都要进行转入中断服务子程序、保护断点、保护现场、恢复现场、返回主程序等操作。显然对于高速的I/O设备以及大量数据交换的场合(如软、硬磁盘等),这两种传送方式就不能满足速度的要求了。对于这些高速外设,如果传送速度太慢,不仅降低传送效率,还会造成数据丢失,导致传送出错。 为此,提出了DMA(直接存储器存取)传输方式。这种传送方式是不经过CPU干预,直接在外设与内存储器之间进行数据传送的方式。实现DMA传送,需要一个专用硬件DMA控制器(DMAC),在DMA传送期间,CPU要让出对系统总线的控制权,交给DMA控制。总线在DMA的控制下,数据直接在存储器和外设之间传送,而不经过CPU干预,其传送速度大大提高,可接近于存储器的最快存取速度。这种传送方式适用于图像显示、磁盘存取、磁盘间数据传送和高速的数据采集等系统。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2020-02-12
由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传送字 个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。
DMA方式,Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作。
实现DMA传送的基本操作如下:
1、外设可通过DMA控制器向CPU发出DMA请求;
2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;
3、由DMA控制器发送存储器地址,并决定传送数据块的长度;
4、执行DMA传送;
5、DMA操作结束,并把总线控制权交还CPU。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网