在C语言等高级编程语言开发的windows应用中,少能接触到直接控制硬件的指令。因为硬件由windows负责。
Windows提供了应用间接控制硬件的方法:利用操作系统提供的系统调节。
在windows中,系统调用称为API。各API就是应用调用的函数。这些函数的实体存储在DLL文件。
支撑硬件输入输出的IN指令和OUT指令
Windows·控制硬件借助的是输入输出指令。IN指令通过指定端口号的端口输入数据,并将其存储在CPU内部的寄存器中。OUT指令是把CPU寄存器中存储的数据,输出到指定端口号的端口。
计算机主机中,附带了用来连接显示器及键盘等外围设备的连接器。各连接器的内部,都连接有用来交换计算机主机同外围设备之间电流特性的IC。这些IC统称为I/O控制器
I/O控制器有用于临时保存输入输出数据的内存。这个内存称为端口。
各端口通过端口号区分 端口号也称I/O地址。
IRQ是中断请求的意思。 用来暂停当前正在运行的程序,并跳转到其他程序运行的必要机制。
该机制称为中断处理。
实施中断请求的是连接外围设备的I/O控制器,负责实施中断的是CPU,为了区分,外围设备的中断请求会使用不同于I/O端口的其他编号-中断编号。
多个外围设备进行中断请求时,CPU很为难,所以可以在I/O控制器和CPU中间加入名为中断控制器的IC进行缓冲。
由于外围设备有很多,因此需要按顺序调查,按顺序调查多个外围设备的状态称为轮询。
轮询堆几乎不产生中断的系统很合适。对计算机来说不适合,需要通过使用中断实现实时显示。
DMA指在不通过CPU的情况下,外围设备直接和主内存进行数据传送。
通过DMA,大量数据就可以短时间内传到主内存。
显示器的显示信息一直存储在