Compiler system for a processor with an expandable instruction set architecture for dynamically configuring execution resources
US-2017161036-A1 · Jun 8, 2017 · US
US10146543B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10146543-B2 |
| Application number | US-201615371485-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 7, 2016 |
| Priority date | Dec 8, 2015 |
| Publication date | Dec 4, 2018 |
| Grant date | Dec 4, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A conversion system that converts a standard executable program according to a predetermined ISA into a custom executable program executable by a general purpose processor. The processor includes a PEU that is programmable to execute a UDI. The conversion system includes a PEU programming tool that converts a functional description of a processing operation to be performed by the PEU of the processor into programming information for the PEU to perform the processing operation in response to the UDI. A converter converts the standard executable program into the custom executable program and includes an optimization routine that replaces a portion of the standard executable program with the specified UDI and that inserts the UDI into the custom executable program, and that further inserts a UDI load instruction that specifies the UDI and a location of the programming information in the custom executable program.
Opening claim text (preview).
The invention claimed is: 1. A conversion system for converting a standard executable program according to a predetermined instruction set architecture (ISA) into a custom executable program that is executable by a general purpose processor implemented according to the predetermined ISA, in which the processor includes a programmable execution unit (PEU) that is programmable to execute a specified user-defined instruction (UDI) received by the processor for execution, said compiler system comprising: a PEU programming tool that converts a functional description of a processing operation to be performed by the PEU of the processor into programming information for programming the PEU to perform the processing operation in response to the specified UDI; and a converter that converts the standard executable program into the custom executable program, wherein said converter comprises at least one optimization routine that replaces a portion of the standard executable program with the specified UDI and that inserts the UDI into the custom executable program, and that further inserts into the custom executable program a UDI load instruction that specifies the UDI and said programming information, wherein the programming information comprises a latency statement indicating the latency of the processing operation by a number of clock cycles to complete the processing operation, wherein the processor further includes a UDI loader and a ISA table, the UDI loader programming the PEU for the specified UDI in response to the UDI load instruction by accessing the programming information, wherein the UDI loader accesses the programming information by a programming information address field corresponding to the specified UDI in the ISA table that points to a location of the programming information in memory. 2. The conversion system of claim 1 , wherein said converter consults said PEU programming tool to incorporate the UDI and corresponding programming information into the custom executable program. 3. The conversion system of claim 1 , wherein said converter uses said at least one optimization routine to generate said functional description of a processing operation. 4. The conversion system of claim 1 , wherein said converter outputs an executable application that is executable by the processor, in which said executable application includes both the standard executable program and the custom executable program. 5. The conversion system of claim 1 , wherein said converter incorporates said programming information as UDI information into the standard executable program to provide the custom executable program. 6. The conversion system of claim 1 , wherein said PEU programming tool generates an output comprising UDI definitions and corresponding programming information, and wherein said converter links to said output of said PEU programming tool during recompilation of the custom executable program. 7. A method of converting a standard executable program according to a predetermined instruction set architecture (ISA) into a custom executable program that is executable by a general purpose processor implemented according to the predetermined ISA, in which the processor includes a programmable execution unit (PEU) that is programmable to execute a specified user-defined instruction (UDI) received by the processor for execution, said method comprising: converting a functional description of a processing operation to be performed by the PEU of the processor into programming information for programming the PEU to perform the processing operation in response to the specified UDI; and converting the standard executable program into the custom executable program, including replacing a portion of the standard executable program with the specified UDI in the custom executable program, inserting the UDI into the custom executable program, and further inserting into the custom executable program a UDI load instruction that specifies the UDI and the programming information, wherein the programming information comprises a latency statement indicating the latency of the processing operation by a number of clock cycles to complete the processing operation, wherein the processor further includes a UDI loader and a ISA table, the UDI loader programming the PEU for the specified UDI in response to the UDI load instruction by accessing the programming information, wherein the UDI loader accesses the programming information by a programming information address field corresponding to the specified UDI in the ISA table that points to a location of the programming information in memory. 8. The method of claim 7 , wherein said converting a functional description of a processing operation comprises consulting a PEU programming tool. 9. The method of claim 7 , wherein said converting the standard executable program comprises using at least one optimization routine to generate the functional description of the processing operation which is converted to the programming information. 10. The method of claim 7 , wherein said converting the standard executable program into the custom executable program comprises converting the standard executable program into an executable application that includes both the standard executable program and the custom executable program. 11. The method of claim 7 , wherein said converting the standard executable program comprises incorporating the programming information as UDI information into the custom executable program. 12. The method of claim 7 , wherein said converting a functional description comprises generating an output comprising UDI definitions and corresponding programming information, and wherein said converting the standard executable program comprises linking to the output during recompilation of the custom executable program.
Unification in logic programming · CPC title
Procedural · CPC title
Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title
using decoder, e.g. decoder per instruction set, adaptable or programmable decoders · CPC title
according to one or more bits in the instruction, e.g. prefix, sub-opcode · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.