1. Agilex SoC 概述
Agilex SoC 是 Intel 推出的异构计算平台,集成了 FPGA 架构、高性能 ARM Cortex-A53 处理器子系统以及专用安全与管理单元。本章从架构组成、核心安全组件 SDM 以及双镜像启动概念三个维度建立课程基础。
1.1 Agilex SoC 架构简介
Agilex SoC 采用多芯片封装(MCP)或单片式异构结构,主要包含以下三大子系统:
| 子系统 | 核心组件 | 主要职责 |
|---|---|---|
| FPGA 架构 | 自适应逻辑模块 (ALM)、DSP 块、M20K 内存、收发器 | 硬件加速、自定义逻辑、高速 I/O 协议处理 |
| HPS(硬核处理器系统) | 四核 ARM Cortex-A53、L2 缓存、DDR 控制器、外设接口 | 运行操作系统、控制面管理、应用软件执行 |
| SDM(安全设备管理器) | 专用安全微控制器、OTP、密钥存储、DMA 引擎 | 启动控制、安全认证、配置管理、生命周期管理 |
架构要点: SDM 是 Agilex SoC 的“信任根”与“启动大脑”,独立于 HPS 和 FPGA 逻辑运行,拥有自己的固件和专用硬件资源。
1.2 SDM(安全设备管理器)角色与功能
SDM 是 Agilex SoC 中最核心的安全与管理单元,其角色可概括为“启动主控 + 安全引擎 + 配置代理”。SDM 拥有独立的固件(SDM Firmware),在芯片上电后最先获得执行权。
核心功能清单
- 启动控制: 从配置源(QSPI Flash、SD卡、NAND、PCIe)读取配置数据,执行启动流程。
- 安全认证: 基于硬件信任根,对配置镜像进行签名验证、哈希校验、解密处理。
- 密钥管理: 管理 OTP 密钥、用户密钥、设备唯一密钥,支持密钥撤销与轮换。
- 配置管理: 将 FPGA 比特流加载到配置 RAM,初始化 HPS 复位序列。
- 生命周期管理: 控制芯片从“开放”到“安全锁定”等不同安全状态。
- 错误处理: 检测启动失败、镜像损坏、认证失败,触发回滚或安全锁定。
开发提示: SDM 固件由 Intel 提供闭源二进制,用户通过 SDM 命令接口(SDM Mailbox)与其交互,不可直接修改固件内部逻辑。
1.3 双镜像启动概念
双镜像启动(Dual Image Boot)是 Agilex SoC 实现安全启动与故障恢复的核心机制。系统在外部非易失存储器中维护两份独立的配置镜像:主镜像(Primary Image)和备份镜像(Backup Image)。
| 镜像角色 | 存储位置 | 启动优先级 | 典型用途 |
|---|---|---|---|
| 主镜像 | QSPI Flash 起始地址(如 0x000000) | 第一优先 | 正常产品固件,包含 FPGA 比特流 + HPS 软件 |
| 备份镜像 | QSPI Flash 偏移地址(如 0x02000000) | 主镜像失败时启用 | 安全恢复镜像、最小启动固件、回滚版本 |
双镜像启动流程遵循以下步骤:
- 上电复位: SDM 从默认启动源读取启动头(Boot Header)。
- 主镜像尝试: SDM 定位主镜像,执行签名验证与哈希校验。
- 条件分支:
- 若主镜像认证通过 → 加载并执行主镜像。
- 若主镜像认证失败、损坏或超时 → 自动切换到备份镜像。
- 备份镜像加载: SDM 从备份区域读取镜像,重复验证流程。
- 最终状态: 任一镜像成功则系统正常启动;双镜像均失败则进入安全错误状态。
安全注意事项: 双镜像启动不能替代安全启动(Secure Boot),而是安全启动流程中的一环。备份镜像必须同样经过签名和加密,否则攻击者可注入未授权固件绕过安全策略。
本章小结
- Agilex SoC 由 FPGA 架构、HPS 和 SDM 三大子系统构成,SDM 是安全与启动的核心。
- SDM 负责启动控制、安全认证、密钥管理、配置加载和生命周期管理。
- 双镜像启动通过主/备镜像机制实现故障恢复,SDM 自动检测镜像有效性并执行切换。