聯想到昨晚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
-
Linux
+關注
關注
87文章
11338瀏覽量
210104 -
操作系統
+關注
關注
37文章
6876瀏覽量
123580 -
BIOS
+關注
關注
5文章
470瀏覽量
45844
發布評論請先 登錄
相關推薦
評論