zoukankan      html  css  js  c++  java
  • 组成原理(八):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工作原理:

  • 相关阅读:
    83. Remove Duplicates from Sorted List
    35. Search Insert Position
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    111. Minimum Depth of Binary Tree
    169. Majority Element
    171. Excel Sheet Column Number
    190. Reverse Bits
  • 原文地址:https://www.cnblogs.com/kenshine/p/14516705.html
Copyright © 2011-2022 走看看