混合粒度的计算电路模块和计算系统技术方案

技术编号:30332931 阅读:16 留言:0更新日期:2021-10-10 00:52
本发明专利技术提供一种混合粒度的计算电路模块和计算系统,该混合粒度的计算电路模块包括:运算单元,用于负责执行相关指令;取指单元,用于负责取出指令以交由所述运算单元执行;解码单元,用于负责对指令进行解码以交由所述运算单元执行;载入/存储单元,用于负责载入、存储相关信息;其中,运算单元包括:通用运算单元,用于实现通用类型的指令;细粒度可重构运算单元,用于实现bit级别的可重构指令;粗粒度可重构运算单元,用于实现byte级别的可重构指令。本发明专利技术的混合粒度的计算电路模块实现了三种基本指令类型:通用指令、细粒度可重构指令以及粗粒度可重构指令,从而通过进一步的组合,最终可以提供七种类型的指令,极大的丰富了适用的场景。用的场景。用的场景。

【技术实现步骤摘要】
混合粒度的计算电路模块和计算系统


[0001]本专利技术涉及可重构计算电路设计领域,尤其涉及一种混合粒度的计算电路模块和计算系统。

技术介绍

[0002]传统的CPU往往只包含通用的指令集,数量和功能有限,通过动态可重构技术,可以通过配置信息重构出更多种指令。单一粒度的可重构无法兼顾配置信息的复杂性和实现功能的灵活性,而混合粒度可重构CPU正好可以解决这个问题。
[0003]目前,关于混合粒度的可重构计算电路,还停留在最初的想法层面,而对于具体如何设计或实现混合粒度的计算电路模块还没有相关的技术披露。

技术实现思路

[0004]为了解决上述技术问题,本专利技术公开了一种混合粒度的计算电路模块和计算系统,基于该混合粒度的计算电路结构设计的混合粒度的CPU实现了三种基本指令类型:通用指令、细粒度可重构指令以及粗粒度可重构指令,从而通过进一步的组合,最终混合粒度的CPU可以提供七种类型的指令,从而极大的丰富了适用的场景。
[0005]为达到上述目的,本专利技术的技术方案提供了一种混合粒度的计算电路模块,其包括:运算单元,用于负责执行相关指令;取指单元,用于负责取出指令以交由所述运算单元执行;解码单元,用于负责对指令进行解码以交由所述运算单元执行;载入/存储单元,用于负责载入、存储相关信息;其中,所述运算单元包括:通用运算单元,用于实现通用类型的指令;细粒度可重构运算单元,用于实现bit级别的可重构指令;粗粒度可重构运算单元,用于实现byte级别的可重构指令。
[0006]在进一步的技术方案中,所述细粒度可重构运算单元包括输入寄存器、查找表LUT阵列以及输出寄存器。
[0007]在进一步的技术方案中,所述查找表LUT阵列的每一个LUT为具有4位地址线和1位输出的16
×
1RAM。
[0008]在进一步的技术方案中,所述粗粒度可重构运算单元包括控制单元、处理单元阵列PEA、输入寄存器以及输出寄存器。
[0009]在进一步的技术方案中,所述处理单元阵列PEA的每个处理单元PE包括算术逻辑运算单元ALU、多路选择器MUX以及输入输出寄存器,其中,所述控制单元基于配置信息实现每个处理单元PE的可重构。
[0010]在进一步的技术方案中,每个处理单元PE还包括具有16位地址线和4位输出的64
×
8RAM。
[0011]在进一步的技术方案中,所述细粒度可重构运算单元和所述粗粒度可重构运算单元均包括2个输入寄存器。
[0012]在进一步的技术方案中,所述计算电路模块还包括:数据存储区DCCM、指令存储
区、指令缓存、可中断控制器、调试接口以及总线接口。
[0013]本专利技术的实施方式还提供了一种混合粒度的计算系统,其包括如上所述的计算电路模块。
附图说明
[0014]图1是本专利技术的混合粒度计算电路模块的整体结构示意图;
[0015]图2是本专利技术的细粒度可重构运算单元的结构示意图;
[0016]图3是本专利技术的LUT的实现方式的示意图;
[0017]图4是本专利技术的LUT的具体实例的示意图;
[0018]图5是本专利技术的粗粒度可重构运算单元的结构示意图;
[0019]图6是本专利技术的处理单元PE的实现方式的示意图;
[0020]图7是本专利技术的混合粒度计算电路模块的指令类型的示意图。
具体实施方式
[0021]下面结合具体实施例对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。
[0022]如
技术介绍
部分提到的,传统的CPU往往只提供通用指令,例如提供以下指令:
[0023]1.c=a|b
[0024]2.c=a&b
[0025]3.c=a^b
[0026]其中,a、b、c都32位的数字,uint_32,这类操作是很常见的

[0027]但是假定某些情况下,我们要自定义一个指令,是混合按位运算的,其定义如下:
[0028]1.c[3:0]=a[3:0]|b[3:0][0029]2.c[7:4]=a[7:4]&b[7:4][0030]3.c[11:8]=a[11:8]^b[11:8][0031]4.c[31:12]=c[31:12][0032]这时,通用的指令往往就不会提供支持,必须通过细粒度可重构指令来配置定义。
[0033]另外,假定某些情况下,我们要自定义一个指令,是混合按字节运算的,其定义如下:
[0034]1.(uchar&c)[0]=(uchar&a)[0]+(uchar&b)[0][0035]2.(uchar&c)[1]=(uchar&a)[1]‑
(uchar&b)[1][0036]3.(uchar&c)[2]=(uchar&a)[2]*(uchar&b)[2][0037]4.(uchar&c)[3]=(uchar&a)[3]/(uchar&b)[3][0038]这时,通用的指令往往就不会提供支持,必须通过粗粒度可重构指令来配置定义。
[0039]为此,本专利技术的实施方式提供了一种混合粒度的计算电路模块,其能够同时实现对上述通用指令、细粒度可重构指令以及粗粒度可重构指令的定义。
[0040]具体地,参见图1,本专利技术的混合粒度的计算电路模块包括:运算单元ALU,又称为执行单元EXU(EXecution Unit)用于负责执行相关指令;取指单元IFU(Instruction Fetch Unit),用于负责取出指令以交由所述运算单元执行;解码单元DEC(DECoder unit),用于负
责对指令进行解码以交由所述运算单元执行(具体地,将指令的二进制编码转换为方便运算单元执行的电路信号);载入/存储单元LSU(Load/Store Unit),用于负责载入、存储相关信息;其中,所述运算单元ALU包括:通用运算单元ALU_A,用于实现通用类型的指令;细粒度可重构运算单元ALU_C,用于实现bit级别的可重构指令;粗粒度可重构运算单元ALU_B,用于实现byte级别的可重构指令。
[0041]另外,如图1所示,除了以上单元之外,本专利技术的混合粒度的计算电路模块还包括如下模块或接口:数据存储区DCCM(Instruction Closely Coupled Memory)、指令存储区(Instruction Closely Coupled Memory)、指令缓存I

Cache(Instruction Cache)、可中断控制器PIC(Programmable Interrupt Controller)、调试接口Debug、与外部电路的数据总线接口LSU Bus、与外部电路的指令总线接口IFU Bus。...

【技术保护点】

【技术特征摘要】
1.一种混合粒度的计算电路模块,其特征在于,包括:运算单元,用于负责执行相关指令;取指单元,用于负责取出指令以交由所述运算单元执行;解码单元,用于负责对指令进行解码以交由所述运算单元执行;载入/存储单元,用于负责载入、存储相关信息;其中,所述运算单元包括:通用运算单元,用于实现通用类型的指令;细粒度可重构运算单元,用于实现bit级别的可重构指令;粗粒度可重构运算单元,用于实现byte级别的可重构指令。2.根据权利要求1所述的计算电路模块,其特征在于,所述细粒度可重构运算单元包括输入寄存器、查找表LUT阵列以及输出寄存器。3.根据权利要求2所述的计算电路模块,其特征在于,所述查找表LUT阵列的每一个LUT为具有4位地址线和1位输出的16
×
1RAM。4.根据权利要求3所述的计算电路模块,其特征在于,所述粗粒度可重构运算单元包括控制单元、处理单元阵列PEA、输入寄存器以及输出...

【专利技术属性】
技术研发人员:朱敏
申请(专利权)人:无锡沐创集成电路设计有限公司
类型:发明
国别省市:

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

1