软件是如何控制硬件的?

文章目录

    • 通过操作系统控制硬件
    • 中断机制
    • 文字及图片的显示机制

通过操作系统控制硬件

现象
在用 C 语言等高级编程语言开发的 Windows 应用中,大家很少能接触到直接控制硬件的指令。

结论
硬件的控制是由 Windows 全权负责的,Windows 提供了通过应用来间接控制硬件的方法。利用操作系统提供的系统调用功能就可以实现对硬件的控制。在 Windows 中,系统调用称为  API(Application Programming Interface,应用程序接口)

图:
软件是如何控制硬件的?_第1张图片

## 硬件通用术语

I/O 控制器:而各连接器的内部,都连接有用来交换计算机主机同外围设备之间电流特性的 IC。这 些 IC,统称为 I/O 控制器

端口:I/O 控制器中有用于临时保存输入输出数据的内存。这个内存就是 端口
端口(port)的字面意思是“港口”。由于端口就像是在计算机主机和外围设备之间进行货物(数据)装卸的港口,所以因此得名。

端口号:各端口之间通过端口号进行区分。端口号也称为 I/O 地址。

图:

软件是如何控制硬件的?_第2张图片

中断机制

定义:IRQ(Interrupt Request) 是用来暂停当前正在运行的程序,并跳转到其他程序运行的必要机制,称为中断处理

例子:
从中断处理开始到请求中断的程序(中断处理程序)运行结束之前,被中断的程序(主程序)的处理是停止的。这种情况就类似于在处理文档的过程中有电话打进来,电话就相当于中断处理。

假如没有中断功能的话,就必须等到文档处理完毕才可以接听电话。这样就太不方便了。

由此可见,中断处理有着很大的价值。就像接听完电话后返回到原来的文档作业一样,中断处理程序运行结束后,处理也会返回到主程序中继续

图:
软件是如何控制硬件的?_第3张图片

作用:使用中断机制来实现实时处理?(思维风暴)
举例
假如主程序正在调查是否有鼠标输入,这时如果发生了键盘输入的话,该如何处理呢?结果势必会导致键盘输入的文字无法实时地显示在显示器上。而通过使用中断,就可以实现实时显示了

文字及图片的显示机制

VRAM(Video RAM):显示器中显示的信息一直存储的内存。该内存称为  VRAM(Video RAM)

作用:在程序中,只要往 VRAM 中写入数据,该数据就会在显示器中显示出来

现阶段
显卡 等专用硬件中一般都配置有与主内存相
独立的 VRAM 和  GPU(Graphics Processing Unit,图形处理器,也称为图形芯片)。这是因为,对经常需要描绘图形的 Windows 来说,数百兆的 VRAM 是必需的。而为了提升图形的描绘速度,有时还需要专用的图形处理器。但不管怎样,内存 VRAM 中存储的数据就是显示器上显示的信息,这一机制是不变的

软件是如何控制硬件的?_第4张图片

你可能感兴趣的:(※,计算机基础,操作系统)