Nand 2 Tetris

A while ago I found Nand 2 Tetris which is an MIT course that lets you build a (virtual) computer all the way from a NAND gate.

It's a really awesome project to do if you want to learn more about computer architecture. In my case, I had a bit of electronics course in high school, and knew how to program in higher level languages, but didn't know much about what's in between.

This course is basically a series of unzoom from the NAND. You start with that, and in HDL build some advanced logic gates (for example, memories), which you then combine with an ALU and create a processor.

Once you have a processor that can read simple instructions you design a computer architecture, and a simple assembler language, and so on. Of course it's an extremely simple computer with very few instructions but it's enough to understand a lot about how everything works together.

So if you want to learn these sort of things you should definitely do it. It takes a bit of time but it's worth it.


comments powered by Disqus