首页 > 最新动态 > 【RISC-V 论文解读】一种解耦的IOPMP架构:面向多主控SoC的、具有分布式桥接器的开源实现
最新动态
【RISC-V 论文解读】一种解耦的IOPMP架构:面向多主控SoC的、具有分布式桥接器的开源实现
2026-03-3115
图片
摘要:

本文提出了一种分布式输入输出物理内存保护(IOPMP,以下简称“IOPMP”)架构,其特点是采用了解耦的 IO bridge(IO 桥接器)与 checker (检查器)。该架构允许将 IO bridge 分布式放置以适应多主控SoC配置,同时共享一个集中式 checker,从而显著降低了面积开销。本设计基于7nm工艺实现,单个 IO bridge 所占面积小于1200 μm2。在 4KB 大包传输场景下,其性能开销低于0.2%。相关代码已合并至香山开源处理器(OpenXiangShan) Git 仓库,并作为开源硬件开放使用。


Github链接:https://github.com/OpenXiangShan/ChiselIOPMP/tree/master




一、研究背景与动机

安全特性是现代 SoC 的核心需求。IOPMP 通过对主设备发起的内存访问请求执行权限检查,实现了外设与内存间的安全隔离。然而,当前 IOPMP 生态仍不完善:现有 IOPMP 的定义与研究大多聚焦于核心 checker 组件,很少关注 IO bridge 及其在 SoC 微架构中的集成。少数已有的开源实现还存在面积效率与性能方面的局限,难以与商用闭源IP核竞争。

本研究在以下三个方向开展创新工作:

  1. 架构:将 checker 与 IO bridge 解耦,在各主设备至内存的通路上分布式部署 IO bridge,保障数据通路高带宽;通过共享单一checker节约硬件资源。
  2. 性能:基于AXI4 协议实现非阻塞 IO bridge,即使在并发、乱序和交织事务下也能实现高性能数据传输。
  3. 灵活可配置性:checker 与 IO bridge 的参数均可完全配置,允许调整表项大小和总线能力——例如:地址/数据宽度和未完成事务(outstanding)
  4. 深度

得益于解耦架构,系统可无缝切换不同 checker 工作模式。本文提出一套完整、高性能、灵活可配置的开源IOPMP 解决方案,基于 Chisel 实现并已合入香山开源处理器项目(OpenXiangShan)中。

经工业级综合与验证工具评估,实现了在 7nm 工艺下,单个 IO bridge 面积小于 1200 μm2,4KB 数据包负载下性能开销低于 0.2%。通过提供经过验证、可量产的参考设计,本研究旨在加速 RISC-V 在安全关键型应用中的落地,助力社区基于开源硬件构建可信系统。

二、解耦型 IOPMP 架构



架构总览


本设计支持的核心特性如下:

  • 解耦的 checker与 IO bridge

  • 分布式 IO bridge

  • 三模式 checker

  • 一对一 AXI4 协议 IO bridge

  • 可配置的 srcmd、mdfcg 和 Entry 表大小

  • 可配置的 IO bridge 中未完成事务数量

  • lO bridge 采用“one signal per slave”方案


本文提出解耦型 IOPMP 架构,其中,checker 与 IO bridge 独立设计,通过简易的有效 - 就绪(valid-ready)握手接口连接。该解耦设计支持基于不同微架构灵活集成 checker 与 IO bridge,便于 IO bridge 在芯片内分布式部署,优化片上资源利用。


通过集中部署 checker、分布式部署 IO bridge,可高效利用 checker 的查找带宽,同时释放 IO bridge 的数据通路带宽。该方案在保障高传输效率的同时减小芯片面积。AXI4 总线的辅助(控制)通道与数据通道存在显著带宽差异,本设计利用该差异,从多个 bridge 提取辅助通道元数据并送入集中式 checker 完成权限校验,提升 checker 利用率。

三、实现



在本节中,我们将更详细地介绍分布式 IO bridge、三模式 checker 及其性能和面积分析。



(1)分布式 IO bridge



本设计采用非一致性 AXI4 总线协议作为其接口,在读和写通道上独立配置了独立的 FIFO,每个 FIFO 支持可配置的未完成事务深度,以实现高性能数据传输。AXI4顺序性通过“one signal per slave”方案来维持。


本设计中的 bridge 严格遵循 1 对 1(一个主控对一个从设备)配置,不支持多对多配置。这种简化使其作为独立IP块更容易集成到各种 SoC 环境中。这样的配置避免了对现有 SoC 互连架构的干扰,并且对系统总线的数据带宽没有影响。




(2)三模式 checker


得益于解耦架构,本设计支持三种 checker 工作模式 —— 全功能模式(Full)、快速 K 模式(Rapid-K)、紧凑 K 模式(Compact-K),可在代码生成阶段灵活选择。同时支持 srcmd、mdcfg、entry 的可配置大小,及其他细粒度调优选项。


全功能模式下,checker 执行顺序查表,使用单比较器完成权限匹配;相比之下,Rapid-K、Compact-K 模式下,checker 同时例化 K 路比较器并行执行权限比较,提升查找效率。



(3)性能


以旁路模式为基线,我们测量了在 IOPMP 条目查找连续命中 10 次后的性能开销。测试在三种流量模式下进行:小数据包、随机大小数据包和 4 KB大数据包。结果如下表所示:

1 性能



(4)面积


基于 7 nm 工艺,两个主要模块的面积如下所示,其中 srcmd 表项为 32 个,mdfcg 表项为 31 个,entry 表项为 64 个,outstanding 深度为 8 

表2 面积




四、结论



本文提出一种新型解耦型IOPMP 架构,将检查逻辑与总线桥接器分离。本设计基于 Chisel 实现并集成至香山开源处理器项目(OpenXiangShan)中,验证了该方案可同时实现强安全能力(全功能模式)与高性能(< 0.2%开销),且大幅缩减面积(单个 IO bridge < 1200 μm2)。通过集中式 checker 与轻量化分布式bridge 结合,本研究为复杂 RISC-V 片上系统提供可扩展、高效率的 IOPMP 解决方案。

我们诚邀大家在香山开源处理器项目(OpenXiangShan)中探索本开源实现,并将其应用于各类安全关键型设计。




欢迎您关注开芯院公众号


·
图片


·





点我访问原文链接