Skip to content

bsassoli/nand2tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAND TO TETRIS

Assignment and materials for Build a Modern Computer from First Principles: Nand to Tetris part I and part II

PART I

Week 1

  • Boolean logic
  • HDL
  • Logic gates (starting with NAND)
    • Elementary logic gates (NAND, NOT, AND, OR, XOR)
    • Multiplexer and demultiplexers (MUX, DMUX)
    • Multi-bit buses (NOT16, AND16, OR16, MUX16, MUX4WAY16, MUX(WAY16, DMUX4WAY, DMUX8WAY)

Week 2

  • Boolean arithmetic
  • Binary addition
  • 2's complement
  • Half-adders and full-adders
  • Bulding an ALU

Week 3

  • Sequential logic and sequential circuirs
  • Data Flip Flops
  • Memory units
    • Bit
    • Register
    • RAM (from 8 to 16K)
  • Program Counters

Week 4

  • Machine Language
  • Hack programming
    • A-instructions
    • C-instructions
  • I/O
    • Screen
    • Keyboard

Week 5

  • Von Neumann architecture
  • Fetch-execute cycle
  • CPU
  • Build: CPU, Memory, Computer

Week 6

  • Assembly
  • Hack assembly
  • Assembler
    • Instructions
    • Symbols

PART II

Week 1

  • Virtual machine and bytecode
  • Stack
    • stack pointer
    • push / pop
    • arithmetic instruction
  • Memory segments
    • local
    • static
    • this
    • that
    • temp
    • args
  • VM translator part 1

Week 2