Until now, ARM and x86 architectures did not compete with each other, as they were designed for different purposes. Now things are changing, with Apple launching its Mac Mini with ARM processors and with quite capable results, so the eternal discussion resurfaces again and with the same examples as always; For example, while an “average” x86 desktop processor consumes between 65 and 130 watts, an ARM processor can do the same with only 7 to 10 watts, so if it consumes so little, why not replace the architecture? ARM x86?
Can ARM really do the same as x86?
The short answer to that is, yes, ARM can do the same thing, but it has some very important nuances that involve the “in what way”, and especially the “in how long” (in terms of performance). x86 uses CISC technology, with larger instruction sets intended to solve more complex problems, while ARM uses RISC (which is actually R for ARM), which is much simpler.
CISC | RISK |
---|---|
Multi-cycle instructions | Instructions for a single cycle |
Loading and storage incorporated in other instructions | Charging and storing are separate instructions |
Memory-memory architecture | Registry-registry architecture |
Long instructions, code with a few lines | Short instructions, code with several lines |
Uses firmware memory | Implement instructions directly on the hardware |
The versatility of the instruction set is emphasized | New instructions are only added if they are used frequently and do not reduce the performance of the most important |
Reduces the difficulty of implementing compilers | Very complex compilers |
Eliminate micro-code and complex instruction decoding |
Thus, we have that x86 processors are geared towards performance and versatility, while ARM is geared more towards low power consumption and with limited options. An ARM processor can do the same thing as an x86 but in different, always much more sophisticated ways, and this ultimately has a big impact on performance in terms of runtime.
On the other hand, ARM has the advantage of being simpler and therefore the size of the cores is considerably reduced compared to its rivals, so they are able to incorporate a greater number of these cores although they are more slow, realizing that the workloads can be divided and optimized further.
Ultimately, ARM can do the same thing as x86, quite differently. Now that doesn’t mean that one architecture can be replaced by another, at least not so easily and we’ll see why.
Hardware doesn’t make sense without software
Living proof of this obstacle is Apple’s life. Before presenting their ARM processors, they already spent a lot of time and effort adapting their operating system and, in fact, created a development kit for software developers to do the same. Seen another way, this means that the software is designed for a specific architecture i.e. you cannot run a program designed for x86 on an ARM computer.
Therefore, it’s not just a question that one can do the other’s job, it’s that all software has to be adapted or ported, and it’s something that not all companies can. do, nor all companies can afford. . So this is something that currently has no viability, not even in the medium term; in the long run, it is something that could happen, but it cannot be expected soon, far from it.
What is the use of ARM to replace x86?
In environments where consumption is a crucial factor, and at the same time where very specific and repetitive tasks are performed, this is where it makes sense. For example, imagine a database server with a conventional x86 processor and some other hardware, and performing a database management task and nothing else. This server needs a very powerful processor with high consumption, and yet it could easily be replaced by one or more ARM processors with many more less powerful cores but which results in equal or better performance and much more consumption. low.
This is because just by using more cores they get the same result with less consumption, but that’s because the task is very specific and the hardware and software have been designed for it. If we have to refer to a PC for everyday use, whatever its function, then things change because we will see ourselves in situations where this low consumption of ARM is not worth it because it takes too much time to perform certain functions that an x86 processor does in the blink of an eye thanks to its instruction sets.
The same goes for the laptop ecosystem, where the power consumption is certainly much higher than on a desktop PC simply because of the battery life, but where the same versatility is required as on a conventional PC. .
In short, it is possible that ARM will end up replacing x86 but for the moment only theoretically, because it is neither necessary nor seems that the developers want it (precisely because it is not necessary). However, it is possible that in professional environments and especially servers, companies will start to grow under ARM to gain efficiency, because in the end this will translate into good savings in the long run.