6 ms·
All this isn’t exactly a secret. ARM maintains and provides extensive documentation and so does Apple. Is there anything specific you think is being hidden or o
by mritun 2y ago
All this isn’t exactly a secret. ARM maintains and provides extensive documentation and so does Apple. Is there anything specific you think is being hidden or obfuscated in the documentation?
- pmarreck 2y agoIf that's the case, then why does the GPU portion have to be reverse-engineered for Asahi Linux? Of course I knew about the ARM portion, there are lots of ARM chips licensed to by ARM Holdings, it's not exactly a secret. But the "apple silicon" chip in its entirety, is not completely documented.
- 15155 2y agoPeripherals are not the ISA or CPU architecture: they are usually made by numerous parties.
- why_only_15 2y agoApple has designed their own GPUs since they stopped using PowerVR with A11
- 15155 2y agoWhat does that have to do with ARM64 assembly? The ISA and CPU architecture are orthogonal to all peripherals. These peripherals are accessed with memory-mapped IO using the same instructions any other program uses. Documentation about ARM64 assembly shouldn't and doesn't contain specific peripheral access info. ISA docs contain info common to all CPUs implementing the spec.
- saagarjha 2y agoThe API for programming the GPU is Metal.
- kbolino 2y agoAre any competitive GPU architectures any better? I don't think nVidia, AMD, Intel, nor PowerVR openly publish the internals of their graphics products either.
- wmf 2y agoAMD and Intel publish detailed GPU documentation.
- kbolino 2y agoOk, good to know. To wit, I found the following: AMD: https://gpuopen.com/amd-gpu-architecture-programming-documentation/ https://gpuopen.com/amd-gpu-architecture-programming-documen... Intel: https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/overview.html https://www.intel.com/content/www/us/en/docs/graphics-for-li...
- adrian_b 2y agoThere are a lot of undocumented parts of the Apple CPUs, for instance AMX. All such undocumented features can normally be exploited only by the libraries and applications provided by Apple themselves, but not by the applications and libraries written by other parties, which are disadvantaged. This is the same mechanism by which Microsoft has eliminated the competition for Microsoft Office, which used undocumented Windows APIs so that the products of any other vendor could not keep up with it, especially after the launch of any new Windows version. Now one can find some more complete documentation for the Apple CPUs as the result of reverse engineering work done by various people, but after each introduction of a new Apple CPU model the reverse engineering work may need to be done again. Examples: https://github.com/name99-org/AArch64-Explore https://github.com/name99-org/AArch64-Explore https://github.com/corsix/amx https://github.com/corsix/amx
- saagarjha 2y agoApple writes the libraries for you to use AMX. They aren’t giving themselves preferential treatment here.
- pertymcpert 2y agoApple aren't allowed to publicly support unofficial extensions of the ARM ISA.
- galad87 2y agoProbably because they don't want anyone to depend on AMX, and they want to be free to remove it or change it in the future. On the M4 for example AMX features are accessible thru SME, which is an official ARM extension.