US 11,893,419 B2
Hardware accelerators using shared interface registers
Mahesh B. Chappalli, San Jose, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Jan. 14, 2021, as Appl. No. 17/149,422.
Claims priority of provisional application 63/072,089, filed on Aug. 28, 2020.
Prior Publication US 2022/0066828 A1, Mar. 3, 2022
Int. Cl. G06F 9/46 (2006.01); G06F 9/50 (2006.01); G06F 9/48 (2006.01)
CPC G06F 9/5016 (2013.01) [G06F 9/485 (2013.01); G06F 9/4812 (2013.01); G06F 9/4881 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method, comprising:
using a processor, initiating a first process in a first hardware accelerator configured to aid the processor by performing the first process, wherein initiating the first process comprises using one or more interface registers, and wherein the one or more interface registers comprises an accelerator identifier register that is used to uniquely identify the first hardware accelerator, a second hardware accelerator, and a third hardware accelerator;
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;
using the processor, initiating a second process in the second hardware accelerator configured to aid the processor by performing the second process, wherein initiating the second process comprises using the one or more interface registers;
using the processor, initiating a third process in the third hardware accelerator configured to aid the processor in performing the third process, wherein the third hardware accelerator comprises a blocking accelerator that aids in the third process without using the one or more interface registers other than the accelerator identifier register; and
receiving, at the processor, an indication via the one or more interface registers to indicate that the first hardware accelerator has completed the first process and that the processor is to operate on results from the first process.