Page 1 of 3

x86 going away

Posted: Thu Jul 02, 2020 9:07 am
by nexos
Over the past few weeks, I have seen some things that are making come to one conclusion. x86 is dying. The reason why is because, first off, Apple is switching to ARM processors. Microsoft announced to the Surface Pro X, which uses ARM. The bulk of modern phones use ARM. x86 might become like Itanium and PowerPC eventually. x86 is way overly complicated. It is a giant backwards compatibility mess. I am surprised x86 OSDev is so common because of how complicated it is. ARM is faster, more power efficient, and has a lot of advantages. I plan on making my OS support AArch64, as it is a promising architecture. I know I sound like Andy Tannebaum, but what is your opinion? Is ARM replacing x86?

Re: x86 going away

Posted: Thu Jul 02, 2020 9:29 am
by Schol-R-LEA
One can only hope so. I've always thought x86 was trash.

Re: x86 going away

Posted: Thu Jul 02, 2020 9:35 am
by AndrewAPrice
I agree that x86 is overcomplicated, and it's surprising that it's stayed the leader in desktop computing for a while now. I guess backwards binary compatibility really meant a lot to users? (Although you could execute another processor's instruction set under an emulation/virtualization if your processor is fast enough.)

Surface Pro X using a different CPU doesn't surprise me. Windows NT in the past has supported MIPS, DEC Alpha; PowerPC, Itanium, and ARM. Most of us own an ARM computer (a smartphone).

I think x86 is here to stay at least another decade. My reason is that Playstation 5, Xbox Series X, the majority of the world's top super computers [1] must be choosing x86 for a reason. Especially since a new console/super computer doesn't care so much about backwards binary compatibility (I'm assuming supercomputer software would be built from source for with the best optimizing compilers for that particular processor), so they could really pick a chip any that gives the best performance per dollar or watt, and for whatever reason have settled on x86.

Re: x86 going away

Posted: Thu Jul 02, 2020 9:36 am
by Schol-R-LEA
As I said elsewhere, I think Apple is likely to try to buy ARM Holdings from SoftBank, and if the SEC allows the sale - I doubt they would - then at best it would make everyone dependent on Apple for the architecture IP. I can't see anyone other than Apple being happy with that, especially since Apple may well stop licensing it - a move which would get some very negative responses from Amazon and Google, if no one else.

If that happens, then my bet is that Intel and AMD would shift first to an all-long-mode x86 (which is probably their planning anyway), then possibly try once more to come up with a successor to x86.

I would also see a lot of single-board computer developers looking for alternatives such as MIPS or RISC-V, which presents a problem since at this point no really efficient RISC-V cores exist yet. There are more efficient MIPS cores, but unlike the architecture as a whole AFAICT the Warrior core IP is still proprietary.

Re: x86 going away

Posted: Thu Jul 02, 2020 9:41 am
by AndrewAPrice
Schol-R-LEA wrote:As I said elsewhere, I think Apple is likely to try to buy ARM Holdings from SoftBank, and if the SEC allows the sale - I doubt they would - then at best it would make everyone dependent on Apple for the architecture IP. I can't see anyone other than Apple being happy with that, especially since Apple may well stop licensing it
If that would happen, the it's likely other manufacturers of embedded/mobile devices would move on to the next lowest hanging fruit - x86.

Re: x86 going away

Posted: Thu Jul 02, 2020 9:43 am
by iansjack
nexos wrote:I am surprised x86 OSDev is so common because of how complicated it is.
How much ARM development have you done? A bare-bones OS?

The problem with ARM, as far as I am concerned, is that it is a very diverse architecture. Produce something for an x86-based system and it will run on just about any x86-based computer. As I perceive it, this is not true for ARM. Also, the documentation for x86 processors and peripherals seems to be far more easily available than the equivalent for ARM processors.

Try implementing a simple OS on a Raspberry Pi, for example, complete with keyboard, screen, and storage drivers then come back and tell us how much simpler it is than x86 architecture.

As for the genral question, I can see x86 surviving a long time in the server market.

Re: x86 going away

Posted: Thu Jul 02, 2020 9:46 am
by Schol-R-LEA
AndrewAPrice wrote: I think x86 is here to stay at least another decade. My reason is that Playstation 5, Xbox Series X, the majority of the world's top super computers [1] must be choosing x86 for a reason.
They are, but it has little to do with the architecture as a whole, and more with the implementations. A good ISA with no efficient implementations isn't much use to anyone, and Intel and AMD have put heroic efforts into squeezing as much out of the x86-64 design as possible, whereas the only ones to do the same for ARM right now are Apple, Amazon, and Google, none of whom are sharing their cores.

Also, in the case of the consoles, price - and hence volume - are the deciding factor. Even as custom SoCs, the mid-range x86-64 CPUs they use are all made in sufficient volume that the price per unit is very low compared to many other CPUs. While they are expensive compared to, say, a RK3399, those are designed for a different use case from the x86-64 CPUs.

Finally, it is familiar hardware, so it makes it easier on the engineers to keep using it.

Re: x86 going away

Posted: Thu Jul 02, 2020 9:49 am
by bzt
nexos wrote:x86 is way overly complicated. It is a giant backwards compatibility mess.
Only if you make that so. You're writing a new operating system, you don't have to be backward compatible with anything. Not like Win had to be with MS-DOS. You don't have to support floppies, and you don't even have to support lib32 at all, because you don't have a large userbase with tons of legacy protmode apps.
nexos wrote:ARM is faster, more power efficient, and has a lot of advantages.
ARM is actually MUCH slower than an x86, mostly because it is power efficient while x86 isn't. ARM requires about 2 or 3 times more instructions to do the same thing as an x86 (that's a RISC/CISC thing). Don't believe anybody, compare GPG on a desktop and on a RPi4 and see it for yourself.
nexos wrote:I plan on making my OS support AArch64, as it is a promising architecture. I know I sound like Andy Tannebaum, but what is your opinion? Is ARM replacing x86?
My OS is booting on RPi3 for several years now ;-)
Schol-R-LEA wrote:As I said elsewhere, I think Apple is likely to try to buy ARM Holdings
I don't think so. There was no Motorla nor PowerPC nor Intel acquisition either, why would there be an ARM-one? Besides, ARM is not a CPU manufacturer, just a designer, there are many many really big players interested in keeping that way (basically everybody on the market who is not Intel or AMD).

Cheers,
bzt

Re: x86 going away

Posted: Thu Jul 02, 2020 11:28 am
by Korona
Is x86 a bit ugly? Maybe, but who cares. The OS might have to invest 200 bytes into ugly setup code when the OS boots and that's it. Once you're in 64 bit long mode, the ugly parts are mostly gone. But the most critical thing here is what iansjack said: all x86 competitors have a much more closed ecosystem.

I believe that as hobbyist OS developers, an ARM monopoly is the worst that could happen. Not only did we see in the x86 market that this slows down innovation, but most interesting ARM platforms are inherently locked down. Sure, you can boot your OS on a Raspberry Pi, but let's be real, a Raspberry Pi will never satisfy the needs of a typical desktop or server. Will you be able to run your OS on a Mac? Or on a chrome book? No, that might just never be possible (without exploits). The same holds for the only other competitor to x86 on the CISC market, namely PowerPC. I'll be lucky to find a PPC board that has a documented bootloader. x86 is the only architecture that has an open ecosystem (in constrast to an open ISA).

Luckily, I believe that there will be a market for CISC designs for quite some time since they have an advantage over RISC: their code is more compact and as the gap between memory and CPU performance increases, this becomes more and more valuable. That's why RISC-V added a compressed instruction set to be able to compete in high performance scenarios. ARM also has Thumb but it seems to be more tedious to use / doesn't archive good performance.

Re: x86 going away

Posted: Thu Jul 02, 2020 11:42 am
by nexos
You are right @Korona, and that is the only reason I support x86 as my platform of choice. I am going to research ARM, RISC-V, and MIPS a little more, however.

Re: x86 going away

Posted: Thu Jul 02, 2020 12:09 pm
by PeterX
I think the following, but I maybe wrong:
Back in the old days the "Open System Architecture" for PCs was something revolutionary (and can't be found in today's computers like Laptops and non-x86). Manufacturers could build parts for PCs. This gave the PCs a sales boost I think. And selling much means you can produce cheaper per piece. And there was more competition which makes prices lower. So x86 became cheap and powerful I think. And Intel and AMD are still using this momentum. And console manufacturers seek the cheapest solutions that provides what they want to build.

Regarding ARM:
I bought a Raspberry Pi. Only to find out that it starts booting on the GPU (!) not the CPU. It has to build up (whatever) and then turns on the CPU during the boot process. So much about ARM not being complicated...
But I still agree with you all, that x86 is an over-complicated beast.

Greetings
Peter

Re: x86 going away

Posted: Thu Jul 02, 2020 2:00 pm
by iansjack
I don't see the processor as being of great importance. The amount of code that is specific to the CPU is minimal. It's all the peripherals and how to interface with them that are the problem. And that's just harder on ARM systems because they are so closed.

IBM made a great (if somewhat unexpected) decision when they made the PC architecture open to all. (Remember that the original 5150 even came with a full assembly code listing of the BIOS.) And we lucky hobbyists are still reaping the rewards of that today. The day that all we have is Apple's closed systems, or the equivalent from Microsoft, will be a very sad day indeed. How many of you are running your hobby OSs on iPads or iPhones (or even Macs)?

Re: x86 going away

Posted: Thu Jul 02, 2020 2:43 pm
by PeterX
iansjack wrote:How many of you are running your hobby OSs on iPads or iPhones (or even Macs)?
I would like to program a MacOS clone, but last time I researched Apple had several software patents. If I remember correctly for Cocoa and other pieces of the system.

Greetings
Peter

Re: x86 going away

Posted: Thu Jul 02, 2020 3:11 pm
by Korona
The point is: ARM-based Macs will have a locked down bootloader, you cannot install other OSes on these things. (Same for ARM-based Chromebooks and most phones.)

Re: x86 going away

Posted: Thu Jul 02, 2020 3:30 pm
by zaval
Korona wrote: Or on a chrome book?
ARM chromebooks are possible to run your stuff on. I am talking about rk3399 ones. but then you can save on money with Pinebook Pro. or more yet - RockPro64 board.

x86 is not going away.
ARM is not going away.
everybody's fine.

as of ARM servers, I would be happy if the trend with them would be some kind of "microservers" - power efficient, small units, that everybody can afford a dedicated real hw machine of*. instead, it tries to play "big iron" game, mimicking the x86 (and previous) way of being a monstrous, aggressively packed beast with sh1tloads of everything, costing insane amount of money ... and running that virtualization garbage, "partitioned" in numerous "VM"s. so wasteful and disappointing. of course, with its perfomance it either will suck there and never happen or turn into the same monster hogging on watts, just with another CPU ISA.

* - For example, like Pine64 themselves, moved all of their infrastucture to the 2 clusters of RockPro64 boards (consisting of 24 and 48 boards each). more here, here or here for example. that could be new kind of servers. just like microcomputers took over "minicomputers".