From Nand to Tetris / Part I
持续时间: 7 weeks
课程评论: 2 个评论
This course is a fascinating 7-week voyage of discovery in which you will go all the way from Boolean algebra and elementary logic gates to building a central processing unit, a memory system, and a hardware platform, leading up to a general-purpose computer that can run any program that you fancy. In the process of building this computer you will become familiar with many important hardware abstractions, and you will implement them, hands on. But most of all, you will enjoy the tremendous thrill of building a complex and useful system from the ground up.
You will build all the hardware modules on your home computer, using a Hardware Description Language (HDL), learned in the course, and a hardware simulator, supplied by us. A hardware simulator is a software system that enables building and simulating gates and chips before actually committing them to silicon. This is exactly what hardware engineers do in practice: they build and test computers in simulation, using HDL and hardware simulators.
Week 0: course introduction and overview, the roles of abstraction and implementation in systems design, the road ahead.Week 2:
Week 1: Introduction to Boolean functions, gate logic, Hardware Description Language (HDL), and hardware simulation. Project: build a set of 15 elementary logic gates that will serve as the building blocks of subsequent chips.
Binary numbers, binary addition, the two's complement methods, combinational logic. Project: build a family of adder chips leading up to an Arithmetic Logic Unit (ALU).Week 3:
Flip-flops, clocks, memory systems, sequential logic. Project: build a family of storage units from 1-bit registers to n-bit registers to Random Access Memories (RAM) of arbitrary sizes.
Week 4: Machine language, binary and symbolic instructions, input and output handling, using an assembler. Project: write some low-level assembly programs and run them on a supplied CPU emulator. Week 5:
Computer organization, the Von Neumann architecture, the fetch-execute cycle. Project: build the Hack CPU and computer system, using all the chips that were built in the previous projects.Week 6:
Assembly languages, assemblers, parsing, symbol tables, code generation, the translation process. Project: build an assembler that translates Hack symbolic programs into Hack executable (binary) code.
0 票支持; 0 票反对
2 票支持; 0 票反对