CPU的指令集太稳定了,为了保证兼容性,毕竟没人希望升级下CPU,之前的程序就不能用了。
intel当年搞的安腾处理器,就是因为软件兼容性原因,暴毙。
不过CPU也会经常增加些新的指令集,如果你的老软件编译时根本不知道这些指令集,也就不会使用到,比如AVX2这类,依然能运行,毕竟老的指令集还在,但是新的更强大的性能就发挥不了了。
从这个角度说,正确使用新的指令集,也算是一种“驱动“吧,只不过发生在编译器那里。
CPU也要驱动啊,CPU的驱动就是OS,OS是一种特殊的”驱动“,其特殊之处在于能够自举。任何OS都必须有这个特性,否则就不能被称为OS,只能叫做某种特定的可执行代码。驱动也是一种特定的,用于初始化和管理设备的代码,无论是GPU驱动还是所谓的CPU驱动,都是这样。
驱动和OS的最根本分界线就是自举,OS自己把自己”驱动“起来,自举过程有点类似一个人带根绳子去攀登悬崖,有两个大方案,其一是一步一个脚印方式,就是每爬一步,再头顶上打个钉子,把绳子挂上去,爬一级,再继续再上面打钉子,一步一步攀登;另一个方案是由简到繁,直接把绳子拴到悬崖顶上,没有直升机,悬崖上也没有接应的人,怎么办呢?扔石头,石头上绑一根很细的丝线很小的滑轮滑轮,把石头扔到悬崖顶,绕树几圈固定,用细丝线把粗线带上去,用粗线把细绳带上去,再用细绳把最后的粗绳带上去。这就是OS自举过程的通俗解释,能包含自举功能的”驱动“就是OS,没包含的,最多只能是驱动(可能还包括管理界面什么的)。
那么悬崖上最初固定丝线、石头的树是啥?那就是CPU的硬件设置基础,一般是只要CPU加电,首先就会跑到某个特定位置去执行,而这个特定位置放置着基础BIOS代码(保存在PC机主板的固态内存块里,要在生产主板时用特殊方法刷进去),这部分代码作为OS自举的锚定物,OS自举代码以靠BIOS的基础功能完成自举过程,最后把自身初始化好。
理论上,同样原理可以为GPU写个驱动,反向初始化CPU。但由于GPU的功能单一,GPU的”语言“功能太粗鄙,不但缺少名词,缺少功能,就是个弱智,因此为CPU写东西去初始化GPU,远比由GPU反向初始化CPU容易很多,但也并非没有特例,但一般也不是GPU,而是某些低功能的嵌入式小fgpa处理器或者小CPU处理器。一些大型服务器、甚至PC机自举过程就涉及到这个方案。由于大型服务器CPU及设备复杂,OS自举过程更麻烦,为了简化OS,让服务器CPU等重要部件可热更换,就需要有小型管理体系对大服务器、CPU进行管理,也就是在大服务器OS之下更底层的管理存在,具体来说就比较复杂了。总之,看这些问题在于视角,在于范围,在于定义,只有需求,并没有什么绝对的是,不是,要,不要。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有