DMA方式

1 .    DMA的基本概念

       直接内存访问(DMA),是一种完全由硬件执行IO交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和uO设备之间进行。DMA方式一-般用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。
DMA方式的主要优点是速度快。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。
内存地址修改、传送字个数的计数等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速1/0设备的要求,也有利于CPU效率的发挥。正因为如此,包括微型机在内,DMA方式在计算机中被广泛采用。
国前由于大规模集成电路工艺的发展,很多厂家直接生产大规模集成电路的DMA控制器、虽然 DMA控制器复杂程度差不多接近于CPu但使用起来非常万便。
 

2 .     DMA方式的特点

       DMA方式以响应随机请求的方式,实现主存与I/O设备间的快速数据传送。DMA方式并不影响CPU的程序执行状态,只要不存在访存冲突,CPU就可以继续执行自己的程序。但是DMA只能处理简单的数据传送,不能在传送数据的同时进行判断和计算。与查询方式相比,在DMA方式中CPU不必等待查询,可以执行自身的程序,而且吉接由硬件(DMA控制器)控制传输过程,CPU不必执行指令。与中断方式相比,DMA方式仅需占用系统总线,不切换程序,因而CPU可与DMA传送并行工作; DMA可以实现简单的数据传送,难以识别和处理复杂事态。
由于DMA传送开始的时间是随机的,但开始传送后需要进行连续批量的数据交换,因此DMA方式非常适合主存与高速IO设备间的简单数据传送。例如,以数据块为单位的磁盘读/写操作;以数据帧为单位的外部通信;以及大批量数据采集等场景。
DMA的种类很多,但多种DMA至少能执行以下一些基本操作。
(1)从外围设备发出DMA请求。
(2)CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制。
(3)由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行数据传送的操作。
(4)向CPU报告DMA操作的结束。
注意,在DMA方式中,一批数据 传送前的准备工作,以及传送结束后的处理工作,均由管理程序承担,而DMA控制器仅负责数据传送的工作。
 

3 .      DMA传送方式

(1)成组连续传送方式

(2)周期挪用方式

(3)透明DMA方式

DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序。那么DMA控制器与CPU怎样分时使用内存呢?根据每提出一次DMA请求,DMA控制器将占用多少个总线周期,可以将DMA传送分成以下几种方式:①成组连续传送方式(停止CPU访存);②周期挪用方式(单字传送方式,周期窃取方式);③透明DMA方式(DMA与CPU交替操作方式,总线周期分时方式)。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值