Cache for instruction set architecture
First Claim
1. A distributed data cache coupled to one of a plurality of reconfigurable execution nodes (RXN), wherein the reconfigurable execution nodes are coupled by a programmable interconnection network having a network root and a plurality of crosspoint switches, each of the RXNs being selectively configurable to perform a one of a plurality of processing operations, the distributed data cache comprising:
- a plurality of cache memory units each having a plurality of cache ports;
a plurality of data buses connected with each of the cache memory units, wherein each of the plurality of data buses is connected with one of the plurality of cache ports of each of the cache memory units;
the reconfigurable execution node adapted for actively processing data and having at least one data input and at least one data output, wherein the data input and data output are connected with the plurality of data buses; and
wherein the RXN is adapted to be reconfigured to perform a sequence of operations to actively process data responsive to a sequence of the control words stored in the cache memory.
5 Assignments
0 Petitions
Accused Products
Abstract
A distributed data cache includes a number of cache memory units or register files each having a number of cache lines. Data buses are connected with the cache memory units. Each data bus is connected with a different cache line from each cache memory unit. A number of data address generators are connected with a memory unit and the data buses. The data address generators retrieve data values from the memory unit and communicate the data values to the data buses without latency. The data address generators are adapted to simultaneously communicate each of the data values to a different data bus without latency. The cache memory units are adapted to simultaneously load data values from the data buses, with each data value loaded into a different cache line without latency.
-
Citations
17 Claims
-
1. A distributed data cache coupled to one of a plurality of reconfigurable execution nodes (RXN), wherein the reconfigurable execution nodes are coupled by a programmable interconnection network having a network root and a plurality of crosspoint switches, each of the RXNs being selectively configurable to perform a one of a plurality of processing operations, the distributed data cache comprising:
-
a plurality of cache memory units each having a plurality of cache ports; a plurality of data buses connected with each of the cache memory units, wherein each of the plurality of data buses is connected with one of the plurality of cache ports of each of the cache memory units; the reconfigurable execution node adapted for actively processing data and having at least one data input and at least one data output, wherein the data input and data output are connected with the plurality of data buses; and wherein the RXN is adapted to be reconfigured to perform a sequence of operations to actively process data responsive to a sequence of the control words stored in the cache memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for transferring a plurality of data values arranged in a matrix, the apparatus coupled to one of a plurality of heterogeneous processing nodes, wherein the heterogeneous processing nodes are coupled by a programmable interconnection network having a network root and a plurality of crosspoint switches, the apparatus comprising:
-
a plurality of cache memory units, each cache memory unit having a plurality of cache ports; and a plurality of data buses, each data bus connected with a different one of the plurality of cache ports from each of the cache memory or register file units so that each of the data buses is connected to one port of every one of the data buses. - View Dependent Claims (15, 16)
-
-
17. A method for transferring a plurality of data values arranged in a matrix to transpose the matrix, the matrix including a plurality of heterogeneous processing nodes coupled by a programmable interconnection network having a network root and a plurality of crosspoint switches, the method comprising:
-
retrieving a first subset of data values from the plurality of data values from a memory unit storing the matrix in rows; simultaneously transferring the first subset of data values comprising one of the rows of the matrix;
to a plurality of data buses, wherein each data value of the first subset is transferred to a different one of the plurality of data buses;simultaneously loading the first subset of data values from the plurality of data buses to a first cache memory unit having a plurality of cache ports, wherein each cache port receives a data value from a different one of the plurality of data buses to define a column of the matrix; and repeating the operation for each row of the matrix to complete transposing of the matrix.
-
Specification