8.4-DMA方式
DMA方式的基本原理
数据的传送不经过CPU,由DMA控制器实现内存和外设,外设和外设之间的直接快速传递
用于需要高速大批量数据传送系统中
DMA传输计算机系统构成
- DMA控制器作为主设备之一
总线上进行数据传输时候,能够获得总线控制权的称为主设备,在输入输出中前面的无条件方式,以及程序查询方式,或者中断方式中主设备只有一个CPU,也就是都是由CPU获得总线控制权,在DMA下面我们第一种做法是可以在里面增加DMA控制器,DMA控制器可以获得总线的控制权成为主设备,由于总线中至少有两台主设备,因此需要一个总线的总裁,在进行DMA传输时候,DMA控制器能够获得总线控制权,从而掌握总线完成输入输出,也就是完成数据在存储器和IO之间的数据搬运工作,即DMA成为主设备之一
- DMA控制器与IO接口集成
DMA同IO设备做在一起,这样IO设备成为主设备,因此DMA就可以获得总线控制权,就可以和存储器进行交换
- DMA控制器提供专门IO总线,DMA下接多个IO设备,DMA形成一个桥的形式
DMA控制器(DMAC)
DMA控制器两种工作状态
(1) 被动态(受控器):未取得总线控制权,受CPU控制因为DMA控制器它传输什么数据,从什么地方获取数据都必须要受CPU控制,这种状态下DMA控制器可以看作是一个外部设备
(2) 主动态(主控器):接管并取得总线控制权,取代CPU而成为系统的控制者,当受CPU控制是个设备是被动,当获取控制权变成主控设备
DMA传输步骤
DMA操作类型
DMA操作方式
第三种就是同步和异步的传输方式
DMA传输模式-停止CPU访问内存
优点:控制起来简单,适用于数据传输速率很高的设备进行组传输,内存带宽几乎被占满,CPU无法访问内存
缺点:DMA访问内存控制阶段,内存的能效没有充分发挥,相当一部分内存工作周期是空闲的。这是因为传送两个数据之间的时间间隔总是大于内存存储周期,即使告诉IO设备也是如此
请求传输模式-周期挪用
请求传输模式-DMA和CPU交替访存