Computer System Elements 官网地址
本仓库为《计算机系统要素》一书的硬件软件项目集合。
涵盖的主题包括:
-
硬件:逻辑门、布尔运算、multiplexor(多路复用器)、触发器(flip-flop)、寄存器、RAM单元、计数器、硬件描述语言、芯片仿真及测试。
-
体系结构:ALU/CPU 的设计与实现、机器代码、汇编语言程序设计、取址模式、I/O 内存映像。
-
操作系统:内存管理、数学计算程序库、I/O 驱动程序、屏幕管理、文件 I/O、高级语言支持。
-
程序设计语言:基于对象的设计和编程模式、抽象数据类型、作用域、语法和语义、引用机制。
-
编译器:测法分析、自顶向下的语法分析、符号表、基于堆栈的虚拟机、代码生成、数组和对象的实现。
-
算法于数据结构:堆栈、哈希表、链表、递归、算术算法、几何算法、运行效率。
-
软件工程:模式化设计、接口与实现规范、API 设计和文档、主动式测试(极限编程理论中的单元测试)、广义的程序设计概念、质量保证体系。
- p1 利用 Nand 门实现 Not 、And 、 Or/Xor、Multiplexor/Demultiplexor ...
- p2 利用上一章节实现的门,实现半加器、全加器、加法器、增量器、ALU\
- p3 利用 DFF 门构建 一位寄存器、八位寄存器、n位寄存器、计数器
- p4 编写并测试 Multi.asm 和 Fill.asm 程序
- p5 构建 Hack 计算机
- p6 将汇编语言翻译成机器语言,有对应的语法表提供,难度一般
- p7 将虚拟机语言翻译成汇编语言,第一阶段
- p8 第二阶段
- p9 自己写个项目,
- p10 将高级语言 Jack 翻译成虚拟机语言,第一阶段
- p11 第二阶段,未完待续。。。