Systems and methods facilitating multi-word atomic operation support for system on chip environments
AssigneeAmpere Computing LLC
InventorMillind Mittal
Life of this patent
Estimating the term…
Abstract
Systems and methods that facilitate multi-word atomic operation support for systems on chip are described. One method involves: receiving an instruction associated with a calling process, and determining a first memory width associated with execution of the instruction based on an operator of the instruction and a width of at least one operand of the instruction. The instruction can be associated with an atomic operation. In some embodiments, the instruction contains a message having a first field identifying the operator and a second field identifying the operand.
Claims18
A method, comprising:
- receiving, at a processor, data defining an instruction associated with a calling process, wherein the processor is operably coupled to an atomic engine component having circuitry configured to perform one or more operations to facilitate multi-word atomic support for a system on chip, and the data comprises an opcode field defining a plurality of operations to be performed in accordance with the instruction and an operand field defining a plurality of values used to execute the plurality of operations;
- determining a first memory width associated with execution of the instruction based on identities of the plurality of operators defined in the opcode field and a plurality of widths of the plurality of values defined in the operand field, wherein the determining the first memory width comprises:
- determining, based on analysis of the data, a quantity of the plurality of values defined in the operand field and types of the plurality of values defined in the operand field;
- and
- determining the first memory width as a function of the quantity and the type;
- and
- reserving a memory location comprising a second memory width that is greater than the first memory width.
A system on chip, comprising:
- a central processing unit configured to execute an instruction defined by message data associated with a calling process, the message data comprising an opcode field defining a plurality of operations to be performed in accordance with the instruction and an operand field defining a plurality of values used as operands for the plurality of operations;
- and
- an atomic engine component coupled to the central processing unit and configured to:
- receive the message data;
- determine a first memory width associated with execution of the instruction based on types of the plurality of operations defined by the opcode field and widths of the plurality of values defined by the operand field, wherein the atomic engine component is further configured to determine the first memory width by:
- determining based on analysis of the message data, a quantity of the plurality of values defined by the operand field and types of the plurality of values defined by the operand field;
- and
- determining the first memory width as a function of the quantity and the type;
- and
- reserve and lock a memory location comprising a second memory width that is greater than the first memory width,
- wherein the atomic engine component comprises circuitry configured to perform the plurality of operations as multi-word atomic operations on a memory of the system on chip.
A method comprising:
- receiving, by a system-on-chip, information defining an instruction associated with a calling process, the information comprising an opcode field defining a plurality of operations to be performed as part of the instruction and an operand field defining a plurality of values used to execute the plurality of operations;
- determining, by the system-on-chip, a first memory width associated with execution of the instruction based on identities of the plurality of operations defined by the opcode field and widths of the plurality of values defined by the operand field, wherein the determining comprises:
- determining, based on analysis of the information, a quantity of the plurality of values defined by the operand field and types of the plurality of values defined by the operand field, and
- determining the first memory width as a function of the quantity and the type;
- and
- locking, by the system-on-chip, a memory location comprising a second memory width that is greater than the first memory width, wherein the system-on-chip comprises circuitry configured to perform one or more operations to facilitate multi-word atomic support for the system on chip.
Dependencies are inferred from the claim text.