Live data from Hacker News

Building a Modern Computer from First Principles

nand2tetris.org

1–10 of 84 posts

Re: Building a Modern Computer from First Principles

#6
You start with a simple Nand Gate, then build the hardware, ALU, RAM, assembler, compiler, OS and finally build the Tetris Game. Remember all this runs on your own self-designed computer — hardware + software, all your work! Awesome once in a lifetime experience project.

Here's how it goes — You are just given a Nand Gate, you then construct other gates and complex logic from that Nand Gate. Then you build computer's basic processing and storage devices (ALU and RAM, respectively). Then next Stage you build an assembler and compiler for your own defined language. ;) Finally a High level language(jack) is implemented to run on your machine architecture. Then you build an OS for your machine. Jack OS.

And In the last step you build your first application, Tetris Game. ;) Remember it is running on your own self-built computer. ;)

This is one of the most well-thought self-learning Projects out there to build a computer from first principles. Kudos for the creators. Pure Bliss.

My experience — You get the feel and appreciate the project as you move up and also later in your life. Its a life-long experience.

If you are a college student, having a mentor helps a lot in understanding and appreciating concepts faster. Worth mentioning, this is one of the best gifts you can give for a curious soul who has just stepped into computers.

I rate this project very high, and the best self-learning project of all time.

Re: Building a Modern Computer from First Principles

#7
This book is amazing, simply for the fact that it really allows you to understand the major layers of a computer system in a way that can fit in your mind all at once. This is not an easy task, with each layer having the capability of being a highly specialized area of study. You can spend your life working in operating systems without ever really understanding what a compiler does, or work in compilers without ever actually understanding the digital logic that underlies computer architecture.

For students and hobbyists alike, the task of understanding what a computer fundamentally does can seem like a truly uphill battle. Approaching this battle from the top down can seem never ending. The number and complexity of layers between application code and executable binaries is daunting to the newcomer to say the least. Approaching it from the bottom up is still difficult, but it allows you to see the need for each abstraction layer as the shortcomings of a lower layer present themselves.

This book takes this bottom up approach to literally take you from digital logic to high level software, literally from nand to tetris. And while each layer in between is highly simplified, it allows you to understand a system as a whole rather than concentrating on the specific layers. Really, a great read. And the projects are priceless. If you make it through this book, you will understand how computers _fundamentally_ work.

Re: Building a Modern Computer from First Principles

#8
post #6

You start with a simple Nand Gate, then build the hardware, ALU, RAM, assembler, compiler, OS and finally build the Tetris Game. Remember all this runs on your own self-designed computer — hardware + software, all your work! Awesome once in a lifetime experience project. Here's how it goes — You are just given a Nand Gate, you then construct other gates and complex logic from that Nand Gate. Then you build computer's…

Seriously, this book should be in all computer engineering curriculums. Hands down, there's nothing like it.
Post reply on HN