您的位置:首页 > 其它

基础知识如何扎实都不为过

2013-07-23 19:05 127 查看
    这几天team在讨论一个和DMA有关的问题. 有个同事因为负责的模块对实时性要求很高, 尽管他几乎完全工作在xenomai上,可一旦涉及到任何有可能长时间占用CPU的问题,他都会极其敏感.  任何有可能会打断它任务的操作他都会陪着相关的设计者从头分析一遍.  尽管DMA操作司空见惯, 也没人认为会对他的程序产生影响, 可出于严谨,大家还是一起简单review了一下DMA的过程.

    看上去, 这几乎就跟读了一遍教科书差不多. 可分析到DMA操作发起后CPU会释放总线, 由IO设备占用总线将数据搬到DDR里, 问题出来了: 此时CPU是否还能到DDR里读写数据? 如果可以, CPU 不就又抢回了总线控制了, DMA怎么办? 如果不可以, CPU 的程序岂不是都不能被执行了?  一起讨论的几个人没有一个人能有一个清晰的解释的.

  

    其实这是一个非常基础的问题, 百度一下DMA 方式就可以得到解释. 可在实际工作中, 尤其是毕对于毕业工作多年的人, 是不是应该时不时回头看看这些基础得觉得理所当然的知识呢

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