当前位置: 首页 > 专利查询>ARM有限公司专利>正文

单指令多数据数据处理系统内的结果分割技术方案

技术编号:2852393 阅读:175 留言:0更新日期:2012-04-11 18:40
用于执行数据处理操作以响应数据处理指令的装置,所述装置包括:    处理逻辑,响应所述数据处理指令,从存储在一个或多个输入存储器中的多个独立数据值产生相应的多个结果数据值;以及    结果分割器,响应所述数据处理指令,将每个结果数据值的高阶位部分存储到高阶结果存储器中,并将每个结果数据值的低阶位部分存储到低阶结果存储器中。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统领域。更具体地说,本专利技术涉及在单指令多数据(SIMD)数据处理系统内包含多个结果数据值的结果的分割。为数据处理系统提供SIMD功能是已知的。在此类系统中,寄存器通常包含要处理的多个独立数据值。例如,32位寄存器可以包含两个独立的16位数据值,要分别加到、乘以或组合到例如存储在另一个32位寄存器中的两个其他16位数据值。此类SIMD运算在数字信号处理领域是常见的,并且具有包括增大的处理速度和减小的代码密度在内的优势。已知SIMD技术的示例是Intel Corporation生产的Intel处理器的MMX指令。MMX指令包含将两个寄存器相乘的指令,每个寄存器包含四个16位数据值。在一个16位数据值乘以另一个16位数据值时,结果则为32位数据值。因此,MMX SIMD指令中指定的四对16位数据值相乘时,结果为四个32位结果数据值。在许多情形下,在执行此类运算时希望保持SIMD格式和数据大小。为此,MMX指令包括一种指令,其中在上述情形下产生的结果为四个16位结果数据值的形式,即各个32位结果的16个最高有效位,这些16位值在单个64位寄存器中组合,即产生SIMD类型的结果。或者,也可以将分开的指令在64位寄存器中组合,这些指令产生乘法结果的四个最低有效16位作为其输出。从一方面来看,本专利技术提供执行数据处理操作以响应数据处理指令的装置,所述装置包括处理逻辑,响应所述数据处理指令,从存储在一个或多个输入存储器中的多个独立数据值产生相应的多个结果数据值;以及结果分割器,响应所述数据处理指令,将每个结果数据值的高阶位部分存储到高阶结果存储器中,并将每个结果数据值的低阶位部分存储到低阶结果存储器中。本专利技术认识到,虽然在许多情形下可能希望产生SIMD类型的结果,但在某些情形下,保持结果完全精度以便避免不当舍入误差之类的不利后果是重要的。因此,本技术提供一个系统,其中响应单个数据处理指令,从而产生高代码密度,对多个独立数据值执行SIMD类型的运算,将多个结果数据值以SIMD形式存储,高阶部分在一个存储器中,而低阶部分在另一个存储器中。因此,如有要求,SIMD类型的结果无需进一步处理就立即可用,且完全精度得以保持并可继续发扬,因为结果的所有精度在两个存储器的组合中保持并可以从中进行处理。应该理解,由处理逻辑执行以从多个独立输入数据值产生结果数据值的数据处理操作类型可以采取多种多样的不同形式。处理逻辑的输入可能是单个存储器的内容,结果是存储在其中的独立数据值的平方,或那些值的平方根,以根据某些计算技术达到特定精度,等等。然而,在本专利技术的优选实施例中,处理逻辑可用于将各对独立数据值相乘,一对的第一独立数据值取自第一输入存储器,而一对的第二独立数据值取自第二输入存储器。此类SIMD类型的乘法运算是常见的且增大结果的数据宽度,如要保持完全精度并直接产生SIMD类型的结果,则要求使用本技术。本技术尤其适合于累加运算与乘法相关联的情形,因为本技术保持的额外精度有助于避免在累加类运算中可能出现的多个舍入误差的累积影响。虽然可以理解高阶位部分和低阶位部分可以具有各种不同的关系,但是当它们是有关结果数据值的非交迭邻接部分时是最有效和优选的。数据处理指令可以指定各种不同形式的乘法运算,如整数乘法或带符号小数值乘法。但是,本专利技术尤其适合于如下情形,其中指定的乘法是带符号小数乘法且处理逻辑可用于将每个结果数据值翻倍以便考虑每个输入数据值上存在的带符号位。翻倍可有效地包含在其他运算中,具有极小额外开销。独立SIMD数据值的数据宽度可以变化,并且在优选实施例中,数据处理指令指定相关的数据宽度。取决于要求的具体情况,乘法器可以采取若干形式,但特别优选的形式是整数乘法器,因为这相对简单和快速,且能够以适当的配置产生多种多样不同类型的运算。作为可由数据处理指令指定的处理运算类型的实例,处理可以可选地导致执行饱和运算。结果分割器用于在不同存储器之间分割结果数据值,在优选实施例中,多个复用器用于执行此功能。本技术可应用于许多不同类型的数据处理系统,如DSP,但特别适合用于处理器核心中。应该理解,输入存储器、高阶结果存储器、低阶结果存储器以及系统内的存储器可以具有多种多样的不同形式,但优选实施例是一个或多个寄存器组寄存器、专用寄存器、缓冲存储器、先入先出缓冲器或存储器的一部分(例如高速缓存、主存储器、大容量存储器等)。这些不同类型的存储器可用于不同存储器具有不同形式的混合情况。在使用内存或缓冲器而不是寄存器作为存储器的情况下,要处理的数据值序列流可方便地提供。作为以与本技术轻松兼容的方式增加要计算的结果范围的一种方式,优选实施例还产生一个或多个高阶保护位,如可用于饱和运算的上下文中。可以为这些保护位提供其自己的存储器,结果分割把保护位存储到这些存储器。从另一方面来看,本专利技术提供执行数据处理操作以响应数据处理指令的方法,所述方法包括以下步骤响应所述数据处理指令,从存储在一个或多个输入存储器中的多个独立数据值产生相应的多个结果数据值;以及响应所述数据处理指令,通过将每个结果数据值的高阶位部分存储到高阶结果存储器中,并将每个结果数据值的低阶位部分存储到低阶结果存储器中,分割所述结果数据值。现在将通过实例,参照附图来描述本专利技术的实施例,其中附图说明图1示意说明可以利用本技术的类型的处理器核心;图2示意说明各种SIMD数据格式;图3示意说明根据用于各种数据宽度的本技术的输入数据值和输出数据值之间的关系;图4示意说明图1的处理器核心内的数据处理路径的一部分;图5说明用于根据本技术分割结果数据值的复用配置;以及图6示意说明根据本技术的乘法累加运算的另一种形式。图1说明处理器核心2,例如由ARM Limited of Cambridge,England制造。处理器核心2包括寄存器组4、乘法器6、移位器8和加法器10,形成数据处理数据路径的一部分。数据处理指令从它们被指令解码器14解码的位置接收到指令流水线12中,以产生控制信号来控制处理器2中其他电路元件的操作。应该理解,处理器2通常包括更多电路元件,但为简洁起见,这些元件未示出。在图1的实例中,从寄存器组4中的寄存器读取输入数据值,且带有数据值的结果写回到寄存器组4的寄存器中。在其他实施例中,输入值和结果值可从不同类型的存储器读取并写入不同类型的存储器,如专用寄存器、缓冲存储器、先入先出缓冲器和通用存储器。这些可用作备选物并在各种混合组合中使用。这些不同的备选者在图1中未示出。图2说明各种不同的SIMD数据格式。图1所示数据路径的数据宽度在经修改以支持此数据宽度的ARM处理器版本中可以是64位。此数据路径可以在非SIMD模式中处理完整长度的64位字16。在此实例中,各种SIMD模式处理两个32位数据值、四个16位数据值或八个8位数据值。在SIMD模式中,数据值是相互独立的,并且图1的处理器2中的数据路径根据SIMD数据值的大小配置,以便独立地处理这些数据值,例如通过在适当的点断开进位链。执行SIMD类型运算的数据路径的适配本身已知,本文不作进一步说明。图3说明根据本技术的不同SIMD数据宽度模式中的输入数据值和结果数据值之间的关系。在实例(i)中,输入数据值包含存储在第一64位寄存本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.用于执行数据处理操作以响应数据处理指令的装置,所述装置包括处理逻辑,响应所述数据处理指令,从存储在一个或多个输入存储器中的多个独立数据值产生相应的多个结果数据值;以及结果分割器,响应所述数据处理指令,将每个结果数据值的高阶位部分存储到高阶结果存储器中,并将每个结果数据值的低阶位部分存储到低阶结果存储器中。2.如权利要求1所述的装置,其特征在于,所述处理逻辑可用于将各对独立数据值相乘,一对的第一独立数据值取自第一输入存储器,而所述对的第二独立数据值取自第二输入存储器。3.如权利要求2所述的装置,其特征在于,处理逻辑可用于将已存储在所述高阶结果存储器和所述低阶结果存储器中的值与从所述各对独立数据值产生的值累加以产生所述多个结果数据值。4.如权利要求1至3所述的装置,其特征在于,每个结果数据值的所述高阶位部分和所述低阶位部分是所述结果数据值的非交迭邻接部分。5.如权利要求2至4所述的装置,其特征在于,在所述数据处理指令指出所述独立数据值为带符号小数值时,所述处理逻辑可用于将通过第一独立数据值与第二独立数据值相乘得到的每个值翻倍。6.如以上权利要求中的任一项所述的装置,其特征在于,每个输入存储器存储M个独立的N位数据值。7.如权利要求6所述的装置,其特征在于,所述数据处理指令指定所述独立数据值的数据宽度。8.如权利要求2至7所述的装置,其特征在于,所述处理逻辑包括整数乘法器,可用于将所述各对独立数据值相乘。9.如以上权利要求中的任一项所述的装置,其特征在于,所述处理逻辑可用于对所述独立数据值执行饱和数据处理运算。10.如以上权利要求中的任一项所述的装置,其特征在于,所述结果分割器包括依靠所述数据处理指令控制的多个复用器。11.如以上权利要求中的任一项所述的装置,其特征在于,所述装置是处理器核心。12.如以上权利要求中的任一项所述的装置,其特征在于,所述一个或多个输入存储器是以下各项中的一个或多个寄存器组寄存器;专用寄存器;缓冲存储器;先入先出缓冲器;以及内存。13.如以上权利要求中的任一项所述的装置,其特征在于,所述高阶结果存储器是以下各项其中之一寄存器组寄存器;专用寄存器;缓冲存储器;先入先出缓冲器;以及内存。14.如以上权利要求中的任一项所述的装置,其特征在于,所述低阶结果存储器是以下各项其中之一寄存器组寄存器;专用寄存器;缓冲存储器;先入先出缓冲器;以及内存。15.如以上权利要求中的任一项所述的装置,其特征在于,所述处理逻辑可用于为每个结果数据值产生一个或多个高阶保护位,且所述结果分割器可用于将所述保护位存储在保护位存储器中。16.如权利要求15所述的装置,其特征在于,所述保护位存储器是以下各项其中之一寄存器组寄存器;专用寄存器;缓冲存...

【专利技术属性】
技术研发人员:D·克尔肖
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

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

1