Extending a processor system within an integrated circuit and offloading processes to process-specific circuits
AssigneeXilinx, Inc.
InventorsBradley L. Taylor, Ting Lu
Life of this patent
Estimating the term…
Abstract
A method of extending a processor system within an integrated circuit (IC) can include executing program code within the processor system implemented within the IC, wherein the IC includes a programmable fabric. The processor system further can be coupled to the programmable fabric. A process can be performed using a process-specific circuit implemented within the programmable fabric in lieu of using the processor system. A result of the process from the process-specific circuit can be made available to the processor system.
Claims20
A method of extending a processor system within an integrated circuit, the method comprising:
- executing program code within the processor system implemented within the integrated circuit, wherein the integrated circuit comprises a programmable fabric, and wherein the processor system is coupled to the programmable fabric;
- wherein a process-specific circuit implemented within the programmable fabric is unable to translate virtual memory addresses to physical memory addresses;
- the processor system storing a plurality of descriptors in a memory with each descriptor comprising a first physical memory address and a second physical memory address, wherein each of the plurality of descriptors specifies a different second physical memory address;
- wherein the processor system translates virtual memory addresses into the first and second physical memory addresses for the plurality of descriptors;
- for each descriptor of the plurality of descriptors, performing a process using the process-specific circuit implemented within the programmable fabric in lieu of using the processor system by operating on source data indicated by the first physical memory address and storing a result of the process at the second physical memory address of the descriptor.
A method of extending a processor system within an integrated circuit, the method comprising:
- executing program code within a processor system, wherein the program code specifies a plurality of processes;
- selecting a process from the plurality of processes specified by the program code;
- selecting configuration data specifying a process-specific circuit that implements, in hardware, the selected process;
- loading the selected configuration data to implement the process-specific circuit within a programmable fabric of the integrated circuit;
- the processor system translating virtual memory addresses usable by the processor into physical memory addresses usable by the process-specific circuit;
- wherein the process-specific circuit is unable to translate the virtual memory address to the physical memory address;
- the processor system storing a plurality of descriptors in a memory accessible by the process-specific circuit, wherein each descriptor specifies a first physical memory address and a second physical memory address, wherein each of the plurality of descriptors specifies a different second physical memory address;
- and
- for each descriptor of the plurality of descriptors, performing the selected process using the process-specific circuit in lieu of the processor system by operating on source data indicated by the first physical memory address and storing a result of the selected process at the second physical memory address of the descriptor.
An integrated circuit comprising:
- a processor system configured to execute program code;
- and
- a process-specific circuit implemented within a programmable circuitry of the integrated circuit, wherein the process-specific circuit is coupled to the processor system and is configured to implement a process that is offloaded by the processor system;
- wherein the processor system is programmed to:
- store a plurality of descriptors in a memory accessible by the process-specific circuit, wherein each descriptor specifies a first physical memory address and a second physical memory address, wherein each descriptor specifies a different second physical memory address;
- wherein the processor system translates virtual memory addresses into the first and second physical memory addresses for the plurality of descriptors;
- and
- offload the process to the process-specific circuit in lieu of executing program code to perform the process;
- wherein the process-specific circuit is configured to:
- access a predetermined memory location where a first descriptor of the plurality of descriptors is stored;
- and
- for each descriptor of the plurality of descriptors, perform the process using the process-specific circuit implemented within the programmable fabric in lieu of using the processor system by operating on source data indicated by the first physical memory address and storing a result of the process at the second physical memory address of the descriptor.
Dependencies are inferred from the claim text.