学习重点
- DMA接口与中断接口比较
- DMA与主存交换数据三种方式
- 停止CPU访问主存
- 周期窃取(周期挪用)
- 交替访问
- DMA接口功能
- DMA接口组成
- DMA工作过程
- 预处理
- 传送过程
- 后处理
- DMA与主机连接方式
- 链式(公共请求线)
- 独立DMA请求
- DMA与中断比较
- DMA接口类型
- 选择型
- 多路型
1.DMA接口与中断接口比较
DMA:直接存储器访问(Direct Memory Access)
两种方式数据传送方式区别:
2.DMA和主存交换数据的三种方式
-
停止CPU访问主存
- 优缺点:
控制简单,但是没有充分发挥CPU对主存利用率 - 示意图:
- 优缺点:
-
周期挪用(周期窃取)
-
示意图1:
-
示意图2:
-
CPU与DMA同时访问主存时:
cpu将总线控制权让给DMA
-
-
DMA与cpu交替访问:(不常用)
将周期分为两段,一段专供CPU访问,一段专供DMA访问:
3.DMA接口功能
- 向cpu申请DMA传送
- 处理总线控制权的移交
- 管理系统总线,控制数据传送
- 确定数据传送的首地址和长度(AR,WC)
- DMA传送结束时,给出操作结束的信号
4.DMA接口组成
功能决定组成:
- AR:主存地址寄存器
- WC:字计数器,初始值为要传送的总字数,传送一个字-1,为0时(溢出)向中断端机构发送溢出信号
- DAR:设备地址寄存器
- BR:数据缓冲寄存器
- DMA控制逻辑:管理数据传送过程
- DREQ:申请DMA传送
- HRQ:向cpu申请DMA服务
- HLDA:cpu响应
- DACK:通知设备已被授予一个DMA周期
- 中断机构:
报告一批数据传送完毕
5.DMA工作过程
预处理—>数据传送—>后处理
-
预处理:
- 通知DMA控制逻辑数据传送方向(输入/输出)
- 设备地址—>DAR
- 主存地址—>AR
- 传送字数—>WC
-
数据传送过程:
流程图:
输入:
输出:
-
后处理:
- 检验传送的数据是否正确
- 检测传送过程是否正确(中断服务程序)
- 是否继续使用DMA
-
整体流程图:
6.DMA与系统连接方式
-
链式:公共请求线
-
独立DMA请求:
7.DMA与中断比较
8.DMA接口类型
-
选择型
-
多路型
-
多路型DMA工作原理: