APP下载

一种新型粗颗粒度可重构架构

2020-07-08水颖

科学技术创新 2020年15期
关键词:处理单元算子交叉

水颖

(杭州应用声学研究所,浙江 杭州310023)

1 概述

可重构处理器结合了通用处理器与专用处理器这两者的优势,包括通用处理器(General purpose processor ,GPP)的灵活性与专用处理器(Applicationspecific integrated circuits ,ASIC)的高能效。可重构处理器分为两种,即为细粒度可重构处理器FPGA 和粗粒度动态可重构处理器(Coarse-grained Reconfigurable Architecture, CGRA)。粗颗粒度可重构处理器最近成为研究热门,由于它在配置文件大小,芯片功耗,配置时间长短以及工具优化时间等各方面都有优势。

目前AI 领域中,图像预处理的算法包括直方图均衡,高斯噪声,白化等,其中具有很多相同算子。粗颗粒度可重构架构提升架构中算子的利用率,降低了整体的功耗,以及算子的灵活性。本文提供基本CGRA 的映射方法,针对其中的不足,基于项目提出一种新型的粗颗粒度架构,此结构能使得降低芯片功耗,以及减少连线等问题。

2 CGRA 的映射方法

粗颗粒度可重构架构的基本算子映射方法,如下图1 所示。图1(a)为一个计算程序,基本算子是由乘和加组成。图1(b)为图1(a)计算程序的映射DFG 图(数据流图)。结点(node)和边(edge)是DFG 图的基本组成部分。操作符在结点之中,数据依赖关系和数据流向则是通过边来表示,即DFG 图就可以表示算子的操作。标准CGRA 的基本单元为PE,即为基本算子结构,如图1(c)。PE 可以包括多个计算符的结构,例如乘加或者乘除等,具体可根据应用的领域所定。多个PE 的时空图,如下图1(d)所示。CGRA 就是将计算程序的映射到基本的PE 时空图中,将操作符映射到结点,将连接关系映射到边。CGRA 映射过程可以拥有多条映射路径,所以工具会进行优化,找到最优时序的路径。所有PE 间连线为全交叉,虽然可能路径增加,但同时会导致优化时间增加和整个网络复杂,所以本文提出一种新型架构可以解决CGRA 中出现的这些问题。

3 基本思路

本文提出的粗粒度可重构结构的基本思路和结构框图如图2 所示。

图1 CGRA 的映射示例

图2 基本思路以及结构框图

本文根据媒体算法应用构建了新型可重构架构,算子单元(PE)与传统的CGRA 中算子单元不完全一样,传统CGRA 的PE单元是统一的,但文中的PE 单元进行分类,这样做的目的是能有效满足资源的利用率。功能PE 单元分类为不同的算子单元,例如乘,加,比较等。基本思路就是将二维全交叉的结构,通过功能分类,将其分为4 类,每类为一个基本单元,基本单元之间进行全交叉输出,最终单元簇之间再进行全交叉互联的结构。在完成所需功能的基础上,减少了编译优化的时间,提升了gEDA图层次清晰度。

4 本文提出的结构

根据上节的分析,本文提出一种新型粗颗粒度可重构结构。如图2 所示,这种结构由两部分组成:处理单元簇和簇间互连网络。每个处理单元簇包含相近功能处理单元和1 个簇内互连网络。簇间互连网络和簇内互连网络由相同结构的基本互连单元组成,这种基本互连单元具有交叉互连的特性,而且面积开销较小,并且工具能更好识别。通过簇内和簇间互连网络的结合,可以在整个阵列中实现任意一对PE 之间的全交叉建立连接和交换数据。以下二节将对各个模块进行详细地描述。

4.1 基本互连单元

基本互连单元可以分为四大类,包括比较单元,乘加单元,动态选择器单元以及移位器单元。每类基本单元内部为互联网络,进行数据交换。最终输出一组数据作为整个类单元的输出接口。

4.2 簇内/簇间互连网络

簇内和簇间互连网络分别用于簇内处理单元之间的数据交换和簇与簇之间的数据交换,除此之外,簇内互连网络还为每个处理单元提供两个操作数,同时作为与其他簇进行数据交换的接口。簇内和簇间互连网络均是由基本互连单元组成。二者的不同之处在于,簇内互连网络需要两个基本互连单元,而簇间互连网络只需要一个。簇内互连网络需要两个基本互连单元是为了实现多种功能。

5 实验结果分析

本文提出结构中的单元硬件电路通过Verilog HDL 语言描述实现,交叉互联图通过gEDA 工具进行连接,工具链进行了功能验证、综合、时序分析和功耗分析。交叉连线的对比如下表所示:

最终结果发现,工具链使用新型的结构,时序优化时间约为之前的50%,gEDA 工具图交叉线不会达到软件峰值,芯片功耗降低了23%。

结束语

本文提出了一种基于新型粗粒度可重构阵列结构。通过将所有功能特性分类交叉的基本互连单元,并基于这种单元构建了整个互连网络,降低了互连网络导致的连线复杂度且工具无法识别大规模线阵的问题,以及面积开销和功耗,简化了互连网络的控制机制。除此之外,本文提出的结构将处理单元按簇划分,提出了一种层次型的网络拓扑结构,实现了阵列中任意一对处理单元均可以建立连接和交换数据。

猜你喜欢

处理单元算子交叉
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
菌类蔬菜交叉种植一地双收
城市污水处理厂设备能耗及影响因素分析研究
空气处理系统应用性测试
Domestication or Foreignization:A Cultural Choice
“六法”巧解分式方程
QK空间上的叠加算子
电动汽车主控制器双机热备的设计
连数
连一连