Could some ELI5 ARM vs x86?
Could some ELI5 ARM vs x86?
I've never studied EE or computer architecture before. What I see online is mostly about ARM being efficient for mobile while x86 is used for Intel and AMD systems. I'm not sure if this can be explained simply, but what technical differences exist between ARM and x86 that make them fit different devices?
They offer two main approaches to solving problems. Tanker trucks and pipeline infrastructure are examples. x86_64 is a complex instruction set computing architecture—hardware can handle many tasks but it’s more complicated. CISC instructions vary in length, so some operations take longer. The main challenge with x86_64 is its age and strict backward compatibility needs. ARM and RISC-V use reduced instruction set computing, which limits hardware choices but improves performance and efficiency because the design is simpler.
In essence, these systems use distinct terminology with two primary variations:
Difference 1: X86 was originally designed for older hardware, so certain commands must remain compatible with past software. For instance, early processors contained registers—tiny memory areas storing active data. On 64-bit chips, this became 64-bit storage. Contemporary X86 chips typically manage around 20 registers, using the 'A' register as a reference. Older Intel chips operated with 16-bit registers and offered three ways to interact with them: 'AX', 'AH', and 'AL'. Intel later transitioned to 32-bit, expanding the 'A' register to 32 bits while keeping backward compatibility with programs expecting 16-bit versions. Similarly, 64-bit systems introduced 'RAX' for the full address space, 'EAX' for the expanded version, and 'AX' for the reduced portion. Each instruction type was tailored for specific bit sizes, making execution complex and resource-heavy.
Difference 2: X86 supports intricate, specialized operations that demand precise handling. These include unique commands for different register sizes—such as varying methods for arithmetic or memory access depending on whether you're working with 16-bit, 32-bit, or 64-bit data. ARM, by contrast, employs a streamlined instruction set focused on efficiency and simplicity, excelling in general-purpose tasks while sacrificing speed on highly specialized operations. Today, ARM dominates mainstream computing due to its power-saving design and ease of adaptation, whereas X86 persists mainly because of legacy software dependencies.