您的位置:首页 > 理论基础

计算机组成原理输入输出系统5

2018-02-10 14:07 519 查看
DMA控制方式
程序中断方式交换数据时,还是有CPU的介入从而影响了整机的效率,而DMA方式则不需要CPU的介入,只需要CPU暂时让出总线的使用权(采用周期窃取时,占用一个存取周期),可提高整机的运行效率,特别适合速度快的设备(此类设备时间过长数据容易丢失)
使用DMA方式传送数据时,CPU可DMA接口电路可能出现争用内存(同一时刻只能被一方使用),为了有效分时使用内存,在交换数据时采用以下三种方法:
(1)停止CPU访问内存
由DMA接口向CPU发出停止信号,CPU交出总线使用权并停止工作,DMA接口接管总线使用权并开始传送数据,数据传送完毕后通知CPU传送完毕并交出总线使用权。缺点:DMA接口访问内存时,CPU处于不工作状态且数据的准备间隔大于一个存取周期(设备的速度跟不上内存的速度,可在DMA接口中设置缓冲来缓解),导致CPU对内存的利用率没有得到充分的发挥。
(2)周期挪用(周期窃取)
 当发出请求时,设备挪用或窃取总线使用权一个或几个存储周期。
 若发出请求时CPU正在访存,则等待存取周期结束CPU才能交出总线使用权。
 若设备与CPU同时访存,则设备优先CPU访存(设备容易丢失数据),在CPU访存指令中插入DMA请求并窃取一个或几个存取周期,CPU延迟一个或几个存取周期。
 该方式I/O设备每窃取一个存取周期都需要申请,建立和归还总线控制权会浪费时间,适合设备存取周期大于内存存取周期的情况。
(3)DMA接口和CPU交替访问内存
适合CPU周期(机器周期)大于内存存取周期的情况,因为在一个机器周期里有些时刻无需访存,在这些时间里可交由DMA接口访存。此方式总线的控制权是事先按时间分配好的,无需申请建立与归还,缺点是硬件逻辑更为复杂。
DMA接口的功能和组成

功能:
1 向CPU发出DMA请求
2 在CPU同意后,处理总线使用权的转交并在DMA期间管理总线,控制数据传送
3 确定数据传送的起始地址和数据长度,修正传送过程中的数据地址和数据长度
4 传送完成时,给出DMA操作完成信号
组成:
内存地址寄存器:存放内存中需要交换数据的地址,在传送前通过程序将数据在内存中的首地址送至该寄存器,传送过程中每交换一次数据将地址寄存器内容+1,直到一批数据传送完毕为止。
字计数器:纪录传送数据的总字数,当为0时,表示一批数据传送完毕(DMA传送已经开始),传送完毕后由DMA接口向CPU发出中断请求。
数据缓冲寄存器:字面意思,注意数据格式的转换。
DMA控制逻辑:管理传送过程,当设备准备就绪(设备已向接口中的数据寄存器传
a611
送玩数据),设备向DMA接口提出申请,再由DMA接口向CPU请求DMA服务,发出总线使用权的请求信号,当收到来自CPU的响应信号后,控制逻辑便负责管理传送的全过程,包括内存地址寄存器和字计数器的修改等。

中断机构:当字计数器为0时,表示数据传送完毕并发出"溢出信号"通过中断机构向CPU发出中断请求,由CPU作DMA传送的后续处理
设备地址寄存器:保存设备码或信息的地址(格式随设备的不同而不同)。
DMA工作过程
数据传送过程分为以下三个阶段:
(1) 预处理
CPU会在接口工作前为DMA接口预置如下信息:
为DMA控制逻辑指明方向为输入或者输出
向DMA内存地址寄存器中送入交换数据的内存起始地址
将设备号送至DMA接口中的设备地址寄存器
设置字计数器的个数
当设备准备好数据或者上次接受的数据处理完毕时可通过DMA接口向CPU提出总线申请
(2)数据传送
以输入为列,具体操作如下:
1.当设备准备好数据时,即数据缓冲寄存器“满”
2.同时设备向DMA控制逻辑提出总线申请
3.DMA控制逻辑向CPU提出总线请求
4.CPU发回信号,表示允许将总线控制权交由DMA接口
5.将内存地址寄存器中的内容送至地址总线并命令存储器写
6.通知设备已被授予一个DMA周期,并为下一个字做好准备
7.将数据寄存器中的内容送至相应的存储单元
8.修改内存地址和计数器
9.判断是否传送结束,若已结束则向CPU申请程序中断,标志数据块传送结束
(3)后处理
CPU响应中断停止原程序的执行转去执行中断服务程序,检验传送数据是否正确,传送过程是否发生错误等
DMA接口与系统的连接方式
公共请求线方式:DMA接口通过一组公共请求线向CPU请求总线控制权,CPU通过链式查询方式授予权限
独立请求方式:每个接口具有独立的请求线和响应线,CPU通过判别结构选择
与程序中断方式相比,DMA有如下特点:
中断方式通过程序传送数据,DMA方式通过硬件传送数据
中断方式是在一条指令执行结束时被CPU响应,而DMA方式可在指令周期内的任一存取周期结束时响应
中断方式有处理异常的能力DMA没有,DMA方式主要用于大批数据的传送
DMA方式优先级更高
DMA接口的类型
选择型DMA接口:硬件上一个DMA接口可连接多个设备,逻辑上只能连接一个设备,适合用于数据传输率很高的设备
多路型DMA接口:硬件上一个DMA接口可连接多个设备,逻辑上也能连接多个设备,设备通过字节交叉的方式通过DMA接口进行数据传送,适合同时为多个速度传输率不高的设备服务

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: