Cache accumulator memory for performing operations on block operands
AssigneeSun Microsystems, Inc.
InventorFay Chong JR.
Life of this patent
Estimating the term…
Abstract
Various embodiments of systems and methods for performing accumulation operations on block operands are disclosed. In one embodiment, an apparatus may include a memory, a functional unit that performs an operation on block operands, and a cache accumulator. The cache accumulator is configured to provide a block operand to the functional unit and to store the block result generated by the functional unit. The cache accumulator is configured to provide the block operand to the functional unit in response to an instruction that uses an address in the memory to identify the block operand. Thus, the cache accumulator behaves as both a cache and an accumulator.
Claims31
An apparatus comprising:
- a memory;
- a functional unit configured to perform a block operation on one or more block operands to generate a block result;
- and
- a cache accumulator coupled to the memory and the functional unit, wherein the cache accumulator is configured to provide a block operand to the functional unit and to store the block result generated by the functional unit;
- wherein the cache accumulator is configured to provide the block operand to the functional unit in response to receiving an instruction that uses an address in the memory to identify the block operand.
A method of performing a block accumulation operation, the method comprising:
- receiving a first command to perform an operation on a first block operand identified by a first address in a memory;
- in response to said receiving a first command:
- loading the first block operand from the memory into a cache accumulator if the first block operand is not stored in the cache accumulator;
- providing the first block operand from the cache accumulator to a functional unit;
- and
- storing a block result of the operation generated by the functional unit into the cache accumulator.
An apparatus comprising:
- means for storing data;
- means for performing a block operation on one or more block operands to generate a block result;
- and
- means for storing the block result generated by the means for performing the block operation and providing a block operand to the means for performing the block operation in response to an instruction that uses an address in the means for storing data to identify the block operand, wherein the means for storing the block result are coupled to the means for storing the block result and the means for performing a block operation;
- wherein the means for storing the block result store a word of the block result during an access cycle in which the means for storing the block result provide a word of the block operand to the means for performing a block operation.
A data processing system comprising:
- a host computer system;
- a storage array;
- an interconnect coupled to the host computer system and the storage array and configured to transfer data between the host computer system and the storage array;
- and
- a parity calculation system configured to perform parity operations on data stored to the storage array, wherein the parity calculation system comprises a memory, a cache accumulator, and a parity calculation unit, wherein in response to an instruction using an address in the memory to identify the first block operand, the cache accumulator is configured to output a first block operand to the parity calculation unit and to store a first block result generated by the parity calculation unit.
Dependencies are inferred from the claim text.