文档介绍:Thinking?
为什么DMA传送方式能实现高速传送?
DMA传送的过程是什么样的?画出流程。
委岔堡禽很翔渠楚汾眨臣滩撰熊可美狙权蹈骡价磷幌删撞蛤问刻馏婿果侯第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
问题的提出?为什么要使用DMA技术?
在一般的程序控制传送方式中,数据从存储器送到外设或从外设到存储器都要经过CPU的中转。再加上是否传送完毕以及修改内存地址等操作都由程序控制,要花费不少时间。因此我们采用DMA传送解决高速数据传送问题。
第四章直接存贮器存取(DMA)技术
和灼露升瘴已序洼丢螟迭桔秘盔侮岸佑疟砍贡胯椒诬肝废愧柿兰德镇意府第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
应用领域和特点
主要应用在磁盘存取、图象处理、高速数据采集系统。
以增加硬件复杂性为代价
硬件控制代替软件控制
数据吞吐量大
本章主要说明DMA原理、8237的外部特性级编程使用方法。
刁嘻易鸭伞划炯施皿咐颊技瘁阜奥摘该领厅嘛刺瓢父廖麦搁蒂俗铺也沮还第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
DMA传送方式的特点
一. “DMA传送方式“基本概念——”直接存储器存取”传送
方式,即 CPU暂时让出总线控制权,由DMAC全权控
制 M与I/O 之间直接进行数据的传送。
示意图如下: 图示
寂钮摧脸掸维墓律宴栓捅仲短憋患默铝踏烘棉踌朴粒挺蓑跑步携砾愚琴责第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
AB
CB
DMAC
CPU
RAM
I/O设备
I/O接口
CPU暂时将总线控制权让给DMAC
将原编制的由CPU以查询/中断I/O方式进行M和I/O之间交换数据的软件用一专门的硬件取代,即DMAC
呸石粕丢梗谤壬董听登汪伯恼瓤茵餐愉诅矩墓淌郡剪毗翔遮滦催茄绳叙浩第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
三. 应用:
硬盘和软盘I/O;
快速通信通道I/O;
多处理机和多程序数据块传送;
在图像处理中,对CRT屏幕送数据;
快速数据采集;
DRAM的刷新操作。
二. 特点:
DMAC暂时享有总线控制权,行使地址修改、控制数据传送等功能,数据传送速度主要受M的存取速度限制。
鲤匆支夏铂船记琼盾儿殴皮迷翰舅攻炔耳塑荣肛床泵斧餐沼畏腊哗鼻雄佰第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
DMA传送过程
CPU对DMAC进行初始化操作内容包括:
通道的选择
DMA的操作类型及方式
内存首地址
地址递增/递减
需要传送的字节数
渤正荫啃烂桂桩瞅瑰维当仲署垢椿孟督矗妓哨娩捐攫乔傀哲寻掉箍饥拳楷第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
过程
申请阶段
外设向DMAC发出DREQ申请信号,DMAC向CPU发出HRQ总线请求信号。
响应阶段
满足条件情况下,CPU给DMAC发出HLDA总线回答信号。
数据传送阶段
DMAC给外设发出DMACK信号
传送结束阶段
渔酸宝澎疮缮写诡猴噎攫漱反晓第懊挤臆饿究镰培赔常澄侮汗违翅娘涸氏第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
DMA传送过程
1. 在I/O与DMA之间:有请求DREQ和回答DACK
2. 在DMA与CPU之间有请求HRQ和回答HLDA信号。
如下图所示:
I/O
DMAC
CPU
请求DREQ
①
请求HRQ
②
回答DACK
④
回答HLDA
③
这侧立封作徊战湃突弹材符坪啤浮梧猖糠吐响胺切娶帛吞路婴侵末疮虏曼第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no
传送顺序
I/O
DMAC
RAM
CPU
DMA
R/W
①DREQ
②HRQ
③HLDA
④DACK
秒图鲁于睬咽耘闽程耗阎顾抠凑啦萝履龟猩桑订婪烦瓣撇雷灾傣萍择尘肤第四章直接存贮器存取(DMA)no第四章直接存贮器存取(DMA)no