I have never cared for ARM CPUs. The Acorn RISC Machine designs just don’t do it for me. The CPUs are lower power but they also aren’t very high performance compared to the AMD64. The Intel x86 and AMD64 chips are also a more open platform. The BIOS and UEFI system is well known, well documented, and well supported. I can run any software I wish from old 16bit stuff from the 8088/8086 all the way to the most bleeding edge releases of Blender. That’s impressive. Then there are two newish platforms that are coming in, and I am not too certain what to think of them just yet. There’s OpenPower and RISC-V. RISC-V is an open source CPU architecture that has made a lot of noise within the Linux community but has few hardware implementations so far. The OpenPower architecture was initially semi-opensourced, and is now fully open source. OpenPower is a version of IBM’s Power CPU architecture.
So, it would appear that we now have serious competition in the world of computer processor architectures: ARM, AMD64, OpenPower, RISC-V. Of these, we know that RISC-V is a completely open world. With OpenPower, I believe that we need to see a bit more about implementation specifics. ARM is very closed. ARM processors are typically used in machines where the manufacturers make it very difficult to change anything. They use proprietary boot mechanisms, and usually have completely proprietary designs. The notable exception is in the maker space with products like the Raspberry Pi, the Pine64 devices, and the Arduino devices. Then we have AMD64. There are a few open source moves there, but the platform itself is very open. Components can be changed, the machines are typically user-serviceable (with Apple as the most notable exception), and most of the hardware doesn’t care about what software is being run (with secure boot PCs as the notable exception).
The most recent change is Apple’s move to the M1. The M1 SOC is a customized ARM CPU with many other things on the chip. This SOC can easily beat every mobile chipset on the market, and can compete with the AMD 5950X desktop CPU which currently holds the title of best single threaded performance. The two failures of the M1 are in memory capacity where it maxes out at 16GB and in core/thread count where it maxes out at 8 cores 8 threads. Therefore if you have a task that is memory heavy the M1 is likely to lose. If you have a task that benefits from massive parallelism then the M1 is likely to lose. For most desktop users, however, this isn’t a problem. As a matter of fact, the M1 is powerful enough to translate x86 instructions to ARM instructions on the fly and keep decent frames-per-second on popular gaming titles. The GPU in the M1 cannot compete with top of the line discrete offerings from AMD or NVIDIA, but it is capable enough for enjoyment of most titles that support macOS.
I mentioned before that ARM CPUs were not my thing. I enjoy the novelty of the RPi, but ARM CPUs are just low power and locked-down. Well, the M1 does change that a little. The performance metrics are just too good. I dislike how locked down the M1 is (I mean, this is Apple), but it mitigates the performance problem that I had with ARM. It’s good enough that I want one. I had been a fan of Apple since the introduction OS X, and this stopped quite abruptly when Apple began making machines that were completely non-user serviceable, and largely did not compete in performance. The M1 again minimizes my hatred of Apple’s hardware. I still dislike how locked down it is, but it’s so performant that I want one.
An interesting road ahead is starting to materialize as I think about the strengths and weaknesses currently shown in all of these.
Linux and BSD could easily become the OS of choice on low-cost extremely open RISC-V and OpenPower systems. Here, you have fast innovation and creativity, but you won’t have the stable API offered elsewhere. This is the choice of tinkerers, makers, enthusiasts, and some software developers. Any advancements made in macOS will be ported directly to the BSDs or if they’re part of the closed-source part of macOS, poorly re-implemented by the likes of RedHat and certain infamous software developers.
Windows, with its increasingly irrelevant ecosystem, would remain the AMD64 OS of choice and eventually cease to be. Here, you have maximum backwards compatibility, an incredibly stable API, and a relatively open platform. It’s just not exciting at all. This is the choice of the rust belt, of the government, and of home users who resist change.
ARM would continue to be the Macintosh, iOS, and Android world. Here, you’ll get advancements made by Linux and BSD a bit later on, you’ll have mid-grade backwards compatibility, and you’ll have an API that changes every few years. It’s between the two others, but it is not an open platform at all. Here we have the choice of corporate America, the choice of some software developers, and the choice of many home users. I expect that Google or Samsung or some other organization will release its own competitor to the M1 in the near future, and possibly its own OS as well. It is entirely possible that Google’s Fuchsia is aimed at this space.
It is important to note that Linux and BSD both already have decent compatibility with ARM series processors, and therefore could continue to be used on ARM devices. This would be important if neither OpenPower nor RISC-V could be brought to match high performance ARM chips in the datacenter as Apple has abandoned the datacenter entirely as far as anyone outside of Apple is aware.
Naturally, the economy and therefore any market within the economy is sum of all individual human actions taken. It is impossible to predict with absolute surety any outcome. I could be completely incorrect in this forecast, and I most likely am. I just think it is an interesting future possibility.
© MMIX - MMXXI, absurd.wtf