基于RISC-V实现高可靠性能:为何架构、微架构与编译器必须协同工作

嵌入式系统 时间:2026-03-26来源:

致力于聚焦RISC-V架构对嵌入式和物联网系统日益凸显的重要性。我们专访了现任 TASKING 公司研发总监杰拉德温克。该公司专为高安全关键型嵌入式系统研发专业的编译、调试和测试工具,为汽车、航空航天、工业及机器人领域提供端到端的可认证工具链。杰拉德温克的将结合架构级安全机制、微架构优化与先进编译器技术,为搭建安全、可靠、高性能的 RISC-V 系统提供实操思路。

1774489224589454.png

Q:如今,市场对兼具高算力、实时性与功能安全的高端嵌入式系统需求持续攀升,背后原因是什么?RISC-V 又能在其中发挥怎样的作用?

杰拉德温克:多重行业趋势的叠加推动了这一需求增长。汽车领域向软件定义汽车和自动驾驶转型,需要中心化计算平台实时处理海量数据流,同时满足汽车安全完整性等级 D 级(ASIL-D)的要求。工业机器人领域也呈现类似趋势,协作机器人需在指定安全完整性等级下实现传感器数据的实时融合;航空航天领域的自主系统,则对高吞吐率的安全计算提出了需求。

RISC-V 凭借其模块化架构占据天然优势,半导体行业可基于该架构打造异构片上系统(SoC),将高性能计算核心、确定性实时核心与安全认证锁步核心相结合,根据应用场景定制化设计,而非受限于固定的专有架构。

对于工具供应商而言,这意味着开发环境需在单一项目中支持全流程研发:既要实现编译优化、最坏情况执行时间(WCET)分析,也要提供符合安全标准的工作流,且所有研发工作均面向同一片芯片上的不同 RISC-V 核心。

Q:RISC-V 架构本身具备哪些安全机制?哪些安全机制需要开发者在系统层面额外搭建?

杰拉德温克:RISC-V 在架构层面提供了多项安全机制:通过硬件强制的特权模式实现软件层间的隔离;无需内存管理单元(MMU),即可通过物理内存保护(PMP)实现硬件强制的空间分区;同时定义了清晰的陷阱与异常模型,支持确定性的故障上报。

但 RISC-V 刻意将诸多高安全关键型设计交由具体实现环节完成。锁步执行、存储器和寄存器的椭圆曲线加密(ECC)、看门狗定时器、时钟与电压监控,以及确定性的时序表现,均由半导体厂商在微架构或平台设计阶段决定。软件开发人员则需在顶层增设软件级安全机制,例如运行时自测试、控制流监控、数据完整性校验、栈溢出检测,以及合理的物理内存保护配置,以此满足《道路车辆功能安全》(ISO 26262)、《电气 / 电子 / 可编程电子安全相关系统的功能安全》(IEC 61508)等标准的要求。

作为工具供应商,我们正致力于填补这一空白:公司研发的编译器、链接器和调试器,可生成符合安全架构要求、可预测且可追溯的代码,支持针对特定 RISC-V 实现的最坏情况执行时间分析,且自身均通过了相关安全标准认证,可直接应用于合规的开发流程。

Q:高安全关键型的 RISC-V 设计,与基于专有指令集架构(ISA)的设计相比,最显著的差异是什么?

杰拉德温克:第一大差异是透明性。专有指令集架构如同 “黑箱”,可能出现未公开的底层行为;而 RISC-V 的开放式规范支持全面的检查与验证。但需注意,这一透明性仅适用于 RISC-V 的规范本身,其具体硬件实现仍属于黑箱范畴。

第二大差异是架构灵活性。RISC-V 允许实现者仅集成所需的扩展指令集,减少验证面。但这一特性也导致了架构碎片化,不同厂商的实现配置各不相同,要求工具能对这种差异性进行抽象处理,也因此给工具开发带来了更大负担。

最后一大差异是认证成熟度。专有处理器拥有数十年的实际应用经验,而 RISC-V 的硬件实现尚处于发展阶段。经认证的开发工具可提供标准化的认证基础设施,降低企业采用 RISC-V 架构的风险。

Q:在 RISC-V 架构下,同时实现功能安全与网络安全会面临哪些具体挑战?

杰拉德温克:功能安全与网络安全的设计目标存在本质差异,有时甚至相互冲突。功能安全要求系统表现出确定性、可预测的行为;而网络安全所需的防护措施,如地址空间随机化、加密运算等,往往会引入时序波动。在 RISC-V 架构中,物理内存保护机制可兼顾两者需求:既为功能安全提供空间分区,又能通过内存保护抵御恶意访问。但要让该机制同时满足两大需求,需进行细致的权衡分析,在混合关键度系统中尤为如此。

RISC-V 的开放式特性有助于提升网络安全的透明性,但其架构灵活性也导致了一个问题:加密扩展指令集、拟推出的 WorldGuard 隔离框架等与网络安全相关的特性,并非所有 RISC-V 实现都会集成,这使得网络安全的基础架构呈现碎片化。

对于开发工具而言,这要求编译器和链接器在支持功能安全目标(生成确定性代码、输出可进行最坏情况执行时间分析的程序)的同时,实现网络安全加固(如栈金丝雀保护、控制流完整性校验、边信道攻击防护),且确保两者互不干扰。

Q:你的演讲摘要中提到,指令融合是一项核心创新技术。能否解释一下,该技术如何在不影响确定性实时性的前提下提升系统性能?

杰拉德温克:指令融合技术允许处理器识别特定的指令序列,并将其作为单个组合操作执行。例如,将比较与分支指令、加载与自增指令融合,原本需要两个时钟周期完成的操作,融合后一个周期即可完成。该技术通过提升数据吞吐率实现性能提升,无需提高时钟频率,也无需引入投机执行 —— 而投机执行正是破坏时序确定性的主要因素之一,这一点对实时系统至关重要。

实时系统应用该技术的核心关键在于:指令融合是一项只加快、不减慢执行速度的性能优化手段;即便指令序列未被融合,仍能正常执行,只是耗时更长。这意味着在进行最坏情况执行时间分析时,可保守地假设未发生指令融合,以此保证安全认证所需的确定性最坏情况执行时间边界,而实际执行过程则能享受指令融合带来的速度提升。

从工具链角度来看,若编译器能适配处理器的指令融合规则,即可合理编排指令序列,最大化融合机会。这一设计能让系统性能接近架构更复杂的乱序执行核心,同时保留架构更简单的顺序执行流水线的时序可分析性。

Q:TASKING 的 RISC-V 编译器采用了哪些具体优化手段,以充分利用指令融合及新思科技(Synopsys)RISC-V 的其他特性?

杰拉德温克:TASKING 的 RISC-V 编译器为适配指令融合量身设计。与传统指令集架构不同,RISC-V 不会新增专门的 “融合操作码”,始终保持基础指令集的简洁性,将指令融合完全交由微架构实现。这意味着编译器需生成并保留特定指令模式,让新思科技 ARC-V 等硬件能对其进行融合处理。

相关优化贯穿编译器的四个处理阶段:指令选择阶段,利用 ARC-V 专属启发式算法,筛选出可融合的指令序列;指令调度阶段,将存在依赖关系的指令相邻排布,且该操作在寄存器分配前后均会执行,以生成并保留可融合模式;寄存器分配阶段,确保待融合指令的操作数不会与其他活跃区间产生冲突;融合感知窥孔优化阶段,在后续优化步骤完成后,修复或重新生成可融合的指令模式。

该工具链还实现了与链接器的深度联动,因为代码松弛优化可能会改变指令对齐方式,进而对取指单元的性能产生负面影响。TASKING 自研的 Viper 框架,为这种深度集成提供了技术支撑。

Q:是否有实操案例能证明,架构、微架构与编译器的协同设计能带来可量化的收益?

杰拉德温克:新思科技 ARC-V 核心与 TASKING 编译器的组合,就是一个典型的实操案例。ARC-V 的高级指令融合技术,能让单发射顺序执行的处理器流水线,通过融合不同功能单元的指令实现双发射执行,既无需新增指令,也不会破坏 RISC-V 的兼容性。结合 TASKING 编译器的融合感知代码生成能力,最终实现的系统性能接近双发射核心,而芯片面积和功耗预算则与简易的顺序执行流水线持平。

该技术已在英飞凌的汽车级 RISC-V 虚拟原型中得到实际应用,TASKING 编译器为该原型核心簇内的 RISC-V 微架构优化生成了高执行效率的代码。这三个层面的协同作用十分关键:RISC-V 提供可移植的指令集架构,ARC-V 以极低的硅片开销实现指令融合,而 TASKING 编译器则确保软件能充分挖掘这些硬件特性的潜力。

这一协同设计带来了可量化的收益:在不影响最坏情况执行时间可分析性和安全认证的前提下,让高安全关键型工作负载的性能得到显著提升。这种协同方案在满足功能安全约束的同时,缩小了与复杂架构之间的性能差距。

关键词: RISC-V 高可靠性能 架构 微架构 编译器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版