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

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


         5.2   SALSA:一个用于序列比对的领域专用架构
         5.2.1    场景描述
             基因组数据正在个性化医疗和农业科技等领域发挥重要作用,而基因组序列比对是其数据分析中最重要
         的任务之一,目标是找到 DNA 序列之间的相似性和样式.完成该任务需要使用计算密集型算法处理大量数据.
         但现有的硬件设施均存在各自的劣势,不适合直接用于序列比对:通用 CPU 在处理大量数据时效率低下;GPU
         虽然提供优秀的性能和可编程性,但功耗较高;FPGA 具有良好的性能和功耗比,但编程难度较大.为了在性能、
         功耗、可编程性之间取得较好的平衡,Di Tucci 等人                [19] 提出了一种用于序列比对的领域专用架构(domain
         specific architecture,简称 DSA)SALSA.
             SALSA 在设计上主要由一个流水线组成,共分为 4 个阶段:取码/解码、调度、加载/存储、计算,每个阶段
         都与解决特定任务的硬件单元相关联.
             (1)    取码/解码阶段:从主处理器获取指令,并将其传递给调度器;
             (2)    调度阶段:可以决定将指令发送至加载/存储阶段,或直接发送至计算阶段;
             (3)    加载/存储阶段:直接连接内存控制器,执行单个或多个加载/存储请求;
             (4)    计算阶段:与 I/O 完全分离,完成具体的计算操作.


























                                     Fig.9    Top level architecture of SALSA [19]
                                         图 9   SALSA 顶层架构设计    [19]

             SALSA 的顶层架构设计如图 9 所示.其中,计算单元由一个 PE 调度器(PE dispatcher)、一组 PE 子调度器(PE
         subdispatcher)、一个紧耦合的 PE 线性阵列、一组全局寄存器(global registers,可由所有处理单元以读模式访问)、
         一个 FIFO 缓冲区,和一组与 PE 采集器通信的 PE 子采集器(PE subcollector)组成.系统可采用自定义的 ALU 来
         加速计算的执行.具体地,SALSA 设计了 3 个特定于应用的 ALU 来执行序列比对,这些 ALU 用于执行 Smith-
         Waterman 算法、Needleman Wunsch 算法和 Smith-Waterman 算法.
         5.2.2    场景分析
             如第 4.1 节所述,RISC-V 系统的功能设计主要考虑的是工作流通路的构造问题,以及围绕该问题所衍生出
         的指令集选取、内存设计、通信、负载平衡等.在本例中,SALSA 确定了其工作流为对 DNA 序列数据的解码
         和比对运算过程,并根据其特点选定了以流水线形式的构造方案,分四个阶段依次完成了对指令的获取、调度、
         内存处理、计算的过程.
   346   347   348   349   350   351   352   353   354   355   356