ISA and Microarchitecture

the separation between the computer's public-facing promises and its secret internal workings.

The most important concept to grasp here is the difference between the Instruction Set Architecture (ISA) and the Microarchitecture.

Think of it as the difference between what a processor promises to do versus how it actually does it.

image.png

  1. ISA is the "What" — Wrapper
  2. Microarchitecture is the "How" — Internal Strategy
  3. The Translator Trick — The Bridge Between Complex Rules and a Simple Strategy; By using Translator, you can adjust the complexity/burden of sw/hw.

1. ISA is the "What" — The Official Rulebook

The ISA is the rigid contract between the software and the hardware.

It's the set of attributes a programmer sees and can rely on. It doesn't change often because changing it would break existing software.

The essential things the ISA defines are:

For example, the ISA guarantees that an ADD instruction exists, but it says nothing about how the addition is performed. (so, basically it abstractifies the detail implementations)

2. Microarchitecture is the "How" — The Secret Internal Strategy