1 | DMA占用内存时CPU不可占用 |
1.DMA方式特点
1.DMA和程序中断两种方式的数据通路
可跳过CPU节省CPU。把CPU冲数据交换中解放出来
2.DMA与主存交换数据的三种方式
1.停止CPU访问主存
- 控制简单
- CPU处于不工作状态或者维持现状
- 为充分发挥CPU对主存的利用率
2.周期挪用(窃取)
- CPU访问时,DMA不可占用
- CPU未访问时,DMA可占用
- CPU和DMA同时申请时,占用分配给DMA(DMA连接都是高速I/O设备,不响应可能造成数据流失)
3.DMA,CPU交替使用
CPU工作周期C1,C2
C1分配给CPU
C2分配给DMA2.DMA接口的功能和组成
1.DMA接口的功能
- 向CPU申请DMA传送
- 处理总线控制权的转交
- 管理系统总线,控制数据传送
- 确定数据传送的首地址和长度,修改传送过程中的地址和长度
- DMA传送结束,给出操作完成的信号
2.DMA接口的组成
AR(地址寄存器):得知传输地址
WC(计数器):得知传输计数量(字数)
BR(数据缓冲器):外部数据缓存
DAR(设备地址寄存器):1.设备选择电路是使用,将设备地址保存。 2.对硬盘访问时,保存访问地址信息。
DREQ:device request设备请求
DACK:device acknoledge设备应答
设备对DMA设备逻辑控制发出DREQ,DMA设备逻辑控制对设备发出DACK。
DMA对总线发出使用信号(HRQ)。
总线对DMA发出应答信号(HLDA)。3.DMA的工作过程
1.DMA传送过程
- 预处理
- 数据传送
- 后处理
1.预处理
- 通知DMA控制逻辑的传送方向(输入输出)
- 设备地址——> DMA(DAR)
- 主存地址——> DMA(AR)
- 传送字数——> DMA(WC)
2.数据传送
输入
输出3.后处理
由中断服务程序完成 - 校验送入主存的数据是否正确
- 是否继续使用DMA
- 检验传送过程是否正确,错则转诊断程序
2.DMA接口和系统的连接方式
- 具有公共请求线的DMA请求
- 独立DMA请求
3.DAM方式和程序中断方式的比较
4.DMA接口的类型
1.选择型 2.多路型
1.选择性
物理上连接多个设备,逻辑上连接一个设备
传送过程中只能又一个设备使用接口。2.多路型
物理上连接多个设备,逻辑上连接多个设备
传送过程中只有一个设备与传输,但是可以有多个设备同时进行数据准备3.多路型DMA接口的工作原理
速度越高优先级越高