What the Heck is a Micro-Operation?
When reading about Microprocessors, RISC and CISC, you will stumble upon this terminology. What does it mean?
If you have been reading my various microprocessor related stories, you have probably come across the term micro-operation more than once. Here I will try to go a bit deeper and explain better what a micro-operation is.
Read more: How Does a Modern Microprocessor Work?
Read more: What Does RISC and CISC Mean in 2020?
The diagram below zooms in on just a particular part of what the microprocessor does. It shows instructions coming from memory and moving into the instruction decoder inside the microprocessor (CPU). The decoder chops the instruction up into what we call micro-operations which gets fed to the controller unit.
That is a bunch of stuff, which we need to unpack. First of all let me remind you what an instruction is. A computer program is made up of multiple instructions stored in memory. When the program runs, the CPU pulls instructions, one at a time, into the decoder.
Okay that is a simplification. In reality there could be CPU cache in between memory and the decoder. There could be multiple decoders. But let us ignore all that. You don’t need those details to understand the principles going on. Cache e.g. is really just another form of memory. In an idealized world there would be no cache, just a bunch of super fast memory (RAM).
My diagram is actually supposed to show a CISC processor such as an x86 from AMD or Intel. The yellow little boxes representing instructions are of variable length because that is what they are on x86. They could be anything from 1 to 15 bytes. On most RISC processors such as ARM, RISC-V, MIPC and PowerPC, they have a fixed length: 4 bytes.
But the decoder chops all these variable length instructions into equal length micro-operations.
How is a Micro-Op Different From an Instruction?
In my illustration I am trying to get across two important points about micro-operations:
- They do one tiny little thing. Typically a 1 clock cycle operation. That is why I made them…