Simple CPU Instruction Set Design

It actually takes very little hardware to implement a simple CPU.  Today in class we built a CPU with the very basics:

There are a few key tricks used throughout these designs:

Timing matters!  In a real circuit timing is often the most important consideration for both performance and correctness.  In the simulator, all the registers are edge-triggered.  To avoid timing bugs, we fetch the next instruction on one edge of the clock, and write the results on the opposite edge of the clock, which prevents bugs where the register grabs a value as it changes.  In a more complex design, we might need to keep a shift register to cycle between operating stages within a single instruction.

Here's the compact 11-bit instruction set CPU we built in class in 2018.

CPU circuit diagram

Here's the extensible 24-bit instruction set CPU we built in class in 2016.

CPU circuit diagram

Here's an 8-bit instruction CPU we built in class in 2014.  A few more examples are listed at my 2012 CPU design page.





CS 441 Lecture Note, Dr. Orion LawlorUAF Computer Science Department.