Live data from Hacker News

Building a Modern Computer from First Principles

nand2tetris.org

81–84 of 84 posts

Re: Building a Modern Computer from First Principles

#81

Earlier quoted context omitted.

I don't understand your critique. A book manages to condense the design of a computer -- from gate-level to operating system -- in a 300 page tutorial and you do not like the fact that it glosses over some details? I doubt any single person has the knowledge to build a modern computer from scratch, and few people have/need the knowledge to go from gate level to OS-level in the real world. This book aims to change tha…

My biggest problem with the book is that it gives you an adequate, hand-wavey idea of how a computer works, but it doesn't impart any hard skills. Karnaugh maps are a reusable skill in digital design. I've done hundreds of them for simple problems, it's like breathing now. I suspect using multiplexers to simplify a design is also left out. VHDL is a real language people actually use, and you can put it on your CV or…

You're not going to learn enough of any HDL in a 100 page tutorial to be particularly proficient in it anyway. Trying to explain the quirks of VHDL in a short tutorial would be a nightmare. The result would inevitably be skipping over stuff rather than explaining it. Coming from a software-development background, once you get into the higher-level aspects of writing VHDL (and I'd assume Verilog, although I have no experience with it) there's a lot of fundamental mistakes you can make in your understanding of how the language is interpreted into hardware. Using their own HDL which doesn't have much more than basic primitives stops people falling into those holes.

In my opinion, the hard part of hardware description is understanding the concepts, not the language used. If you've got a basic understanding of hardware description, the barriers to moving to VHDL or verilog will be much lower. Coming from the other direction, I can see large similarities between the concepts in their HDL and VHDL - the syntax may be slightly different, but the concepts are the same.

Re: Building a Modern Computer from First Principles

#82
post #56

I don't really have the time or inclination to do all the hardware stuff with real hardware, can anybody suggest software I might use to virtually build the hardware and get the general gist?

Read the link again! The computer is implemented in an HDL and simulated. All the software needed is supplied.

Re: Building a Modern Computer from First Principles

#84
post #74

Earlier quoted context omitted.

It's really hard to go from NAND to Tetris, because there's a logical jump when you get to VLSI. This is the whole notion of quantity being a qualitative property: when you get enough gates together, you really start abstracting them and thinking about higher-order components. There's no smooth zoom out, there's just a sudden discontinuity when you stop using individual gates and start using MUXes, flip-flops, etc as…

I don't know what you mean about MUXes. It's just simple abstraction to say "yeah, take this pattern of gates and give it a symbol so we don't have to draw it over and over again in detail". You're still just wiring up combinational logic... Flip-flops and sequential logic made my brain flip-flop itself for a while though when I first ran into it. :) That really does require a different sort of thinking, since you're…

I know a lot of people who didn't really move beyond thinking about boolean logic. It's easy to reason about the larger scale component if you're reading a diagram, but it gets harder to design with them at scale.
Post reply on HN