计算机cpu和外设的平等性--DMA简述

我一向认为计算机内部cpu没有什么特殊的,它和磁盘以及网卡一样,算是一种设备,它们共同连接于总线 上,同样拥有一定的智能,不过这个论点只是宏观上的,cpu的智能化要比别的外设更高一些,真的是这样吗?其实这真的是把cpu给惯坏了,另外它们虽然都 连接于总线,可是总线也是千差万别的,并不像理想中的那样连在一根线上,正是这些混杂又精细的特性让人们以为cpu是中心,而外设只是附属。
当你了解了DMA之后,你可能会有不同的想法,因为DMA控制器可以让外设直接访问内存,这样是不是外设更像cpu了啊,因为按照cpu中心论这种所谓的 常规,只有cpu才可以存取内存的,外设必须通过cpu才可以存取内存,其实任何设备不单单是cpu都可以存取内存,最最关键的就是争抢到访问内存的总 线。计算机一般的执行过程都是cpu从内存中取到要执行的指令,然后按照cpu内部的硬件逻辑进行执行,这包括指令队列,预取,分支预测等等机制,然后 cpu会将一些数据存到内存同时也可能从内存读取数据,好像内存就是专门为cpu服务的,而作为外设,它们只能被动的接受cpu从内存中读取然后发送过来 的指令,它们不能自己像cpu那样取指令甚至预取指令,然后它们上面有数据要读取的时候,必须中断cpu,然后通过cpu帮忙将数据读到内存中,cpu也 只能不厌其烦的帮外设传导数据。这种不平等性到底让谁受了益,cpu吗?cpu也和我们人这样争权夺利吗?它非要争夺主板的霸主吗?是的,它争到了,然后 我们看看这个官好不好当,cpu不能潜心做自己的事,不时地要被网卡,磁盘之类的和它本来要平等的外设打断或者要不时地帮它们从内存传输数据,这就是做主 子的代价,其实cpu很希望平等,这样架构也更和谐,可是人的本性--统治欲注入了计算机的设计中,最终导致了cpu中心论。按照朴实的设计思想,谁抢到 总线谁就可以走路,这也是很显然的,毕竟路在脚下,走路是正常的。争抢总线的时候也没有必要谁让着谁,谁抢到是谁的,再进一步,可是实现多车道并行不悖, 甚至双向多车道。按照朴实的设计,计算机系统就是几个机关一条路,机关之间互相合作为民服务,大路共享。内存就是一个仓库,谁都可以存取东西,只要处理好 冲突就可以,其实很简单,就是占路,保证同时只有一个机关的代理可以控制一条单向单车道的路,如果实现了双向多车道,那就必须在内存这个仓库内部实现并发 冲突处理了。幸运的是,这种模型已经存在了,就是DMA,外设可以直接存取内存而不需要cpu的帮忙,这样可以实现更加好的视频,音频效果,因为省去了 cpu这个二传手,效率总是会高些,另外设备可以直接对内存取指了,设置预取都可能,这样对显卡是很有好处的,显卡可以像cpu一样实现复杂的处理,其实 GPU在某些领域已经超越了cpu,GPU只是外设革命的开端而已,最终我相信,共和政体在计算机系统一定会成为现实。以前的外设的命令都是cpu发来 的,然后外设被动执行,这样外设可以执行的命令就会受到限制从而限制外设的功能和性能,比如虽然外设想这么或者那么干,需要两个命令的配合,可是cpu却 迟迟不给外设发送命令,外设想当的被动不自主,DMA实现以来外设可以自己取指了,这样外设就可以实现更为复杂的逻辑了,一个和DMA无关的例子就是 SISC的TCQ机制,它可以实现复杂的命令队列从而实现高效的磁盘低级调度,如果应用DMA特性,这个TCQ将会更加高效又简单的被使用。从朴实的角度 讲联系DMA的概念,cpu不过是一个DMA设备罢了,只不过当前的系统实现下,它总是很长时间的占用总线。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值