5

解决国产CPU产业链中,系统固件BIOS分裂严重的银弹:ByoCore 2.0

 3 years ago
source link: https://zhuanlan.zhihu.com/p/385010919
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

解决国产CPU产业链中,系统固件BIOS分裂严重的银弹:ByoCore 2.0

中央处理器 (CPU)话题下的优秀答主

一年多前,恰巧在新冠疫情爆发的前夕,我离开了Intel,投身国产固件产业。当时吸引我的一个主要的兴趣点,就在于这样能方便地了解国产CPU的进展和生态。一直以来,国产CPU到底怎么样一直众说纷纭,在Intel的技术框架里打转的我,也非常想要一探究竟。而加入系统固件公司,也就是我们通常说的BIOS公司,让这一目标成为了可能。我一直和朋友用一个不太恰当的比喻来说明BIOS产业的重要性:国产CPU和国外CPU是产业的上游,这个水池有几千亿的市场;国产整机厂商是整个产业链的下游,这个大湖有几万亿的市场;卡在中间的就是BIOS,由以百敖为主的国产固件厂商是这个市场的主体,这是个只有十亿左右的小水管。水管很小,但它起到上传下达的功能,必不可少。虽然这个水管也在迅速膨胀中,但还是形成了上下游的堰塞湖。在这个小水管中,我们既可以接触到产业链的上游——也就是各种国产国外CPU;我们也可以服务产业链的下游——各个整机厂商。在服务产业链上下游的工作中,我在不断思考一个问题:如何缓解这个堰塞湖?产业的痛点在哪里?

产业痛点,我们销售副总老高总结的十分到位,那就是三多一少。三多是CPU多、整机多和项目多;一少是人少,也就是工程师少。造成这种现状的根本原因是国产CPU的爆发。CPU,作为半导体产业皇冠上的明珠,它的重要性自不待言。它的国产化,这两年迎来了百年难遇的机遇期。国产CPU大佬:兆芯、海光、鲲鹏、飞腾和龙芯,加快了产品研发周期,在消费端和服务器市场上展开了激烈竞争。于此同时,更多的国内厂家也在跃跃欲试,正在或者计划推出更多的国产CPU。但众多的国产CPU选择带来了“甜蜜”的烦恼:大整机厂家需要支持所有主流CPU,包括国产CPU和非国产的CPU(如Intel、AMD等)。而让这些CPU可以工作的系统固件BIOS,代码组织形式、功能完全不同,割裂十分严重。这会造成成本上升、产品周期延长、质量管控风险升高。在某种程度上,也提高了国产化系统的成本,阻碍了国产化CPU的推广。那有什么解决方案呢?

ByoCore 2.0

在很多志同道合的小伙们的一起努力下,我可以十分骄傲的宣布,我们也许找到了一个解决不同架构CPU固件代码复用率太低的办法:ByoCore 2.0!我们先通过一个视频了解一下它是什么:

我们将所有支持所有CPU的代码统一到一个框架和平台下:

v2-f0e274461346e0f7ee96c28e11e3032e_720w.jpg

它有两个重要的“一”:唯一统一

1.唯一是指内核代码在所有CRB和业务平台中只有一份。这些代码支持所有平台和架构的CPU和业务。改动一个Bug,增加一个功能,别的平台也可以迅速得到好处,极大提高了代码的复用性。

2.统一是指所有架构CPU的平台代码结构、编译环境和使用体验统一。这样整机厂商在不同的架构之间切换,就不需要重新学习了,减少工作量。也减少从国外CPU切换成国产CPU的工作量,在某种程度上帮助国产替代。

代码构建也变得相当简单,通过一个叫做Manifest的清单来照方抓药,通过功能清单,在不同的代码仓库拖过来代码,来构建基础代码:

再在其上做一些移植工作就好了,我们管这种构建方式叫做“积木式开发”。

ByoCore 2.0还提供了一些新功能,一个比较有趣的功能是“百敖即时调试器”:

不需要额外硬件设备就可以开始调试固件,单步跟踪、dump寄存器等等。

为了保证公用代码后,各个平台不要相互影响,我们还把大型系统常用的CI/CD引入固件开发,借助卓易信息【688258】强大的云服务,来交叉验证各个平台,我们管这个叫做CaaS(CI as a Service),这个云服务,可以直接为芯片产业链服务。

同时还开发了自动测试框架,在真正的硬件上测试BIOS,我们管它叫做VaaS (Validation as a Service)。也可以为客户提供服务。

我们在6月28号进行了现场发布会,ByoCore 2.0受到广泛欢迎。

ByoCore 2.0刚刚诞生,后面还会持续增加功能,欢迎业界厂商提出宝贵的改善意见!

欢迎大家关注本专栏和用微信扫描下方二维码加入微信公众号"UEFIBlog",在那里有最新的文章。

用微信扫描二维码加入UEFIBlog公众号


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK