Erik Engheim
1 min readDec 16, 2021

--

You could perhaps build a microcode simulator and debug that. But debugging microcode on a running CPU would naturally be hard. Patching the microcode would also be really risky.

If I change normal code, it doesn't have ripple effects. It is isolated. Modification of microcode in a CPU is not isolated. Changing the microcode for an instruction will affect all programs using that instruction. This is much more like doing a firmware update. Just replacing a library is much easier and less risky.

A highly level ISA is a poor idea. That will lock you to a particular language. By using a very low level langauge such as assembly, you gain more flexibility in high-level languages you can build on top of that low level machine code.

I will admit there was some cool aspect with some of this thinking though such as the early LISP and Smalltalk machines which were basically built expliclty to run these languages.

--

--

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.

No responses yet