Defining instruction extensions in a standard programming language
First Claim
1. A method for modifying a program to allow the program to execute on a processor system that includes a programmable logic device, the method comprising:
- identifying a critical code segment of the program;
rewriting the critical code segment as a function;
revising the program by designating the function as a code to be compiled by an extension compiler and by replacing the critical code segment with a statement that calls the function; and
compiling the revised program such that the function is executed by the programmable logic device.
9 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for modifying a program written in a standard programming language so that when the program is compiled both an executable file is produced and an instruction is programmed into a programmable logic device of a processor system. The method includes identifying a critical code segment of a program, rewriting the critical code segment as a function, revising the program, and compiling the program. Revising the program includes designating the function as code to be compiled by an extension compiler and replacing the critical code segment of the program with a statement that calls the function. Compiling the program includes compiling the code with an extension compiler to produce a header file and the instruction for the programmable logic device. Compiling the program also includes using a standard compiler to compile the remainder of the program together with the header file to generate the executable file.
-
Citations
74 Claims
-
1. A method for modifying a program to allow the program to execute on a processor system that includes a programmable logic device, the method comprising:
-
identifying a critical code segment of the program;
rewriting the critical code segment as a function;
revising the program by designating the function as a code to be compiled by an extension compiler and by replacing the critical code segment with a statement that calls the function; and
compiling the revised program such that the function is executed by the programmable logic device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-readable medium comprising program instructions, the program instructions comprising:
-
computer code to be compiled by an extension compiler to generate a header file and an intermediate file for programming a programmable logic device coupled to a processor; and
computer code to be compiled together with the header file by a standard compiler to generate an executable file. - View Dependent Claims (24, 25, 26)
-
-
27. A computer system for executing a program including both standard code and extension code, comprising:
-
a processing system including a processor core and a programmable logic device;
an extension compiler for compiling the extension code to produce a header file and an intermediate file that specifies an instruction for the programmable logic device; and
a standard compiler for compiling the standard code together with the header file to produce an executable file. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A method for extending the native instruction set of a general purpose processor in a computing system comprising a general purpose processor and a programmable logic device, the method consisting of the steps of:
-
(i) identifying critical code segments in an application program to be run on the computing system;
(ii) replacing the critical code segments with at least one extended instruction, not included in the native instruction set of the processor;
(iii) compiling the application program including the code segments containing the extended instruction; and
(iv) executing the compiled application program on the computer system such that the native instructions are executed by the processor and the extended instruction is executed by the programmable logic device. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A compiler for extending the native instruction set of a general purpose processor in a computing system comprising a general purpose processor and a programmable logic device, the compiler comprising:
-
an input for receiving uncompiled object code of an application program;
a header file output coupled to the input for generating compiled programming code for execution by the computer system; and
an intermediate file output for generating instructions for configuring the programmable logic device to execute extended instructions. - View Dependent Claims (48, 49, 50, 51, 52, 53)
-
-
54. A system for modifying a program to allow the program to execute on a processor system that includes a programmable logic device, comprising:
-
means for identifying a critical code segment of the program;
means for rewriting the critical code segment as a function;
means for revising the program by designating the function as a code to be compiled by an extension compiler and by replacing the critical code segment with a statement that calls the function; and
means for compiling the revised program such that the function is executed by the programmable logic device. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
-
74. A method for modifying a program to allow the program to execute on a processor system that includes a programmable logic device, the method comprising:
-
identifying a critical code segment of the program;
demarking the critical code segment;
revising the program by designating the demarked code segment as a code to be compiled by an extension compiler and by replacing the critical code segment with one or more extended instructions; and
compiling the revised program such that the extended instructions are executed by the programmable logic device.
-
Specification