论文部分内容阅读
可重构系统通常由可重构阵列和通用处理器两部分构成,在运行时程序中的计算密集型代码块在可重构阵列上执行,程序中的其余部分在通用处理器上执行,因而可重构系统兼有专用计算的高性能和通用计算的灵活性,是新型计算的一个重要发展方向。在设计一个可重构系统的过程中,往往涉及粒度、拓扑结构、内存系统和编程模型等诸多方面的平衡考量,这使得可重构系统的设计非常复杂,设计人员需要在设计进入RTL级之前寻找用于评估系统性能和探索架构的方法。解决这个问题,可以使用SytemC语言进行事务级建模(Transaction Level Modeling,TLM)。TLM是一种基于高抽象层次的快速建模方法,当目标系统十分复杂时,利用SystemC事务级模型,在体系架构阶段就可以对系统进行验证,加快仿真速度,缩短设计周期。本文设计了一款可重构通用浮点处理器(Reconfigurable General-purpose Floating-point Processor,RGFP),可用作多核系统的可重构运算节点以提供更高的算力支持。为了能够在设计早期对RGFP进行功能仿真和性能模拟,本文采用SystemC建模语言,基于事务级建模思想,对RGFP进行事务级建模。建模工作分为两个部分:一是搭建以通用处理器为核心的SoC系统平台;二是设计使用动态调度方案的可重构硬件子系统。首先,SoC系统平台的搭建包括RISC-V内核、总线、中断控制器以及外设适配接口的建模。本文的RISC-V内核实现了RV32IMAC指令集,SoC系统平台内各个模块之间的通信均符合TLM2.0规范;其次,在可重构硬件子系统设计部分,采用一维阵列的形式将各种浮点运算单元组织成可重构阵列,提出一种基于两级配置信息的动态调度方案,使用动态调度的方法将计算任务映射到可重构阵列。在建模工作完成之后,采用两种测试方案对RGFP进行测试:一是在SoC系统平台(TLM模型)和PULPino平台(RTL模型)上运行基准测试程序,通过对比仿真速度证明SystemC事务级模型在功能仿真和性能模拟方面的高效性。二是在可重构系统上运行多种浮点计算任务来验证RGFP的数据路径动态重构特性,并行计算能力以及算法适应能力。最后通过实验得出,可重构系统的事务级模型在仿真速度上相比于传统的RTL模型提高2~3个数量级,本文的可重构通用浮点处理器对浮点计算任务有良好的加速效果。