My first experiment with Integrated circuits. I was trying to get a deeper understanding of how computers do what they do. So I built this 8 bit breadboard computer:
This 1 MHz computer was limited to say the least but an extremely intoxicating project. It could add and subtract with 256 bytes of RAM and display the results in an output register that converted the binary number to a decimal.
I Made the ALU using an 2 4-bit Full Adder IC’s and a few logic gates. Here is a video of my computer’s ALU being tested by adding 1 each clock cycle:
Next I created a memory module with an address register and a way to program the computer’s memory. Here is a video of the add and subtract of the ALU and then how the memory module is programmed:
This is a slow process to program the computer (I’ll fix this in my next project).
All that is left to make is some control logic and a display module. The display only has to display a maximum number of 256 because the biggest number 8 bits can represent is 256, (unsigned) so ill use 3 7 segment displays, and controler IC’s for the displays and 2 EEPROM’s to decode the data for the controllers, and a few more EEPROM’s and some logic gates to make the control logic module.
Here is a video of my fully completed Computer doing the Fibonacci sequence:
Some notes on my design:
I Had a 2 byte fetch cycle for instructions so i could store the instruction in address 0 and the operands in address 1. This way I had full range over the address space in the memory module. The Op code is 4 bits wide and operands are a full 8 bits.
The ALU was missing a few key features to make this a real computer in my books. The ability to shift and compare is most obvious needs and all I made was a carry flag for jump conditions. My next project will not have these short commings.