Hardware accelerators using shared interface registers
AssigneeApple Inc.
InventorMahesh B. Chappalli
Life of this patent
Estimating the term…
Abstract
Methods and systems include processors and hardware accelerators. The processor initiates a first process in a first hardware accelerator configured to aid the processor in performing the first process. The processor initiates the first process using one or more interface registers. The processor performs additional processing while the first hardware accelerator performs the first process after initiation of the first process. The processor also initiates a second process in a second hardware accelerator configured to aid the processor in performing a second process. Moreover, the processor initiates the second process using the one or more interface registers.
Claims20
A method, comprising:
- using a processor, initiating a first process in a first hardware accelerator configured to aid the processor in performing the first process, wherein initiating the first process comprises using one or more interface registers;
- using the processor, performing additional processing while the first hardware accelerator performs the first process after the processor initiates the first process and before the first process is completed;
- and
- using the processor, initiating a second process in a second hardware accelerator configured to aid the processor in performing the second process, wherein initiating the second process comprises using the one or more interface registers.
An electronic device comprising:
- a first hardware accelerator configured to assist in performing processes of a first type;
- a second hardware accelerator configured to assist in performing processes of a second type;
- a plurality of interface registers accessible by both the first and second hardware accelerators;
- a processor configured to execute instructions configured to cause the processor to:
- initiate a first process of the first type in the first hardware accelerator using the plurality of interface registers;
- perform additional processing while the first hardware accelerator performs the first process after the first process is initiated;
- and
- initiate a second process of the second type in the second hardware accelerator using the plurality of interface registers.
A method comprising:
- receiving an indication that a process is to be performed at a non-blocking accelerator from a processor at an interface register of a plurality of interface registers for a plurality of non-blocking accelerators;
- in response to the indication, causing the non-blocking accelerator to enter an idle state;
- in the idle state, receiving a run indication from the processor, wherein the run indication indicates that the process at the non-blocking accelerator is to be started, wherein the indication comprises a value in a run register of the plurality of interface registers;
- based at least in part on the run indication, entering a busy state and beginning the process in the non-blocking accelerator while the processor is configured to perform other processing while the process is completed;
- and
- in the busy state, causing the non-blocking accelerator to change the run register to indicate that the process has been completed.
Dependencies are inferred from the claim text.