Building a Computer from the Ground Up

 > Computer Hardware Projects >  Building a Computer from the Ground Up
0 Comments

A few years ago, I was taking a class in Digital Logic and Architecture. The one thing that struck me over and over again was how very clear and basic logic components – literal switches- were and yet how powerful they could be. As I learned more, I began to see how these things functioned together, how one could assemble these into more complex structures- multplexors, adders, ALUs, memory and so forth.

So I decided to put all that I was learning together to a build a computer from scratch.

I don’t mean buy components- a motherboard, a CPU, memory, a case and so on- and then assemble it. My goal was more ambitious than that. I want to take the most basic components I had learned about and see if I could actually ascend that mountain and create a computer myself- designing and wiring up every component until I had a complete CPU with programmable and working memory- that would be capable of executing machine code. From there, I would write an assembler to turn assembly language into machine code, and then a compiler to turn a high level language like Java or C into assembly. Finally, I would write a basic operating system in that language and then programs to run on that machine.

This project is the result.