Apple Silicon block diagram

Apple Silicon, the basics

Apple has two basic platforms; ARM-based phones, tablets, watches, and whatnot and Intel-based x86-64 based computers.

ARM is what is known as RISC (reduced instruction set computing). To use the car-analogy, RISC is a stripped-down no frills simple car without infotainment or even air conditioning; its purpose built to be small, agile, and as economical as possible – which is why it’s used in things that run on batteries like phones and watches.

X86-64 is CISC (complex instruction set computing). Continuing the car analogy, CISC is a big luxury car that has a million options for everything you can possibly imagine to appeal to as many people as possible – but the tradeoff it its big and power hungry, and why it’s used in desktop systems with large heatsinks.

Apple Silicon like the A12Z and new A14 are RISC-based processors while Intel i5, i7, and i9 processors are CISC-based.

Since Apple transitioned from the PowerPC architecture to Intel in 2006, the OS (OSX) and all other software written for Apple has been of CISC nature and written to use a lot of the luxury car features of the Intel CPU such as instructions specific to virtual machine systems – which don’t exist in the RISC world.

So, now Apple is bridging the gap between room temperature battery powered RISC systems and hot heat-sink bearing desktop systems with Apple Silicon. This means a lot of core x86 code needs to be adjusted for the new CPUs – which is where the Apple Silicon Dev Kit comes in. After all, if you’re updating your code for a new architecture you need to test it on that architecture.

Now, Apple has a JIT (just in time) compiler called “Rosetta” that can translate x86 to Apple Silicon somewhat on the fly, but it’s only meant to ease the transition to new apps for end users and is not a reason to not write Apple Silicon specific code.

And that’s where iBeta comes in. We have Apple Silicon Dev Kits and can test x86 to Apple Silicon software transitions.