Instruction Set Architectures
Instruction Sets
- Reduced Instruction Set Computing (RISC)
- Example ISAs that are RISC-based: ARM, RISC-V
- Complex Instruction Set Computing (CISC)
- Some ISAs that are CIRC-based: x86, x86_64
Common Instruction Set Architectures
x86
, 80x86
IA-32
, i386
, i686
, x86-32
x86
refers to the Intel processor architecture that was used in PCs. Model numbers were 8088 (16-bit processor), 8086 (16-bit processor), 286, 386, 486.
- 16-bit processors: 8086, 8088
- 32-bit processors: 80386, 80486
- This is how the name
80x86
was born and over time the 80
was dropped, simplifying the name to just x86
.
- 32-bit processor implies a processor that is capable of addressing (accessing/working on)
2^32
bits of memory, which is around 4GB.
- Nowadays it roughly means any CPU with a 32-bit Intel compatible instruction set (usually anything from Pentium onwards). (Classic)
- Strictly speaking,
x86
covers all CPUs that are backwards-compatible with 8086 and all extensions to the architecture including x86-32
and x86-64
.
x64
, x86_64
, x86-64
, amd64
, AMD64
x64
is the architecture name for the extensions to the x86 instruction set that enable 64-bit code.
x64
means a CPU that is x86 compatible but has a 64-bit mode as well.
- The well-known 64-bit instruction set processors.
- 64-bit processor implies a processor that is capable of addressing (accessing/working on)
2^64
bits of memory, which is around 16EB.
IA64
, IA-64
, Itanium
- Not
x86
, but is Intel’s 64-bit architecture that failed to catch on unlike amd64
.
x32
x32
is an Application Binary Interface (ABI) for amd64/x86_64 CPUs using 32-bit integers, longs and pointers.
- Fairly new variant of
x86-64
and not widely used. Not to be confused with legacy/classic 32-bit instruction sets.
- Registers are 64 bits, but pointers are only 32 bits, saving a lot of memory in pointer-heavy workflows. It also ensures all the other 64-bit only processor features are available.
Resources