[论文解读] Enabling Heterogeneous, Multicore SoC Research with RISC-V and ESP
该论文将开源ESP SoC平台扩展为支持最多四个RISC-V CVA6核心的缓存一致性内存和Linux SMP启动,采用标准化的AXI协议和模块化缓存一致性扩展。结果是一个可扩展的、以加速器为中心的框架,支持在FPGA上快速原型化具有完整操作系统支持的异构多核SoC。
Heterogeneous, multicore SoC architectures are a critical component of today's computing landscape. However, supporting both increasing heterogeneity and multicore execution are significant design challenges. Meanwhile, the growing RISC-V and open-source hardware (OSH) movements have resulted in an increased number of open-source RISC-V processor implementations; however, there are fewer open source SoC design platforms that integrate these processor cores. We present modifications to ESP, an open-source SoC design platform, to enable multicore execution with the RISC-V CVA6 processor. Our implementation is modular and based on standardized interfaces. These properties simplify the integration of new cores. Our modifications enable RISC-V-based SoCs designed with ESP for FPGA to boot Linux SMP and execute multithreaded applications. Coupled with ESP's emphasis on accelerator-centric architectures, our contributions enable the seamless design of a wide range of heterogeneous, multicore SoCs.
研究动机与目标
- 在ESP开源SoC平台上实现RISC-V多核执行,以支持异构多核片上系统(SoC)研究。
- 解决将多个RISC-V核心集成到具有标准化接口的统一、可扩展SoC架构中的挑战。
- 扩展ESP对SPARC和单核RISC-V的支持,以实现多核RISC-V配置下的完整Linux SMP启动。
- 通过模块化、基于协议的设计,实现新AXI兼容处理器核心和加速器的无缝集成。
- 通过支持加速器为中心的SoC设计,实现RISC-V核心与异构IP模块之间的缓存一致性通信。
提出的方法
- 修改ESP的缓存层次结构,以支持RISC-V原子指令和多核操作下的L1缓存失效机制。
- 使用标准化的AXI总线协议和AXI一致性扩展(ACE),将RISC-V CVA6核心集成到ESP的基于模块的架构中。
- 设计了一个模块化、可重用的接口层,抽象核心特定行为,实现新AXI兼容核心的即插即用集成。
- 增强基于NoC的互连结构,以支持多个CVA6核心和共享L2缓存层次之间的缓存一致性通信。
- 通过确保所有核心之间缓存一致性、中断处理和内存管理兼容性,实现Linux SMP启动。
- 利用ESP已有的多种设计流程和加速器集成支持,保持系统级模块化和可扩展性。
实验结果
研究问题
- RQ1如何将开源SoC平台(如ESP)扩展以支持具有完整缓存一致性的多核RISC-V执行?
- RQ2在ESP基于模块的NoC架构中,为实现在多核RISC-V SoC上启动Linux SMP,需要哪些架构修改?
- RQ3是否可以使用标准化的AXI协议和一致性扩展,实现多核RISC-V核心的模块化集成,而无需与主机平台紧密耦合?
- RQ4CVA6核心的集成如何影响ESP中异构、加速器为中心的SoC设计的性能与可扩展性?
- RQ5在添加多核RISC-V支持的同时,ESP现有的以加速器为先的设计方法论能在多大程度上保持不变?
主要发现
- 修改后的ESP平台成功在FPGA上实例化的4核RISC-V CVA6 SoC上启动Linux SMP,证明了完整的操作系统级多核支持。
- 通过标准化的AXI和ACE协议实现了CVA6核心的集成,支持模块化和可重用的核心集成。
- 缓存一致性机制正确处理了多个核心之间的RISC-V原子指令和L1缓存失效。
- 该平台同时支持具有LCE的缓存一致性加速器和流式加速器,保持与ESP异构设计模型的完全兼容。
- 该解决方案实现了对复杂、异构、多核SoC的快速FPGA原型设计,且对新AXI兼容核心的重新配置需求极低。
- 所有修改均已包含在开源ESP发布版本中,确保研究社区长期可访问性和可扩展性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。