"The Elements of Computing Systems: Building a Modern Computer from First Principles," a book by Noam Nisan and Shimon Schocken, describes and explains the process of building a working 16-bit computer using the Nand2Tetris software.
This is useful for computer science engineering students to understand the working of a computer from the base level.
Everything starts from a NAND gate.
The Nand2Tetris software (available here)
This GitHub repository aims to show how to build a computer using Nand2Tetris.
As you browse through the files, you will find a README.md
file in every directory explaining the contents.
Note: There is no AI generated content in this entire repository. As a student who wants to understand the sole purpose of this project and develop some coding skills, please refrain from using LLMs to write code. You can use LLMs to UNDERSTAND the code or theory. It is highly recommended use Google or refer some webpages, books for understanding the working. Here are a few which I refered. https://www.csie.ntu.edu.tw/~cyy/courses/introCS/17fall/lectures/handouts/lec08_HackML.pdf https://www.nand2tetris.org/_files/ugd/44046b_d70026d8c1424487a451eaba3e372132.pdf https://www.nand2tetris.org/project04 http://f.javier.io/rep/books/The%20Elements%20of%20Computing%20Systems.pdf https://zhangruochi.com/Sequential-Logic/2019/05/27/ https://stackoverflow.com/questions/57171635/nand2tetris-cpu-what-how-much-happens-in-each-clock-cycle https://slideplayer.com/slide/8219648/ https://www.csie.ntu.edu.tw/~cyy/courses/introCS/16fall/lectures/handouts/lec04_ALU_4up.pdf https://www.cs.huji.ac.il/course/2002/nand2tet/docs/ch_5_computer_architecture.pdf http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/ALU-Implementation-td4036186.html https://cs.stackexchange.com/questions/145089/alu-architecture-of-a-hack-computer https://zhangruochi.com/Boolean-Arithmetic/2019/05/21/ https://www.acwing.com/blog/content/17284/ https://medium.com/@jeffreyzaayman/nand2tetris-part-1-caec018fc05b https://www.csie.ntu.edu.tw/~cyy/courses/introCS/17fall/lectures/handouts/lec09_HackArch.pdf https://cs.berea.edu/courses/os-f13/interact/09-26-thur.html
Happy Learning!