Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
First Claim
1. An adaptive computing integrated circuit configurable to perform a plurality of functions, comprising:
- a first computational unit including a first plurality of heterogeneous computational elements;
a first computational interconnection network coupled to the plurality of heterogeneous computational elements, the first computational interconnection network operative to configure connections between the first plurality of heterogeneous computational elements;
a second digital processing unit including a second plurality of heterogeneous computational elements and a digital processing computational interconnection network coupled to the second plurality of heterogeneous computational elements, the second computational interconnection network operative to configure the connections between the second plurality of heterogeneous elements;
wherein a first functional unit is configured by establishing connections between a first group of the first and second plurality of heterogeneous computational elements via the interconnection networks to implement a first function;
wherein a second functional unit is configured by establishing connections between a second group of the first and second plurality of heterogeneous computational elements via the interconnection networks to implement a second function; and
wherein if the second function is not currently used, one or more of the second group of heterogeneous computational elements are reconfigurable by changing the connections between the heterogeneous computational elements of the second group via the interconnection networks to implement the first function.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention concerns a new category of integrated circuitry and a new methodology for adaptive or reconfigurable computing. The exemplary IC embodiment includes a plurality of heterogeneous computational elements coupled to an interconnection network. The plurality of heterogeneous computational elements include corresponding computational elements having fixed and differing architectures, such as fixed architectures for different functions such as memory, addition, multiplication, complex multiplication, subtraction, configuration, reconfiguration, control, input, output, and field programmability. In response to configuration information, the interconnection network is operative in real-time to configure and reconfigure the plurality of heterogeneous computational elements for a plurality of different functional modes, including linear algorithmic operations, non-linear algorithmic operations, finite state machine operations, memory operations, and bit-level manipulations. The various fixed architectures are selected to comparatively minimize power consumption and increase performance of the adaptive computing integrated circuit, particularly suitable for mobile, hand-held or other battery-powered computing applications. In an exemplary embodiment, some or all of the computational elements are alternately configured to implement two or more functions.
-
Citations
25 Claims
-
1. An adaptive computing integrated circuit configurable to perform a plurality of functions, comprising:
-
a first computational unit including a first plurality of heterogeneous computational elements; a first computational interconnection network coupled to the plurality of heterogeneous computational elements, the first computational interconnection network operative to configure connections between the first plurality of heterogeneous computational elements; a second digital processing unit including a second plurality of heterogeneous computational elements and a digital processing computational interconnection network coupled to the second plurality of heterogeneous computational elements, the second computational interconnection network operative to configure the connections between the second plurality of heterogeneous elements; wherein a first functional unit is configured by establishing connections between a first group of the first and second plurality of heterogeneous computational elements via the interconnection networks to implement a first function; wherein a second functional unit is configured by establishing connections between a second group of the first and second plurality of heterogeneous computational elements via the interconnection networks to implement a second function; and wherein if the second function is not currently used, one or more of the second group of heterogeneous computational elements are reconfigurable by changing the connections between the heterogeneous computational elements of the second group via the interconnection networks to implement the first function. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An adaptive computing integrated circuit, comprising:
-
a plurality of reconfigurable matrices, the plurality of reconfigurable matrices including a plurality of heterogeneous computational units, each heterogeneous computational unit having a plurality of fixed computational elements, the plurality of fixed computational elements including a first computational element having a first architecture and a second computational element having a second architecture, the first architecture distinct from the second architecture, the plurality of heterogeneous computational units coupled to an interconnect network and reconfigurable in response to configuration information; and a matrix interconnection network coupled to the plurality of reconfigurable matrices, the matrix interconnection network operative to reconfigure the plurality of reconfigurable matrices in response to the configuration information for a plurality of operating modes; wherein a first group of heterogeneous computational units is reconfigurable to form a first functional unit to implement a first operating mode; wherein a second group of heterogeneous computational units is reconfigurable to form a second functional unit to implement a second operating mode; and wherein if the second operating mode is not currently used while the first functional unit implements the first operating mode, one or more of the second group of heterogeneous computational units are reconfigurable to implement the first operating mode. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An adaptive computing integrated circuit, comprising:
-
a plurality of heterogeneous computational elements, the plurality of heterogeneous computational elements including a first computational element and a second computational element, the first computational element having a first fixed architecture and the second computational element having a second fixed architecture, the first fixed architecture being different than the second fixed architecture, and the fixed architectures including at least one of the functions for memory, addition, multiplication, complex multiplication, subtraction, configuration, reconfiguration, control, input, output, and field programmability; and an interconnection network coupled to the plurality of heterogeneous computational elements, the interconnection network operative to configure the plurality of heterogeneous computational elements; wherein a first group of heterogeneous computational elements is reconfigurable to form a first functional unit to implement a first function; wherein a second group of heterogeneous computational elements is reconfigurable to form a second functional unit to implement a second function; and wherein if the second function is not currently used, while the first function is implemented by the first functional unit, one or more of the second group of heterogeneous computational elements are reconfigurable by the interconnection network to implement the first function. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An adaptive computing integrated circuit, comprising:
-
a plurality of heterogeneous computational elements, the plurality of heterogeneous computational elements including a first computational element and a second computational element, the first computational element having a first fixed architecture and the second computational element having a second fixed architecture, the first fixed architecture being different than the second fixed architecture; and an interconnection network coupled to the plurality of heterogeneous computational elements, the interconnection network operative to configure a first group of heterogeneous computational elements to form a first functional unit for a first functional mode, in response to first configuration information, and the interconnection network further operative to reconfigure a second group of heterogeneous computational elements to form a second functional unit for a second functional mode, in response to second configuration information, the first functional mode being different than the second functional mode, and the functional modes including linear algorithmic operations, non-linear algorithmic operations, finite state machine operations, memory operations, and bit-level manipulations; wherein if the second functional mode is not currently used while the first functional unit is operating in the first functional mode, one or more of the second group of heterogeneous computational units are reconfigurable to implement the first functional mode. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method for allocating hardware resources within an adaptive computing integrated circuit, comprising:
-
in response to first configuration information, configuring a first group of heterogeneous computational elements to form a first functional unit to implement a first function and configuring a second group of heterogeneous computational elements to form a second functional unit to implement a second function; and in response to second configuration information, reconfiguring one or more of the second group of heterogeneous computational elements to implement the first function while the first functional unit implements the first function. - View Dependent Claims (22, 23, 24, 25)
-
Specification