计算机系统要素-从零开始构建现代计算机 项目代码
《计算机系统要素-从零开始构建现代计算机》是一本好书,这阵子花业余时间学习,并跟着做了章节后面的项目,收获很大。已经完成了前面9章的项目内容,目前正在进行第10章,编译器的编写。
前面9章的项目,以Nand门为基础,先后构建了各种逻辑门,组合芯片(半加器、全加器、加法器、加一器、ALU),时序芯片(寄存器、存储器、计数器),以及CPU和一个简单的,有屏幕和键盘的计算机Hack。并实现了Hack(此计算机体系结构所对应的的汇编语言)汇编编译器、Jack(基于此计算机的一个类Java虚拟机语言)堆栈虚拟机。
第10章和11章是Jack语言编译器的项目,12章还有关于操作系统的实现。
对于有志于了解整个计算机体系结构和软硬件架构,以及计算机技术的来龙去脉的朋友,强烈建议也学习一下,能 够理清很多之前不明白,是是而非的内容。
下面是我把项目的代码放在了github上,供参考,大家一起探讨进步!
https://github.com/ytzys/nand2tetris