Instruction Set Architectures

Summary

  • Computers with different hardware execute machine code instructions (e.g add) in different ways. They have different instruction set architectures (ISAs).

  • A family of CPUs that implement the core instructions of the Arithmetic Logic Unit (ALU) in the same way share an ISA. Any software built for that ISA will work on any CPU that implements the ISA

  • The two main CPU architectures are ARM and x86

Architecture is logical not physical

The “architecture” of an ISA is logical rather than physical, i.e processors that share an ISA may work very differently on the hardware level whilst still adhering to the same instruction set.

ARM and x86

The two main processor architectures are ARM and x86. x86 processors were first introduced by Intel but are also made by AMD.

x86

  • First introduced by Intel but also made by AMD.

  • Name stems from Intel’s internal naming conventions - every new processor they introduced would have a letter designation ending with “86”. Later they would adopt names such as “Pentium”, “Celeron” etc. Regardless, these processors still fall under the “x86” family.

  • Over time, new instructions have been added to the x86 architecture but they all maintain backwards compatibility with preceding generations.

  • There have been different, successive generations of x86 corresponding to their word-size: 16-bit, 32-bit, 64-bit. Word size here just means how many bits the processor can work with at a time. A 34-bit processor can operate on values that are 32 bits in length. This means it has 32bit registers, a 32-bit data bus, a 32-bit address bus and so on.

  • AMD introduced the first 64-bit processor, not Intel but they later caught up. A 64-bit x86 processor is often referred to as x64 or x86-64.

ARM

  • x86 processors dominate the personal computer and server space

  • On movile devices ARM ISA predominates

  • The ARM company develops the architecture and standard which it licenses it to other companies to implement.

  • Preferred on mobile because they have reduced power consumption and lower costs compared to x86.

  • The processor is on a single chip that contains the CPU as well as memory and other hardware.