文档介绍:第6章 DMA技术
DMA传送的基本概念
DMA传送过程
a. 外设向DMA发出DREQ请求;
b. DMA向CPU发HRQ请求
I/O
DMAC
CPU
请求DREQ
①
请求HRQ
②
2. 响应阶段
c. CPU向DMA发总线保持回答信号:HLDA;
d. 状态: CPU让出总线,DMAC为主控者.
I/O
DMAC
CPU
请求DREQ
请求HRQ
①
②
DMACK
④
回答HLDA
(包括总线裁决)
③
3. 数据传送阶段
e. DMA向外设发回答信号:DMACK;
4. 传送结束阶段
f. DMAC脱离总线,CPU重新控制总线.
DMA传送方式
DMA操作类型
数据传送
数据校验
数据检索
2. DMA操作方式
单字节方式
连续方式
请求方式
DMA控制器
. DMAC在系统中的工作状态
主动态(主控器):
接管并取得总线控制权,取代CPU而成为系统的主控者。
被动态(受控器):
未取得总线控制时,受CPU的控制。
I/O
DMAC
RAM
CPU
①DREQ
②HRQ
③HLDA
④DACK
DMA
R/W
传送顺序
I/O
DMA
CPU
I/O
RAM
DMA
①DREQ
②HRQ
③HLDA
④DACK
R/W
由被动态
进入主动态
(总裁)
经总线裁决后认可,
进入总线保持状态,
CPU失去总线控制权
经判优及屏蔽处理后
8237A控制器的功能
8237-DMAC的特点:
:
(1)四个独立通道(可对4个I/O设备进行DMA服务)
(2)64KB寻址与计数能力
(3)
(4)有级联方式和多种操作模式
其引脚信号的功能,它们分为以下几类:
(1)I/O设备的请求信号
DREQ0-3,由I/O向DMA发出,DREQ0优先级最高。
(2)DMA回答I/O的信号
DACK0-3,由DMA回答I/O.
82C37A的外部引脚图
注意:
系统允许多个DREQ信号,同时有效,即可以几个I/O同时提出申请。但同一个时间,只能有一个DACK信号有效。
(3)总线请求和应答: HRQ和HLDA
(4)读写控制: IOR- IOW- MEMR- MEMW;
(5) 地址线:A0- A7
(6) 双向数据线:DB0-7,既是数据线,又是16位地址线的高8位。
8237A内部寄存器及编程(15个寄存器)
:
(1)通道寄存器(0,1,2,3)
读通道当前地址寄存器(16bit)
读通道当前字节计数器(16bit)
写通道基地址与当前地址寄存器(16)
写通道基字节计数器与当前字节计数器(16)
(2)共用寄存器:
工作方式寄存器
命令寄存器
状态寄存器
屏蔽寄存器