【技术实现步骤摘要】
面向CGRA的多精度小面积SIMD运算系统、方法、介质及设备
[0001]本专利技术涉及数据处理
,具体地,涉及一种面向CGRA的多精度小面积SIMD运算系统、方法、介质及设备。
技术介绍
[0002]可重构计算CGRA属于粗粒度异构可重构架构的一类,它的基本单元是PE、LSE、LC、LSU,其中PE处理粗粒度的算术运算,是一种可配置的处理单元,以适应不同的应用场景,能够灵活地面对一般计算,如快速傅里叶变换(Fast Fourier transform)等。
[0003]SIMD全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。
[0004]为了提高计算单元的计算利用率,往往设计专用的低精度计算单元,通过组合的方式进行高精度计算,即一个高精度乘法器(32比特)分解成几个低精度乘法器(8比特),计算单元可以被配置为不同的计算精度。
[0005]基本的计算单元由部分积产生、部分积压缩和进位传播加法器三部分组成。这三部分的具体实现方式也是多种多样。产生部分积的常用方法有与门操作、Baugh
‑
Wooley算法与Booth算法,其中Booth算法通过编码方式降低产生的部分积行数,大幅度的降低后续压缩逻辑的面积、功耗与延时。部分积压缩常用手段有阵列乘法器和树型乘法器,其中Wallace树作为典型的树型乘法器因低延时、高布线资源需求成为了目前常用技术。进位传播加法器作为整个乘法器的最后一步 ...
【技术保护点】
【技术特征摘要】
1.一种面向CGRA的多精度小面积SIMD运算系统,其特征在于,包括编码模块、累加模块和溢出模块;所述编码模块包括编码单元、选择器Mux和解码选择单元Select;所述编码单元用于将原始的被乘数X通过Booth编码操作得到S、D和N参数;所述选择器用于选择不同精度和符号模式中模式的编码模块数据走向;所述解码单元用于将编码得到的S、D和N参数与乘数Y进行解码操作,得到每行部分的部分积结果;所述S、D和N参数为被乘数X的编码结果,其中S代表32位单精度格式Single,输出结果为
±
1;D为64位双精度格式Double,输出结果为
±
2;N为否定符号Negation,代表操作的符号位;所述累加模块用于按预设时序进行编码后累加乘法部分积和累加乘法结果;所述溢出处理模块用于根据预设规则进行低位截位、高位截位和饱和截位。2.根据权利要求1所述的面向CGRA的多精度小面积SIMD运算系统,其特征在于,编码单元中,X为被乘数,Y为乘数,Single信号的表达式为X
2i
‑1^X
2i
;Double信号的表达式为~(~(X
2i
‑1&X
2i
&~X
wi+1
)&~(~X
2i
‑1&~X
2i
&X
2i
);Negation信号为~X
2i+1
;选取基
‑
4的Booth算法,对于编码模块,将被乘数X每3位比特进行一次编码操作,引入参数i代表数据的组数,每组数据表示为X
2i+1
、X
2i
、X
2i
‑1,取值范围为0、1、2和3,共四个整数,当i=0时,X
‑1=0。3.根据权利要求1所述的面向CGRA的多精度小面积SIMD运算系统,其特征在于,所述选择器为2to 1选择器。4.根据权利要求1所述的面向CGRA的多精度小面积SIMD运算系统,其特征在于,所述解码单元的输入信号为S、D、N和乘数Y组合而成,采用32位Booth乘法运算复用4个8位Booth乘法运算,在8位Booth运算中,在边界编码单元处设有选择器选择是否进行32位运算。5.根据权利要求1所述的面向CGRA的多精度小面积SIMD运算系统,其特征在于,编码模块产生部分积的过程为:基于选择器选择的数据走向后,对数据进行分组,然后将编码结果S、D和N参数与乘数Y放入解码模块中,得到部分积PP,引入参数j代表部分积PP的每位数据,其中j取值为0~7的整数;部分积PP与编码结果和乘数Y的关系表达式为:PP
j
=~(~(Y
j
&D)&~(Y
j
‑1&S)^N,其中,PP0=~(S&Y0)^N。6.根据权利要求1所述的面向CGRA的多精度小面积SIMD运算系统,其特征在于,将由编码模块产生的部分积分割成8个部分,其中,Part1、2、5和6都是单个用于产生8比特乘法结果的累加单元,Part3和7以及Part4和8是为了满足流水线而进行的切割分块;对于低...
【专利技术属性】
技术研发人员:王琴,郑国浩,孔尧尧,蒋剑飞,景乃锋,绳伟光,毛志刚,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。