运算模块、流水优化方法及相关产品技术

技术编号:31820042 阅读:16 留言:0更新日期:2022-01-12 12:09
本申请公开了一种运算模块、流水优化方法及相关产品,应用于组合处理装置,该组合处理装置包括电子设备、接口装置、其他处理装置和存储装置,电子设备中可以包括一个或多个计算装置,该计算装置可以配置用于执行流水优化方法。采用本申请实施例可以节省计算资源。法。采用本申请实施例可以节省计算资源。法。采用本申请实施例可以节省计算资源。

【技术实现步骤摘要】
运算模块、流水优化方法及相关产品


[0001]本申请涉及数据处理
,尤其涉及一种运算模块、流水优化方法及相关产品。

技术介绍

[0002]传统的处理器设计中使用单一流水线在同一个运算模块中实现多种运算功能,该流水线一般只有1个入口和1个出口,使用同一条运算通路,并且流水线中各个流水级之间通过握手协议传递数据和控制信号,但是,这样的设计会导致不同种类的运算指令都要经过所有的流水级,即使在某些流水级中未进行任何操作,而只是原样传递数据和控制信息,也需要经过所有的流水级,导致计算延迟,降低了计算效率。

技术实现思路

[0003]本申请实施例提供一种运算模块、流水优化方法及相关产品,能够减小计算延迟,并提升计算效率。
[0004]第一方面,本申请实施例提供了一种运算模块,所述运算模块包括K条流水线以及P个流水线入口和Q个流水线出口,所述K、所述P、所述Q均为大于或等于2的整数;所述K条流水线中的每一条流水线均包括多个流水级,每一流水级对应至少一个运算电路;
[0005]所述运算模块用于依据目标指令所需要的计算资源配置运算电路、流水线入口和流水线出口,得到相应的目标流水路径,并依据该目标流水路径执行与该目标指令对应的运算操作。
[0006]第二方面,本申请实施例还提供了一种流水优化方法,应用于运算模块,所述运算模块包括K条流水线以及P个流水线入口和Q个流水线出口,所述K、所述P、所述Q均为大于或等于2的整数;所述K条流水线中的每一条流水线均包括多个流水级,每一流水级对应至少一个运算电路;所述方法包括:
[0007]获取目标指令;
[0008]依据目标指令所需要的计算资源配置所述运算电路、所述流水线入口和所述流水线出口,得到相应的目标流水路径;
[0009]依据所述目标流水路径执行与所述目标指令对应的运算操作。
[0010]第三方面,本申请实施例还提供了一种神经网络芯片,所述神经网络芯片包括如第一方面中任一方面所述的运算模块,或者,用于执行如第二方面所述的方法。
[0011]第四方面,本申请实施例还提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如第三方面所述的神经网络芯片;
[0012]其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
[0013]所述存储器件,用于存储数据;
[0014]所述接口装置,用于实现所述芯片与外部设备之间的数据传输;
[0015]所述控制器件,用于对所述芯片的状态进行监控。
[0016]第五方面,本申请实施例还提供了一种电子设备,所述电子设备包括如第一方面任一项所述的运算模块,或者,所述电子设备用于执行如第二方面所述的方法,或者,所述电子设备包括如第三方面所述的神经网络芯片,或者,所述电子设备包括如第四方面所述的板卡。
[0017]第六方面,本申请实施例还提供了一种流水优化装置,应用于运算模块,所述运算模块包括K条流水线以及P个流水线入口和Q个流水线出口,所述K、所述P、所述Q均为大于或等于2的整数;所述K条流水线中的每一条流水线均包括多个流水级,每一流水级对应至少一个运算电路;所述方法包括:获取单元、配置单元和执行单元,其中,
[0018]所述获取单元,用于获取目标指令;
[0019]所述配置单元,用于依据目标指令所需要的计算资源配置所述运算电路、所述流水线入口和所述流水线出口,得到相应的目标流水路径;
[0020]所述执行单元,用于依据所述目标流水路径执行与所述目标指令对应的运算操作。
[0021]第七方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第二方面中所描述的部分或全部步骤。
[0022]第八方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第二方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
[0023]采用本申请实施例,具备如下有益效果:
[0024]可以看出,在本申请实施例的所涉及的运算模块、流水优化方法及相关产品,运算模块包括K条流水线以及P个流水线入口和Q个流水线出口,K、P、Q均为大于或等于2的整数,K条流水线中的每一条流水线均包括多个流水级,每一流水级对应至少一个运算电路,该运算模块用于依据目标指令所需要的计算资源配置运算电路、流水线入口和流水线出口,得到相应的目标流水路径,并依据该目标流水路径执行与该目标指令对应的运算操作,如此,能够依据指令所需的计算资源灵活配置流水线,使得指令可以实现最小的计算延迟,并利用最少的计算资源在流水线中完成计算,提升了计算效率。
[0025]本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
[0026]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1A为本申请实施例提供的一种运算模块的结构示意图;
[0028]图1B为本申请实施例提供的一种流水线的演示示意图;
[0029]图2为本申请实施例提供的一种流水优化方法的流程示意图;
[0030]图3为本申请实施例提供的一种电子设备的结构示意图;
[0031]图4是本申请实施例提供的一种流水优化装置的功能单元组成框图;
[0032]图5是本申请实施例提供的一种组合处理装置的功能单元组成框图;
[0033]图6是本申请实施例提供的一种板卡的功能单元组成框图。
具体实施方式
[0034]以下分别进行详细说明。
[0035]本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0036]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0037]电子设备可以包括各种具有无线通信功能的手持设备、车载设备、无线耳机、计算设备或连接到无线调制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种运算模块,其特征在于,所述运算模块包括K条流水线以及P个流水线入口和Q个流水线出口,所述K、所述P、所述Q均为大于或等于2的整数;所述K条流水线中的每一条流水线均包括多个流水级,每一流水级对应至少一个运算电路;所述运算模块用于依据目标指令所需要的计算资源配置所述运算电路、所述流水线入口和所述流水线出口,得到相应的目标流水路径,并依据该目标流水路径执行与该目标指令对应的运算操作。2.根据权利要求1所述的运算模块,其特征在于,在所述运算模块用于依据目标指令所需要的计算资源配置所述运算电路、所述流水线入口和所述流水线出口,得到相应的目标流水路径,并依据该目标流水路径执行与该目标指令对应的运算操作方面,具体为:获取所述目标指令对应的目标运算类型;确定与所述目标运算类型所对应的目标运算电路、目标流水线入口和目标流水线出口;依据所述目标运算电路、目标流水线入口和目标流水线出口确定所述目标运算类型对应的目标流水路径;依据所述目标流水路径执行所述目标指令对应的运算操作。3.根据权利要求1或2所述的运算模块,其特征在于,所述K条流水线的相邻流水级之间包括多个寄存器,所述多个寄存器中的每一寄存器对应一组指令。4.根据权利要求3所述的运算模块,其特征在于,所述多个寄存器用于复制相同指令。5.根据权利要求3所述的运算模块,其特征在于,所述多个寄存器用于复制多个指令中相同操作的控制信号。6.根据权利要求3所述的运算模块,其特征在于,所述K条流水线的相邻流水级之间包括多个寄存器,所述多个寄存器中的每一寄存器对应一组数据。7.根据权利要求6所述的运算模块,其特征...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1