One of the most distinctive features of Apple silicon chips is that they have two types of CPU core, E (Efficiency) cores that are energy efficient but slower than the P (Performance) cores, which normally run much of the code in the apps we use. Apps don’t decide directly which cores they will be run on, that’s a privilege of macOS, but they register their interest by setting a Quality of Service, or QoS, which is then taken into account when they’re scheduled to run. With the introduction of Game Mode in Sonoma, CPU scheduling can now work differently, with E cores being reserved for the use of games. This article looks at another atypical situation, when running a macOS virtual machine (VM) assigned a set number of virtual cores. How does macOS Sonoma handle that?
One of the most distinctive features of Apple silicon chips is that they have two types of CPU core, E (Efficiency) cores that are energy efficient but slower than the P (Performance) cores, which normally run much of the code in the apps we use.
Just want to point out that this is far from unique to apple. Lots of Arm processors have this. I think my first phone that had it was the OnePlus 2, which launched in 2015.
I would honestly be surprised if any major smartphone didn’t have this.
Just want to point out that this is far from unique to apple
It’s worth noting that Apple’s partnership with ARM goes back to the 1980’s and included both resources and people all the way back to then (from memory I think the first CEO of ARM was an Apple employee). Your OnePlus 2 has efficiency cores because of Apple’s investment in that architecture.
But this article is about Macs, not phones. Some Apple Silicon Macs would only last about 2 minutes if they ran on the battery in your OnePlus 2, and the “efficiency cores” aren’t really there to reduce power consumption… it’s more about producing less heat.
For example the M2 cores are more than capable of running high end PC games, and because they generate almost no heat at all even under full load you can push the GPU much harder than you could if the performance cores were active. Your entire cooling system only needs to keep the GPU cool.
I’m consistently impressed with how relatively cool my M2 Air stays when I’m playing No Man’s Sky. I was expecting the game to be throttled to death, but I never see any real performance drops, while still being able to play it on my lap.
Also most modern x86 desktop CPUs have this too.
As far as I know not to the same degree? For example I’m pretty sure Apple’s efficiency cores don’t do speculative execution or at least don’t do much of it.
AFAIK the x86 chips mostly just reduce the clock speed don’t they?