The Intel 8086 processor (1978) has a complex instruction set with instructions from 1 to 6 bytes long. How does the processor determine the instruction length? It turns out that there is no explicit length. A ROM says if 1 or 2 bytes, then the microcode fetches bytes until done. 🧵
Instruction processing starts with the Group Decode ROM, which classifies instructions: 1 byte implemented in logic, a prefix, 1+ byte using microcode, or 2 bytes+ (including ModR/M byte) using microcode. A circuit called the loader gets 1 or 2 bytes from the prefetch queue.