12
$\begingroup$

Now that Apple is switching the MacOS platform to ARM chips, much has been said about the benefits of ARM processors (they save energy, are passively cooled, and the Apple M1 seems to be faster than even an Intel Core i9 processor).

I'd like to know what advantages of the x86 platform are left. Are there any specific circumstances where the x86 CPUs still have the edge? AFAIK they have an much bigger instruction set than the ARM chips. Under what circumstances is the bigger instruction set an advantage, and why?

Note that I'm not asking about a specific software ecosystem like Windows. I know that Windows has many software titles (e.g. games) that don't run (yet) on any ARM platform. That's not the answer I want to hear. An ecosystem advantage like that of Windows is more or less baggage from previous years. It does not necessarily mean that the CPU platform is in any way better, today.

$\endgroup$
1
  • $\begingroup$ The article you linked cites geekbench.com, which seems to be quite inconsistent internally. The top single-core results are much faster than the M1, but the top Mac results don't include those faster systems even though they're Macs. The article was based on the second page. Also, though a Windows version of Geekbench exists, there seem to be relatively few PC benchmarks on the site and there's no PC summary page, so I'm not sure this is really representative of the x86/x64 world in general. $\endgroup$
    – benrg
    Commented Dec 4, 2020 at 1:04

2 Answers 2

9
$\begingroup$

I'll start with the commonly known stuff, that are currently talked about the most.

x86

All x86 processors are developed from the CISC (Complex Instruction Set Computers) architecture. The x86 processors allow you to perform several activities at the same time from a single instruction. Also, they can perform numerous simultaneous tasks without any of them being affected.

This makes them very sophisticated and advanced processors, allowing many complex calculations in a short time. The disadvantage of this design is that they need a lot of power to function and more power means more heat.

Summary: x86 chips are designed to be power hungry and high clocked, multi-thread, high instructions per cycle. In the general use-case they will be a lot faster than your common ARM chip.

ARM

As for ARM processors, they are based on the RISC (Reduced Instruction Set Computer) architecture, which is much simpler than CISC. These processors can do a much smaller number of calculations since they require several commands to act.

RISC instructions are smaller and faster to process, so in part, the disadvantage of having to process several commands for a single action is minimized. Still, ARM processors are much less powerful than the x86.

Summary: ARM chips are designed for low power draw, flexibility, low cost and low heat with good performance.

source of the info above

SoC M1

M1 is not a CPU. It is a whole system of multiple chips put into one large silicon package. The CPU is just one of these chips. And that's the main reason why it's so different and fast compared to the typical ARM chip.

Basically, the M1 is one whole computer onto a chip. The M1 contains a CPU, graphical processing unit (GPU), memory, input and output controllers, and many more things making up a whole computer. This is what is call a system on a chip (SoC).

In the past computers would have multiple physically separate chips on the motherboard of the computer. However because we are able to put so many transistors on a silicon die today, companies such as Intel and AMD began putting multiple microprocessors onto one chip (CPU cores). One core is basically a full independent chip that can read instructions from memory and perform calculations. This has for a long time been the name of the game in terms of increasing performance - just add more general-purpose CPU cores.

Instead of adding ever more general-purpose CPU cores, Apple has followed another strategy - they have started adding ever more specialized chips doing a few specialized tasks. The benefit of this is that specialized chips tend to be able to perform their tasks significantly faster using much less electric current than a general-purpose CPU core.

Hope that answers your question.

You can find more details on the M1 where I got the info for the second part of the answer. There is a lot of additional and interesting info on the CPU market and the software differences inside the M1 and Intel/AMD chips: link

$\endgroup$
2
  • 1
    $\begingroup$ @Dakkaron gave a good answer. The X86 might have an CISC ISA, but it has a RISC microarchitecture. $\endgroup$
    – pveentjer
    Commented Sep 26, 2021 at 11:47
  • 1
    $\begingroup$ ISA hardly matters nowadays. The benefits you list don't have anything to do with the ISA, but instead with the priorities that the developers of implementations of cores using the different ISAs have. And CPUs within an ISA vary wildly. E.g. the Intel Atom x6200FE has a TDP of 4.5W and is built to be extremely power efficient for mobile use. Compare that with the Ampere Altra Max, an 128 Core ARM server CPU that has a TDP of 250W and is built for incredible server performance. So in the end, this answer echos common feelings about ISAs but it isn't actually correct at all. $\endgroup$
    – Dakkaron
    Commented Sep 28, 2021 at 16:07
9
$\begingroup$

There are far less advantages in both directions than you might think.

The reason is, that currently there are actually no modern x86 CPUs on the market. Both Intel and AMD don't actually use x86 cores, but instead proprietary RISC cores, with microcode that translates the x86 code to RISC code on the fly at execution time.

ARM chips on the other hand don't use microcode, but instead directly run their code on an ARM RISC core.

So the cores that do the actual execution are pretty similar. The usage of microcode, though, is the biggest difference. For ARM this is a small advantage for calculation power per watt. But for x86 CPUs that means that the microcode can be updated after production (so with a regular OS update) to fix bugs or improve performance.

The actual performance or power consumption difference come down to the manufacturers, their priorities and their research. Intel actually made quite decent x86 phone CPUs, but margins were too low for them and the competition had too much of a headstart.

Also, high performance ARM CPUs for desktop and servers are totally possible, but x86 has almost 100% market share there and had that for almost 20 years. That's a very tough market to break into. But it's totally possible, as seen with Apple.

So it has much more to do with money, markets and customers, than with actual advantages of the architectures.

What is the difference between ISAs and implementations?

When talking about ISAs, people often confuse the advantages of specific ISAs with the advantages of specific implementations.

So for example, you will often hear things like "x86 has more performance" or "ARM is more power efficient". These things don't actually have anything to do with the ISA, but are implementation specific.

The ISA is nothing more than the language the CPU speaks. It does not say anything at all about the implementation.

So saying "ARM is more power efficient", because you have seen a few power-efficient ARM CPUs is like saying "People who speak German are blond".

The real difference is that there are two strong mobile ecosystems that mainly use ARM (Android and iOS). You can run Androidx86, but many apps won't work on x86 (Source: me, I had an x86 tablet). So because ARM is used a lot in mobile devices, there will be more funding for mobile ARM CPUs.

And there are very strong x86 ecosystems for desktop and server, so there is more research into high performance x86 chips.

Counterexamples

The Intel Atom x6200FE has a TDP of 4.5W. That's less than half of the Snapdragon 888, which has a TDP of 10W.

The Ampere Altra Max is a 128 Core Server ARM CPU, with a TDP of 250W. This thing strips the socks off most x86 CPUs on the market, in terms of performance.

$\endgroup$
3
  • 1
    $\begingroup$ translate x86 code into their own RISC language using Microcode. is ambiguous: Shall it be read translate […] using Microcode or their […] language using Microcode? Can you provide references? $\endgroup$
    – greybeard
    Commented Sep 25, 2021 at 7:03
  • $\begingroup$ I made the sentence a bit clearer. If you need references, literally just search for the word "Microcode" on Wikipedia. $\endgroup$
    – Dakkaron
    Commented Sep 27, 2021 at 10:30
  • $\begingroup$ both asnwer is fantastic, I think someone should compiled it into one $\endgroup$
    – buncis
    Commented Oct 30, 2023 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.