So, title. Why did the original M1 Pro/Max only have 2 efficiency cores? Was it because apple thought they didn't need more than 2? Or was it a die space issue? Or was it simply a design decision?
Also, why did they add 2 more with M2 Pro/Max? Was it just to boost the cpu performance a bit more? Was it because they knew m2 was going to be less efficient so they added 2 more efficiency cores?
Thoughts? Why couldn't they just have 4 efficiency cores on M1 Pro/Max to start with?
I suspect it's as simple as they weren't quite sure how much code would land up running on E-cores, in other words how useful they would be, especially for desktop machines. Maybe the limited amount of code the OS and apps would mark as "background, low priority" would be so small that two cores could easily handle it?
The pattern since then has been a combination of Apple learning just how much code can run well on E-cores and developers likewise learning the same thing (usually lagging by a year or so).
Simultaneously Apple keeps rearchitecting the OS into more, smaller pieces that can run well on an E-core (certainly anything OS-related that either involves waiting, for network, IO, or whatever; or anything unpredictable, so that all the caching and speculation smarts in a P-core are of limited utility).
Simultaneously with that the E-core just keeps getting better in performance while retaining that low energy.
So I'd see it more as "we tried 2 cores, and realized there was a lot more we could do with E cores. So then we tried 4 cores, and they were still frequently overloaded. So now with M3 Pro we're trying 6 E-cores!"
Who knows, maybe next year, based on all this experience, we'll see something like M gets 6 E-cores, and Pro gets 8 E-cores? Obviously there's no point in adding extra E-cores if they are rarely used. On the other hand, why NOT add them if they often all can be used, since they are small?
It's not an exact science
It feels like Intel is doing more or less the same thing, creating hybrids of every possible P to E ratio and seeing how each sell, because they also don't really have a good idea as to which is more useful for which classes of users.
Apple has a rather different business model from Intel, so they can't experiment with creating 17 different variants of the M1 (or M3) each with slightly different P, E, and GPU counts; instead they have to do their experiments as they do, with things like "two E cores for the M1 Pro, then four E-cores for the M2 Pro, then six vs four E-cores for the M3 Pro vs Max" The 6 E-cores make the M3 Pro feel like a sidegrade rather than a downgrade relative to the M2 Pro, while the 6 E vs 4 E on the Max vs Pro allows Apple to see whether 6 E-cores has actual real value at the high end or the sweet spot really is just 4 E-cores everywhere all the time.