目录

  • 学习重点
  • 1.DMA接口与中断接口比较
  • 2.DMA和主存交换数据的三种方式
  • 3.DMA接口功能
  • 4.DMA接口组成
  • 5.DMA工作过程
  • 6.DMA与系统连接方式
  • 7.DMA与中断比较
  • 8.DMA接口类型

学习重点

  • DMA接口与中断接口比较
  • DMA与主存交换数据三种方式
  • 停止CPU访问主存
  • 周期窃取(周期挪用)
  • 交替访问
  • DMA接口功能
  • DMA接口组成
  • DMA工作过程
  • 预处理
  • 传送过程
  • 后处理
  • DMA与主机连接方式
  • 链式(公共请求线)
  • 独立DMA请求
  • DMA与中断比较
  • DMA接口类型
  • 选择型
  • 多路型

1.DMA接口与中断接口比较

DMA:直接存储器访问(Direct Memory Access)

两种方式数据传送方式区别:

dma架构 DMA架构图_dma架构

2.DMA和主存交换数据的三种方式

  1. 停止CPU访问主存
  • 优缺点:
    控制简单,但是没有充分发挥CPU对主存利用率
  • 示意图:
  1. 周期挪用(周期窃取)
  • 示意图1:
  • dma架构 DMA架构图_组成原理_02

  • 示意图2:
  • dma架构 DMA架构图_dma架构_03

  • CPU与DMA同时访问主存时:
    cpu将总线控制权让给DMA
  1. DMA与cpu交替访问:(不常用)
  2. 将周期分为两段,一段专供CPU访问,一段专供DMA访问:
  3. dma架构 DMA架构图_主存_04

3.DMA接口功能

  1. 向cpu申请DMA传送
  2. 处理总线控制权的移交
  3. 管理系统总线,控制数据传送
  4. 确定数据传送的首地址和长度(AR,WC)
  5. DMA传送结束时,给出操作结束的信号

4.DMA接口组成

功能决定组成:

dma架构 DMA架构图_多路_05

  • AR:主存地址寄存器
  • WC:字计数器,初始值为要传送的总字数,传送一个字-1,为0时(溢出)向中断端机构发送溢出信号
  • DAR:设备地址寄存器
  • BR:数据缓冲寄存器
  • DMA控制逻辑:管理数据传送过程
  • DREQ:申请DMA传送
  • HRQ:向cpu申请DMA服务
  • HLDA:cpu响应
  • DACK:通知设备已被授予一个DMA周期
  • 中断机构:
    报告一批数据传送完毕

5.DMA工作过程

预处理—>数据传送—>后处理

  1. 预处理
  • 通知DMA控制逻辑数据传送方向(输入/输出)
  • 设备地址—>DAR
  • 主存地址—>AR
  • 传送字数—>WC
  1. 数据传送过程
  2. 流程图:
  3. dma架构 DMA架构图_多路_06

  4. 输入:
  5. dma架构 DMA架构图_多路_07

  6. 输出:
  7. dma架构 DMA架构图_组成原理_08

  8. 后处理:
  • 检验传送的数据是否正确
  • 检测传送过程是否正确(中断服务程序)
  • 是否继续使用DMA
  1. 整体流程图:
  2. dma架构 DMA架构图_主存_09

6.DMA与系统连接方式

  1. 链式:公共请求线
  2. dma架构 DMA架构图_dma架构_10

  3. 独立DMA请求:
  4. dma架构 DMA架构图_dma架构_11

7.DMA与中断比较

dma架构 DMA架构图_dma架构_12

8.DMA接口类型

  1. 选择型
  2. dma架构 DMA架构图_数据_13

  3. 多路型
  4. dma架构 DMA架构图_多路_14

  5. 多路型DMA工作原理:
  6. dma架构 DMA架构图_组成原理_15