How Does a Modern Microprocessor Work?

A look at a made up RISC microprocessor called Calcutron-33, to learn how a microprocessor works.

Erik Engheim
The Startup
Published in
21 min readDec 13, 2020

--

A microprocessor being slotted into its socket on a PC motherboard.
A microprocessor being slotted into its socket on a PC motherboard.

Are you interested in better understanding articles written about new microprocessors such as Apple’s M1, AMD Ryzen, or even RISC-V?

To be able to read articles answering such questions it helps understanding what a microprocessor does. What an instruction is, a decoder, a register, an instruction-set architecture and so on.

And no, this is not nearly as hard as it may sound. I am going to teach you the assembly language of a very simple but modern microprocessor called Calcutron-33. What is assembly language? Microprocessors (CPU) cannot be instructed in plain English. They need to be told what to do using what is called machine language. Assembly code is how humans write machine code.

Before you go: “I have never even heard about Calcutron-33! Why don’t you teach me something useful like Intel x86 or ARM?”

I definitely would have if that was easy. However a modern x86 microprocessor from Intel or AMD has over 1503 different assembly instructions. Internally they have a myriad of advance features, which means the fundamentals of what a CPU does completely drowns in layer upon layer of complexity.

The silicon inside a CPU package.
The silicon inside a CPU package.

Thus Calcutron-33 is a much better choice because it allows us to focus on what is important. The CPU only has 10 different instructions to learn. These have been carefully selected so we captured the essence of what a modern RISC-like processor is about.

Once you know Calcutron-33, it will be much easier to read and learn about real microprocessors. You don’t want to learn everything about them, but by knowing the basics, you understand better what to focus on and what to ignore.

--

--

Erik Engheim
The Startup

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