一种数据处理方法和装置制造方法及图纸

技术编号:21476779 阅读:64 留言:0更新日期:2019-06-29 04:35
本发明专利技术公开了一种数据处理方法和装置,该数据处理方法包括:获取控制信号和待处理第一数据;根据控制信号对第一数据进行置换运算得到第二数据;根据控制信号对第二数据进行数据交错运算得到预设位宽的第三数据,第二数据的位宽大于第三数据的位宽。该方法可以灵活组合32位、64位和128位的源数据,并对32位、64位和128位的源数据进行数据置换运算,使32位、64位和128位的源数据经过数据置换后,成为与微处理器相同位宽的数据,可以完成定/浮点数据预处理的前置计算,从而使微处理在计算32/64/128位定/浮点数据等多种数据类型时,每个时钟的计算资源都不浪费,从而提高微处理器浮点运算的硬件使用效率。

【技术实现步骤摘要】
一种数据处理方法和装置
本专利技术涉及微处理器
,具体涉及一种数据处理方法和装置。
技术介绍
随着半导体制造工艺及密集型计算的发展,各种应用程序极度复杂化,微处理器的计算能力也与日俱增,最为突出的表现就是定/浮点数据向量(数据并行执行)运算能力的增强。当前定/浮点计算类型主要分为单精度、双精度、四精度数据运算,涵盖了32/64/128位等多种数据。微处理器要支持上述计算类型就需要在其内部添加并配置相应的计算硬件单元,如加法器、乘法器、除法器等,在最大计算位宽为128位的微处理器中,如果执行多种数据类型的操作,就会导致在计算32/64位定/浮点数据时,每个执行时钟周期都会闲置70%或50%的计算资源。针对上述存在问题,最简单方法就是直接闲置已有硬件资源,这样显然效率不高,浪费硬件资源,显然在高性能的微处理器设计中是不可取的。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数据处理方法和装置,以解决高性能的微处理器在计算32/64位定/浮点数据时,每个执行时钟周期都会闲置70%或50%的计算资源的问题。根据第一方面,本专利技术实施例提供了一种数据处理方法,包括:获取控制信号和待处理第一数据;根据控制信号对第一数据进行置换运算得到第二数据;根据控制信号对第二数据进行数据交错运算得到预设位宽的第三数据,第二数据的位宽大于第三数据的位宽。可选地,置换运算包括数据饱和运算、数据扩展运算、数据合并运算、位置换运算中的至少之一。可选地,根据控制信号对第一数据进行置换运算得到第二数据包括:根据控制信号对第一数据的高位进行饱和运算;判断运算结果是否在预设范围内;如果运算结果在预设范围内,则选择第一数据的有效数据进行输出得到第二数据。可选地,如果运算结果不在预设范围内,则选择预设数据进行输出得到第二数据。可选地,根据控制信号对第一数据进行置换运算得到第二数据包括:判断控制信号中是否存在携带有数据的指令;当控制信号中存在携带有数据的指令时,对携带有数据的指令的符号位进行扩展,得到第一预设位宽的数据;对第一数据的低位数据的符号位进行扩展,得到第二预设位宽的数据;将第一预设位宽的数据作为高位数据并将第二预设位宽的数据作为低位数据组成第二数据。可选地,根据控制信号对第一数据进行置换运算得到第二数据还包括:当控制信号中不存在携带有数据的指令时,对第一数据的高位数据的符号位进行扩展,得到第三预设位宽的数据;将第三预设位宽的数据作为高位数据并将第二预设位宽的数据作为低位数据组成第二数据。可选地,根据控制信号对第二数据进行数据交错运算得到预设位宽的第三数据包括:将第二数据以字节为单位进行划分;根据控制信号对划分字节后的第二数据按照交叉开关矩阵进行选择输出,得到预设位宽的第三数据。根据第二方面,本专利技术实施例提供了一种数据处理装置,包括:获取模块,用于获取控制信号和待处理第一数据;置换运算模块,用于根据控制信号对第一数据进行置换得到第二数据;交错运算模块,用于根据控制信号对第二数据进行数据交错运算得到预设位宽的第三数据,第二数据的位宽大于第三数据的位宽。根据第三方面,本专利技术实施例提供了一种控制器,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行第一方面或者第一方面的任意实施例方式中的数据处理方法。根据第四方面,本专利技术实施例提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行第一方面或者第一方面任意实施方式中的数据处理方法。本专利技术实施例提供了一种数据处理方法和装置,可以灵活组合32位、64位和128位的源数据,并对32位、64位和128位的源数据进行数据置换运算,例如,对32/64/128位定/浮点数据格式进行压缩、解压缩、合并、复制、置换、移位、选择等多种向量运算,使32位、64位和128位的源数据经过数据置换后,成为与微处理器相同位宽的数据,可以完成定/浮点数据预处理的前置计算,从而使微处理在计算32/64/128位定/浮点数据等多种数据类型时,每个时钟的计算资源都不浪费,从而提高微处理器浮点运算的硬件使用效率。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本专利技术实施例数据处理方法的流程图;图2示出了本专利技术实施例数据饱和运算、数据扩展运算、数据合并运算基本电路结构图;图3示出了本专利技术实施例位置换运算单元基本结构图;图4示出了本专利技术实施例数据交错单元基本结构图;图5示出了本专利技术实施例数据交错选择器基本结构图;图6示出了本专利技术实施例无符号到无符号的饱和运算模式结构图;图7示出了本专利技术实施例有符号到无符号的饱和运算模式结构图;图8示出了本专利技术实施例有符号到有符号的饱和运算模式结构图;图9示出了本专利技术实施例数据扩展运算基本结构图;图10示出了本专利技术实施例数据处理装置的结构框图;图11示出了本专利技术实施例控制器结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种数据处理方法,如图1所示,包括:S101.获取控制信号和待处理第一数据。在本实施例中,待处理第一数据为源数据,可以是任意32/64/128位的数据的组合,控制信号为信号控制单元根据外部输入的选择控制信号和待处理第一数据中的立即数对各个功能编码及相应的逻辑组合进行译码实时产生各个功能对应的控制信号。选择控制信号与待处理数据是一一对应的,控制信号与待处理数据也是一一对应的,选择控制信号的种类可以包括N组,可以表示为S0、S1、……、SN-2、SN-1。立即数为携带有数据的指令。具体的,待处理第一数据可以为多组32/64/128位数据,可以是多组128位的数据,可以是多组32/64位数据,也可以是由32/64位数据组合而成的128位数据。S102.根据控制信号对第一数据进行置换运算得到第二数据。在本实施例中,置换运算包括数据饱和运算(saturate)、数据扩展运算(extend)、数据合并运算、位置换运算中的至少之一。具体的,数据饱和运算、数据扩展运算、数据合并运算涵盖功能见表1。表1数据饱和运算、数据扩展运算、数据合并运算基本电路结构如图2所示。例如,控制信号可以控制第一数据中的数据a(也即vr[vra])和数据b(也即vr[vrb]分别经过数据饱和运算后可以分别得到一个128位的数据(也即dataf_out[0:127]),或控制信号可以控制第一数据中的数据b(也即vr[vrb])和立即数(也即SIM[0:4])经过数据扩展后得到一个256位的数据(也即dataf_out[0:255]或ex_out[0:255]本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:获取控制信号和待处理第一数据;根据所述控制信号对所述第一数据进行置换运算得到第二数据;根据所述控制信号对所述第二数据进行数据交错运算得到预设位宽的第三数据,所述第二数据的位宽大于第三数据的位宽。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取控制信号和待处理第一数据;根据所述控制信号对所述第一数据进行置换运算得到第二数据;根据所述控制信号对所述第二数据进行数据交错运算得到预设位宽的第三数据,所述第二数据的位宽大于第三数据的位宽。2.根据权利要求1所述的数据处理方法,其特征在于,所述置换运算包括数据饱和运算、数据扩展运算、数据合并运算、位置换运算中的至少之一。3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述控制信号对所述第一数据进行置换运算得到第二数据包括:根据所述控制信号对所述第一数据的高位进行饱和运算;判断运算结果是否在预设范围内;如果所述运算结果在所述预设范围内,则选择所述第一数据的有效数据进行输出得到第二数据。4.根据权利要求3所述的数据处理方法,其特征在于,如果所述运算结果不在所述预设范围内,则选择预设数据进行输出得到第二数据。5.根据权利要求2或3所述的数据处理方法,其特征在于,所述根据所述控制信号对所述第一数据进行置换运算得到第二数据包括:判断所述控制信号中是否存在携带有数据的指令;当所述控制信号中存在携带有数据的指令时,对所述携带有数据的指令的符号位进行扩展,得到第一预设位宽的数据;对所述第一数据的低位数据的符号位进行扩展,得到第二预设位宽的数据;将所述第一预设位宽的数据作为高位数据并将所述第二预设位宽的数据作为低位数据组成所述第二数据。6.根据权利要求4所述的数据处理方法,...

【专利技术属性】
技术研发人员:刘刚冯春阳张兴革王俊杰彭琅黄晶邹孝杰
申请(专利权)人:苏州中晟宏芯信息科技有限公司
类型:发明
国别省市:江苏,32

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

1