Erik Engheim
2 min readJan 12, 2021

--

My article may very well be confusing but in this case I believe you have confused yourself Arnaud.

The CISC processor literally contains read-only-memory with microcode inside the CPU itself.

I think the source of your confusion is that you assume that a ROM chip is a very specific thing such as the BIOS. Yes lots of systems have ROM chips containing the code that gets run when you turn on the computer.

These ROM chips contain actual machine code instructions. Instructions belonging to the ISA of that CPU. However memory which is is a read-only is a generic term. You could have ROM inside and outside a CPU.

Inside the CPU the microcode programs you got there don't contain regular instructions. These are microcode instructions which are more similar to micro-ops than to an ISA machine code instruction.

A microcode instruction is hardware specific. Different x86 chips could implement the same ISA instruction with different microcode programs, where each microcode is different. Different lenght, different format.

Typicall a microcode is on what we call horizontal format. Which basically means it is very wide and each bit represent a control signal to enable or disable. The contro signal would then e.g. enable an ALU, read/write from a register etc.

So no, don't confuse this with system calls. INT is part of the ISA, microcode is not part of the ISA. These are very micro-architecture specific instructions.

As someone who did 8086 and 68000 assembly years ago, I can tell you no manual every told me anything about microcode. That was hidden implementation details, I don't think they ever told you. I cannot remember any mention of that in my old assembly code books. So don't be surprised if you never learned about this in the past. I certainly didn't.

--

--

Erik Engheim
Erik Engheim

Written by Erik Engheim

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

Responses (1)