一种数据混洗方法和数据混洗单元的制作方法

文档序号:9304415阅读:426来源:国知局
一种数据混洗方法和数据混洗单元的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种数据混洗方法和数据混洗单元。
【背景技术】
[0002]随着多媒体技术和无线通信技术的进一步发展,数字信号处理的问题规模越来越大,需要在设计相应的数字信号处理器中采用更加先进的算法,实现数据的高效运算。因此,在数据运算密集型应用中,能够同时处理多个并行数据的SIMD(Single Instruct1nstream Multiple Data streams,单指令流多数据流)处理器具有很大优势。SIMD处理器中,每个向量运算部件都带有一个局部寄存器文件。不同SHffi处理器之间的差别在于向量运算部件之间通信的数据混洗网络,数据混洗网络规定向量运算部件之间的连接模式,决定S頂D处理器能适应的算法类别,对整个系统的性能和算法适应性产生重要影响。
[0003]现有技术中,数据混洗单元包含在向量运算部件中,无法高效灵活地进行数据混洗。

【发明内容】

[0004]本发明提供了一种数据混洗方法和数据混洗单元,以解决现有技术无法高效灵活地进行数据混洗的缺陷。
[0005]本发明提供了一种数据混洗方法,包括以下步骤:
[0006]数据混洗单元接收来自向量运算部件的第一源操作数和第二源操作数;
[0007]所述数据混洗单元将所述第一源操作数和所述第二源操作数分别进行拼接,得到第一操作数和第二操作数;
[0008]所述数据混洗单元根据选择控制信号,对所述第一操作数和所述第二操作数进行选择输出,并将输出结果返回给所述向量运算部件。
[0009]可选地,所述数据混洗单元根据选择控制信号,对所述第一操作数和所述第二操作数进行选择输出之前,还包括:
[0010]所述数据混洗单元根据混洗指令的类型,从混洗模式寄存器中读取与所述混洗指令对应的混洗模式;
[0011 ] 所述数据混洗单元根据所述混洗指令的混洗粒度,对所述混洗模式进行译码,得到所述选择控制信号。
[0012]可选地,所述数据混洗单元根据混洗指令的类型,从混洗模式寄存器中读取对应的混洗模式,具体为:
[0013]当所述混洗指令为立即数混洗指令时,所述数据混洗单元使用与所述混洗指令对应的立即数对预设地址取模,根据取模结果读取混洗模式寄存器,得到与所述混洗指令对应的混洗模式;
[0014]当所述混洗指令为寄存器混洗指令时,所述数据混洗单元读取混洗模式地址寄存器,得到混洗模式地址,并根据所述混洗模式地址,从混洗模式存储器中读取与所述混洗指令对应的混洗模式。
[0015]可选地,所述数据混洗单元根据混洗指令的类型,从混洗模式寄存器中读取与所述混洗指令对应的混洗模式之前,还包括:
[0016]所述数据混洗单元根据译码站的信号,确定所述混洗指令的类型。
[0017]可选地,所述数据混洗单元根据所述混洗指令的混洗粒度,对所述混洗模式进行译码,得到所述选择控制信号之前,还包括:
[0018]所述数据混洗单元根据译码站的信号,确定所述混洗指令的混洗粒度。
[0019]可选地,所述数据混洗单元将输出结果返回给所述向量运算单元,具体为:
[0020]所述数据混洗单元对所述输出结果进行分割,将分割得到的数据分别写入到各个向量运算部件的向量寄存器中。
[0021]本发明还提供了一种数据混洗单元,包括:
[0022]输入逻辑,用于接收来自向量运算部件的第一源操作数和第二源操作数,将所述第一源操作数和所述第二源操作数分别进行拼接,得到第一操作数和第二操作数;
[0023]交叉网络,用于根据选择控制信号,对所述第一操作数和所述第二操作数进行选择输出;
[0024]输出逻辑,用于将输出结果返回给所述向量运算部件。
[0025]可选地,所述的数据混洗单元,还包括:
[0026]主控逻辑,用于根据混洗指令的类型,从混洗模式寄存器中读取与所述混洗指令对应的混洗模式;根据所述混洗指令的混洗粒度,对所述混洗模式进行译码,得到所述选择控制信号。
[0027]可选地,所述主控逻辑,具体用于在所述混洗指令为立即数混洗指令时,使用与所述混洗指令对应的立即数对预设地址取模,根据取模结果读取混洗模式寄存器,得到与所述混洗指令对应的混洗模式;在所述混洗指令为寄存器混洗指令时,读取混洗模式地址寄存器,得到混洗模式地址,并根据所述混洗模式地址,从混洗模式存储器中读取与所述混洗指令对应的混洗模式。
[0028]可选地,所述主控逻辑,还用于根据译码站的信号,确定所述混洗指令的类型。
[0029]可选地,所述主控逻辑,还用于根据译码站的信号,确定所述混洗指令的混洗粒度。
[0030]可选地,所述输出逻辑,具体用于对所述输出结果进行分割,将分割得到的数据分别写入到各个向量运算部件的向量寄存器中。
[0031]本发明中的数据混洗单元独立于向量运算部件,支持半字和字模式向量数据交换,使用硬件描述语言和EDA工具的支持下,能够在40nm工艺下达到IGHz的工作频率,高效灵活地实现数据混洗,可广泛应用于数字通讯、图像和视频处理等领域的ASIC数字信号处理器。
【附图说明】
[0032]图1为本发明实施例中的一种数据混洗方法流程图;
[0033]图2为本发明实施例中的一种数据混洗单元的结构示意图;
[0034]图3为本发明实施例中的双端口混洗模式存储器主体结构示意图;
[0035]图4为本发明实施例中的半字混洗实现过程示意图;
[0036]图5为本发明实施例中的字混洗实现过程示意图;
[0037]图6为本发明实施例中的交叉开关的结构示意图;
[0038]图7为本发明实施例中的选择控制信号的译码过程示意图。
【具体实施方式】
[0039]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0041]本发明实施例提供了一种数据混洗方法,如图1所示,应用于包括数据混洗单元和向量运算部件的处理器中,且数据混洗单元独立于向量运算部件,上述方法包括以下步骤:
[0042]步骤101,数据混洗单元接收来自向量运算部件的第一源操作数和第二源操作数。
[0043]步骤102,数据混洗单元将第一源操作数和第二源操作数分别进行拼接,得到第一操作数和第二操作数。
[0044]步骤103,数据混洗单元根据译码站的信号,确定混洗指令的类型和混洗粒度。
[0045]步骤104,数据混洗单元根据混洗指令的类型,从混洗模式寄存器中读取与混洗指令对应的混洗模式。
[0046]具体地,当混洗指令为立即
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1