Reconfigurable processing system and method
First Claim
1. A method of controlling a reconfigurable processor, comprising:
- executing a first instruction that loads a configuration into a configuration register;
executing a second instruction that references the configuration register; and
executing the configuration in the configuration register referenced by the second instruction, wherein executing the first instruction loads a plurality of configurations into respective configuration registers, wherein one of the plurality of configurations is loaded into a configuration register, and wherein the configuration and the first instruction are stored in a memory, and wherein the first instruction includes a displacement field indicating a location in the memory of the configuration relative to the first instruction.
6 Assignments
0 Petitions
Accused Products
Abstract
A reconfigurable processing system executes instructions and configurations in parallel. Initially, a first instruction loads configurations into configuration registers. The configuration field of a subsequently fetched instruction selects a configuration register. The instruction controls and controls of the configuration in the selected configuration register are decoded and modified as specified by the instruction. The controls provide data operands to the execution units which process the operands and generate results. Scalar data, vector data, or a combination of scalar and vector data can be processed. The processing is controlled by instructions executed in parallel with configurations invoked by configuration fields within the instructions. Vectors are processed using a vector register file which stores vectors. A vector address unit identifies addresses of vector elements in the vector register file to be processed. For each vector, vector address units provide addresses which stride through each element of each vector.
61 Citations
35 Claims
-
1. A method of controlling a reconfigurable processor, comprising:
-
executing a first instruction that loads a configuration into a configuration register;
executing a second instruction that references the configuration register; and
executing the configuration in the configuration register referenced by the second instruction, wherein executing the first instruction loads a plurality of configurations into respective configuration registers, wherein one of the plurality of configurations is loaded into a configuration register, and wherein the configuration and the first instruction are stored in a memory, and wherein the first instruction includes a displacement field indicating a location in the memory of the configuration relative to the first instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A processing system, comprising:
-
means for executing a first instruction that loads a configuration into a configuration register; and
means for decoding a second instruction and the configuration, the second instruction referencing the configuration register containing the configuration means for executing the second instruction and the configuration in parallel, wherein one of the plurality of configurations is loaded into a configuration register, and wherein the configuration and the first instruction are stored in a memory, and wherein the first instruction includes a displacement field indicating a location in the memory of the configuration relative to the first instruction.
-
-
22. A method of implementing a vector processing system, comprising:
-
executing a first instruction that loads a configuration into a configuration register;
executing a second instruction and a configuration stored in a configuration register referenced by the second instruction;
processing elements of a first vector according to the second instruction and the configuration, wherein a vector register stores elements of the first vector, and a vector address unit provides an address to the vector register which stores the first vector elements selected by the second instruction and the configuration. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification