基础知识如何扎实都不为过
2013-07-23 19:05
127 查看
这几天team在讨论一个和DMA有关的问题. 有个同事因为负责的模块对实时性要求很高, 尽管他几乎完全工作在xenomai上,可一旦涉及到任何有可能长时间占用CPU的问题,他都会极其敏感. 任何有可能会打断它任务的操作他都会陪着相关的设计者从头分析一遍. 尽管DMA操作司空见惯, 也没人认为会对他的程序产生影响, 可出于严谨,大家还是一起简单review了一下DMA的过程.
看上去, 这几乎就跟读了一遍教科书差不多. 可分析到DMA操作发起后CPU会释放总线, 由IO设备占用总线将数据搬到DDR里, 问题出来了: 此时CPU是否还能到DDR里读写数据? 如果可以, CPU 不就又抢回了总线控制了, DMA怎么办? 如果不可以, CPU 的程序岂不是都不能被执行了? 一起讨论的几个人没有一个人能有一个清晰的解释的.
其实这是一个非常基础的问题, 百度一下DMA 方式就可以得到解释. 可在实际工作中, 尤其是毕对于毕业工作多年的人, 是不是应该时不时回头看看这些基础得觉得理所当然的知识呢
看上去, 这几乎就跟读了一遍教科书差不多. 可分析到DMA操作发起后CPU会释放总线, 由IO设备占用总线将数据搬到DDR里, 问题出来了: 此时CPU是否还能到DDR里读写数据? 如果可以, CPU 不就又抢回了总线控制了, DMA怎么办? 如果不可以, CPU 的程序岂不是都不能被执行了? 一起讨论的几个人没有一个人能有一个清晰的解释的.
其实这是一个非常基础的问题, 百度一下DMA 方式就可以得到解释. 可在实际工作中, 尤其是毕对于毕业工作多年的人, 是不是应该时不时回头看看这些基础得觉得理所当然的知识呢
相关文章推荐
- UML类图基础知识 类与类之间的关系简单介绍 类与类之间的关系如何用图形符号表示
- 如何做到招聘要求中的“要有扎实的Java基础”。
- [基础知识]在PeopleSoft中SMTP设置不生效如何查找问题
- Java基础知识强化之IO流笔记23:计算机是如何识别把两个字节拼接为中文(附加)
- PS 基础知识 .atn文件如何使用
- 一篇文章教会你,如何做到简历中要求的“要有扎实的Java基础
- 老男孩教育每日一题-第71天—基础命令知识:如何做一个linux版本的回收站
- 一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础
- Linux基础知识学习(三)----如何制作本地YUM
- PS 基础知识 .pat文件如何使用
- 【C#基础知识扫盲点】如何处理10万条并发数据
- Theano2.1.15-基础知识之theano如何处理shapre信息
- 如何动态获取VBA变量动态类型(VBA基础知识)
- 硬盘基础知识及如何从硬盘引导启动系统
- 如何激活win8 各种Win8基础知识汇总
- 零基础如何学习java及java语言的知识要点!
- 基础知识很扎实 - 但是面试就是做不出来, 怎么办?
- Cadence基础知识5(allegro中如何添加安装孔(注:在PCB图纸中添加) )
- XML基础知识学习一(如何使用XML?)
- 【端口】如何封闭端口 黑客基础知识之一