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工作原理:

  • 相关阅读:
    发布自己的包到Nuget上
    asp.net core 中的MD5加密
    asp.net core csrf
    KNN算法
    ios测试apk
    python多进程
    机顶盒 gettimeofday()获取毫秒溢出
    Kiggle:Digit Recognizer
    Kaggle:Titanic: Machine Learning from Disaster
    Python抓取微博评论
  • 原文地址:https://www.cnblogs.com/kenshine/p/14516705.html
Copyright © 2011-2022 走看看