组成原理(八):DMA方式

学习重点

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

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

DMA:直接存储器访问(Direct Memory Access)
两种方式数据传送方式区别:

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

  1. 停止CPU访问主存

    • 优缺点:
      控制简单,但是没有充分发挥CPU对主存利用率
    • 示意图:
  2. 周期挪用(周期窃取)

    • 示意图1:

    • 示意图2:

    • CPU与DMA同时访问主存时:
      cpu将总线控制权让给DMA

  3. DMA与cpu交替访问:(不常用)
    将周期分为两段,一段专供CPU访问,一段专供DMA访问:

3.DMA接口功能

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

4.DMA接口组成

功能决定组成:

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

5.DMA工作过程

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

  1. 预处理

    • 通知DMA控制逻辑数据传送方向(输入/输出)
    • 设备地址—>DAR
    • 主存地址—>AR
    • 传送字数—>WC
  2. 数据传送过程
    流程图:

    输入:

    输出:

  3. 后处理:

    • 检验传送的数据是否正确
    • 检测传送过程是否正确(中断服务程序)
    • 是否继续使用DMA
  4. 整体流程图:

6.DMA与系统连接方式

  1. 链式:公共请求线

  2. 独立DMA请求:

7.DMA与中断比较

8.DMA接口类型

  1. 选择型

  2. 多路型

  3. 多路型DMA工作原理:

原文地址:https://www.cnblogs.com/kenshine/p/14516705.html