Skip to content

Building a computer from first principles. Logic Gates -> CPU Architecture -> Machine Language -> VM -> High-Level Language -> Compiler -> OS -> DS & A

Notifications You must be signed in to change notification settings

MarkArranz/nand2tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

From Nand to Tetris: Building a Modern Computer From First Principles

This repository contains my code for implementing each of the projects from Noam Nisan's and Shimon Schocken's The Elements of Computing Systems, Second Edition.

Overview

"The Nand to Tetris journey entails twelve hardware and software construction projects. The general direction of development across these projects, as well as the book’s table of contents, imply a bottom-up journey: we start with elementary logic gates and work our way upward, leading to a high-level, object-based programming language.”

- Excerpt From The Elements of Computing Systems, Second Edition

Hardware

The hardware platform is based on a set of about thirty logic gates and chips. Every one of these gates and chips, including the topmost computer architecture, will be built using a Hardware Description Language, HDL, and simulated on a software-based harware simulator.

Software

The software stack that will include an assembler, a virtual machine, and a compiler. These can be written in any programming language.

Repo Struture

The repo is separated into two main directories, projects and tools. Implemented code lives in projects while the files contained in tools are used to run the code.

About

Building a computer from first principles. Logic Gates -> CPU Architecture -> Machine Language -> VM -> High-Level Language -> Compiler -> OS -> DS & A

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published