《程序是怎样跑起来的》第十一章“硬件控制方法”
在读完“硬件控制方法”这一章节后,我了解到了硬件的重要性和其重要作用。在用C语言等高级编程语言开发的Windows应用中,大家很少能接触到直接控制硬件的指令。这是因为硬件的控制是由Windows 全权负责的。Window控制硬件时借助的是输入输出指令。其中具有代表性的两个输入输出指令就是IN和OUT。这些指令也是汇编语言的助记符。中断处理在硬件控制中担当着重要角色。因为如果没有中断处理,就有可能出现处理无法顺畅进行的情况。 DMA是指在不通过CPU的情况下,外围设备直接和主内存进行数据传送。磁盘等都用到了这个DMA机制。
通过利用DMA, 大量数据就可以在短时间内转送到主内存。 之所以这么快速, 是因为CPU作为中介的时间被节省了。不管程序内容是什么, 最终都是数据的输入输出和运算。本章介绍的开启和停止蜂鸣器的程序, 就是一个很好的例子。 而无论是计算机还是程序,其实都很简单 。