Comment by morphle
1 year ago
If you fix the pages tables (partial tutorial online) you can have continuous unified address space on Apple Silicon.
1 year ago
If you fix the pages tables (partial tutorial online) you can have continuous unified address space on Apple Silicon.
Let’s be honest, saying “just fix the page tables” is like telling someone they can fly if they “just rewrite gravity.”
Yes, on Apple Silicon, the hardware supports shared physical memory, and with enough “convincing”, you can rig up a contiguous virtual address space for both the CPU and GPU. Apple’s unified memory architecture makes that possible, but Apple’s APIs and memory managers don’t expose this easily or safely for a reason. You’re messing with MMU-level mappings on a tightly integrated system that treats memory as a first-class citizen of the security model.
I can tell you never programmed on an Amiga.
Oh yes I programmed all the Amiga models, mostly in assembly level. I reprogrammed the ROMs. I also published a magazine on all the Commodore computers internals and build lots of hardware for these machines.
We had the parallel Inmos Transputer systems during the heyday of the Amiga, they where much better designed than any the custom Amiga chips.
Inmos was a disaster. No application ever shipped on one. EVER. It used a serial bus to resolve the problems that should have never been problems. Clearly you never wrote code for one. Each oslink couldn't reach more than 3 feet. What a disaster that entire architecture was.
8 replies →
Not true. "just fix the page tables" took me 4 hours. And only 15 minutes with the Linux kernel on Apple Silicon.
Obviously you missed the sarcasm.
I know the APIs don't make it easy, that's precisely why I want different APIs.