

多数人对电脑启动的认知,局限于“开机BIOS→系统内核→驱动加载→硬件就绪”的流程。但很少有人知道,在操作系统内核启动、任何系统程序加载之前,你的NVIDIA GPU就已经自主完成了一整套复杂的启动、校验与初始化流程。
我们常笼统提及的“GPU固件”,从来不是单一文件、单一程序,而是一套层层递进、严格校验的九层分层固件栈。其中前四层完全独立于操作系统运行,在内核苏醒前就已完成硬件自检、安全校验、显存清理等核心操作。从Turing架构到最新的Blackwell架构,这套九层架构一脉相承,同时历代架构的迭代升级,也让固件栈的核心模块悄然蜕变。
这九层架构遵循“接力启动、层层校验”的核心逻辑,上一层代码负责验证下一层的合法性,校验通过后移交硬件控制权,全程闭环可控,筑牢GPU运行的安全与稳定基础。

Boot ROM也被称作IFR(初始化只读固件),是GPU最底层、最核心的启动基石,代码直接固化在GPU硅芯片硬件中,无法修改、无法擦除、不可篡改,是整个GPU启动链路的绝对信任根。
设备上电瞬间,CPU内核尚未启动,所有系统服务处于休眠状态,Boot ROM会率先运行。它的核心作用只有一个:初始化基础硬件链路,加载并校验下一层vBIOS固件,为整个启动链路拉开序幕,从硬件根源杜绝恶意固件注入风险。
vBIOS是存储在显卡板载ROM中的固件程序,设备启动后会被自动映射到GPU的BAR0地址空间,供硬件底层读取调用。很多人误以为vBIOS是单一固件文件,实则它是一个复合型固件容器,内部封装了多个适配不同场景的镜像模块,核心包含PciAt、EFI GOP、FwSec三大组件,分别负责PCIe链路适配、UEFI图形输出、底层安全校验等基础功能。
作为衔接硬件固化代码与动态安全固件的中间层,vBIOS承担着承上启下的作用,是GPU脱离系统独立完成基础初始化的关键。
FWSEC内嵌于vBIOS之中,是GPU安全启动的核心模块,运行在GSP的Falcon微控制器的高强度安全模式下,拥有最高硬件权限。这里需要厘清一个常见误区:FWSEC并不运行在SEC2核心上,二者相互独立、分工明确。
它的核心工作涵盖三大核心场景:一是严格校验后续所有微代码(ucodes)的数字签名,确保固件无篡改、无恶意植入;二是初始化WPR2硬件保护区域,锁定关键内存空间,防止数据被非法读写;三是全面清理显存(VRAM)残留数据,清空上电前的冗余信息,为后续硬件运行提供干净的环境。
这一层是运行在NVIDIA自研“快速逻辑控制器”核心上的签名微代码,涵盖PMU电源管理、SEC2安全加密等核心子模块。所有微代码均经过官方加密签名,属于闭源专有指令集。
其核心作用是精细化管控GPU底层硬件,包括电源功耗调节、硬件安全加密、时钟频率初始化等,是保障GPU硬件稳定、安全运行的底层指令基础,全程在系统内核加载前执行完毕。
GSP是一颗基于RISC-V架构的专用核心,自Turing架构起正式上线,成为现代NVIDIA GPU的全局调度中枢,运行专属GSP-RM管理程序。
与前四层固化或板载固件不同,GSP固件不再写入硬件ROM,而是随显卡驱动发布,存放于系统磁盘的/lib/firmware目录中。它的核心职责是统筹调度GPU所有底层模块,接管硬件初始化、任务调度、异常处理等核心工作,让驱动无需直接操控硬件,大幅提升GPU运行效率与稳定性。
在Turing架构之前的Volta、Pascal架构中,尚无GSP核心,操作系统驱动需要直接对接GPU硬件,调度逻辑简单且效率较低,这也是新旧架构GPU底层运行逻辑的核心差异。
这一层的微代码运行在与第四层相同的微控制器上,是NVIDIA提供的第二条微代码更新通道。不同于出厂固化的底层微代码,该层微代码可随每一次显卡驱动更新迭代升级。
通过持续更新这部分指令集,官方无需修改硬件固件,就能优化GPU功耗控制、修复底层硬件漏洞、适配新的运算场景,是显卡“越更越稳、越更越强”的核心原因之一。
CUDA栈是衔接用户程序与GPU硬件的软件中间层,链路清晰且层级分明:libcudart(CUDA运行时库)→ libcuda.so(CUDA核心接口库)→ nvidia.ko(内核模块)。
值得关注的是该模块的开源特性差异:自2022年起,NVIDIA正式开源了nvidia.ko内核模块,让开发者可深度适配系统底层;但负责将上层API调用转化为GPU硬件指令的libcuda.so依旧闭源,保障核心硬件调度逻辑的安全性与专有性。
我们编写的CUDA程序,并不会直接在GPU上运行,需要经过三层编译转换:fatbin通用二进制文件→ cubin设备二进制文件→ SASS GPU原生指令。
这是一套极致精巧的嵌套结构,实现了“ELF文件嵌套ELF文件”的封装形式,既保障了代码的跨平台兼容性,又能精准适配GPU硬件指令集。而在最新的Blackwell架构中,这一层迎来重大升级:SASS原生指令不再存放于传统的.text代码段中,而是通过全新的Capsule Mercury机制二次封装,在程序加载阶段完成最终固化,进一步提升代码执行安全性。
SM(流多处理器)是GPU的核心运算单元,也是整套九层栈的最终落脚点。经过层层校验、转换、封装生成的SASS原生指令,最终会在这里完成并行计算、图形渲染、AI运算等所有工作,是GPU算力输出的核心硬件载体。
从Turing到Ada、再到Hopper、Blackwell,九层固件栈的整体骨架始终不变,但三处核心迭代,彻底改变了GPU的底层运行逻辑,也是新架构性能、安全性跃升的关键。
首先是调度中枢的诞生。Turing架构新增GSP RISC-V核心,终结了驱动直接操控硬件的时代,实现了硬件调度与系统驱动的解耦,让GPU底层调度更智能、高效。
其次是安全信任根的升级。在Ada及之前的架构中,安全启动的核心是SEC2核心的Booter ucode,由其负责启动GSP-RM;而Hopper、Blackwell架构新增了专用FSP RISC-V安全处理器,搭载独立ROM,构建了更独立、更严密的硬件安全启动链路,抗篡改、抗攻击能力大幅提升。
最后是用户代码封装机制革新。Blackwell架构新增Capsule Mercury封装机制,对SASS指令进行二次加密封装,在加载时完成最终校验固化,大幅提升了GPU程序的安全性与稳定性。
这套看似封闭、精密的NVIDIA GPU底层固件体系,并非完全黑盒。目前通过公开技术文档、开源内核代码、固件解析工具,普通开发者和技术爱好者可完整还原整套九层固件栈的运行逻辑。
九层架构中,有七层对应的二进制固件文件可被正常提取、哈希校验、反编译解析,这也让NVIDIA GPU的底层技术迭代更加透明,为开源适配、底层优化、安全漏洞排查提供了极大便利。
GPU从来不是等待系统调度的被动硬件,而是一台拥有独立启动体系、安全机制、调度逻辑的微型计算机。在内核启动前的数秒内,它已完成从硬件信任根校验、安全加固、显存初始化,到底层微代码加载的全流程。九层固件层层把关、层层校验,兼顾安全性、稳定性与可迭代性,而历代架构的细微迭代,持续挖掘着GPU硬件的极致潜力。