本申请实施例涉及计算机,特别涉及一种向量运算电路、向量运算方法及芯片。
背景技术:
1、随着计算机技术的发展,带有向量计算引擎的处理器种类越来越多,例如计算机系统中的人工智能(artificial intelligence,ai)处理器、具有向量运算指令集架构的中央处理器(central processing unit,cpu)等均可以进行向量运算。
2、相关技术中,需要设计多个向量运算电路,一个向量运算电路用于对一种数据格式的向量数据进行一种运算类型的向量运算,任两个向量运算电路对应不同数据格式和不同运算类型中的至少一项。由于一个向量运算电路对应单一数据格式和单一运算类型,功能较为单一,导致需要设计不同的向量运算电路,增加了资源占用。一般情况下,电路可以布局在芯片中,而在芯片中布局上述多个向量运算电路会导致芯片面积较大。
技术实现思路
1、本申请提供了一种向量运算电路、向量运算方法及芯片,可以增加电路功能,减少电路数量,从而降低芯片面积,所述技术方案包括如下内容。
2、一方面,提供了一种向量运算电路,所述向量运算电路包括n级共享电路和目标选择模块,所述n为大于1的正整数;
3、其中,所述n级共享电路中的第i级共享电路包括至少一个第一共享模块,第j级共享电路包括的一个第一共享模块和第j-1级共享电路包括的两个第一共享模块连接,所述i为1至n-1中的任一项,所述j为2至n-1中的任一项;
4、所述第一共享模块用于对一对第一数据进行向量运算,得到第一运算结果,所述第一数据和所述第一运算结果的长度均为第一长度,所述第一共享模块位于所述第j级共享电路时,所述第一数据为所述第j-1级共享电路包括的与所述第一共享模块连接的第一共享模块得到的第一运算结果;
5、第n级共享电路包括第二共享模块,所述第二共享模块和第n-1级共享电路包括的第一共享模块连接;
6、所述第二共享模块用于对一对第二数据进行向量运算,得到第二运算结果,所述一对第二数据由所述第n-1级共享电路包括的第一共享模块得到的第一运算结果拆分得到,所述第二数据和所述第二运算结果的长度均为第二长度;
7、所述目标选择模块分别和所述第二共享模块、所述第n-1级共享电路包括的第一共享模块连接;所述目标选择模块用于选择输出所述第二运算结果或者所述第n-1级共享电路包括的第一共享模块得到的第一运算结果。
8、另一方面,提供了一种向量运算方法,所述方法由上述向量运算电路执行,所述方法包括:
9、对于第i级共享电路包括的第一共享模块,通过所述第一共享模块对一对第一数据进行向量运算,得到第一运算结果,所述第一数据和所述第一运算结果的长度均为第一长度,所述第一共享模块位于第j级共享电路时,所述第一数据为第j-1级共享电路包括的与所述第一共享模块连接的第一共享模块得到的第一运算结果;
10、对于第n级共享电路包括的第二共享模块,通过所述第二共享模块对一对第二数据进行向量运算,得到第二运算结果,所述一对第二数据由第n-1级共享电路包括的第一共享模块得到的第一运算结果拆分得到,所述第二数据和所述第二运算结果的长度均为第二长度;
11、通过目标选择模块选择输出所述第二运算结果或者所述第n-1级共享电路包括的第一共享模块得到的第一运算结果。
12、再一方面,提供了一种芯片,所述芯片包括上述向量运算电路。
13、本申请提供的技术方案至少带来如下有益效果:
14、本申请提供的向量运算电路中,通过第一共享模块对一对第一长度的第一数据进行向量运算,得到第一长度的第一运算结果,通过第二共享模块对一对第二长度的第二数据进行向量运算,得到第二长度的第二运算结果,通过目标选择模块选择输出第二运算结果或者第一运算结果,实现了在一个电路中进行第一长度数据的向量运算和第二长度数据的向量运算,增加了电路功能,减少了电路数量,使得在芯片中布局该向量运算电路时,可以降低芯片体积。
1.一种向量运算电路,其特征在于,所述向量运算电路包括n级共享电路和目标选择模块,所述n为大于1的正整数;
2.根据权利要求1所述的电路,其特征在于,所述第一数据包括所述第二长度的低位数据和所述第二长度的高位数据,所述第一共享模块包括低位处理子模块、高位处理子模块和确定子模块;
3.根据权利要求2所述的电路,其特征在于,所述低位处理子模块包括低位取反单元和低位加法单元;
4.根据权利要求2所述的电路,其特征在于,所述高位处理子模块包括高位取反单元和高位加法单元;
5.根据权利要求2所述的电路,其特征在于,所述确定子模块包括求和单元、取最值单元和第一选择单元;
6.根据权利要求5所述的电路,其特征在于,所述第一求和结果包括第一处理结果和第二处理结果,所述求和单元包括第一确定子单元、第一处理子单元和第二处理子单元;
7.根据权利要求6所述的电路,其特征在于,所述第一确定子单元包括第一逻辑门组件和第一选择组件;
8.根据权利要求5所述的电路,其特征在于,所述第一取最值结果包括第三处理结果和第四处理结果,所述取最值单元包括第二确定子单元、第三处理子单元和第四处理子单元;
9.根据权利要求8所述的电路,其特征在于,所述第二确定子单元包括第二逻辑门组件和第二选择组件;
10.根据权利要求8所述的电路,其特征在于,所述第三处理子单元包括第一确定组件和第三选择组件;
11.根据权利要求8所述的电路,其特征在于,所述第四处理子单元包括第二确定组件和第四选择组件;
12.根据权利要求1至11任一项所述的电路,其特征在于,所述第二共享模块包括求和子模块、第一处理子模块、取最值子模块和选择子模块;
13.根据权利要求12所述的电路,其特征在于,所述取最值子模块包括第一处理单元、第二处理单元、第三处理单元和第三选择单元;
14.一种向量运算方法,其特征在于,所述方法由权利要求1至13任一项所述的向量运算电路执行,所述方法包括:
15.一种芯片,其特征在于,所述芯片包括如权利要求1至13任一所述的向量运算电路。
