Accelerator Engines - mikebeaton/AsahiLinux.docs GitHub Wiki
The SoC has several onboard accelerator units, this is a useful list of the names and what they refer to. Most of the accelerators run firmware that can be found in the pre-boot partition /System/Volumes/Preboot/[UUID]/restore/Firmware
, packaged as im4p files which may be extracted with https://github.com/19h/ftab-dump/blob/master/rkos.py and some dd.
*Update none of the ANE, AVE, ADT im4p's extract with that. I'm not sure which ones do. You are better off following the im4p extraction steps in [ADT wiki]. Can we make a progress matrix regarding firmware?
Names can be formatted the following ways depending on their official-ness:
- Names in quotes with a question mark like: "?" are inventions/uncertain in origin.
- Names in bold like: are found in Apple official documentation.
- Names in italics like: are either common unofficial names or have uncertain but safe sources.
-
AGX: "Apple Graphics? Accel(x)lerator?" (via
gfx
) The internal name for Apple's GPU series. - AMX: Apple Matrix eXtensions. A matrix coprocessor partially integrated into the ISA.
- ANE: Apple Neural Engine Neural network execution acceleration based on convolutions. Think of Google's TPU
- AOP: Always On Processor. "hey siri" activation and "other sensor stuff"
- APR: APR ProRes. Handles ProRes video encoding + decoding.
- AVE: AVE Video Encoder. Handles video encoding. Ostensibly the A is for Apple [citation needed], but I see a recursive acronym.
- AVD: AVD Video Decoder. Handles video decoding. ^
- DCP: "Display Compression Processor?"/"Display Control Processor?". Displayport/Display control of some sort.
- PMP: "Power Management Processor?". Handles power functionality
- SEP: Secure Enclave Processor. The M1's built-in HSM/TPM/etc device. Handles Touch ID and most crypto, as well as boot policy decisions. Harmless to Linux, but we can use its features if we want to. Contrast to AP.