An instruction set architecture (ISA) is the fixed list of basic commands that a processor understands, such as add two numbers, compare two numbers, or jump to another part of the program. A processor is the chip that computes. The ISA is also called the instruction set. It is the agreement between the chip and the software: the chip carries out every command on the list, and the software uses only those commands. There are three main ISAs today. x86 is used in most laptops and servers. Arm is used in nearly all phones, and in a growing share of laptops, servers and cars. RISC-V is an open ISA that anyone may use without paying for it.
Here is how it works in general. A programmer writes a program in a language such as C. A program called a compiler translates it into machine code: a long list of instructions taken only from one ISA. Each instruction is stored as a fixed pattern of ones and zeros, often 32 of them. The processor reads one instruction, carries it out and moves to the next, billions of times a second. So a program compiled for x86 is a list of x86 patterns, and an Arm chip cannot read those patterns. To run on an Arm chip, the program must be compiled again for Arm, or converted by translation software while it runs, which is slower. That is why programs do not cross between ISAs on their own.
This makes an ISA very hard to replace. Decades of programs, operating systems and tools are built for x86 and Arm. A new chip that uses the same ISA can run all of them on its first day. Owning an ISA is also a business. Arm does not sell chips. It charges chip companies for the right to use its ISA and its designs, as described in semiconductor IP licensing.
Take, for example, an app on an Android phone. Its machine code is built for Arm, because the system-on-chip in almost every phone uses Arm.
Consider a company that moves its web servers to cheaper Arm-based CPUs. Its programs must first be compiled again for Arm, and tested again.
Say a maker of air conditioners replaces the microcontroller in its indoor unit with a newer chip that uses a different ISA. The cooling software must be rebuilt with the new chip's compiler before the first unit is shipped.
How is an ISA different from a microarchitecture? The ISA is the list of commands. The microarchitecture is the actual circuit that carries them out: how many instructions it works on at once, how much fast memory it has on the chip, and how much power it uses. Two chips with the same ISA can run the same program at very different speeds. A company that sells a ready-made design for that circuit sells it through processor IP licensing.
Appears in
- System-on-chip (SoC)↗ Smartphone hardwareA phone's system-on-chip runs on processor cores built to the Arm instruction set, so the apps on a phone are compiled into Arm instructions.
- Microcontroller (MCU)↗ Analog and embedded chipsA microcontroller runs software compiled for its own instruction set, often Arm or RISC-V, so changing to a chip with another instruction set means rebuilding that software.
- CPU↗ AI and data centre chipsA server CPU runs programs compiled for x86 or Arm, and a company moving its servers from one to the other must compile and test its programs again.
- Processor IP licensing↗ SemiconductorsProcessor IP licensing sells ready-made cores built to an instruction set, or, through an architecture licence, the right to design one's own core to that instruction set.