计算机组成原理输入输出系统——DMA方式

DMA方式的特点

DMA和程序中断两种方式的数据通路

在这里插入图片描述

DMA与主存减缓数据的三种方式

停止CPU访问主存

总线的控制权,内存的访问权交给了DMA接口
优点:
控制简单
适合大量数据传送
缺点:
未充分发挥CPU对主存的利用
在这里插入图片描述

周期挪用(周期窃取)

DMA访问主存的三种情况:

  • CPU此时不访存
  • CPU正在访存
  • CPU与DMA同时请求访存,此时CPU将总线控制权交给DMA
    在这里插入图片描述

DMA与CPU交替访问

CPU工作周期:
C1:专供DMA访存
C2:专供CPU访存
特点:
不需要申请建立和归还总线的使用权
在这里插入图片描述

DMA接口的功能和组成

DMA接口功能

  1. CPU申请DMA传送
  2. 处理总线控制权的转交
  3. 管理系统总线,控制数传送
  4. 确认数据传送的首地址和长度,修正传送过程中的数据地址和长度
  5. DMA传送结束是,给出操作完成信号

DMA接口组成

AR:地址寄存器
WC:计数器
DAR:设备地址寄存器
BR:数据缓存器
HRQ:总线使用请求信号
HLDA:应答信号
DREQ:设备请求信号
DACK:控制信号
在这里插入图片描述

DMA的工作过程

DMA传送过程

预处理、数据传送、后处理

预处理

  1. 输入输出
  2. 设备地址—DMA的DAR(设备地址寄存器)
  3. 主存地址—DMA的AR(地址寄存器)
  4. 传送字数—DMA的WC(计数器)

DMA传送过程的示意

CPU
在这里插入图片描述
数据传送
在这里插入图片描述

数据传送过程(输入)

图片

在这里插入图片描述

  1. 设别向BR(数据缓冲器)送数据
  2. 设别向DMA控制逻辑发送DREQ(设备请求信号)
  3. DMA控制逻辑电路向总线发送HRQ(总线占用请求)
  4. CPU通过总线向DMA发送HLDA(应答信号)总线由DMA控制
  5. AR(地址寄存器)给出地址信号
  6. 设备发送控制信号
  7. BR(数据缓冲器)发送数据(通过数据线)给主存(AR+1、WC+1、判断是否溢出)
  8. 中断请求

数据输出过程

图片

在这里插入图片描述

  1. BR—设备(数据)
  2. 设备—DMA控制逻辑(请求信号)
  3. DMA控制逻辑—CPU(主存、总线控制权请求信号)
  4. CPU—DMA控制逻辑(应答信号)
  5. AR—主存(内存地址)
  6. DMA控制逻辑—设备(传送数据控制信号)
  7. 主存—BR(传送数据)
    注:通过总线;AR、WC设值并修改
  8. WC—中断机构(溢出信号)
  9. 中断机构—CPU(后处理信号)

后处理

  1. 校验送入主存的数据是否正确
  2. 是否继续使用DMA
  3. 传送传送过程是否正确,错误则转诊断程序
  4. 由中断服务程序完成

DMA接口与系统的连接方式

具有公共请求线的DMA

在这里插入图片描述

独立的DMA请求

在这里插入图片描述

DMA方式与程序中断方式的比较

程序中断方式DMA
数据传送程序硬件
相应时间指令执行结束存取周期结束
处理异常情况不能
中断请求传送数据后处理
优先级

DMA接口类型

选择型

物理上连接多个设备,逻辑上只允许连接一个设别

多路型

物理上连接多个设备,逻辑上连接多个设别,数据准备多个,数据传送一个;
在这里插入图片描述

多路型DMA接口的工作原理

在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值