当前位置: 首页 > 专利查询>清华大学专利>正文

有/无符号乘累加装置及方法制造方法及图纸

技术编号:27808937 阅读:13 留言:0更新日期:2021-03-30 09:34
本发明专利技术提供了一种有/无符号乘累加装置及方法,适用于粗粒度可重构处理器架构,所述装置包含拆分模块、运算模块、处理模块和输出模块;拆分模块用于获取配置控制信号,根据配置控制信号将输入的大于预设位宽的二进制被乘数、乘数和加数,按预设拆分规则拆分生成多组小于预设位宽的二进制数;运算模块用于根据配置控制信号中的动态配置文件,通过多个MAC运算单元对多组小于预设位宽的二进制数进行对应的分组后,分别进行乘累加计算和/或并行乘累加计算获得多个计算结果;处理模块用于将多个计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果;输出模块用于将多个处理结果进行累加获得运算结果。运算结果。运算结果。

【技术实现步骤摘要】
有/无符号乘累加装置及方法


[0001]本专利技术涉及处理器设计领域,尤指一种有/无符号乘累加装置及方法。

技术介绍

[0002]粗粒度可重构处理器架构以其低能耗、高性能和高能效和灵活动态可重构的特性,正得到越来越多的关注。粗粒度可重构计算架构是一种综合了通用处理器的灵活性和专用集成电路的高性能计算架构,非常适用于对于数据和计算密集型等并行度非常高的应用的处理,比如人工智能、数字信号处理、视频图像处理、科学计算和通信加密等领域的应用。同时,随着人工智能、神经网络、大数据、云计算、5G通信等应用的迅速兴起,其带来的更加密集的数据和更加密集的运算,而这些应用往往都会涉及到大量的不同位宽需求的乘法(Multiplication,MUL)运算和“乘累加(Multiplication

and

Addition Operation,MAC)”运算。
[0003]2017年,Google为神经网络应用的加速,构建了一个专用的集成电路加速器TPU(Tensor Processing Unit),其主要采用乘累加器的MAC单元,在一个256x256的MAC阵列上,让乘累加运算以脉动阵列(systolic array)的方式进行执行,从而取得高达92TOPS@8bit的计算能力和4TOPS/W@8bit的能效比。然后它只支持8

bit的MAC。然而,在很多图像视频处理、语音识别和神经网络等应用中,其往往需求的计算精度是不一样的。有些只需要较低位宽的数据,就能满足其计算精度的需求。那么,如果我们能够在一个支持高位宽运算的硬件处理单元中,支持多组低位宽数据的并行执行,那么就能在有限的硬件资源下,将计算能力和计算性能近乎成倍提高,而不会带来太大的功耗开销,并极大挺高其计算的能效比。
[0004]而目前的可重构处理架构,都是单一位宽的乘法运算和加法运算,并且是单独分离的运算操作。所以,其往往无法根据具体应用需求,支持灵活的位宽精度调节。同时,一个MAC运算往往需要两个或者更多的运算周期,第一个周期将乘数和被乘数做乘法运算;第二个周期将前一个周期的运算结果通过累加器与被加数相加。这样,极大限制了可重构处理器得对上述等任务进行灵活高效的处理。为此,业内亟需一种新的方法及装置以提高效率。

技术实现思路

[0005]本专利技术目的在于提供提高一种有/无符号乘累加装置及方法,以有效地用于粗粒度可重构处理器架构中,通过灵活的运算数据位宽的动态配置,在充分利用其运算资源的前提下,实现多组不同位宽的乘法/乘累加运算的并行处理,从而几乎成倍的提高其计算吞吐率和计算性能和能效。同时,在同一套乘累加器电路里,可以有效灵活的支持有、无符号的乘法运算/乘累加运算,在非常低的功耗和面积开销下,充分保障并实现可重构处理器的动态可重构特性。
[0006]为达上述目的,本专利技术所提供的一种有/无符号乘累加装置,适用于粗粒度可重构处理器架构,所述装置包含拆分模块、运算模块、处理模块和输出模块;所述拆分模块用于获取配置控制信号,根据配置控制信号将输入的大于预设位宽的二进制被乘数、乘数和加
数,按预设拆分规则拆分生成多组小于预设位宽的二进制数;所述运算模块用于根据所述配置控制信号中的动态配置文件,通过多个MAC运算单元对多组小于预设位宽的二进制数进行对应的分组后,分别进行乘累加计算和/或并行乘累加计算获得多个计算结果;所述处理模块用于将多个所述计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果;所述输出模块用于将多个所述处理结果进行累加获得运算结果。
[0007]在上述有/无符号乘累加装置中,优选的,所述运算模块包含多个MAC运算单元;所述MAC运算单元用于解析所述动态配置文件中的功能标识和运算种类标识;根据所述功能标识和所述运算种类标识获得各所述MAC运算单元对接收到二进制数的运算方式;根据所述运算方式对接收到的二进制数进行对应的乘累计算获得对应的计算结果。
[0008]在上述有/无符号乘累加装置中,优选的,所述MAC运算单元还包含:识别小于预设位宽的二进制数中的符号情况;根据所述符号情况对所述二进制数进行对应的有符号位扩展或无符号数扩展;对扩展后的所述二进制数进行部分积和加数移位处理后,通过乘累计算获得计算结果。
[0009]在上述有/无符号乘累加装置中,优选的,所述运算模块还包含:根据应用的调用需求获得各MAC运算单元的运算类别,根据所述运算类别获得各MAC运算单元的被加数取值;所述MAC运算单元根据所述被加数取值对扩展后的所述二进制数进行部分积和加数移位处理。
[0010]在上述有/无符号乘累加装置中,优选的,所述处理模块还包含根据所述计算结果的有/无符号情况和所述运算类别,对所述计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果。
[0011]本专利技术还提供一种有/无符号乘累加方法,适用于粗粒度可重构处理器架构,所述方法包含:获取配置控制信号,根据配置控制信号将输入的大于预设位宽的二进制被乘数、乘数和加数,按预设拆分规则拆分生成多组小于预设位宽的二进制数;根据所述配置控制信号中的动态配置文件,通过多个MAC运算单元对多组小于预设位宽的二进制数进行对应的分组后,分别进行乘累加计算和/或并行乘累加计算获得多个计算结果;将多个所述计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果;将多个所述处理结果进行累加获得运算结果。
[0012]在上述有/无符号乘累加方法中,优选的,通过多个MAC运算单元对多组小于预设位宽的二进制数进行对应的分组后,分别进行乘累加计算和/或并行乘累加计算获得多个计算结果包含:解析所述动态配置文件中的功能标识和运算种类标识;根据所述功能标识和所述运算种类标识获得各所述MAC运算单元对接收到二进制数的运算方式;根据所述运算方式对接收到的二进制数进行对应的乘累计算获得对应的计算结果。
[0013]在上述有/无符号乘累加方法中,优选的,根据所述运算方式对接收到的二进制数进行对应的乘累计算获得对应的计算结果包含:识别小于预设位宽的二进制数中的符号情况;根据所述符号情况对所述二进制数进行对应的有符号位扩展或无符号数扩展;对扩展后的所述二进制数进行部分积和加数移位处理后,通过乘累计算获得计算结果。
[0014]在上述有/无符号乘累加方法中,优选的,将多个所述计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果还包含:根据应用的调用
需求获得各MAC运算单元的运算类别,根据所述运算类别获得各MAC运算单元的被加数取值;所述MAC运算单元根据所述被加数取值对扩展后的所述二进制数进行部分积和加数移位处理。
[0015]在上述有/无符号乘累加方法中,优选的,所述运算类别包含:高位宽的有/无符号MAC运算和并行的低位宽的有/无符号MAC运算。
[0016]本专利技术的有益技术效果在于:支持有/无符号的乘法和乘累加运算,将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种有/无符号乘累加装置,适用于粗粒度可重构处理器架构,其特征在于,所述装置包含拆分模块、运算模块、处理模块和输出模块;所述拆分模块用于获取配置控制信号,根据配置控制信号将输入的大于预设位宽的二进制被乘数、乘数和加数,按预设拆分规则拆分生成多组小于预设位宽的二进制数;所述运算模块用于根据所述配置控制信号中的动态配置文件,通过多个MAC运算单元对多组小于预设位宽的二进制数进行对应的分组后,分别进行乘累加计算和/或并行乘累加计算获得多个计算结果;所述处理模块用于将多个所述计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果;所述输出模块用于将多个所述处理结果进行累加获得运算结果。2.根据权利要求1所述的有/无符号乘累加装置,其特征在于,所述运算模块包含多个MAC运算单元;所述MAC运算单元用于解析所述动态配置文件中的功能标识和运算种类标识;根据所述功能标识和所述运算种类标识获得各所述MAC运算单元对接收到二进制数的运算方式;根据所述运算方式对接收到的二进制数进行对应的乘累计算获得对应的计算结果。3.根据权利要求2所述的有/无符号乘累加装置,其特征在于,所述MAC运算单元还包含:识别小于预设位宽的二进制数中的符号情况;根据所述符号情况对所述二进制数进行对应的有符号位扩展或无符号数扩展;对扩展后的所述二进制数进行部分积和加数移位处理后,通过乘累计算获得计算结果。4.根据权利要求3所述的有/无符号乘累加装置,其特征在于,所述运算模块还包含:根据应用的调用需求获得各MAC运算单元的运算类别,根据所述运算类别获得各MAC运算单元的被加数取值;所述MAC运算单元根据所述被加数取值对扩展后的所述二进制数进行部分积和加数移位处理。5.根据权利要求4所述的有/无符号乘累加装置,其特征在于,所述处理模块还包含根据所述计算结果的有/无符号情况和所述运算类别,对所述计算结果按预设调整规则分别进行移位和有效位扩展处理获得多个大于预设位宽的处理结果。6.一种有/无符号乘累加方法...

【专利技术属性】
技术研发人员:尹首一谷江源孙庆斌张淞刘雷波魏少军
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1