软考程序员资料DMA控制方式例题分析

程序员 责任编辑:lin7763438 2013-11-26

添加老师微信

备考咨询

加我微信

摘要:为什么要设S"存储器直接访问"方式传送数据?说明DMA工作原理。 解:程序中断一定程度上解决CPU与外设、外设与外设并行工作问题,但每传送一 个数据,CPU都要响应一次中断,进入一次中断服务程序,服务前要保存CPU现场, 服务后要恢复CPU现场,这都是用程序实现的。往往需要花几十条指令,花费不少时间。 在外设增加时,中断服务将花费大蛩CPU时间,使CPU效率降低。

(1)DMA控制方式例题分析

【例1-111】为什么要设S"存储器直接访问"方式传送数据?说明DMA工作原理。 解:程序中断一定程度上解决CPU与外设、外设与外设并行工作问题,但每传送一 个数据,CPU都要响应一次中断,进入一次中断服务程序,服务前要保存CPU现场, 服务后要恢复CPU现场,这都是用程序实现的。往往需要花几十条指令,花费不少时间。 在外设增加时,中断服务将花费大蛩CPU时间,使CPU效率降低。

另外髙速外设如磁盘、磁带,若采用中断方式传送数据,传送一个数据所需时间太 长,可能会丢失数据。因此要求提供一种速度更快的数据传送方式。

中断方式耗费时间圾多的是保存CPU现场和恢复CPU现场。因为执行中断处理程 序时要使用CPU就会改变原来CPU的状况,而中断处理完毕又要返回原来的程序断点, 继续执行原来的程序,又要恢S到原来的CPU的状况,因之产生了保存和恢复现场的要 求。这都是通过读写主存的指令实现的。

缩短中断服务的时间,最好是不破坏CPU现场,也就不骷要保存现场和恢复现场的 工作。只要执行程序就要使用CPU,就避免不了这个问题。如果传送数据不使用CPU, 就可简化这些步骤。

DMA方式是"直接存储器访问"方式的简称,S思是以这种方式传送数据时是直 接访问存储器来完成的,不经过CPU,因此省去了保存和恢复现场问题。

访问存储器本来是由CPU执行访存指令实现的,现在不使用CPU怎么访存?这就 要求专门构造一个DMA控制器,代替CPU执行访存功能,因此DMA控制器包括提供 访存地址的地址寄存器,包括提供读写内存的命令,有的还包括交换数据的缓冲寄存器。 这些都是用硬件实现的,就相当CPU访存时使用一个访存周期就可完成访存工作,DMA 方式访存时,使用一个DMA周期就可交换一个数据,速度很快,另外读盘读带都是一 次交换一批数据,DMA也可完成交换一批数据的要求,在DMA控制器中设S-个交换 字数计数器,每交换一个数,字数-1,而地址+1,即可将下_个数写入到内存下一个 地址中,直到字数计数器为0停止,

  返回目录:程序员考试辅导第一章:计算机系统基础知识

编辑推荐:2013年软考程序员理论知识汇总

 2013年软考程序员常考知识点锦集

 软考程序员专用复习资料

2013年上半年软考指定教材

2013下半年软考培训:在线辅导 面授班


更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!