Dual independent and shared resource vector execution units with shared register file
    11.
    发明授权
    Dual independent and shared resource vector execution units with shared register file 有权
    具有共享寄存器文件的双独立和共享资源向量执行单元

    公开(公告)号:US07926009B2

    公开(公告)日:2011-04-12

    申请号:US11924980

    申请日:2007-10-26

    IPC分类号: G06F17/50

    摘要: The present invention is generally related to integrated circuit devices, and more particularly, to methods, systems and design structures for the field of image processing, and more specifically to vector units for supporting image processing. A dual vector unit implementation is described wherein two vector units are configured receive data from a common register file. The vector units may independently and simultaneously process instructions. Furthermore, the vector units may be adapted to perform scalar operations thereby integrating the vector and scalar processing. The vector units may also be configured to share resources to perform an operation, for example, a cross product operation.

    摘要翻译: 本发明通常涉及集成电路装置,更具体地涉及图像处理领域的方法,系统和设计结构,更具体地涉及用于支持图像处理的矢量单元。 描述了双向量单元实现,其中配置了两个向量单元从公共寄存器文件接收数据。 向量单元可以独立地并且同时处理指令。 此外,矢量单元可以适于执行标量运算,从而整合向量和标量处理。 矢量单元还可以被配置为共享资源以执行操作,例如交叉产品操作。

    Method and Apparatus for Implementing a Multiple Operand Vector Floating Point Summation to Scalar Function
    12.
    发明申请
    Method and Apparatus for Implementing a Multiple Operand Vector Floating Point Summation to Scalar Function 失效
    用于实现多操作数向量浮点求和的标量函数的方法和装置

    公开(公告)号:US20090049113A1

    公开(公告)日:2009-02-19

    申请号:US11840277

    申请日:2007-08-17

    IPC分类号: G06F7/38

    摘要: Embodiments of the invention provide methods and apparatus for executing a multiple operand instruction. Executing the multiple operand instruction comprises computing an arithmetic result of a pair of operands in each processing lane of a vector unit. The arithmetic results generated in each processing lane of the vector unit may be transferred to a dot product unit. The dot product unit may compute an arithmetic result using the arithmetic result computed by each processing lane of the vector unit to generate an arithmetic result of more than two operands.

    摘要翻译: 本发明的实施例提供了用于执行多操作数指令的方法和装置。 执行多操作数指令包括​​计算向量单元的每个处理通道中的一对操作数的算术结果。 在矢量单元的每个处理车道中产生的算术结果可以被转移到点积单位。 点积单位可以使用由向量单位的每个处理车道计算的算术结果来计算算术结果,以生成超过两个操作数的算术结果。

    Execution unit with inline pseudorandom number generator
    13.
    发明授权
    Execution unit with inline pseudorandom number generator 有权
    具有内联伪随机数发生器的执行单元

    公开(公告)号:US09021004B2

    公开(公告)日:2015-04-28

    申请号:US13556464

    申请日:2012-07-24

    IPC分类号: G06F7/48 G06F9/38 G06F9/30

    摘要: A circuit arrangement and method couple a hardware-based pseudorandom number generator (PRNG) to an execution unit in such a manner that pseudorandom numbers generated by the PRNG may be selectively output to the execution unit for use as an operand during the execution of instructions by the execution unit. A PRNG may be coupled to an input of an operand multiplexer that outputs to an operand input of an execution unit so that operands provided by instructions supplied to the execution unit are selectively overridden with pseudorandom numbers generated by the PRNG. Furthermore, overridden operands provided by instructions supplied to the execution unit may be used as seed values for the PRNG.

    摘要翻译: 电路布置和方法将基于硬件的伪随机数生成器(PRNG)耦合到执行单元,使得由PRNG生成的伪随机数可以被选择性地输出到执行单元,以在执行指令期间用作操作数, 执行单元。 PRNG可以耦合到操作数多路复用器的输入,该输入输出到执行单元的操作数输入,使得由提供给执行单元的指令提供的操作数被PRNG生成的伪随机数选择性地覆盖。 此外,提供给执行单元的指令提供的覆盖操作数可以用作PRNG的种子值。

    Implementing a floating point weighted average function
    14.
    发明授权
    Implementing a floating point weighted average function 有权
    实现浮点加权平均函数

    公开(公告)号:US08443027B2

    公开(公告)日:2013-05-14

    申请号:US11861518

    申请日:2007-09-26

    IPC分类号: G06F7/38

    CPC分类号: G06F7/483

    摘要: A method, computer-readable medium, and an apparatus for implementing a floating point weighted average function. The method includes receiving an input containing 2N input values, 2N weights, and an opcode, where N is a positive integer number and each of the input values corresponds to one of the weights. Furthermore, the method also includes using existing dot product circuit function to generate 2N addends by multiplying each of the input values with the corresponding weight. In addition, the method includes generating a sum value by adding the 2N addends, where the sum value includes an exponent value, and generating the weighted average value based on the sum value by decreasing the exponent value by N. In this fashion, the same circuit area may be used to carry out both dot product and weighted average calculations, leading to greater circuit area savings and performance advantages.

    摘要翻译: 一种用于实现浮点加权平均函数的方法,计算机可读介质和装置。 该方法包括接收包含2N个输入值,2N个权重和操作码的输入,其中N是正整数,并且每个输入值对应于其中一个权重。 此外,该方法还包括使用现有的点积电路函数,通过将每个输入值与相应的权重相乘来产生2N个加数。 此外,该方法包括通过加上2N加数来产生和值,其中和值包括指数值,并且通过将指数值减小N来基于和值生成加权平均值。以这种方式,相同 电路面积可用于进行点积和加权平均计算,从而实现更大的电路面积节省和性能优势。

    Execution unit with data dependent conditional write instructions
    15.
    发明授权
    Execution unit with data dependent conditional write instructions 有权
    具有数据相关条件写入指令的执行单元

    公开(公告)号:US08356162B2

    公开(公告)日:2013-01-15

    申请号:US12050721

    申请日:2008-03-18

    IPC分类号: G06F7/38 G06F9/00 G06F9/44

    摘要: An execution unit supports data dependent conditional write instructions that write data to a target only when a particular condition is met. In one implementation, a data dependent conditional write instruction identifies a condition as well as data to be tested against that condition. The data is tested against that condition, and the result of the test is used to selectively enable or disable a write to a target associated with the data dependent conditional write instruction. Then, a write is attempted while the write to the target is enabled or disabled such that the write will update the contents of the target only when the write is selectively enabled as a result of the test. By doing so, dependencies are typically avoided, as is use of an architected condition register that might otherwise introduce branch prediction mispredict penalties, enabling improved performance with z-buffer test and similar types of algorithms.

    摘要翻译: 执行单元支持仅当满足特定条件时将数据写入目标的数据相关条件写指令。 在一个实现中,依赖于数据的条件写入指令识别条件以及针对该条件进行测试的数据。 根据该条件测试数据,并且测试结果用于选择性地启用或禁用对与数据相关条件写指令相关联的目标的写入。 然后,当对目标的写入被启用或禁用时,尝试写入,以便只有当作为测试的结果有选择地启用写入时,写入才会更新目标的内容。 通过这样做,通常可以避免依赖关系,因为使用可能会导致分支预测错误处理的架构条件寄存器,可以通过z缓冲区测试和类似类型的算法实现改进的性能。

    Execution unit with inline pseudorandom number generator
    16.
    发明授权
    Execution unit with inline pseudorandom number generator 失效
    具有内联伪随机数发生器的执行单元

    公开(公告)号:US08255443B2

    公开(公告)日:2012-08-28

    申请号:US12132115

    申请日:2008-06-03

    IPC分类号: G06F7/58

    摘要: A circuit arrangement and method couple a hardware-based pseudorandom number generator (PRNG) to an execution unit in such a manner that pseudorandom numbers generated by the PRNG may be selectively output to the execution unit for use as an operand during the execution of instructions by the execution unit. A PRNG may be coupled to an input of an operand multiplexer that outputs to an operand input of an execution unit so that operands provided by instructions supplied to the execution unit are selectively overridden with pseudorandom numbers generated by the PRNG. Furthermore, overridden operands provided by instructions supplied to the execution unit may be used as seed values for the PRNG. In many instances, an instruction executed by an execution unit may be able to perform an arithmetic operation using both an operand specified by the instruction and a pseudorandom number generated by the PRNG during the execution of the instruction, so that the generation of the pseudorandom number and the performance of the arithmetic operation occur during a single pass of an execution unit.

    摘要翻译: 电路布置和方法将基于硬件的伪随机数生成器(PRNG)耦合到执行单元,使得由PRNG生成的伪随机数可以被选择性地输出到执行单元,以在执行指令期间用作操作数, 执行单元。 PRNG可以耦合到操作数多路复用器的输入,该输入输出到执行单元的操作数输入,使得由提供给执行单元的指令提供的操作数被PRNG生成的伪随机数选择性地覆盖。 此外,提供给执行单元的指令提供的覆盖操作数可以用作PRNG的种子值。 在许多情况下,执行单元执行的指令可以在执行指令期间使用由指令指定的操作数和由PRNG生成的伪随机数来执行算术运算,从而生成伪随机数 并且算术运算的执行在执行单元的单次通过期间发生。

    Designating operands with fewer bits in instruction code by indexing into destination register history table for each thread
    17.
    发明授权
    Designating operands with fewer bits in instruction code by indexing into destination register history table for each thread 失效
    通过索引到每个线程的目标寄存器历史记录表来指定指令代码中较少位的操作数

    公开(公告)号:US07814299B2

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

    申请号:US12274560

    申请日:2008-11-20

    IPC分类号: G06F9/30

    摘要: A circuit arrangement and method support instruction target history based register address indexing, whereby register addresses to be used by an instruction are decoded using a target history table of previous target register addresses, and an index into the target history table supplied by an index value in the instruction. An instruction may include at least one index value that identifies a previously used register address. During execution of the instruction, the index is retrieved from the instruction, and then a register address is retrieved from the target history table using the index.

    摘要翻译: 一种电路布置和方法支持指令目标历史的寄存器地址索引,由此由指令使用的寄存器地址使用先前目标寄存器地址的目标历史表和由目标历史表中的索引值提供的索引进行解码 指示。 指令可以包括标识先前使用的寄存器地址的至少一个索引值。 在执行指令期间,从指令中检索索引,然后使用索引从目标历史表中检索一个寄存器地址。

    Method and Apparatus for an Area Efficient Transcendental Estimate Algorithm
    19.
    发明申请
    Method and Apparatus for an Area Efficient Transcendental Estimate Algorithm 失效
    用于区域有效超验估计算法的方法和装置

    公开(公告)号:US20090070398A1

    公开(公告)日:2009-03-12

    申请号:US11851658

    申请日:2007-09-07

    IPC分类号: G06F7/38

    CPC分类号: G06F7/548

    摘要: A method, computer-readable medium, and an apparatus for generating a transcendental value. The method includes receiving an input containing an input value and an opcode and determining whether the opcode corresponds to a trigonometric operation or a power-of-two operation. The method also includes calculating a fractional value and an integer value from the input value, generating the transcendental value based on the fractional value by adding at least a portion of the fractional value with at least one of a shifted fractional value produced by shifting the portion of the fractional value and a constant value, and providing the transcendental value in response to the request. In this fashion, the same circuit area may be used to carry out both trigonometric and power-of-two calculations, leading to greater circuit area savings and performance advantages while not sacrificing significant accuracy.

    摘要翻译: 一种用于产生超验值的方法,计算机可读介质和装置。 该方法包括接收包含输入值和操作码的输入,并确定操作码是否对应于三角运算或二进制运算。 该方法还包括从输入值计算分数值和整数值,通过将分数值的至少一部分与通过移动部分产生的移位分数值中的至少一个相加而基于分数值生成超越值 的分数值和恒定值,并且响应于该请求提供超验值。 以这种方式,可以使用相同的电路面积来执行三角和二次幂计算,导致更大的电路面积节省和性能优点,而不牺牲显着的精度。

    Operand Multiplexor Control Modifier Instruction in a Fine Grain Multithreaded Vector Microprocessor
    20.
    发明申请
    Operand Multiplexor Control Modifier Instruction in a Fine Grain Multithreaded Vector Microprocessor 失效
    精细多线程向量微处理器中的操作数多路复用器控制修改器指令

    公开(公告)号:US20080122854A1

    公开(公告)日:2008-05-29

    申请号:US11564072

    申请日:2006-11-28

    IPC分类号: G06T1/00

    CPC分类号: G06T1/20

    摘要: The present invention is generally related to the field of image processing, and more specifically to an instruction set for processing images. Vector processing may involve rearranging vector operands in one or more source registers prior to performing vector operations. Typically, rearranging of operands in source registers is done by issuing a plurality of permute instructions that require excessive usage of temporary registers. Furthermore, the permute instructions may cause dependencies between instructions executing in a pipeline, thereby adversely affecting performance. Embodiments of the invention provide a level of muxing between a register file and a vector unit that allow for rearrangement of vector operands in source registers prior to providing the operands to the vector unit, thereby obviating the need for permute instructions.

    摘要翻译: 本发明通常涉及图像处理领域,更具体地涉及用于处理图像的指令集。 矢量处理可以包括在执行向量操作之前在一个或多个源寄存器中重新排列向量操作数。 通常,通过发出需要临时寄存器过度使用的多个置换指令来完成源寄存器中操作数的重新排列。 此外,置换指令可能导致在流水线中执行的指令之间的相关性,从而不利地影响性能。 本发明的实施例提供了一种在寄存器文件和向量单元之间的复用水平,其允许在将操作数提供给向量单元之前重新排列源寄存器中的向量操作数,从而避免了对置换指令的需要。