8 Bit Computer -
Waldo
OBJECTIVE
This project began with a book in the library and soon became and
obsession. The library had purchased an excellent book on computer
engineering – Digital Computer Electronics by Malvino, and I decided to read
it. I soon realized just how complicated a computer can be and decided to
make a mind-map of a simple processor. From the mind-map I decided to
draw out an adder, then an encoder and before I knew it, I had drawn out an
entire 8-bit computer in just IC’s.
This project is still ongoing, and I have managed to build the
decoder to display the outputs out our calculations. Though this encoder will
be replaced by an EEPROM in WALDO, I decided to try my hand at making it
using just logic gates.
My very first computer was born in an ALDO shoebox and my class
thought it only right to name the machine, WALDO.
PROJECT OVERVIEW
The 8-bit computer is designed around the SAP – Simple as
Possible architecture. The book has an excellent description of the function
of the ‘bus’ and the way different parts of the computer load and read data
from it. The overview of this architecture is given below.
SAP-1 ARCHITECTURE
From Digital Computer Electronics, Part 2, SAP
SO FAR – THE DECODER
So far, the computer has the Output Register and Decoder. Again, in
the final version this will all be replaced by an EEPROM but as a challenge and
learning experience, I decided to make this out of only logic gates. The
following are the truth tables I made when I was designing these parts. Most of
these were designed in class and around school and so they are made on
pieces of paper.
The truth tables and k-maps to convert decimal to binary
and then to a 7 segment display.
THE FUTURE OF THE PROJECT
As of now I am working on the rest of the 8-bit computer. The future
include first experimenting with half adders to make a full adder and carry out
basic arithmetic.
The final goal is to create an actual version of the SAP computer.
Chaining Half adders to add bits – 3 in the above
diagram.
One element of the timer will be a monostable
timer using a 555 timer
The other element will be an astable timer using
a 555 timer