一种处理部件、数据处理的方法以及电子设备技术

技术编号:24411897 阅读:18 留言:0更新日期:2020-06-06 09:35
本申请公开了一种处理部件、数据处理的方法以及电子设备,用于提升处理部件的运行效率。本申请处理部件包括至少一个算术逻辑单元ALU,ALU包括译码与参数输入通道、数据输入通道、运算组件、第一端口交叉开关矩阵以及第二端口交叉开关矩阵;译码与参数输入通道,用于接收执行参数;数据输入通道,用于接收第一待处理数据以及第二待处理数据;第一端口交叉开关矩阵,用于将第一待处理数据输入至运算组件;第二端口交叉开关矩阵,用于将第二待处理数据输入至运算组件;运算组件,用于根据执行参数对第一待处理数据以及第二待处理数据进行处理,得到目标运算结果。

A method of processing components, data processing and electronic equipment

【技术实现步骤摘要】
一种处理部件、数据处理的方法以及电子设备
本申请涉及芯片
,尤其涉及一种处理部件、数据处理的方法以及电子设备。
技术介绍
伴随着半导体技术的发展,硬件的计算能力得到了迅速的增强,各种大数据的处理时间逐渐减少。基于此,人工神经网络技术也得到了进一步发展。而神经网络通常都非常庞大,这也意味着这些神经网络需要大量的计算资源和存储资源,因此,对深度学习处理器的处理效率也有更好地要求。目前,通常采用基于多路选通的算术逻辑单元(arithmeticandlogicunit,ALU)设计,即设计中设置有加法、乘法、移位以及比较等操作,然后将多个运算单元并列,通过输入和输出选择器来实现运算过程。然而,在ALU中每次只能使一个运算单元完成运算,即一次输入的数据在一个运算周期内只能执行一次计算,其中,一个运算周期表示数据输入至ALU直至从ALU中输出的一个周期。如果需要执行多次运算,则需要在不同的运算周期内通过不同的指令来执行,从而降低了处理部件的运行效率。
技术实现思路
本申请实施例提供了一种处理部件、数据处理的方法以及电子设备,可以通过超长指令字配置后,实现连续数据输入下的连续运算,从而提升处理部件的运行效率。有鉴于此,本申请第一方面提供一种处理部件,处理部件包括至少一个算术逻辑单元ALU,ALU包括译码与参数输入通道、数据输入通道、运算组件、第一端口交叉开关矩阵以及第二端口交叉开关矩阵;译码与参数输入通道,用于接收执行参数,其中,执行参数为基于超长指令字的解析后得到的;r>数据输入通道,用于接收第一待处理数据以及第二待处理数据;第一端口交叉开关矩阵,用于将第一待处理数据输入至运算组件;第二端口交叉开关矩阵,用于将第二待处理数据输入至运算组件;运算组件,用于根据执行参数对第一待处理数据以及第二待处理数据进行处理,得到目标运算结果。本申请第二方面提供一种数据处理的方法,方法应用于处理部件,处理部件包括至少一个算术逻辑单元ALU,ALU包括译码与参数输入通道、数据输入通道、运算组件、第一端口交叉开关矩阵以及第二端口交叉开关矩阵,包括:通过译码与参数输入通道接收执行参数,其中,执行参数为基于超长指令字的解析后得到的;通过数据输入通道接收第一待处理数据以及第二待处理数据;通过第一端口交叉开关矩阵将第一待处理数据输入至运算组件;通过第二端口交叉开关矩阵将第二待处理数据输入至运算组件;根据超长指令字中的执行参数,通过运算组件对第一待处理数据以及第二待处理数据进行处理,得到目标运算结果。在一种可能的设计中,在本申请实施例的第二方面的第一种实现方式中,执行参数携带运算模式标识;数据处理的方法还包括:通过数据输入通道接收数据写入地址;通过第一端口交叉开关矩阵将第一待处理数据输入至运算组件,包括:根据执行参数,通过第一端口交叉开关矩阵从第一读取地址所对应的数据输入通道读取第一待处理数据;通过第二端口交叉开关矩阵将第二待处理数据输入至运算组件,包括:根据执行参数,通过第二端口交叉开关矩阵从第二读取地址所对应的数据输入通道读取第二待处理数据;根据超长指令字中的执行参数,通过运算组件对第一待处理数据以及第二待处理数据进行处理,得到目标运算结果,包括:根据执行参数,通过运算组件采用运算模式标识所对应的运算模式对数据进行处理,得到中间运算结果;通过运算组件对中间运算结果进行处理,得到目标运算结果;通过运算组件将目标运算结果输入至第一端口交叉开关矩阵;根据数据写入地址,通过第一端口交叉开关矩阵输出目标运算结果。在一种可能的设计中,在本申请实施例的第二方面的第二种实现方式中,数据处理的方法还包括:通过数据输入通道接收控制信号以及窗口标识;其中,控制信号包括特征图结束标识以及数据有效标识中的至少一项,其中,特征图结束标识表示一个特征图内的最后一个数据,数据有效标识表示启动ALU;窗口标识包括起始窗口标识以及结束窗口标识中的至少一项,起始窗口标识表示一个窗口内的第一个数据,结束窗口标识表示一个窗口内的最后一个数据。在一种可能的设计中,在本申请实施例的第二方面的第三种实现方式中,数据输入通道至少包括张量输入通道、标量输入通道以及地址输入通道;通过张量输入通道接收第一待处理数据和第二待处理数据中的至少一种,其中,第一待处理数据与第二待处理数据均属于张量所包含的数据;通过标量输入通道接收第二待处理数据,其中,第二待处理数据属于标量所对应的数据;通过地址输入通道接收结果输出地址,其中,结果输出地址为写入存储器的地址。在一种可能的设计中,在本申请实施例的第二方面的第四种实现方式中,第二端口交叉开关矩阵包括延迟调节器;通过第一端口交叉开关矩阵将第一待处理数据输入至运算组件,包括:通过第一端口交叉开关矩阵在第一时钟周期内,将第一待处理数据输入至运算组件;根据执行参数,通过运算组件对第一待处理数据以及第二待处理数据进行处理,得到目标运算结果,包括:通过运算组件在第二时钟周期内,向第一端口交叉开关矩阵输出中间运算结果,其中,中间运算结果为根据第一待处理数据运算后得到的,第二时钟周期与第一时钟周期之间间隔M个时钟周期,M为大于或等于1的整数;通过第一端口交叉开关矩阵在第三时钟周期内,将中间运算结果输入至运算组件,其中,第三时钟周期与第一时钟周期之间间隔N个时钟周期,N为大于或等于M的整数;通过延迟调节器在第三时钟周期内,将第二待处理数据输入至运算组件。在一种可能的设计中,在本申请实施例的第二方面的第五种实现方式中,运算组件至少包括第一运算组件;通过第一端口交叉开关矩阵将第一待处理数据输入至运算组件,包括:通过第一端口交叉开关矩阵将第一待处理数据输入至第一运算组件;通过第二端口交叉开关矩阵将第二待处理数据输入至运算组件,包括:通过第二端口交叉开关矩阵将第二待处理数据输入至第一运算组件;根据执行参数,通过第一运算组件对第一待处理数据进行处理,得到中间运算结果;通过第一运算组件向第一端口交叉开关矩阵输出中间运算结果;通过第一端口交叉开关矩阵将中间运算结果输入至第一运算组件;根据执行参数,通过第一运算组件对中间运算结果以及第二待处理数据进行处理,得到目标运算结果。在一种可能的设计中,在本申请实施例的第二方面的第六种实现方式中,运算组件至少包括第一运算组件;通过第一端口交叉开关矩阵将第一待处理数据输入至运算组件,包括:通过第一端口交叉开关矩阵将第一待处理数据输入至第一运算组件;通过第二端口交叉开关矩阵将第二待处理数据输入至运算组件,包括:通过第二端口交叉开关矩阵将第二待处理数据输入至第一运算组件;根据执行参数,通过第一运算组件对第一待处理数据以及第二待处理数据进行处理,本文档来自技高网...

【技术保护点】
1.一种处理部件,其特征在于,所述处理部件包括至少一个算术逻辑单元ALU,所述ALU包括译码与参数输入通道、数据输入通道、运算组件、第一端口交叉开关矩阵以及第二端口交叉开关矩阵;/n所述译码与参数输入通道,用于接收执行参数,其中,所述执行参数为基于超长指令字的解析后得到的;/n所述数据输入通道,用于接收第一待处理数据以及第二待处理数据;/n所述第一端口交叉开关矩阵,用于将所述第一待处理数据输入至所述运算组件;/n所述第二端口交叉开关矩阵,用于将所述第二待处理数据输入至所述运算组件;/n所述运算组件,用于根据所述执行参数对所述第一待处理数据以及所述第二待处理数据进行处理,得到目标运算结果。/n

【技术特征摘要】
1.一种处理部件,其特征在于,所述处理部件包括至少一个算术逻辑单元ALU,所述ALU包括译码与参数输入通道、数据输入通道、运算组件、第一端口交叉开关矩阵以及第二端口交叉开关矩阵;
所述译码与参数输入通道,用于接收执行参数,其中,所述执行参数为基于超长指令字的解析后得到的;
所述数据输入通道,用于接收第一待处理数据以及第二待处理数据;
所述第一端口交叉开关矩阵,用于将所述第一待处理数据输入至所述运算组件;
所述第二端口交叉开关矩阵,用于将所述第二待处理数据输入至所述运算组件;
所述运算组件,用于根据所述执行参数对所述第一待处理数据以及所述第二待处理数据进行处理,得到目标运算结果。


2.根据权利要求1所述的处理部件,其特征在于,所述执行参数携带运算模式标识;
所述数据输入通道,还用于接收数据写入地址;
所述第一端口交叉开关矩阵,具体用于从第一读取地址所对应的数据输入通道读取所述第一待处理数据;
所述第二端口交叉开关矩阵,具体用于从第二读取地址所对应的数据输入通道读取所述第二待处理数据;
所述运算组件,具体用于根据所述执行参数,采用所述运算模式标识所对应的运算模式对数据进行处理,得到中间运算结果;
对所述中间运算结果进行处理,得到所述目标运算结果;
将所述目标运算结果输入至所述第一端口交叉开关矩阵;
所述第一端口交叉开关矩阵,还用于根据所述数据写入地址,输出所述目标运算结果。


3.根据权利要求1所述的处理部件,其特征在于,所述数据输入通道还用于接收控制信号以及窗口标识;
其中,所述控制信号包括特征图结束标识以及数据有效标识中的至少一项,其中,所述特征图结束标识表示一个特征图内的最后一个数据,所述数据有效标识表示启动ALU;
所述窗口标识包括起始窗口标识以及结束窗口标识中的至少一项,所述起始窗口标识表示一个窗口内的第一个数据,所述结束窗口标识表示一个窗口内的最后一个数据。


4.根据权利要求1所述的处理部件,其特征在于,所述数据输入通道至少包括张量输入通道、标量输入通道以及地址输入通道;
所述张量输入通道,用于接收所述第一待处理数据和所述第二待处理数据中的至少一种,其中,所述第一待处理数据与第二待处理数据均属于张量所包含的数据;
所述标量输入通道,用于接收所述第二待处理数据,其中,所述第二待处理数据属于标量所对应的数据;
所述地址输入通道,用于接收结果输出地址,其中,所述结果输出地址为写入存储器的地址。


5.根据权利要求1所述的处理部件,其特征在于,所述第二端口交叉开关矩阵包括延迟调节器;
所述第一端口交叉开关矩阵,具体用于在第一时钟周期内,将所述第一待处理数据输入至所述运算组件;
所述运算组件,具体用于在第二时钟周期内,向所述第一端口交叉开关矩阵输出中间运算结果,其中,所述中间运算结果为根据所述第一待处理数据运算后得到的,所述第二时钟周期与所述第一时钟周期之间间隔M个时钟周期,所述M为大于或等于1的整数;
所述第一端口交叉开关矩阵,具体用于在第三时钟周期内,将所述中间运算结果输入至所述运算组件,其中,所述第三时钟周期与所述第一时钟周期之间间隔N个时钟周期,所述N为大于或等于所述M的整数;
所述延迟调节器,用于在所述第三时钟周期内,将所述第二待处理数据输入至所述运算组件。


6.根据权利要求1至5中任一项所述的处理部件,其特征在于,所述运算组件至少包括第一运算组件;
所述第一端口交叉开关矩阵,具体用于将所述第一待处理数据输入至所述第一运算组件;
所述第二端口交叉开关矩阵,具体用于将所述第二待处理数据输入至所述第一运算组件;
所述第一运算组件,用于根据所述执行参数,对所述第一待处理数据进行处理,得到中间运算结果;
所述第一运算组件,还用于向所述第一端口交叉开关矩阵输出所述中间运算结果;
所述第一端口交叉开关矩阵,具体用于将所述中间运算结果输入至所述第一运算组件;
所述第一运算组件,还用于根据所述执行参数,对所述中间运算结果以及所述第二待处理数据进行处理,得到所述目标运算结果。


7.根据权利要求1至5中任一项所述的处理部件,其特征在于,所述运算组件至少包括第一运算组件;
所述第一端口交叉开关矩阵,具体用于将所述第一待处理数据输入至所述第一运算组件;
所述第二端口交叉开关矩阵,具体用于将所述第二待处理数据输入至所述第一运算组件;
所述第一运算组件,用于根据所述执行参数对所述第一待处理数据以及所述第二待处理数据进行处理,得到中间运算结果;
所述第一运算组件,还用于向所述第一端口交叉开关矩阵输出所述中间运算结果;
所述第一端口交叉开关矩阵,具体用于将所述中间运算结果输入至所述第一运算组件;
所述第一运算组件,还用于根据所述执行参数对所述中间运算结果以及所述第二待处理数据进行处理,得到所述目标运算结果。


8.根据权利要求1至5中任一项所述的处理部件,其特征在于,所述运算组件至少包括第一运算组件;
所述数据输入通道,还用于接收第三待处理数据;
所述第一端口交叉开关矩阵,具体用于将所述第一待处理数据输入至所述第一运算组件;
所述第二端口交叉开关矩阵,具体用于将所述第二待处理数据以及所述第三待处理数据输入至所述第一运算组件;
所述第一运算组件,用于根据所述执行参数对所述第一待处理数据以及所述第二待处理数据进行处理,得到中间运算结果;
所述第一运算组件,还用于向所述第一端口交叉开关矩阵输出所述中间运算结果;
所述第一端口交叉开关矩阵,具体用于将所述中间运算结果输入至所述第一运算组件;
所述第一运算组件,还用于根据所述执行参数对所述中间运算结果以及所述第三待处理数据进行处理,得到所述目标运算结果。


9.根据权利要求1至5中任一项所述的处理部件,其特征在于,所述运算组件至少包括第一运算组件以及第二运算组件;
所述第一端口交叉开关矩阵,具...

【专利技术属性】
技术研发人员:于潇宇陈德炜
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1