System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种异构的存内计算加速器及其设计方法技术_技高网

一种异构的存内计算加速器及其设计方法技术

技术编号:41242775 阅读:4 留言:0更新日期:2024-05-09 23:54
本发明专利技术提供了一种异构的存内计算加速器及其设计方法,所述加速器用于加速逻辑运算,所述加速器包括由忆阻器交叉阵列构成的一种或者多种架构,其中,包括:交叉阵列计算架构,该架构中设置有预设的进位计算对齐单元,所述进位计算对齐单元设于阵列的字线上,用于实现进位传输对齐操作,以支持加法运算和进位运算。本发明专利技术的技术方案通过添加进位计算对齐电路,能够实现跨行的进位计算和传递,以及进位传输对齐操作,进一步实现了加法运算和进位运算,加快了运算速度,提升了计算架构对加法计算的适用程度,解决了中间结果存储和传输带来的性能损耗。

【技术实现步骤摘要】

本专利技术涉及存内计算加速器体系结构及设计方法,具体来说涉及基于忆阻器实现不同通用逻辑计算的硬件加速领域,更具体地说,涉及一种异构的存内计算加速器及其设计方法


技术介绍

1、传统冯诺依曼架构在处理计算任务时需要频繁的进行存储和计算单元之间的数据搬移,从而产生大量的性能损耗,这种被称作“存储墙”问题。

2、基于忆阻器的存内计算架构被看作是解决存储墙问题的有效方式。这种架构将存储单元和计算单元结合在一起,提高了数据存取的速度和能效,其中大多数加速器设计都着眼于使用基于忆阻器的交叉阵列进行神经网络常用的“乘加”运算加速,而在常见计算任务中通用逻辑运算也占据大量比重。目前使用忆阻器存内计算架构进行通用逻辑运算加速的装置中,包括在忆阻器交叉阵列中运算的架构(即交叉阵列计算架构),其架构如图1所示,该架构依靠忆阻器阻值随电压改变的电子特性,通过在忆阻器交叉阵列的两字线上施加相应的驱动电压,将对应的忆阻器电阻值作为输入,将另一列接地,并输出忆阻器阻值。但是,在交叉阵列计算架构中,其输入和输出在同一阵列中的不同位置时,每次执行逻辑运算都需要预留出存储结果的位置,在执行运算需要的逻辑较为复杂时,存储中间结果的忆阻器就占据了一个忆阻器交叉阵列的大量空间。此外,每个逻辑运算都需要对忆阻器执行写操作,由于忆阻器写寿命有限、写操作缓慢且耗能,这带来了较大的能耗和较低的性能。

3、需要说明的是:本
技术介绍
仅用于介绍本专利技术的相关信息,以便于帮助理解本专利技术的技术方案,但并不意味着相关信息必然是现有技术。在没有证据表明相关信息已在本专利技术的申请日以前公开的情况下,相关信息不应被视为现有技术。


技术实现思路

1、因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种异构的存内计算加速器及其设计方法。

2、本专利技术的目的是通过以下技术方案实现的:

3、根据本专利技术的第一方面,提供了一种异构的存内计算加速器,所述加速器用于加速逻辑运算,所述加速器包括由忆阻器交叉阵列构成的一种或者多种架构,其中,包括:交叉阵列计算架构,该架构中设置有预设的进位计算对齐单元,所述进位计算对齐单元设于阵列的字线上,用于实现进位传输对齐操作,以支持加法运算和进位运算。

4、在本专利技术的一些实施例中,所述进位计算对齐单元由电阻、第一开关、由两个首尾相连的反相器组成的锁存器和第二开关依次连接构成,并按照以下方式设于阵列的字线上:字线右端连接所述进位计算对齐单元中的电阻,所述进位计算对齐单元的第二开关与上方相邻字线的左端相连,其中,电阻的阻值等于忆阻器的低阻状态值。

5、在本专利技术的一些实施例中,所述进位计算对齐单元按照以下方式实现进位传输对齐操作:在输入行上,输入忆阻器的晶体管打开,其余晶体管关闭,第一开关连接,第二开关断开,将产生的进位电压保存至锁存器;在输出行中,打开输入进位位置的晶体管,将其余晶体管关闭,第一开关断开,第二开关连接,以将进位电压施加在输出进位的忆阻器,实现进位对齐操作。

6、在本专利技术的一些实施例中,所述加速器还包括外围电路计算架构,该架构中设置有直接输入单元,所述直接输入单元由一个晶体管和一个传输门组成,并且所述传输门直接与阵列的位线相连,直接输入的电压施加在该单元的晶体管的门极上,阵列的字线驱动输入行,与流经阵列位线的输入一起传输至灵敏放大器中,进行逻辑运算,以使得所述外围电路计算架构实现电压-电阻的转换。

7、在本专利技术的一些实施例中,所述外围电路计算架构中还设置有进位加单元,所述进位加单元与处于位线上的锁存器相连,该单元用于实现进位的逐级传递、输出进位以及加法运算。

8、在本专利技术的一些实施例中,所述加速器还包括查找表计算架构,该架构利用固定连线将各个阵列连接起来,并将所有位线接地。

9、在本专利技术的一些实施例中,所述忆阻器交叉阵列内部单元为1t1 r结构,所述结构由一个晶体管和一个忆阻器构成,该结构用于控制电流流经忆阻器,以实现隔离操作。

10、在本专利技术的一些实施例中,所述加速器中的各个计算架构的比例根据计算任务所需的运算类型分布进行调整。

11、在本专利技术的一些实施例中,所述加速器按照以下方式进行逻辑运算:当逻辑运算所需的数据存储在同一个计算架构中时,直接选择在该计算架构执行逻辑运算;当逻辑运算所需的数据存储在不同的计算架构中时,根据预设的数据移动规则移动数据并进行逻辑运算。

12、在本专利技术的一些实施例中,所述预设的数据移动规则包括:当只有一个计算架构可执行当前逻辑运算时,将另一计算架构中的数据移动至该计算架构;当一个计算架构的存储空间有限且无法再接收数据时,将该计算架构中的待计算数据移出;当两个计算架构的存储空间充足且都可执行当前逻辑运算时,将另一计算架构中的数据移动至更早可使用的计算架构。

13、在本专利技术的一些实施例中,所述加速器还包括寄存器堆,并按照以下方式对逻辑运算过程中产生的中间结果进行处理:当所述中间结果作为后续逻辑运算的输入时,将该中间结果写回寄存器堆;当所述中间结果不作为后续逻辑运算的输入时,将该中间结果丢弃。

14、根据本专利技术的第二方面,提供了一种对本专利技术第一方面所述的加速器的设计方法,所述方法包括:s1、获取应用的行为级描述、设计约束、设计目标以及硬件组件;s2、将所述行为级描述编译为控制数据流图,并将所述控制流图转换为控制步,所述控制步为指示目标存内计算加速器执行逻辑运算的步骤;s3、构建一个执行所述控制步的初始存内计算加速器,所述初始存内计算加速器包括:用于逻辑运算的交叉阵列计算架构、外围电路计算架构和查找表计算架构;s4、根据所述控制步中的操作选取相应的硬件组件添加至所述初始存内计算加速器的各个计算架构,以使得所述初始存内计算加速器进行逻辑运算;s5、根据所述初始存内计算加速器进行逻辑运算的过程,得到对应的性能参数,并根据所述性能参数确定所述初始存内计算加速器是否满足所述设计约束和设计目标,若是,则输出所述初始存内计算加速器为目标存内计算加速器;若否,则返回执行步骤s4和s5,直至存内计算加速器满足所述设计约束和设计目标,输出目标存内计算加速器。

15、与现有技术相比,本专利技术的优点在于:

16、1)在交叉阵列计算架构中设置进位计算对齐电路,能够实现跨行的进位计算和传递,以及进位传输对齐操作,进一步实现了加法运算和进位运算,提升了计算架构对加法计算的适用程度,加快了运算速度,减小了中间结果存储和传输带来的性能损耗,同时避免了进位电压对其他位置上忆阻器的影响,实现了一定的隔离。

17、2)在外围电路计算架构中设置直接输入单元和进位加单元,使得该架构从原来的只接受输入电阻转换为了既可以接受电阻输入,又可以接受电压输入,进而使得在传输中间计算结果时候,减小了写回时电压-电阻转换的开销,加快了运算速度;同时该架构设置进位加电路单元后扩展了其计算的适配度,实现了进位的逐级传递、输出进位以及加法运算。

18、3)在查找表计算架构本文档来自技高网...

【技术保护点】

1.一种异构的存内计算加速器,所述加速器用于加速逻辑运算,其特征在于,所述加速器包括由忆阻器交叉阵列构成的一种或者多种架构,其中,包括:

2.根据权利要求1所述的加速器,其特征在于,所述进位计算对齐单元由电阻、第一开关、由两个首尾相连的反相器组成的锁存器和第二开关依次连接构成,并按照以下方式设于阵列的字线上:

3.根据权利要求2所述的加速器,其特征在于,所述进位计算对齐单元按照以下方式实现进位传输对齐操作:

4.根据权利要求1-3之一所述的加速器,其特征在于,所述加速器还包括外围电路计算架构,该架构中设置有直接输入单元,所述直接输入单元由一个晶体管和一个传输门组成,并且所述传输门直接与阵列的位线相连,直接输入的电压施加在该单元的晶体管的门极上,阵列的字线驱动输入行,与流经阵列位线的输入一起传输至灵敏放大器中,进行逻辑运算,以使得所述外围电路计算架构实现电压-电阻的转换。

5.根据权利要求4所述的加速器,其特征在于,所述外围电路计算架构中还设置有进位加单元,所述进位加单元与处于位线上的锁存器相连,该单元用于实现进位的逐级传递、输出进位以及加法运算。

6.根据权利要求4所述的加速器,其特征在于,所述加速器还包括查找表计算架构,该架构利用固定连线将各个阵列连接起来,并将所有位线接地。

7.根据权利要求1-3之一所述的加速器,其特征在于,所述忆阻器交叉阵列内部单元为1T1 R结构,所述结构由一个晶体管和一个忆阻器构成,该结构用于控制电流流经忆阻器,以实现隔离操作。

8.根据权利要求1-3之一所述的加速器,其特征在于,所述加速器中的各个计算架构的比例根据计算任务所需的运算类型分布进行调整。

9.根据权利要求6所述的加速器,其特征在于,所述加速器按照以下方式进行逻辑运算:

10.根据权利要求9所述的加速器,其特征在于,所述预设的数据移动规则包括:

11.根据权利要求9中所述的加速器,其特征在于,所述加速器还包括寄存器堆,并按照以下方式对逻辑运算过程中产生的中间结果进行处理:

12.一种对如权利要求1至11任一所述加速器的设计方法,其特征在于,所述方法包括:

13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求12所述方法的步骤。

14.一种电子设备,其特征在于,包括:

...

【技术特征摘要】

1.一种异构的存内计算加速器,所述加速器用于加速逻辑运算,其特征在于,所述加速器包括由忆阻器交叉阵列构成的一种或者多种架构,其中,包括:

2.根据权利要求1所述的加速器,其特征在于,所述进位计算对齐单元由电阻、第一开关、由两个首尾相连的反相器组成的锁存器和第二开关依次连接构成,并按照以下方式设于阵列的字线上:

3.根据权利要求2所述的加速器,其特征在于,所述进位计算对齐单元按照以下方式实现进位传输对齐操作:

4.根据权利要求1-3之一所述的加速器,其特征在于,所述加速器还包括外围电路计算架构,该架构中设置有直接输入单元,所述直接输入单元由一个晶体管和一个传输门组成,并且所述传输门直接与阵列的位线相连,直接输入的电压施加在该单元的晶体管的门极上,阵列的字线驱动输入行,与流经阵列位线的输入一起传输至灵敏放大器中,进行逻辑运算,以使得所述外围电路计算架构实现电压-电阻的转换。

5.根据权利要求4所述的加速器,其特征在于,所述外围电路计算架构中还设置有进位加单元,所述进位加单元与处于位线上的锁存器相连,该单元用于实现进位的逐级传递、输出进位以及加法运算。

6.根据权利要求4所述的加速...

【专利技术属性】
技术研发人员:沈力博陈晓明韩银和
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1