Compiler system for a processor with an expandable instruction set architecture for dynamically configuring execution resources

US10127041B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10127041-B2
Application numberUS-201615371452-A
CountryUS
Kind codeB2
Filing dateDec 7, 2016
Priority dateDec 8, 2015
Publication dateNov 13, 2018
Grant dateNov 13, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A compiler system that converts an application source program into an executable program according to a predetermined ISA executable by a general purpose processor. The processor includes a PEU that is programmable to execute a UDI. The compiler 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 programming the PEU to perform the processing operation in response to the specified UDI. The compiler system includes a compiler that converts the application source program into the executable program, which includes an optimization routine that represents a portion of the application source program with the specified UDI and that inserts the UDI into the executable program, and that further inserts into the executable program a UDI load instruction that specifies the UDI and a location of the programming information in the executable program.

First claim

Opening claim text (preview).

The invention claimed is: 1. A compiler system for converting an application source program into an executable program according to a predetermined instruction set architecture (ISA) 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 compiler that converts the application source program into the executable program, wherein said compiler comprises at least one optimization routine that represents a portion of the application source program with the specified UDI and that inserts the UDI into the executable program, and that further inserts into the 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 an 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 compiler system of claim 1 , wherein said compiler consults said PEU programming tool to incorporate the UDI and corresponding programming information into the executable program. 3. The compiler system of claim 1 , wherein said compiler uses said at least one optimization routine to generate said functional description of a processing operation. 4. The compiler system of claim 1 , wherein said executable program includes a standard program that only includes instructions from the predetermined ISA and that does not include the specified UDI, and wherein said executable program further includes a custom program that includes the specified UDI and said programming information. 5. The compiler system of claim 1 , wherein said compiler incorporates said programming information as UDI information into the application source program to provide a modified application source program, and then compiles said modified application source program into the executable program. 6. The compiler system of claim 1 , wherein said PEU programming tool generates an output comprising UDI definitions and corresponding programming information, and wherein said compiler incorporates said output of said PEU programming tool as UDI information into the application source program to provide a modified application source program, and then compiles said modified application source program into the executable program. 7. The compiler system of claim 6 , wherein said output of said PEU programming tool comprises a header file. 8. The compiler system of claim 1 , wherein said compiler links to said programming information during compilation of the application source program into the executable program. 9. The compiler system of claim 1 , wherein said PEU programming tool generates an output comprising UDI definitions and corresponding programming information, and wherein said compiler links to said output of said PEU programming tool during compilation of the application source program into the executable program. 10. The compiler system of claim 9 , wherein said output of said PEU programming tool comprises a header file. 11. A method of compiling an application source program into an executable program according to a predetermined instruction set architecture (ISA) 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 compiling the application source program into the executable program, including representing a portion of the application source program with the specified UDI, inserting the UDI into the executable program, and further inserting into the 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 an 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. 12. The method of claim 11 , wherein said converting a functional description of a processing operation comprises consulting a PEU programming tool. 13. The method of claim 11 , wherein said compiling the application source program comprises using at least one optimization routine to generate the functional description of the processing operation. 14. The method of claim 11 , wherein said compiling the application source program into the executable program includes compiling the application source program into a standard program that only includes instructions from the predetermined ISA and that does not include the specified UDI, and compiling the application source program into a custom program that includes the specified UDI and the programming information. 15. The method of claim 11 , wherein said compiling the application source program into the executable program comprises incorporating the programming information as UDI information into the application source program to provide a modified application source program, and then compiling the modified application source program into the executable program. 16. The method of claim 11 , wherein said converting comprises generating an output comprising UDI definitions and corresponding programming information, and wherein said compiling comprises incorporating the output as UDI information into the application source program to provide a modified application source program, and then compiling the modified application source program into the executable program. 17. The method of claim 16 , wherein said generating an output comprises generating a header file. 18. The method of claim 11 , wherein said compiling comprises linking to the programming information while compiling the application source program into the executable program. 19. The method of claim 11 , wherein said converting comprises generating an output comprising UDI definitions and corresponding programming information, and wherein said compiling comprises linking to the output

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10127041B2 cover?
A compiler system that converts an application source program into an executable program according to a predetermined ISA executable by a general purpose processor. The processor includes a PEU that is programmable to execute a UDI. The compiler system includes a PEU programming tool that converts a functional description of a processing operation to be performed by the PEU of the processor int…
Who is the assignee on this patent?
Via Alliance Semiconductor Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/30196. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 13 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).