设备驱动程序位于系统的最底层,用于系统和设备的交互,其中的核心操作就是对数据读写,也就是说编写设备驱动程序就需要建立对数据读写的思路。
数据读写的方式就只有两种,CPU直接读写或者使用DMA,现在只要是用于大量数据读写的外设基本上都是交给设备本身完成的,设备本身一般都拥有DMA可以作为内存的master,也就是说上层通过驱动程序来控制外设进行数据的读写,但读写过程由外设来完成,这样就节约的CPU的时间,让它空出时间来做另外的事情,这样就需要一种机制来通知CPU什么时候数据传输完成了,completion作用正在与此。
这个过程当中会涉及到CPU开启外设数据传输、进入传输完成中断、中断当中通知CPU。
这样作毫无疑问会释放CPU,那么到底有多大的影响拉?
阅读(901) | 评论(0) | 转发(0) |