All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Hello,
I just read something on Apple's website which leads me to believe that the Apple M1 might me an AMP system, where the cores are different types. Here is what it says:
Apple wrote:The powerful 8-core CPU combines four performance cores and four efficiency cores
That could just be a marketing tactic, macOS could also tune its scheduler for that, while still being SMP. Can anyone confirm or deny if M1 is AMP?
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
I don't know if it really qualifies as AMP (ARM calls it HMP - heterogeneous multiprocessing) but yes, Apple's M1 CPU contains two different types of cores.
As Octocontrabass says, it's not really AMP in the way AMP is usually differentiated from SMP.
Yes, there are two sets of cores with different performance characteristics, but the usual separating factor between symmetric and asymmetric systems is that the cores have different access to peripherals, and this is not the case with the two classes of performance cores in the M1 chipsets.
Scheduling can treat them all the same, and then performance and power usage would presumably hit some middle ground between the two, but obviously this not the point of the setup.
This is similar to how many SMP systems still have NUMA - non-uniform memory access - except instead of memory, it's power... sort of.
This reminds me of a colleague's SPARCstation 10 about 20 years ago.
He had a dual CPU workstation, with I think, a 60MHz SuperSPARC I in one MBUS slot, and a 85MHz SuperSPARC II in the other MBUS slot.
I was agog that it worked, when contemporary x86 machines often complained when mixing steppings of otherwise the same CPU. MBUS isolated the details, and Solaris just shrugged it's shoulders and got on with it. I don't think Solaris made any scheduling decisions based on the asymmetry of the CPUs, though.