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 序列数据的解码
和比对运算过程,并根据其特点选定了以流水线形式的构造方案,分四个阶段依次完成了对指令的获取、调度、
内存处理、计算的过程.