计算机组成原理9----DMA

IO设备与主存信息传送控制方式  DMA方式

DMA方式  IO设备  通过DMA接口电路和主存直接通信

                                          

DMA和主存数据交换方式

由于DMA和cpu共享主存,可能出现主存争用情况,为了主存分时利用,可以采用以下方式

停止cpu访问主存

IO设备工作时,DMA向cpu发送停止信号,cpu放弃总线控制权,DMA控制总线进行数据传输,传输完毕,通知cpu,cpu重新获取总线控制权。

                        

控制简单

cpu处于不工作状态或者保持状态,为充分发挥cpu对于主存的利用率

适用于数据传输速率很高的IO设备实现成组数据传送

周期挪用

当IO设备发出DMA请求时,IO设备便挪用总线占用权一个或者几个主存周期

当IO设备窃取周期时,此时cpu如果不访存,则不冲突;如果cpu正在访存,待访存周期结束,cpu让出总线控制权;如果cpu和DMA同时访问,IO设备优先级较高,否则会丢失数据

                       

IO设备每挪用一个主存周期都要申请总线控制权,建立总线控制权和归还总线控制权

适用于IO设备读写周期大于主存周期情况

DMA和CPU交替访问

                        

将CPU工作周期分为C1,C2两个周期,C1 DMA访存  C2 CPU访存

不需要申请和建立,归还总线控制权

适用于CPU工作周期比主存存储周期长的情况

DMA接口功能和组成

DMA接口功能

向CPU申请DMA传送

处理总线控制权转交

管理系统总线 控制数据传送

确定数据传送首地址和长度  修正传送过程中数据地址和长度

DMA传送结束  给出操作完成信号

DMA接口组成

                                     

主存地址寄存器AR  存放主存中需要交换数据地址

字计数器WC  记录传送数据总字数

数据缓冲寄存器BR  暂存每次传输的数据

DMA控制逻辑 管理DMA传送过程

中断机构  字计数器溢出时,表示数据交换完毕,中断机构向CPU提出中断

设备地址寄存器DAR 存放IO设备的设备码

DMA工作过程

DMA数据传送过程分为预处理,数据传送和后处理

预处理

指明数据传输方向

向DAR中送入设备号,启动设备

向AR中送入交换数据起始地址

向WC中送入交换数据个数

数据传送

数据传送流程如下

                                                

以数据输出为例,将主存中一部分数据传输到IO设备中

                    

BR中数据送入设备中,此时BR已空

设备向DMA发出请求DREQ

DMA向CPU申请总线控制权HRQ

CPU发回HLDA信号,表示允许将总线控制权交给DMA接口

将AR中主存地址送入地址线,并命令存储器读

通知设备已被授予一个DMA周期DACK,并为交换下一个字做准备

将数据总线内容送入BR 由BR将数据送入设备中

修改主存地址和字计数值

判断数据是否传输完毕,若传输完毕,则由WC溢出信号,中断机构向CPU提出中断

后处理

由中断服务程序完成以下:

校验送入主存数是否正确

是否继续用DMA

测试传送过程是否出错,如果出错,则转错误诊断和错误处理程序

DMA接口与系统总线连接方式

具有公共请求线的DMA接口

                              

独立的DMA请求

                                             

DMA接口类型

选择型

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

由预处理阶段设备地址寄存器决定选中哪个设备

适用于传输速率很高的设备

                               

多路型

物理上连接多个设备  逻辑上允许同时多个设备工作

各个设备通过字节交叉方式向DMA接口传送数据

适用于多个传输速率不高的设备

           

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值