- Systems' Newsletter
- Posts
- ISA vs Microarchitecture
ISA vs Microarchitecture
ISA (Instruction Set Architecture) is the interface - say gas paddle
Microarchitecture is the actual implementation - say IC engine or electric engine
Microarchitecture can change, and as long as it is compatible with the said ISA, a given program will continue to work with better or worse efficiency.
Intel's x86 is an ISA, while Pentium, Pentium Pro, Coffe Lake, etc., are the implementations. Intel has licensed AMD to use the ISA to build its chips. There are only a few ISAs - x86, ARM, RISC-V, MIPS, and Alpha. But there are many μArchitectures as the underlying hardware improvements help the programs run faster without changing the high-level code.
So, what can be improved at the hardware level?
Pipelining
In-order vs Out-of-order execution of instructions
Speculative execution
Memory access scheduling policy
Clock gating
Caching
Prefetching
And more
[This post is periodically updated]