联想到昨晚BIOS群里,有三家公司同时贴出来招聘信息,红澄澄的接连三个广告红包,真是亮瞎人眼。什么时候,小众、稳定而神秘的BIOS圈变得这么缺人?每个上下游公司恨不得把员工劈成两半用,同时还想把手伸到别人的口袋里面。据统计,国内BIOS工程师不超过1000名,而这些工程师们此时正承受着项目经理和猎头的双重炮火,痛并快乐着。随着水涨船高的工资,工作时间也不断延长,就连UEFI业界以准时下班著称的Intel BIOS Team也不能幸免。看着自己不断变大的肚腩和朋友圈各种花式晒凌晨的太阳,我不禁发出了灵魂的拷问,发生了什么?这种日子什么是个头?
BIOS工作的本质
时间拨回今年年初,国内最大BIOS厂商百敖软件的董事长谢总,给我出了思考题:BIOS是个什么样的商业?我不假思索的脱口而出:“当然是个科技密集型企业”。谢总一笑,补充说:”BIOS除了是科技密集型企业,还是人力密集型企业。“
是啊,BIOS对熟练工程师需求相当大,与微软一份拷贝可以安装在地球上所有PC机器中不同,BIOS对硬件的改变相当敏感,硬件小变需要小改,大变需要大改。如果说微软是卖软件的拷贝的话,BIOS就是卖移植服务和基础软件授权费。为什么同是软件,差别就这么大呢?
一个简单的计算机组成框图
这是一个简化的计算机系统框图,我们的计算机系统可以粗粗看作由三部分组成,分别是硬件、BIOS固件和操作系统。微软的操作系统可以在所有的计算机上运行,这是因为BIOS抽象了硬件的不同,向上提供了统一的接口,这个接口就是UEFI标准了:
如此Windows和Linux可以用UEFI标准定义的接口,了解硬件的差异,而不需要为每个硬件改变做出修改,开发出来,卖一套和卖一亿套成本差异很小,扩展性极大,也就是我们说的Scale Out能力很大。而BIOS呢?
BIOS和硬件的操作界面是硬件寄存器,BIOS工程师需要根据各种Spec、原理图和功能需求,填写寄存器,最后抽象后向上汇报符合UEFI标准统一界面。比较坑爹的是,寄存器没有标准,张家李家不一样,就算是张家也每代都会改,原理图当然要随着改,于是BIOS也要不停的改,没完没了,无穷无尽,只为了让操作系统保持优雅,可以说BIOS干了产业链里面最脏最累的活。照理说,BIOS本来就是如此,为什么这两年忽然BIOS界人才奇缺呢?
主要有两个原因:I家的产品线混乱和国产CPU进入战国时代。Intel的制程问题让它已经进退失据,产品线彻底混乱,许多CPU乱哄哄重叠地一个个出来了,让整个产业链上所有厂家人力资源严重短缺;CPU寄存器设计不考虑延续性,每代都变,而且变化很大,让大量代码都需要重复开发。雪上加霜的是,国产CPU被美国政府刺激(感谢特没谱)后,开始加速发展,百花齐放,百家争鸣,进入了繁荣的春秋时代。从此BIOS工程师,不但需要支持Intel,AMD,还要支持其他国内国际的近十家CPU,和他们眼花缭乱的各种主板。你说,BIOS人能不缺吗?
下一代BIOS展望
据我估算,国内BIOS人才需要增长五成才能全部满足需求,这在短时间显然是不现实的。于是有些人开始另寻出路,国外大厂目光投入了LinuxBoot和CoreBoot,认为两者简单高效,启动速度快。实际上我并不认同,他们启动速度快,很大程度上是功能简单导致的,UEFI内核本身带来的延迟不超过5%。两者需要FSP提供芯片初始化,而FSP数千到上万个参数才是系统复杂的难点所在。两者相当于将BIOS的难度前移到芯片厂家去了,对BIOS工程师整体上需求不见得会减少。
如何才能降低BIOS开发难度呢?UEFI标准的诞生加速了Windows和Linux的发展也许可以给我们提供一些思路。现在操作系统和BIOS之间的接口标准化了,但BIOS和硬件接口却远远没有标准化,能不能把寄存器标准化?
因为各种CPU硬件设计的巨大差异,寄存器的标准化似乎不太现实。我们可以换一个思路,我们知道CPU里面有很多IP,除了内核之外,还有数个内存控制器,数个PCIe Root Complex,QPI总线控制器等等。过去它们大都是死IP,也就是没有自己的固件,需要BIOS这个最大的固件来一个个填寄存器,驱动它们运行。最近有自己固件的IP越来越多了,PCU就是一例,它自己有固件,可以按照逻辑来控制CPU的电源管理,它的接口是一组MailBox,通过发消息而不是直接操作寄存器的方式和BIOS协同工作。
如果CPU中每个大IP都有自己的固件,都暴露出一组MailBox作为接口,BIOS只作为居中协调人的角色来统筹启动流程,并汇报UEFI接口,这样整体系统就变成这样:
标准化的mailbox还可以带来很多别的好处:IP之间可以直接通信组成大IP;IP可以在正好进SOC之前进行充分测试,而不需要等待BIOS完成;模块化IP更好移植等等。
这个MailBox标准如果出现,它将极大的简化BIOS的软件架构,实际上,它才将是真正的固件标准,而不仅仅是BIOS固件标准了。
结语
新的BIOS标准在5年之内不会落地,BIOS工程师的短缺还需要通过大量培养新鲜血液来解决或者说是缓解。但不想当将军的士兵不是好士兵,不考虑5年后的工程师也不是好工程师。春雷阵阵,空气也潮湿了起来,谁敢说春雨不会即将来临呢?
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !