[论文解读] Open Tiled Manycore System-on-Chip
OpTiMSoC 提出了一套开放、可扩展的软硬件堆栈,用于原型化网格状多核片上系统(SoC)平台,通过模块化的片上网络(LISNoC)、对多种目标平台(仿真、FPGA)的支持以及基于追踪的去中心化调试基础设施,使可扩展多核架构的研究成为可能。其主要贡献是一个统一的开源环境,可加速未来多核系统的原型设计与协同设计,支持多种内存模型、编程接口(MCAPI、MTAPI)以及运行时系统。
Manycore System-on-Chip include an increasing amount of processing elements and have become an important research topic for improvements of both hardware and software. While research can be conducted using system simulators, prototyping requires a variety of components and is very time consuming. With the Open Tiled Manycore System-on-Chip (OpTiMSoC) we aim at building such an environment for use in our and other research projects as prototyping platform. This paper describes the project goals and aspects of OpTiMSoC and summarizes the current status and ideas.
研究动机与目标
- 解决网格状多核片上系统(SoC)研究中缺乏通用、开放且可扩展的原型平台的问题。
- 通过提供从仿真到基于 FPGA 的仿真均涵盖的统一环境,实现软硬件协同设计。
- 在多种网格组织结构中,支持多种内存模型——分布式、分区全局内存和共享内存。
- 集成标准化的编程接口(MCAPI、MTAPI)和轻量级运行时系统,以支持可移植的应用程序开发。
- 开发一种可扩展、去中心化、基于追踪的调试基础设施,以支持复杂、多核、多时钟域系统中的可观测性。
提出的方法
- 构建一组可重用的硬件组件基础库,包括支持多种拓扑结构的、采用虚拟通道的分组交换、虫洞转发片上网络(LISNoC)。
- 以 OpenRISC 处理器作为基础处理单元,支持扩展以集成其他替代方案(如 LEON3),并集成内存、I/O 和网络适配器组件。
- 实现一种模块化、基于追踪的调试系统,其中每个组件(核心、路由器、内存)均包含一个收集带时间戳追踪数据的调试模块。
- 通过专用的 16 位缓冲调试片上网络(基于环形结构)将所有追踪数据路由至外部主机进行分析,该接口通过 liboptimsochost 抽象。
- 支持多种目标平台:使用 EDA 工具的 RTL 仿真、基于 Verilator 的 C++ 仿真,以及使用 ZTEX 1.15 板卡和 ModelSim 的 FPGA 仿真。
- 集成一个轻量级运行时系统,包含线程调度和虚拟内存管理,并提供 MCAPI 和 MTAPI 的基线实现,以支持标准化的通信和任务管理。
实验结果
研究问题
- RQ1如何设计一个统一的开源平台,以加速在仿真、仿真和 FPGA 部署中对网格状多核 SoC 的原型设计?
- RQ2在异构、多时钟域多核系统中,如何以最小性能影响实现有效的调试与可观测性?
- RQ3如何在一个可扩展的软硬件堆栈中高效支持多种内存组织模型——分布式、分区全局内存和共享内存?
- RQ4标准化 API 堆栈(MCAPI、MTAPI)在支持不同多核平台配置下的可移植、可移植并行编程中起到什么作用?
- RQ5如何架构一种模块化、去中心化、基于追踪的调试基础设施,以支持异构组件间追踪数据的交叉触发和时间相关性?
主要发现
- OpTiMSoC 成功提供了一个模块化、开源的网格状多核 SoC 原型设计基础,支持仿真、基于 Verilator 的 C++ 仿真以及基于 FPGA 的仿真。
- LISNoC 片上网络实现通过虫洞路由和虚拟通道,实现了可扩展、无死锁的通信,支持包括网格和环形在内的多种拓扑结构。
- 基于追踪的去中心化调试基础设施支持通过专用调试片上网络,实现 CPU 核心、片上网络路由器和内存模块之间追踪数据的交叉触发与时间相关性。
- 平台通过可配置的网络适配器设计,支持三种关键内存模型——分布式、分区全局内存和共享内存,支持写穿侦测,并计划未来支持写回缓存一致性。
- 已集成 MCAPI 和 MTAPI 的基线实现,支持嵌入式多核应用的可移植消息传递和任务管理。
- 运行时系统包含线程调度器和虚拟内存管理器,为移植微内核或完整操作系统奠定了基础,重点在于可读性和可维护性,而非周期级优化。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。