Comparisons
Two things routinely conflated, put side by side. Neither column is the winner — what decides is the workload and the machine.
ISA vs MicroarchitectureArray traversal vs Linked-list traversalLatency vs BandwidthCPU vs GPUCPU cache vs OS page cacheHardware thread vs OS threadPolling vs InterruptsBranch vs Branchless
ISA vs Microarchitecture
The ISA is the contract — instructions, registers, memory model. The microarchitecture is one implementation of it. Two chips with the same ISA can differ by an order of magnitude, and most "x86 versus ARM performance" arguments are really about implementations.
Strengths
Stable for decades, so binaries keep running
Costs
Changing it breaks the world, so mistakes are permanent
Use when
Reasoning about correctness, portability and what a program may assume
MicroarchitectureOpen lesson →
Strengths
Free to change every generation, which is where gains come from
Costs
Nothing about it is guaranteed, so no code should depend on it
Use when
Reasoning about performance, tuning and why one chip beats another
| Dimension | ISA | Microarchitecture |
|---|---|---|
| Visible to software | Yes, by definition | Only through timing |
| Changes between generations | Rarely, additively | Constantly |
| Decides correctness | Yes | No |
| Decides performance | Barely | Almost entirely |