Nova Patents
US9575756B2

Predication in a vector processor

Summary by NHIP

Vector Processor Predication System

The system decodes instructions with parallel sub-instructions and applies mask bits from a vector mask register to predicate operations in an arithmetic logic unit or load store unit. It analyzes a compare instruction syntax bit to select between OR-reduction and AND-reduction of mask bit values before writing the summary condition to a condition register.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

Embodiments relate to vector processor predication in an active memory device. An aspect includes a system for vector processor predication in an active memory device. The system includes memory in the active memory device and a processing element in the active memory device. The processing element is configured to perform a method including decoding an instruction with a plurality of sub-instructions to execute in parallel. One or more mask bits are accessed from a vector mask register in the processing element. The one or more mask bits are applied by the processing element to predicate operation of a unit in the processing element associated with at least one of the sub-instructions.

US9575756B2, drawing sheet 1
Sheet 1 of 9

Term

Projected expiry 1 December 2034.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

13 claims: 2 independent, 11 dependent

  1. 1
    Broadest claimClaim Score 25, narrow(NHIP)A system for vector processor predication in an active memory device, the system comprising:memory in the active memory device;and a processing element in the active memory device, the processing element comprising a vector mask register, an arithmetic logic unit, and a load store unit, the processing element configured to perform a method comprising: setting one or more mask bits in the vector mask register in the processing element;applying the one or more mask bits by the processing element to predicate operation of the arithmetic logic unit or the load-store unit in the processing element associated with at least one of a plurality of sub-instructions;performing a compare of operands in the processing element using predication of a compare instruction to perform less than a maximum supported number of comparisons in parallel based on the one or more mask bits;storing compare results of the compare instruction as mask bit values of the vector mask register;analyzing a compare instruction syntax bit of the compare instruction to select between performing an OR-reduction and an AND-reduction on the mask bit values stored in response to performing less than the maximum supported number of comparisons in parallel by the predication of the compare instruction;reducing the mask bit values to a summary condition by performing a logical OR combination of the compare results based on determining that the OR-reduction is selected by the compare instruction syntax bit;reducing the mask bit values to the summary condition by performing a logical AND combination of the compare results based on determining that the AND-reduction is selected by the compare instruction syntax bit;writing the summary condition to a condition register;and using the summary condition of the condition register to determine a branch direction of a conditional branch instruction in the processing element.
  2. 7
    A system for vector processor predication in an active memory device, the system comprising:memory in the active memory device, wherein the active memory device is a three-dimensional memory cube and the memory is divided into three-dimensional blocked regions as memory vaults;and a processing element in the active memory device, the processing element comprising a vector mask register, an arithmetic logic unit, and a load store unit, the processing element configured to perform a method comprising: fetching, in the processing element, an instruction from an instruction buffer in the processing element;decoding, in the processing element, the instruction comprising a plurality of sub-instructions to execute in parallel;setting one or more mask bits in the vector mask register in the processing element;applying the one or more mask bits by the processing element to predicate operation of the arithmetic logic unit or the load-store unit in the processing element associated with at least one of the sub-instructions;performing a compare of operands in the processing element using predication of a compare instruction to perform less than a maximum supported number of comparisons in parallel based on the one or more mask bits;storing compare results of the compare instruction as mask bit values of the vector mask register;analyzing a compare instruction syntax bit of the compare instruction to select between performing an OR-reduction and an AND-reduction on the mask bit values stored in response to performing less than the maximum supported number of comparisons in parallel by the predication of the compare instruction;reducing the mask bit values to a summary condition by performing a logical OR combination of the compare results based on determining that the OR-reduction is selected by the compare instruction syntax bit;reducing the mask bit values to the summary condition by performing a logical AND combination of the compare results based on determining that the AND-reduction is selected by the compare instruction syntax bit;writing the summary condition to a condition register;using the summary condition of the condition register to determine a branch direction of a conditional branch instruction in the processing element;and accessing the memory through one or more memory controllers in the active memory device for data operated upon by the instruction.