为什么显卡、声卡甚至鼠标键盘有驱动,而CPU、内存没有驱动?驱动程序又是什么?

中关村在线

为什么显卡、声卡甚至鼠标键盘有驱动,而CPU、内存没有驱动?驱动程序又是什么?这个问题需要深入到技术原理层面回答,为避免艰涩难懂,我尽量用类比的方法,有回答不准确的地方,请在评论区留言,但请勿无脑喷。

先来说电脑内部各软硬件的关系。

如果把电脑类比为一座处理信息的高科技工厂,CPU就是老板,内存就是秘书,显卡是设计师,声卡是唱歌的,鼠标、键盘相当于传达室搞收发的。

但电脑的世界和现实的工厂还是有很大的不同。

现实世界中,老板想的话,可以和任何一个员工联系、对话。但在电脑的世界里,老板(CPU)没法和收发人员(鼠标、键盘)直接联系,原因很简单:鼠标和键盘属于机电设备,CPU属于电子设备,道不同,语言不同,CPU只能看懂二进制代码,机电设备的动作语言,CPU是真的不懂。

这时候,就需要驱动程序上场了。

CPU在工厂总管操作系统的协调下,在驱动程序的支持下,知道收发人员是鼠标键盘显示器,收发快递(外部信息)就是它们了,设计师是显卡,画三角形啥的就找显卡,如此等等。

换句话说,驱动程序解决了硬件设备的“我是谁”、“我能干什么”等问题。

需要强调一点,在鼠标/键盘和CPU连接关系上,不是我们以为的插上就能用那么简单。键盘/鼠标等输入输出设备通过一个特定的控制器(控制器又称接口,常见的有HDMI、USB、雷电等),与连接CPU和内存的总线相连。

鼠标/键盘/显示器之所以不能与CPU和内存通过总线直接相连,除了不是同类设备外,主要原因是,这些外接设备的速度非常慢,必须要通过控制器(各种接口)来处理这种速度差异,否则会严重拖慢电脑运行速度。好比CPU和内存在高速公路奔跑,你直接让拖拉机(外接设备)上高速,结果不是翻车就是堵。

键盘电路示意图。每一个外设,无论键盘、鼠标,还是打印机、显示器,都有独立的微处理器,用来处理输入输出信号。

可以看出,在上述过程中,凡是涉及到执行指令的硬件,都必须在操作系统的协调和指挥下,运行相关驱动程序,硬件才能正常工作。正因为如此,驱动程序才被称为“硬件的灵魂”。

重点来了,鼠标、键盘、显卡、声卡等是硬件,离不开驱动程序,CPU、内存也是硬件,为什么就没有驱动程序呢?

实际上,严格来说,CPU、内存也有驱动程序,不过不是保存在硬盘中,而是保存在主板上,它有个耳熟能详的名称BIOS。实际上,在PC流行DIY的时代,有一段时间曾流行通过升级BIOS提升电脑性能的方法,包括支持新CPU(省下主板钱)、提升总线频率(CPU超频、内存超频)、开启CPU新的功能(包括英特尔CPU被屏蔽的超线程技术)等。

所以,CPU、内存也是有驱动程序的,不过形式有点特殊。

总结一下:

驱动程序是硬件的灵魂,没有它,电脑就是傻子,什么也做不了;

严格来说,电脑上所有硬件都有驱动程序,否则操作系统找不到这个硬件,也就无法协调和指挥它执行CPU的指令;

操作系统一般带有绝大部分硬件的驱动程序,但只能让硬件发挥基础功能,要发挥特色功能,就需要安装硬件厂家提供的驱动程序;

操作系统更新的一项重要内容,就是驱动程序的更新。

来自优质数码领域网友“灰歌讲故事”对为什么显卡、声卡甚至鼠标键盘有驱动,而CPU、内存没有驱动?驱动程序又是什么?的观点:

驱动是什么?只有了解了驱动你才能了解CPU和内存和驱动之间的关系,才能知道他们有没有驱动。但是可以告诉你的是内存和CPU是没有驱动的,从直观意义上来说就是你插好内存开机你没有发现右下角有出现正在更新新硬件吧,但是你安装个硬盘他就有,这是个肯定的回答。

驱动是什么?

首先我们的驱动其实就是个翻译官,驱动由谁来写,当然是硬件厂商了,你看你买的显卡、摄像头或者其他各种硬件是不是随机附赠一个光盘,这些驱动就是厂商根据自己的硬件特性编写的。那么操作系统是如何知道这是一个什么硬件?该如何操作?这个就是驱动要做的事情,驱动就是硬件和系统之间的一个翻译官,我们的操作系统有同一的API调用机制,厂商只要按照规定好的API来调用发送处理信号给驱动,然后由驱动程序去和硬件沟通。比如我们安装一个摄像头,你装好之后操作系统是不认识这个家伙的,只要打上驱动之后才能沟通,这个时候当你双击打开摄像头的时候,操作系统发送指令给驱动程序,驱动程序再发送指令给摄像头的硬件,然后硬件按照一定的指令顺序调节应硬件将相关信息传送回来,最终交还给系统,系统在经过一些列的处理最终呈现出想要实现的功能。

而我我们的内存和CPU的操作实际上都是包含在Intel的IA32手册中,微软提供最终的一份即可,主板上的CPU和内存最终是通过bios隐藏,然后通过统一的接口报送给操作系统,操作系统和CPU和内存之间并不需要中间的翻译员来单独翻译,因为微软和X86结构的CPU之间的通信在操作系统层面就已经完成了,相当于CPU和内存和操作系统之间讲的是同一种语言,操作系统可以直接给CPU发布指令进行相关计算输出,其实非要说驱动的话,那么操作系统就是内存和CPU的驱动了。

以上就是我对这道题的简单论述,至于再深的就涉及到底层硬件和BIOS之间的关系了,估计讲了很多人也不是很明白,应为即使是这个专业的人也需要很长时间才能搞明白。

免责声明:本文来自魔铁的世界,不代表浮光掠影知识网 - 专注有价值知识的生活内容平台的观点和立场,如有侵权请联系本平台处理。

相关阅读

    发表评论

    表情:
    评论列表(暂无评论,1708人围观)

    还没有评论,来说两句吧...

    取消
    微信二维码
    微信二维码
    支付宝二维码