Constant generation in SIMD processing
    1.
    发明申请
    Constant generation in SIMD processing 有权
    SIMD处理中的恒定代数

    公开(公告)号:US20050125637A1

    公开(公告)日:2005-06-09

    申请号:US10889364

    申请日:2004-07-13

    摘要: A data processing apparatus (2) comprising: a register data store operable to store data elements; an instruction decoder (14, 16) operable to decode an instruction with generated constant, said instruction having a data value associated therewith; a data processor. (18) operable to perform data processing operations within parallel processing lanes on at least one source operand in response to a data processing instruction decoded by said instruction decoder (16); and said data processor being operable in response to said decoded instruction with generated constant and associated data value to expand at least a data portion (1210) of said associated data value, said expansion being performed in response to said instruction with generated constant and depending on a selected function, to generate a constant (1240), said generated constant (1240) forming one of said at least one source operands.

    摘要翻译: 一种数据处理装置(2),包括:可操作以存储数据元素的寄存器数据存储器; 指令解码器(14,16),用于对具有所产生的常数的指令进行解码,所述指令具有与之相关联的数据值; 一个数据处理器。 (18),可操作以响应于由所述指令解码器(16)解码的数据处理指令,在至少一个源操作数上的并行处理通道内进行数据处理操作; 并且所述数据处理器响应于所产生的常数和关联的数据值的所述经解码的指令而可操作以扩展所述相关数据值的至少一个数据部分(1210),所述扩展是响应所述指令执行而产生的常数并且取决于 选择的函数,以产生常数(1240),所述生成常数(1240)形成所述至少一个源操作数之一。

    Data processing apparatus and method for performing data processing operations on floating point data elements
    2.
    发明申请
    Data processing apparatus and method for performing data processing operations on floating point data elements 有权
    用于对浮点数据元素执行数据处理操作的数据处理装置和方法

    公开(公告)号:US20050154773A1

    公开(公告)日:2005-07-14

    申请号:US10930846

    申请日:2004-09-01

    摘要: The present invention provides a data processing apparatus and method for performing data processing operations on floating point data elements. The data processing apparatus has processing logic for performing data processing operations on the floating point data elements, and decode logic operable to decode a data processing instruction in order to determine a corresponding data processing operation to be performed by the processing logic. The data processing instruction has an m-bit immediate value encoded therein. Further, constant generation logic is provided to perform a logical operation on the m-bit immediate value in order to generate an n-bit floating point constant for use as at least one input floating point data element for the processing logic when performing the corresponding data processing operation. The values “n” and “m” are integers, and n is greater than m. This approach provides a particularly efficient technique for generating floating point constants.

    摘要翻译: 本发明提供一种用于对浮点数据元素执行数据处理操作的数据处理装置和方法。 数据处理装置具有用于对浮点数据元素执行数据处理操作的处理逻辑,以及可操作以对数据处理指令进行解码的解码逻辑,以便确定由处理逻辑执行的相应数据处理操作。 数据处理指令具有在其中编码的m位立即值。 此外,提供恒定生成逻辑以对m位立即值执行逻辑运算,以便在执行相应数据时产生用于处理逻辑的至少一个输入浮点数据元素的n位浮点常数 处理操作。 值“n”和“m”是整数,n大于m。 该方法提供了一种特别有效的生成浮点常数的技术。

    Control of a branch target cache within a data processing system
    3.
    发明申请
    Control of a branch target cache within a data processing system 失效
    控制数据处理系统内的分支目标缓存

    公开(公告)号:US20080040592A1

    公开(公告)日:2008-02-14

    申请号:US11501920

    申请日:2006-08-10

    IPC分类号: G06F15/00

    摘要: A data processing system includes an instruction fetching circuit 2, an instruction queue 4 and further processing circuits 6. A branch target cache, which maybe a branch target address cache 8, a branch target instruction cache 10 or both, is used to store branch target addresses or blocks of instructions starting at the branch target respectively. A control circuit 12 is responsive to the contents of the instruction queue 4 when a branch instruction is encountered to determine whether or not storage resources within the branch target cache 8, 10 should be allocated to that branch instruction. Storage resources within the branch target cache 8, 10 will be allocated when the number of program instructions within the instruction queue is below a threshold number and/or the estimated execution time of the program instructions is below a threshold time.

    摘要翻译: 数据处理系统包括指令提取电路2,指令队列4和其他处理电路6。 分支目标高速缓存(分支目标地址高速缓存8,分支目标指令高速缓存10或两者)分别用于存储从分支目标开始的分支目标地址或指令块。 当遇到分支指令时,控制电路12响应于指令队列4的内容,以确定分支目标高速缓存8,10中的存储资源是否应被分配给该分支指令。 当指令队列内的程序指令数量低于阈值数量和/或程序指令的估计执行时间低于阈值时间时,将分配分支目标缓存器8,10内的存储资源。

    Parallel processing of multiple data values within a data word
    4.
    发明授权
    Parallel processing of multiple data values within a data word 失效
    并行处理数据字中的多个数据值

    公开(公告)号:US06795841B2

    公开(公告)日:2004-09-21

    申请号:US09770407

    申请日:2001-01-29

    申请人: Wilco Dijkstra

    发明人: Wilco Dijkstra

    IPC分类号: G06F738

    CPC分类号: G06F7/505 G06F2207/3828

    摘要: When performing data processing operations upon data words 2, 4 including a plurality of abutting data values a0, a1, a2, a3, b0, b1, b2 and b3 the results of the operation upon one data value may influence a neighboring data value in an undesired manner. An error correcting value 34 may be determined from the input data words 2, 4 and then combined with the intermediate result 32 to correct for any undesired interactions between adjacent data values.

    摘要翻译: 当对包括多个邻接数据值a0,a1,a2,a3,b0,b1,b2和b3的数据字2,4执行数据处理操作时,对一个数据值的操作结果可以影响一个数据值中的相邻数据值 不理想的方式。 可以从输入数据字2,4确定纠错值34,然后与中间结果32组合以校正相邻数据值之间的任何不期望的交互。

    Allocation of branch target cache resources in dependence upon program instructions within an instruction queue
    5.
    发明授权
    Allocation of branch target cache resources in dependence upon program instructions within an instruction queue 失效
    根据指令队列中的程序指令分配分支目标缓存资源

    公开(公告)号:US07447883B2

    公开(公告)日:2008-11-04

    申请号:US11501920

    申请日:2006-08-10

    IPC分类号: G06F9/32

    摘要: A data processing system includes an instruction fetching circuit 2, an instruction queue 4 and further processing circuits 6. A branch target cache, which maybe a branch target address cache 8, a branch target instruction cache 10 or both, is used to store branch target addresses or blocks of instructions starting at the branch target respectively. A control circuit 12 is responsive to the contents of the instruction queue 4 when a branch instruction is encountered to determine whether or not storage resources within the branch target cache 8, 10 should be allocated to that branch instruction. Storage resources within the branch target cache 8, 10 will be allocated when the number of program instructions within the instruction queue is below a threshold number and/or the estimated execution time of the program instructions is below a threshold time.

    摘要翻译: 数据处理系统包括指令提取电路2,指令队列4和其他处理电路6。 分支目标高速缓存(分支目标地址高速缓存8,分支目标指令高速缓存10或两者)分别用于存储从分支目标开始的分支目标地址或指令块。 当遇到分支指令时,控制电路12响应于指令队列4的内容,以确定分支目标高速缓存8,10中的存储资源是否应被分配给该分支指令。 当指令队列内的程序指令数量低于阈值数量和/或程序指令的估计执行时间低于阈值时间时,将分配分支目标缓存器8,10内的存储资源。

    Clipping data values in a data processing system
    6.
    发明授权
    Clipping data values in a data processing system 有权
    在数据处理系统中剪切数据值

    公开(公告)号:US06504495B1

    公开(公告)日:2003-01-07

    申请号:US09251410

    申请日:1999-02-17

    IPC分类号: H03M700

    摘要: A clipping and quantization technique is described for producing clipped numbers in a range of 0 to N−1 (from unclipped numbers in a range of −0.5N to (1.5N−1)), where N is 2m and m is the bit length of the desired clipped and quantized number. The most significant bit of the unclipped data value indicates whether an overflow of the permitted range has occurred and that clipping is required. The next most significant bit (m−1th) indicates which saturated value should be adopted. These properties of the unclipped data value may be exploited to generate the desired clipped and quantized numbers using logical left shifting and conditionally executed saturating instructions executing upon a general purpose processor 24. The shifting operations performed to achieve saturation operation may simultaneously yield quantization.

    摘要翻译: 描述了一种削波和量化技术,用于产生在0到N-1的范围内的剪切数字(从-0.5N到(1.5N-1)的范围内的未剪切数字),其中N是2m,m是比特长度 的所需剪辑和量化数字。 未剪切数据值的最高有效位指示是否发生了允许范围的溢出,并且需要进行限幅。 下一个最高有效位(m-1)表示应采用哪个饱和值。 可以使用未剪切数据值的这些属性来使用在通用处理器24上执行的逻辑左移和有条件执行的饱和指令来产生期望的剪切和量化数。为了实现饱和操作而执行的移位操作可以同时产生量化。

    Data processing apparatus and method for performing data processing operations on floating point data elements
    7.
    发明授权
    Data processing apparatus and method for performing data processing operations on floating point data elements 有权
    用于对浮点数据元素执行数据处理操作的数据处理装置和方法

    公开(公告)号:US07647368B2

    公开(公告)日:2010-01-12

    申请号:US10930846

    申请日:2004-09-01

    IPC分类号: G06F7/38

    摘要: Data processing apparatus and method perform data processing operations on floating point data elements. The data processing apparatus has processing logic for performing data processing operations on the floating point data elements, and decode logic operable to decode a data processing instruction in order to determine a corresponding data processing operation to be performed by the processing logic. The data processing instruction has an m-bit immediate value encoded therein. Further, constant generation logic is provided to perform a logical operation on the m-bit immediate value in order to generate an n-bit floating point constant for use as at least one input floating point data element for the processing logic when performing the corresponding data processing operation. The values “n” and “m” are integers, and n is greater than m. This approach provides a particularly efficient technique for generating floating point constants.

    摘要翻译: 数据处理装置和方法对浮点数据元素执行数据处理操作。 数据处理装置具有用于对浮点数据元素执行数据处理操作的处理逻辑,以及可操作以对数据处理指令进行解码的解码逻辑,以便确定由处理逻辑执行的相应数据处理操作。 数据处理指令具有在其中编码的m位立即值。 此外,提供恒定生成逻辑以对m位立即值执行逻辑运算,以便在执行相应数据时产生用于处理逻辑的至少一个输入浮点数据元素的n位浮点常数 处理操作。 值“n”和“m”是整数,n大于m。 该方法提供了一种特别有效的生成浮点常数的技术。

    Method, data processing system and computer program for comparing floating point numbers
    8.
    发明授权
    Method, data processing system and computer program for comparing floating point numbers 有权
    比较浮点数的方法,数据处理系统和计算机程序

    公开(公告)号:US06789098B1

    公开(公告)日:2004-09-07

    申请号:US09693974

    申请日:2000-10-23

    申请人: Wilco Dijkstra

    发明人: Wilco Dijkstra

    IPC分类号: G06F738

    摘要: The present invention provides a method, data processing system and computer program for comparing first and second floating point numbers involving providing a hierarchy of tests arranged to identify from said first and second floating point numbers whether said one or more exception conditions exist. Each test is arranged to generate a hit signal if that test predicts that one or more exception conditions exist. If the executed test generates a hit signal and is not the final test in the hierarchy, the method branches to the next test in the hierarchy, executes that test and returns to the step of determining whether the executed test has generated a hit signal. If the executed test generates a hit signal and is the final test in the hierarchy, an exception signal is generated indicating the presence of one or more exception conditions.

    摘要翻译: 本发明提供了一种用于比较第一和第二浮点数的方法,数据处理系统和计算机程序,所述第一和第二浮点数提供测试层级,其布置成从所述第一和第二浮点数识别是否存在所述一个或多个异常条件。 如果该测试预测存在一个或多个异常条件,则每个测试被安排成产生命中信号。 如果执行的测试生成命中信号,并且不是层次结构中的最终测试,则该方法分支到层次结构中的下一个测试,执行该测试并返回到确定被执行的测试是否已经产生命中信号的步骤。 如果执行的测试生成命中信号并且是层次结构中的最终测试,则产生指示存在一个或多个异常条件的异常信号。

    Data processing system and method for generating a structured listing of symbols
    9.
    发明授权
    Data processing system and method for generating a structured listing of symbols 失效
    用于生成符号结构化列表的数据处理系统和方法

    公开(公告)号:US06411958B1

    公开(公告)日:2002-06-25

    申请号:US09259339

    申请日:1999-03-01

    申请人: Wilco Dijkstra

    发明人: Wilco Dijkstra

    IPC分类号: G06F1730

    摘要: A data processing system and method are provided for generating a structured listing of symbols from which encoded data values for those symbols can be determined. The data processing system comprises a list generator for generating from an input stream of symbols a first list having a plurality of entries, each entry identifying a symbol in the input stream and the frequency with which that symbol appears. A sorter is then arranged to order the entries in the first list by frequency, and a selector is arranged to select the two symbols having the lowest frequency. A new symbol generator, responsive to the selector, is used to generate a new symbol to represent the two selected symbols, and to allocate the new symbol a frequency based on the two selected symbols. The list generator is also arranged to generate a second list for storage of new symbols generated by the new symbol generator, the list generator being arranged to store the new symbol as an entry in the second list along with an indication of the frequency allocated to the new symbol. Further, the list generator makes unavailable for subsequent steps in the generation of the structured listing the entries for the two symbols selected by the selector. The selector and new symbol generator are arranged to repetitively represent the two symbols having the lowest frequency with a new symbol until only one available entry remains, each new symbol being stored in the second list, and in each iteration the selector being arranged to select the two symbols from all available entries in the first and the second list. Using this technique, the time taken to generate the structured listing increases proportional to N, where N is the number of symbols in the input stream.

    摘要翻译: 提供了一种数据处理系统和方法,用于生成符号的结构化列表,从中可以确定这些符号的编码数据值。 数据处理系统包括列表生成器,用于从符号的输入流生成具有多个条目的第一列表,每个条目标识输入流中的符号以及出现该符号的频率。 然后排列器按频率排列在第一列表中的条目,并且选择器被布置为选择具有最低频率的两个符号。 响应于选择器的新符号发生器用于产生新符号以表示两个所选择的符号,并且基于两个所选择的符号来分配新符号频率。 列表生成器还被布置为生成用于存储由新符号生成器生成的新符号的第二列表,该列表生成器被布置为将新符号作为条目存储在第二列表中以及分配给第二列表的频率的指示 新符号 此外,列表生成器对于生成结构化列表中的后续步骤不可用于由选择器选择的两个符号的条目。 选择器和新符号发生器被布置成以新的符号重复地表示具有最低频率的两个符号,直到仅剩下一个可用条目,每个新符号被存储在第二列表中,并且在每次迭代中,选择器被选择 第一和第二列表中所有可用条目的两个符号。 使用这种技术,生成结构化列表所花费的时间与N成比例,其中N是输入流中的符号数。

    Data processing apparatus and method for utilizing endianess independent data values
    10.
    发明授权
    Data processing apparatus and method for utilizing endianess independent data values 有权
    数据处理装置和方法,用于使用端序独立数据值

    公开(公告)号:US07822955B2

    公开(公告)日:2010-10-26

    申请号:US10347481

    申请日:2003-01-21

    IPC分类号: G06F7/00

    摘要: The present invention provides a technique for swapping data values within a data word. In particular, a single endian reverse instruction is provided to cause independent swap operations to be performed on particular sections of an input data word. The data processing apparatus of the present invention comprises a data processing unit for executing instructions which is responsive to the endian reverse instruction to apply an endian reverse operation to an input data word Rm comprising a plurality of data values. The endian reverse operation yields a result data word Rd given by: treating the input data word as consisting of a plurality of input sections, the result data word having a corresponding plurality of result sections, at least one input section comprising a plurality of data values; and for at least one of the input sections comprising a plurality of data values, performing an independent swap operation on the data values within that input section to form the result data word Rd in which the corresponding result section has its data values swapped with respect to that input section. This provides a particularly efficient technique for providing endian reversal functionality within a data processing apparatus supporting a variety of data structures, such as packed halfwords, zero extended halfwords, sign extended halfwords, etc.

    摘要翻译: 本发明提供了一种用于交换数据字中的数据值的技术。 特别地,提供单个末端反向指令以使得对输入数据字的特定部分执行独立的交换操作。 本发明的数据处理装置包括:数据处理单元,用于执行响应于末端反向指令的指令,以对包括多个数据值的输入数据字Rm应用结束反向操作。 端序反转操作产生结果数据字Rd,其由下式给出:将输入数据字处理为由多个输入部分组成,结果数据字具有对应的多个结果部分,至少一个输入部分包括多个数据值 ; 并且对于包括多个数据值的输入部分中的至少一个,对该输入部分内的数据值执行独立的交换操作以形成结果数据字Rd,其中相应的结果部分的数据值相对于 那个输入部分。 这提供了一种特别有效的技术,用于在支持各种数据结构的数据处理设备中提供端到端反转功能,例如打包半字,零扩展半字,扩展符号等。