CO-PROCESSOR INFRASTRUCTURE SUPPORTING DYNAMICALLY-MODIFIABLE PERSONALITIES
First Claim
1. A method for processing data comprising:
- configuring an existing virtual memory and instruction decode infrastructure that is common to a plurality of personalities with application-specific function units.
11 Assignments
0 Petitions
Accused Products
Abstract
A co-processor is provided that comprises one or more application engines that can be dynamically configured to a desired personality. For instance, the application engines may be dynamically configured to any of a plurality of different vector processing instruction sets, such as a single-precision vector processing instruction set and a double-precision vector processing instruction set. The co-processor further comprises a common infrastructure that is common across all of the different personalities, such as an instruction decode infrastructure, memory management infrastructure, system interface infrastructure, and/or scalar processing unit (that has a base set of instructions). Thus, the personality of the co-processor can be dynamically modified (by reconfiguring one or more application engines of the co-processor), while the common infrastructure of the co-processor remains consistent across the various personalities.
-
Citations
37 Claims
-
1. A method for processing data comprising:
configuring an existing virtual memory and instruction decode infrastructure that is common to a plurality of personalities with application-specific function units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A system for processing data comprising:
-
at least one application engine having at least one configurable function unit that is configurable to any of a plurality of different application-specific personalities; and a virtual memory and instruction decode infrastructure common to all the plurality of different application-specific personalities. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A co-processor comprising:
-
at least one application engine having at least one configurable function unit that is configurable to any of a plurality of different application-specific vector processing personalities; and a co-processor infrastructure common to all the plurality of different application-specific vector processing personalities. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A multi-processor system comprising:
-
a host processor; and a co-processor, said co-processor including at least one configurable function unit that is configurable to any of a plurality of different vector processing personalities, and a virtual memory and instruction decode infrastructure that is common to all the plurality of different vector processing personalities. - View Dependent Claims (24)
-
-
25. A multi-processor system comprising:
-
a plurality of processors comprising at least a host processor and a dynamically reconfigurable co-processor, wherein the host processor and dynamically reconfigurable co-processor each process a portion of instructions of an executable file; and said dynamically reconfigurable co-processor comprising reconfigurable function units that can be dynamically configured for performing corresponding operations of any of a plurality of different vector processing personalities; and said dynamically reconfigurable co-processor further comprising an infrastructure that is common to all the plurality of different vector processing personalities. - View Dependent Claims (26, 27, 28)
-
-
29. A method comprising:
-
initiating an executable file for processing instructions of the executable file by a multi-processor system, wherein the multi-processor system comprises at least one host processor and at least one reconfigurable co-processor; configuring said at least one reconfigurable co-processor with a selected one of a plurality of different vector processing personalities for processing a portion of the instructions of the executable file, wherein the selected vector processing personality differs from an instruction set of the at least one host processor; processing, by the multi-processor system, the instructions of the executable file, wherein a portion of the instructions are processed by the at least one host processor and a portion of the instructions are processed by the at least one reconfigurable co-processor. - View Dependent Claims (30)
-
-
31. A method comprising:
-
initiating an executable file for processing instructions of the executable file by a multi-processor system, wherein the multi-processor system comprises at least one host processor and at least one dynamically reconfigurable co-processor; determining one of a plurality of different vector processing personalities to load to said at least one dynamically reconfigurable co-processor for processing a portion of the instructions of the executable file, wherein the determined vector processing personality defines an instruction set that comprises instructions for performing vector oriented operations; when determined that the determined vector processing personality is not present on the dynamically reconfigurable co-processor, loading the determined vector processing personality to the dynamically reconfigurable co-processor; and processing, by the multi-processor system, the instructions of the executable file, wherein a portion of the instructions are processed by the at least one host processor and a portion of the instructions are processed by the at least one dynamically reconfigurable co-processor. - View Dependent Claims (32)
-
-
33. A multi-processor system comprising:
-
a host processor comprising a first instruction set; and a co-processor comprising reconfigurable logic for dynamically reconfiguring the co-processor to possess any of a plurality of different vector processing personalities. - View Dependent Claims (34, 35, 36, 37)
-
Specification