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

刘畅  等:RISC-V 指令集架构研究综述                                                           4009


         案 [114] ,给出了它的初始 API 设计和实现,以及底层算法.这项研究的目的是在分布式地址空间模型中,将更直观
         的界面与更高的性能结合起来,以解决软件开发人员很难适应并行编程方法,尤其是分布式地址空间中的并行
         编程问题.
             2020 年 Wang 等人提出了一种远程原子扩展(remote atomic extension,简称 RAE)的设计        [115] ,为基于 RISC-V
         ISA 架构的远程原子操作提供了内在的 ISA 级指令和架构支持,以改善高性能计算(high performance
         computing,简称 HPC)系统的性能.这个设计方案同样基于 xBGAS 扩展,具体内容见第 5.1 节.
         4.2.3    通信延迟缓解
             通信是连接系统各组件、各成分之间的信息交换过程,通信延迟将推迟目标获得所需信息的时间,从而增
         大其空闲等待时间,造成整体用时延长、目标利用率降低、或者能量空耗.缓解通信延迟,除了期待相关硬件制
         作工艺的改进外,提升系统的并行能力、掩盖通信延迟的不利影响也是一种可行的做法.
             这方面,Morais 等人  [116] 在 2019 年提出了一种将任务调度硬件加速器与通用 CPU 紧密集成的体系结构,以
         减少通信延迟及运行开销,从而提高与任务调度并行的应用程序的性能.他们开发了硬件加速的轻量级任务调
         度运行时环境 Phentos,允许任务调度软件通过自定义指令与硬件任务调度器和 CPU 直接进行交互,以最大限度
         减少硬件任务调度器和 CPU 之间的通信开销.Morias 等人认为,任务并行系统的性能会受到自动依赖推理和准
         备运行任务调度相关开销的限制,而用于提高运行时性能的硬件加速器往往具有较高的 CPU 通信开销,因此他
         们希望通过这样的设计,来解决 CPU 通信的高开销问题.
         4.2.4    能耗优化
             能耗优化依赖于对系统负载结构的整体设计,现有研究主要集中在功率控制、电源能效优化等方面.
             关于功率控制,2019 年 Zhou 等人     [117] 介绍了一种基于学习的架构 PRIMAL,它训练了带有设计验证平台的
         机器学习模型.训练后的模型可以用于生成不同工作负载下的相同块的详细功率剖面.该模型还评估了几种已
         有机器学习模型的性能,包括:岭回归、梯度树提升、多层感知器、卷积神经网络.实验中,基于卷积神经网络的
         方法对一个 RISC-V 处理器核实现了 35 倍的加速和 5.2%的逐周期功率估计误差.
             2020 年 Bambini 等人基于 RISC-V 核心的并行超低功耗微控制,提出了一种开源功率控制器系统(power
         controller system,简称 PCS)设计方案 [118] ;同时,在一个开源的实时操作系统中,实现了一种可配置的热功率控制
         算法.通过对热功率进行控制,在能耗和系统稳定性两方面都取得了较好的收益.
             在电源的能源效率提升方面,Wright 等人于 2020 年设计了一种双核 RISC-V 处理器                  [119] ,实现了一个完全集
         成的、片上的、高密度的、由开关电容 DC-DC 转换器供电的细粒度电压域系统.他们希望用这种方式,通过架
         构和电路的精心设计,抵消 Dennard 定律终结之后日益显著的功耗问题,提高能源效率.他们的实验结果表明,在
         系统空闲期间,动态开关功率可以降低接近 62%的理想水平,而对总体计算吞吐量几乎没有影响.
         4.3   RISC-V系统安全策略设计
             系统在工作过程中随时会面临安全威胁,有时是操作者自身的操作失误,有时则是纯粹的恶意攻击和入侵.
         这些威胁可能导致系统异常和数据破坏,进而造成更大的损失.因此,系统需要采用一定的安全策略来应对这些
         威胁,维护运行的可靠性和稳定性.本文根据安全威胁发生的主要渠道,将系统可能遭受的安全威胁归纳为如下
         3 个方面.
             (1)  硬件微架构攻击.
             这类攻击通过侵入系统所依赖的硬件微架构并将攻击代码注入底层硬件,造成系统功能的偏差或失效.由
         于微处理器等各种集成电路的广泛应用,即使仅针对一种型号发起攻击,也可产生相当规模的破坏力.
             (2)  内存攻击.
             这类攻击以干扰或破坏内存功能为主要手段.内存是存储和提供处理器运算所需信息和数据的关键部件,
         针对内存进行攻击将严重威胁系统功能的正常运行.不可信代码、软件漏洞、系统弱点都有可能被利用,成为
         内存攻击的发起点.
             在众多的内存攻击中,程序控制流劫持攻击是较为常见和重要的一种攻击类型.这类攻击通常会制造和利
   340   341   342   343   344   345   346   347   348   349   350