Page 342 - 《软件学报》2021年第12期
P. 342

4006                                Journal of Software  软件学报 Vol.32, No.12, December 2021

         4.1.1    单处理器系统
             单处理器的设计通常要经过如下环节              [83] .
             (1)    指令集与微架构的设计与实现.
             (2)    体系研究与性能建模.
             (3)    高层次综合(high level synthesis,简称 HLS)或寄存器传输级(register transfer level,简称 RTL)实现.
             (4)    RTL 验证.
             (5)    关键速度相关部件(缓存、寄存器、算数逻辑单元)电路设计.
             (6)    逻辑综合.
             (7)    时序分析.
             (8)    物理设计,包括布局、布线、版图设计.
             (9)    检查 RTL、逻辑门层、晶体管层及物理层表示相符.
             (10)   检查信号完整性、芯片可制造性.
             在进行操作系统设计时,可以使用系统程序设计语言(system programming  language,简称 SPL)对系统功能
         模块进行描述和开发.SPL 包括专用 SPL 和通用 SPL 两类,前者针对特定平台,如面向 MCP 操作系统的 ESPOL
         语言  [84] ;后者提供跨平台的特性,如 C/C++     [85,86] 、Rust 语言 [87] .2019 年,Lin 等人 [88] 描述了一种在 RISC-V 架构中
         使用 Rust 流和框架的方法,该方法基于 LLVM 编译器基础设施,适用于带有 SIMD 向量扩展的 RISC-V 架构,降
         低了系统设计的学习成本.
             在指令集与处理器架构设计层面,需要根据实际功能需求,合理安排功能组件与相关资源.在这一环节,借
         助已有的处理器设计框架通常能起到事半功倍的作用.例如,2018 年,Zhang 等人                        [89] 提出了组合模块化设计
         (composable modular  design,简称 CMD)框架,用于无序处理器的设计;2019 年,Liu 等人       [90] 设计了行为级综合框
         架 ASSIST,可以根据对指令集的功能描述,协助生成一系列 RISC-V 处理器,满足不同微架构设计选择的需要;
         Tamimi 等人 [91] 则提出了一种 FPGA 软核处理器的可重构架构,用于实现基于 SRAM 的 FPGA 软核处理器.此外,
         当具体到特定硬件组件时:Huang 等人          [92] 为 RISC-V 处理器的设计提供了一套正式规范和高级抽象 ILA,侧重于
         加速器功能的设计;Balkind 等人       [93] 在 2020 年提出了支持 RISC-V ISA 的开源硬件框架 BYOC,提供了一个可扩
         展的缓存一致性系统.
             硬件描述语言(hardware description language,简称 HDL)是用于描述电子元件或数字逻辑电路的结构、行
         为、数据流向等信息的设计语言.处理器架构的设计方案经 HDL 描述后,形成对数字系统的分层模块表示,然后
         将进入电子设计自动化(electronic design automation,简称 EDA)工具逐层仿真验证、自动综合工具将模块组合
         转换为门级电路网表的过程,最后便可使用专用集成电路(application specific integrated circuit,简称 ASIC)或现
         场可编程门阵列(FPGA)的自动布线工具,将网表转换为具体的电路布线结构,交至硬件实现.根据第 3.1 节对各
         种处理器的统计,RISC-V 系统多采用 Chisel、Verilog、SystemVerilog、SpinalHDL    [94] 等作为其硬件描述语言.2018
         年,Taylor 还为 SystemVerilog 设计了一个可用于系统合成的标准模板库 BaseJump            [95] .在 16nm TSMC  Celerity
         SoC、511 核 RISC-V 处理器和 385M 晶体管条件下的实验结果表明,该设计能够将 80%的模块直接从 BaseJump
         STL 实例化,从而有效减少数字电路设计所需的时间,提升工作效率.SpinalHDL 是一种基于 Scala 的硬件描述语
         言,它兼容 EDA 工具、学习成本低、设计时不引入额外的面积或性能开销,在实践中被用于基于 RISC-V 的处
         理器开发.例如,VexRiscv 处理器      [32] 便是由 SpinalHDL 开发而成.
             由于单处理器系统与多处理器系统、处理器集群系统存在结构和功能上的发展联系,关于单处理器系统的
         设计方案和研究成果同样可以作为原型,迁移到多处理器系统和处理器集群系统之中,作为后者的研究基础和
         实践参考.
         4.1.2    多处理器系统
             多处理器系统的设计,在单处理器系统的基础之上,更需要关注处理器核心增加带来的核间管理与通信问
         题,关注数据的并行或并发处理能力.具体来说,多处理器系统中可能存在如下挑战                            [96] .
   337   338   339   340   341   342   343   344   345   346   347