December 27, 2024

BIOS 工程师日常工作是做什么的

2024年就业形势很不好,BIOS行业也陷入了低谷。尽管如此,BIOS工程师作为一个门槛相对比较高的职业,还是有不少人试图进入。于是,他们第一个问题就是“BIOS工程师日常工作是做什么的?”,作为一个BIOS资深业内人士,我最近经常被问到这个问题。今天统一回答一下,希望能给希望入行的读者描绘一副这个行业的总览图景,如果也能帮助即将踏入社会的准毕业生,那将是我的荣幸了。

总的来说,BIOS工程师是芯片产业中非常重要的角色,涉及的领域和职责从芯片原厂、独立BIOS供应商(IBV),到整机厂商都各不相同。为了更好地了解BIOS工程师的具体工作内容,我们可以从芯片产业的上游、中游和下游三个层次来分别探讨。这将有助于我们全面了解BIOS工程师在整个产业链中的作用。

上游:芯片原厂的BIOS工程师

在芯片产业的上游,如Intel、AMD等芯片原厂,主要是负责芯片设计和研发的公司。BIOS工程师在这里的工作,通常与芯片硬件的启动和基本功能的支持紧密相关。具体来说,他们需要确保新设计的芯片在硬件层面能够正常启动,各个设计功能能够正确初始化并运作正常,与操作系统顺利交互。此时,BIOS作为硬件与软件之间的桥梁,承担了关键的任务。

在英特尔、AMD等处理器制造商,BIOS工程师承担着最基础且最具挑战性的工作。他们需要深入理解最新的处理器架构,为全新的硅片设计启动和运行方案。这些工程师往往在处理器还处于设计阶段就开始参与(即硅前就参与),他们需要和处理器设计团队紧密配合,设计并实现新处理器的初始化流程。这包括了从上电复位序列到处理器内部各个功能模块的配置,从基本的时钟设置到复杂的电源管理方案,每一个细节都需要严密的设计和反复的验证。

在内存控制器方面,原厂BIOS工程师的工作更显复杂。现代处理器支持多种类型的内存,从传统的DDR到高速的LPDDR,每种内存都有其特定的初始化要求和时序参数。工程师们需要设计灵活的初始化方案,确保处理器能够适应不同的内存配置。这不仅需要考虑性能优化,还要兼顾稳定性和兼容性。为此,他们会开发各种测试程序和调试工具,用于验证内存控制器的工作状态和性能表现。

随着安全问题日益受到重视,原厂BIOS工程师还需要设计和实现各种安全机制。从最基本的安全启动到更高级的可信计算环境,从固件TPM、信任根到远程管理功能,都需要在底层固件中提供支持。这些安全特性的实现要求工程师们具备深厚的密码学知识和安全系统设计经验,同时还要考虑如何在确保安全的前提下维持系统的性能和可用性。

除了技术开发,芯片原厂BIOS工程师还承担着重要的生态系统支持工作。他们需要编写详细的技术文档,组织合作伙伴培训,解答各种技术咨询。这些工作对于确保整个产业链能够正确使用新产品至关重要。在新产品发布过程中,他们往往需要提供紧密的技术支持,帮助合作伙伴解决各种问题,确保产品能够顺利推向市场。当然,某些芯片厂家,这部分工作可能由客户支持部门完成,也就是客户支持部门也有部分BIOS职务,不承担开发,但面向客户解决问题,负责担当内外部沟通的桥梁。

除了文档,芯片原厂BIOS团队一般会输出一份叫做RC(Reference Code)的参考代码,给到下游,作为下游BIOS工程师的输入。这份代码里面包括了芯片的所有初始化代码(有部分二进制),也有部分简单的平台代码。这份代码一般运行在一种叫做CRB(Customer Reference Board)的给下游厂商参考的主板上的。

中游:BIOS独立供应商的BIOS工程师

BIOS独立供应商(IBV),如AMI、百敖软件等,处于芯片产业的中游。这些公司通常专注于开发和定制BIOS固件,以支持不同类型的硬件平台。与芯片原厂的BIOS工程师相比,这些BIOS工程师的工作内容更加多样化和灵活,因为他们的任务是为各种不同硬件平台提供BIOS支持,而不仅仅局限于单一芯片。

这里,工程师们的工作重点是将芯片原厂的参考代码转化为可以实际应用的产品。这需要他们具备出色的软件工程能力,能够设计模块化的代码架构,实现各种通用功能,同时保持足够的灵活性以适应不同客户的需求。这些工程师需要深入理解各种主板设计,熟悉各类外设控制器,能够快速响应客户的定制需求。

独立供应商的BIOS工程师面临着更大的技术范围。他们需要支持从入门级的嵌入式到高端服务器的各类平台,要处理各种特殊的硬件配置、千奇百怪的板卡和功能需求。这就要求他们必须建立完善的开发流程和测试体系,确保产品的质量和稳定性。同时,他们还需要开发各种配置工具和调试工具,这些工具不仅服务于自身的开发需求,也要提供给客户使用。

在标准化和认证方面,独立供应商的工程师承担着重要责任。他们需要确保产品符合UEFI论坛的各项规范,通过各种安全认证,满足不同市场的准入要求。这涉及大量的测试工作和文档编制,需要与各个认证机构保持良好的沟通和协作。

IBV的BIOS工程师,在RC的基础上,会生成一种叫做IBV CRB代码的中间产品。说它是产品,是指它们会包含所有真正面向市场的BIOS产品功能,而不仅仅像RC一样,重点在于芯片端。这个IBV的CRB产品,也一般可以运行在原厂的CRB单板上,并可以源码交付给下游厂家,作为下游厂家进一步加工的中间产品。

下游:整机厂商的BIOS工程师

在芯片产业的下游,整机厂商或者OEM/ODM负责将硬件组件集成成最终的产品,如台式机、笔记本电脑和服务器等。下游的BIOS工程师通常需要面对更多的实际应用需求,他们的工作涉及到在已有硬件平台上进行BIOS的优化、定制以及调试。

在这些整机厂商,BIOS工程师的工作更贴近最终用户。他们需要在BIOS供应商提供的基础上进行深度定制,实现品牌特色功能,优化用户体验。这包括设计友好的有特色的BIOS设置界面,实现特色的快速启动方案,开发各种实用的系统管理功能,等等。他们需要深入了解用户需求,平衡功能、性能和易用性。

整机厂商的BIOS工程师面临着最直接的市场反馈。他们需要快速响应用户反馈的各种问题,分析和解决各种兼容性问题,及时提供BIOS更新来解决发现的问题。这要求他们具备出色的问题分析能力和快速响应能力。同时,他们还需要参与产品的质量控制过程,设计和执行全面的测试计划,确保产品在各种使用场景下都能正常工作。

他们的输出就是最终产品中的BIOS固件了,也是产品的最终负责人,责任大,压力也大。也有部分整机厂商、OEM、ODM将这部分开发工作外包给中游IBV来完成,自己负责验收和产线的支撑工作。大的厂商也可能跳过中游IBV,直接从芯片原厂得到支持。

对比:适合的才是最好的

这三类BIOS工程师的工作虽然都围绕着计算机固件展开,但各有侧重和特点。芯片原厂的工程师更注重底层技术的开发和创新,他们的工作最具前瞻性,直接影响着整个行业的技术发展方向。他们需要最深厚的技术功底,但较少直接面对最终用户。IBV的工程师则处于承上启下的位置,他们需要既理解芯片原厂的技术,又要服务好整机厂商的需求。他们的工作最具综合性,需要平衡各方面的要求。而整机厂商的工程师最贴近市场,他们的工作最讲究实用性和可靠性,需要直接面对用户反馈,更加偏重解决实际问题。

在技能要求上,芯片原厂的工程师需要最专精的处理器架构知识和底层编程能力;IBV的工程师则需要更全面的平台知识和更强的开发能力;整机厂商的工程师则要求更强和更快的问题解决能力和产品优化能力。在工作方式上,原厂工程师更多参与长期的技术研发,IBV工程师主要进行平台开发和客户支持,而整机厂商的工程师则更多处理具体产品相关的任务。

简单的理解,芯片厂BIOS特色是精和专,IBV BIOS工程师特色是广,整机厂商是最后的甲方爸爸,他们工作最终落地成为产品,得到收入,反哺中游和上游。

随着计算技术的不断发展,这三类BIOS工程师的工作内容也在不断演变。安全性要求的提高、新硬件接口的出现、人工智能的应用,都在为他们带来新的挑战和机遇。但无论如何变化,他们作为连接硬件和软件的桥梁,在计算机产业中的重要地位都将持续存在。理解这些不同类型BIOS工程师的工作特点,对于想要进入这个领域的人来说,可以帮助他们更好地选择适合自己的择业方向。

0 comments:

VxWorks