12 Comments

Very good article! It’s impressive how Apple has managed these transitions. One minor correction: “The first Apple Silicon Macs...based on the M1 SoC would appear in November 1990.” should read 2020!

Expand full comment

Thanks so much Russell, and for spotting the typo - now corrected!

Expand full comment

I like how this article is about power consumption, and that Moore's Law hasn't been able to progress without considering power management. https://semiengineering.com/a-power-first-approach/ makes some interesting predictions. I think power-focused design will not only change the expectations of hardware, but allow new types of hardware that isolate compute from the user interface- not just in the cloud, but locally too.

Expand full comment

Yes, it feels to me like managing power consumption has become a critical issue in all aspects of design. One recent example is that AVX512 has been a real issue for Intel in implementing big.LITTLE type designs - it just consumes too much power.

I wrote about this general trend a little while ago in 'The Arc of History Bends Towards Performance Per Watt' (Possibly not the best title!)

https://thechipletter.substack.com/p/the-arc-of-history-bends-towards

Thanks for the link. That's a really interesting article.

Expand full comment

Apple did a good job of tough transitions, tough because they had a lot of users and there was a lot of compiled third party software to support. It should be remembered that at around the same time frame all of the Unix workstation and minicomputer vendors made similar transitions: Sun from 68k to SPARC (and briefly intel), DEC from Vax to MIPS (little endian) and then Alpha, Silicon Graphics from 68k to MIPS (big endian) and then Itanium, HP from 68k to Precision and then to Itanium. I don't remember any of these transitions having any backward compatibility other than running the "same" OS, but that meant that porting was mostly an exercise in recompilation, and since Unix was portable and working from source code fairly common in the (technical) user community, there wasn't much moaning about it.

Expand full comment

It's actually five times, because both the PowerPC and Intel periods included transitions to (or in the PPC case accommodations of) 64-bit instruction sets, with varying degrees of built-in backward compatibility.

Expand full comment

Hi Andrew, Yes absolutely on the five transitions - the other two got only a brief mention as I wanted to focus on those that needed emulation and which Apple didn't get 'almost for free' by having CPUs that executed both old and new code. Very good points on the other transitions. Might be a suitable topic for a follow-up post!

Expand full comment

Great article! Coincidentally, I wrote an article on this same topic last month. It’s great seeing the things I missed out when an actual professional writes about it - for instance the internal horse race to find a successor to 68k 😄

https://medium.com/macoclock/through-the-ages-apple-cpu-architecture-92b33abedea7

Expand full comment

Thanks so much Jacob! I think the two posts are really complimentary as you go into a lot more detail on the architectures, which is really great to have too.

Expand full comment

Very true - it's either my USP or simply a lack of focus, but my articles often morph from research pieces into tutorials!

I actually found your substack as part of my research - IIRC, I referenced you once or twice when I was looking for specs on the Zilog chips in the 68k-era :)

Expand full comment

I sometimes think that these articles can become fractal like - you can go into arbitrary levels of tech detail! I always like more detail. Glad the Zilog post was useful.

Expand full comment

Great read! I've lived through all of these, which is kinda wild. I remember as an independent developer building my app for PPC 32 & 64 bit and Intel 32 & 64 bit, and having to test on all 4 types!

Speaking of PowerPC, I'd love to read an article by you of how Power came about, especially because I believe you mentioned it came from the 801 architecture.

Expand full comment