← Back to Patent Explorer
US6023742A Expired / Lapsed US ⏱️ 0.0 years remaining

Reconfigurable computing architecture for providing pipelined data paths

Assignee: WASHINGTON, University of
•
Filing: 1997-07-18
•
Granted: 2000-02-08
•
Expires: 2017-07-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A configurable computing architecture (10) has its functionality controlled by a combination of static and dynamic control, wherein the configuration is referred to as static control and instructions are referred to as dynamic control. A reconfigurable data path (12) has a plurality of elements including functional units (32, 36), registers (30), and memories (34) whose interconnection and functionality is determined by a combination of static and dynamic control. These elements are connected together, using the static configuration, into a pipelined data path that performs a computation of interest. The dynamic control signals (21) are suitably used to change the operation of a functional unit and the routing of signals between functional units. The static control signals (23) are provided each by a static memory cell (62) that is written by a host (13). The controller (14) generates control instructions (16) that are interpreted by a control path (18) that computes the dynamic control signals. The control path is configured statically for a given application to perform the appropriate interpretation of the instructions generated by the controller. By using a combination of static and dynamic control information, the amount of dynamic control used to achieve flexible operation is significantly reduced.

Inventors

  • 👤 William Henry Carl Ebeling
  • 👤 Darren Charles Cronquist
  • 👤 Paul David Franklin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:53
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/76; G06F15/78; G06F15/7867; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30036; Y; Y02; Y02D; Y02D10/00

Claims Analysis

Total Claims: 88
Claim 1
Independent Claim 187 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: a plurality of functional units that are interconnectably arranged to perform a plurality of functions on data, the data comprising a plurality of bits; a plurality of interconnectors that selectably interconnect the functional units to control the flow of data between the functional units; a set of first signals generated to create a state that remains unchanged over the execution cycles of any one of the applications; a set of second signals generated to create a plurality of states that are changeable over the execution cycles; and an input and an output for data, wherein the function being performed on the data by the functional units is selectable by the first signals and the second signals and the interconnectors are arranged in a single dimension to transport the data from the input and to the output and to provide the data to the functional units, the interconnectors interconnect the functional units such that the flow of the data between the functional units is selectable.
Claim 2
Dependent Claim 187 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: a plurality of functional units that are interconnectably arranged to perform a plurality of functions on data, the data comprising a plurality of bits; a plurality of interconnectors that selectably interconnect the functional units to control the flow of data between the functional units; a set of first signals generated to create a state that remains unchanged over the execution cycles of any one of the applications; a set of second signals generated to create a plurality of states that are changeable over the execution cycles; and an input and an output for data, wherein the function being performed on the data by the functional units is selectable by the first signals and the second signals and the interconnectors are arranged in a single dimension to transport the data from the input and to the output and to provide the data to the functional units, the interconnectors interconnect the functional units such that the flow of the data between the functional units is selectable.
Claim 3
Dependent Claim 16 words
The computing architecture of claim 1, wherein the interconnectors include a plurality of rows of buses.
Claim 4
Dependent Claim 16 words
The computing architecture of claim 2, wherein the buses include a plurality of interconnected segmented buses.
Claim 5
Dependent Claim 27 words
The computing architecture of claim 3, wherein the segmented buses are interconnected by a plurality of bus connectors that transfer the data between the interconnected segmented buses.
Claim 6
Dependent Claim 20 words
The computing architecture of claim 4, wherein the bus connectors are controlled in response to the set of first signals.
Claim 7
Dependent Claim 20 words
The computing architecture of claim 4, wherein the bus connectors are controlled in response to the set of second signals.
Claim 8
Dependent Claim 26 words
The computing architecture of claim 4, wherein the bus connectors are controlled in response to the set of first signals and the set of second signals.
Claim 9
Dependent Claim 12 words
The computing architecture of claim 4, wherein the bus connectors include registers.
Claim 10
Dependent Claim 37 words
The computing architecture of claim 2, wherein each functional unit has an input terminal, and wherein the interconnectors further include a plurality of multiplexers, the multiplexers connecting the input terminals of the functional units to the buses.
Claim 11
Dependent Claim 33 words
The computing architecture of claim 9, wherein the multiplexers are coupled to receive the second signals, the multiplexers selecting the buses for connection to the functional units in response to the second signals.
Claim 12
Dependent Claim 33 words
The computing architecture of claim 9, wherein the multiplexers are coupled to receive the first signals, the multiplexers selecting the buses for connection to the functional units in response to the first signals.
Claim 13
Dependent Claim 37 words
The computing architecture of claim 9, wherein the multiplexers are coupled to receive the first and second signals, the multiplexers selecting the buses for connection to the functional units in response to the first and second signals.
Claim 14
Dependent Claim 37 words
The computing architecture of claim 2, wherein each functional unit has an output terminal, and wherein the interconnectors further include a plurality of switches, the switches connecting the output terminals of the functional units to the buses.
Claim 15
Dependent Claim 33 words
The computing architecture of claim 13, wherein the switches are coupled to receive the first signals, the switches selecting the buses for connection to the functional units in response to the first signals.
Claim 16
Dependent Claim 33 words
The computing architecture of claim 13, wherein the switches are coupled to receive the second signals, the switches selecting the buses for connection to the functional units in response to the second signals.
Claim 17
Dependent Claim 37 words
The computing architecture of claim 13, wherein the switches are coupled to receive the first and second signals, the switches selecting the buses for connection to the functional units in response to the first and second signals.
Claim 18
Dependent Claim 20 words
The computing architecture of claim 1, wherein the function performed by the functional unit is selectable by the first signal.
Claim 19
Dependent Claim 20 words
The computing architecture of claim 1, wherein the function performed by the functional unit is selectable by the second signal.
Claim 20
Dependent Claim 22 words
The computing architecture of claim 1, wherein the function performed by the functional unit is selectable by the first and second signals.
Claim 21
Dependent Claim 13 words
The computing architecture of claim 1, wherein the functional units include a multiplier.
Claim 22
Dependent Claim 15 words
The computing architecture of claim 1, wherein the functional units include an arithmetic logic unit.
Claim 23
Dependent Claim 15 words
The computing architecture of claim 1, wherein the functional units include a memory cell array.
Claim 24
Dependent Claim 13 words
The computing architecture of claim 1, wherein the functional units include a register.
Claim 25
Dependent Claim 16 words
The computing architecture of claim 1, wherein the functional units include a general purpose configurable unit.
Claim 26
Dependent Claim 25 words
The computing architecture of claim 1, wherein the functional units provide a set of third signals for use in generating the set of second signals.
Claim 27
Dependent Claim 32 words
The computing architecture of claim 1, wherein the first signals are stored in a plurality of memory cells, the memory cells being coupled to provide the first signals to the functional units.
Claim 28
Dependent Claim 31 words
The computing architecture of claim 1, wherein the first signals are stored in a plurality of memory cells, the memory cells being coupled to provide the first signals to the interconnectors.
Claim 29
Dependent Claim 215 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units being selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged in a single dimension to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein the data operated on by the functional units comprises a plurality of bits.
Claim 30
Dependent Claim 215 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units being selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged in a single dimension to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein the data operated on by the functional units comprises a plurality of bits.
Claim 31
Dependent Claim 21 words
The computing architecture of claim 28, wherein the means for interconnecting the interpreters include a plurality of rows of control buses.
Claim 32
Dependent Claim 17 words
The computing architecture of claim 29, wherein the buses include a plurality of interconnected segmented control buses.
Claim 33
Dependent Claim 20 words
The computing architecture of claim 30, wherein the segmented control buses are interconnected by a plurality of control bus connectors.
Claim 34
Dependent Claim 13 words
The computing architecture of claim 31, wherein the control bus connectors include registers.
Claim 35
Dependent Claim 21 words
The computing architecture of claim 31, wherein the control bus connectors are controlled in response to the set of first signals.
Claim 36
Dependent Claim 16 words
The computing architecture of claim 28, wherein each interpreter includes means for generating an output signal.
Claim 37
Dependent Claim 17 words
The computing architecture of claim 34, wherein the output signal-generating means generates the set of second signals.
Claim 38
Dependent Claim 50 words
The computing architecture of claim 34, wherein the output signal-generating means includes an input terminal coupled to receive an input signal, the output signal being selected from a group of signals consisting of the input signal, a logic complement of the input signal, a logic zero, and a logic 1.
Claim 39
Dependent Claim 15 words
The computing architecture of claim 36, wherein the output signal-generating means includes a lookup table.
Claim 40
Dependent Claim 15 words
The computing architecture of claim 37, wherein the lookup table includes a one-input lookup table.
Claim 41
Dependent Claim 16 words
The computing architecture of claim 29, wherein each interpreter includes means for generating an output signal.
Claim 42
Dependent Claim 44 words
The computing architecture of claim 39, wherein the output signal-generating means includes an input terminal, and wherein the means for interconnecting the interpreters further includes a plurality of multiplexers, the multiplexers connecting the input terminals of the output signal-generating means to the control buses.
Claim 43
Dependent Claim 48 words
The computing architecture of claim 39, wherein the means for generating the output signal has an output terminal, and wherein the means for interconnecting the control buses further includes a plurality of switches, the switches connecting the output terminals of the output signal-generating means to the control buses.
Claim 44
Dependent Claim 44 words
The computing architecture of claim 34, wherein each output signal generating means includes an input terminal and an output terminal, the input terminal of one of the output signal generating means being coupled to the output terminal of a different output signal generating means.
Claim 45
Dependent Claim 15 words
The computing architecture of claim 34, wherein the output signal-generating means includes a lookup table.
Claim 46
Dependent Claim 15 words
The computing architecture of claim 43, wherein the lookup table is a three-input lookup table.
Claim 47
Dependent Claim 17 words
The computing architecture of claim 34, wherein the output signal-generating means are controlled by the first signals.
Claim 48
Dependent Claim 19 words
The computing architecture of claim 28, wherein the functional units provide a set of third signals to the interpreters.
Claim 49
Dependent Claim 18 words
The computing architecture of claim 28, wherein the means for generating the set of instructions includes a processor.
Claim 50
Dependent Claim 20 words
The architecture of claim 28, wherein the means for generating the set of instructions includes an array of memory cells.
Claim 51
Independent Claim 327 words
A method of mapping a computational application to a reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture including means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the array being selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to receive the data from the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, the method comprising: specifying a number of computational stages to map to the array; specifying a control tree that represents execution cycles within the application; specifying a computation to be mapped to the stages; converting the computation specification to a specification of the interconnected functional units, the second control signals being labeled with a set of the first expressions derived from variables in the control tree; generating a set of second expressions from the set of first expressions, the second expressions representing the set of instructions that are input to the interpreters; generating a configuration of the interpreters for enabling the interpreters to convert the second expressions into the first expressions; and generating the configuration of the remaining signals in the first set.
Claim 52
Independent Claim 327 words
A method of mapping a computational application to a reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture including means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the array being selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to receive the data from the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, the method comprising: specifying a number of computational stages to map to the array; specifying a control tree that represents execution cycles within the application; specifying a computation to be mapped to the stages; converting the computation specification to a specification of the interconnected functional units, the second control signals being labeled with a set of the first expressions derived from variables in the control tree; generating a set of second expressions from the set of first expressions, the second expressions representing the set of instructions that are input to the interpreters; generating a configuration of the interpreters for enabling the interpreters to convert the second expressions into the first expressions; and generating the configuration of the remaining signals in the first set.
Claim 53
Dependent Claim 14 words
The method of claim 49, further comprising revising the specification of interconnected functional units.
Claim 54
Dependent Claim 22 words
The method of claim 50, wherein revising the specification of interconnected functional units adds registers to the specification of interconnected functional units.
Claim 55
Dependent Claim 22 words
The method of claim 50, wherein revising the specification of interconnected functional units deletes registers from the specification of interconnected functional units.
Claim 56
Dependent Claim 14 words
The computing architecture of claim 1, wherein the data comprises at least 4 bits.
Claim 57
Dependent Claim 200 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of second signals having states that are changeable over the execution cycles; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units, the interconnecting means being arranged to transport the data between the input and output means and to provide the data to the functional units, the interconnecting means interconnecting the functional units such that flow of the data between the functional units is selectable, wherein each functional unit has an input terminal and wherein the interconnecting means include a plurality of rows of buses and a plurality of multiplexers, the multiplexers connecting the input terminals of the functional units to the buses.
Claim 58
Dependent Claim 200 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of second signals having states that are changeable over the execution cycles; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units, the interconnecting means being arranged to transport the data between the input and output means and to provide the data to the functional units, the interconnecting means interconnecting the functional units such that flow of the data between the functional units is selectable, wherein each functional unit has an input terminal and wherein the interconnecting means include a plurality of rows of buses and a plurality of multiplexers, the multiplexers connecting the input terminals of the functional units to the buses.
Claim 59
Dependent Claim 33 words
The computing architecture of claim 54, wherein the multiplexers are coupled to receive the second signals, the multiplexers selecting the buses for connection to the functional units in response to the second signals.
Claim 60
Dependent Claim 33 words
The computing architecture of claim 54, wherein the multiplexers are coupled to receive the first signals, the multiplexers selecting the buses for connection to the functional units in response to the first signals.
Claim 61
Dependent Claim 37 words
The computing architecture of claim 54, wherein the multiplexers are coupled to receive the first and second signals, the multiplexers selecting the buses for connection to the functional units in response to the first and second signals.
Claim 62
Dependent Claim 200 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of second signals having states that are changeable over the execution cycles; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units, the interconnecting means being arranged to transport the data between the input and output means and to provide the data to the functional units, the interconnecting means interconnecting the functional units such that flow of the data between the functional units is selectable, wherein each functional unit has an output terminal and wherein the interconnecting means include a plurality of rows of buses and a plurality of switches, the switches connecting the output terminals of the functional units to the buses.
Claim 63
Dependent Claim 200 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of second signals having states that are changeable over the execution cycles; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units, the interconnecting means being arranged to transport the data between the input and output means and to provide the data to the functional units, the interconnecting means interconnecting the functional units such that flow of the data between the functional units is selectable, wherein each functional unit has an output terminal and wherein the interconnecting means include a plurality of rows of buses and a plurality of switches, the switches connecting the output terminals of the functional units to the buses.
Claim 64
Dependent Claim 33 words
The computing architecture of claim 58, wherein the switches are coupled to receive the first signals, the switches selecting the buses for connection to the functional units in response to the first signals.
Claim 65
Dependent Claim 33 words
The computing architecture of claim 58, wherein the switches are coupled to receive the second signals, the switches selecting the buses for connection to the functional units in response to the second signals.
Claim 66
Dependent Claim 37 words
The computing architecture of claim 58, wherein the switches are coupled to receive the first and second signals, the switches selecting the buses for connection to the functional units in response to the first and second signals.
Claim 67
Dependent Claim 218 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means generates the set of second signals.
Claim 68
Dependent Claim 218 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means generates the set of second signals.
Claim 69
Dependent Claim 251 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means includes an input terminal coupled to receive an input signal, the output signal being selected from a group of signals consisting of the input signal, a logic complement of the input signal, a logic zero, and a logic 1.
Claim 70
Dependent Claim 251 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means includes an input terminal coupled to receive an input signal, the output signal being selected from a group of signals consisting of the input signal, a logic complement of the input signal, a logic zero, and a logic 1.
Claim 71
Dependent Claim 15 words
The computing architecture of claim 63, wherein the output signal-generating means includes a lookup table.
Claim 72
Dependent Claim 15 words
The computing architecture of claim 64, wherein the lookup table includes a one-input lookup table.
Claim 73
Dependent Claim 222 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein the means for interconnecting the interpreters include a plurality of rows of control buses and each interpreter includes means for generating an output signal.
Claim 74
Dependent Claim 222 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein the means for interconnecting the interpreters include a plurality of rows of control buses and each interpreter includes means for generating an output signal.
Claim 75
Dependent Claim 44 words
The computing architecture of claim 66, wherein the output signal-generating means includes an input terminal, and wherein the means for interconnecting the interpreters further includes a plurality of multiplexers, the multiplexers connecting the input terminals of the output signal-generating means to the control buses.
Claim 76
Dependent Claim 48 words
The computing architecture of claim 66, wherein the means for generating the output signal has an output terminal, and wherein the means for interconnecting the control buses further includes a plurality of switches, the switches connecting the output terminals of the output signal-generating means to the control buses.
Claim 77
Dependent Claim 245 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and each output signal generating means includes an input terminal and an output terminal, the input terminal of one of the output signal generating means being coupled to the output terminal of a different output signal generating means.
Claim 78
Dependent Claim 245 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and each output signal generating means includes an input terminal and an output terminal, the input terminal of one of the output signal generating means being coupled to the output terminal of a different output signal generating means.
Claim 79
Dependent Claim 216 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means includes a lookup table.
Claim 80
Dependent Claim 216 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means includes a lookup table.
Claim 81
Dependent Claim 16 words
The reconfigurable computing architecture of claim 70, wherein the lookup table is a three-input lookup table.
Claim 82
Dependent Claim 218 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means are controlled by the first signals.
Claim 83
Dependent Claim 218 words
A reconfigurable computing architecture for executing a plurality of applications, each application being executed over a plurality of execution cycles, the architecture comprising: means for generating a set of first signals having a state that remains unchanged over the execution cycles of any one of the applications; means for generating a set of instructions having states that are changeable over the execution cycles; a linear array of interpreters that receive the set of instructions and provide a set of second signals having states that are changeable over the execution cycles; means for interconnecting the interpreters; means for inputting and outputting data; a linear array of interconnectable functional units, each functional unit being arranged to perform a plurality of functions on the data, the function being performed on the data by the functional units is selectable by the first signals and the second signals; and means for interconnecting the functional units that are arranged to transport the data between the input and output means and to provide the data to the functional units, the functional units being interconnected by the means for interconnecting the functional units such that the flow of data between the functional units is selectable, wherein each interpreter includes means for generating an output signal and the output signal-generating means are controlled by the first signals.
Claim 84
Independent Claim 247 words
A method of mapping a computational program to a reconfigurable computing architecture configured for executing one of a plurality of applications, each application being executed over a plurality of execution cycles, the method comprising: specifying a plurality of computational stages to map to the architecture, each computational stage corresponding to one execution cycle; specifying a control tree that represents all computations to be perform for every execution cycle for each stage within the program, the control list including expressions; specifying a computation for each of the computational stages based on the expressions in the control tree for that execution cycle; converting the computation specification to a listing that specifies an arrangement for interconnecting a plurality of functional units in a linear array and that specifies a set of second control signals derived from the control tree, the second control signals providing dynamic controls to change the state during an execution cycle; generating a set of second expressions that enable a plurality of interpreters to generate dynamic control signals; generating a set of control instructions that specify the second expression for input to the interpreters for each execution cycle of the control tree; determining a configuration of the interpreters; and pipelining the listing to adhere to the architecture, wherein pipelining includes generating static control signals for a part of the list that does not vary, these static control signals being loaded into the architecture to define an application on which the dynamic portion of the program is executed.
Claim 85
Independent Claim 247 words
A method of mapping a computational program to a reconfigurable computing architecture configured for executing one of a plurality of applications, each application being executed over a plurality of execution cycles, the method comprising: specifying a plurality of computational stages to map to the architecture, each computational stage corresponding to one execution cycle; specifying a control tree that represents all computations to be perform for every execution cycle for each stage within the program, the control list including expressions; specifying a computation for each of the computational stages based on the expressions in the control tree for that execution cycle; converting the computation specification to a listing that specifies an arrangement for interconnecting a plurality of functional units in a linear array and that specifies a set of second control signals derived from the control tree, the second control signals providing dynamic controls to change the state during an execution cycle; generating a set of second expressions that enable a plurality of interpreters to generate dynamic control signals; generating a set of control instructions that specify the second expression for input to the interpreters for each execution cycle of the control tree; determining a configuration of the interpreters; and pipelining the listing to adhere to the architecture, wherein pipelining includes generating static control signals for a part of the list that does not vary, these static control signals being loaded into the architecture to define an application on which the dynamic portion of the program is executed.
Claim 86
Dependent Claim 14 words
The method of claim 73, further comprising revising the list of interconnected functional units.
Claim 87
Dependent Claim 22 words
The method of claim 73, wherein revising the list of interconnected functional units adds registers to the list of interconnected functional units.
Claim 88
Dependent Claim 22 words
The method of claim 73, wherein revising the list of interconnected functional units deletes registers from the list of interconnected functional units.

References Cited (Backward Citations)

US4493048A Cited
US4777614A Cited
US5148385A Cited
US4823299A Cited
US5274832A Cited
US5588152A Cited
US5600845A Cited
US5752035A Cited
US5794062A Cited
US5784636A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-02-07 2003-08-09 2004-02-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-02-07 2007-08-09 2008-02-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-02-07 2011-08-09 2012-02-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag