内容简介
《计算机系统要素 从零开始构建现代计算机》是一本深入探讨计算机系统构建的书籍。作者NOAM NISAN和SHIMON SCHOCKEN通过详细的理论和实践,引导读者从零开始构建一个完整的现代计算机系统。书中涵盖了从硬件到软件的各个方面,包括逻辑门、处理器设计、操作系统、编译器等核心内容。
本书适合计算机科学专业的学生、研究人员以及对计算机系统构建感兴趣的读者。通过阅读本书,读者不仅能够理解计算机系统的基本原理,还能够亲手实践,构建自己的计算机系统。
目录
介绍:Hello,World Below
第1章 布尔逻辑
1.1 背景知识
1.1.1 布尔代数
1.1.2 门逻辑
1.1.3 实际硬件结构
1.1.4 硬件描述语言(HDL)
1.1.5 硬件仿真
1.2 规范详述
1.2.1 Nand门
1.2.2 基本逻辑门
1.2.3 多位基本门
1.2.4 多通道逻辑门
1.3 实现
1.4 观点
1.5 项目
第2章 布尔运算
2.1 背景知识
2.2 规范详述
2.2.1 加法器
2.2.2 算术逻辑单元(ALU)
2.3 实现
2.4 观点
2.5 项目
第3章 时序逻辑
3.1 背景知识
3.2 规范详述
3.2.1 D触发器
3.2.2 寄存器
3.2.3 存储
3.2.4 计数器
3.3 实现
3.4 观点
3.5 项目
第4章 机器语言
4.1 背景知识
4.1.1 机器
4.1.2 语言
4.1.3 命令
4.2 Hack机器语言规范详述
4.2.1 概述
4.2.2 A-指令
4.2.3 C-指令
4.2.4 符号
4.2.5 输入/输出处理
4.2.6 语法规约和文件格式
4.3 观点
4.4 项目
第5章 计算机体系结构
5.1 背景知识
5.1.1 存储程序概念
5.1.2 冯·诺依曼结构
5.1.3 内存
5.1.4 中央处理器
5.1.5 寄存器
5.1.6 输入和输出
5.2 Hack硬件平台规范详述
5.2.1 概述
5.2.2 中央处理器(CPU)
5.2.3 指令内存
5.2.4 数据内存
5.2.5 计算机
5.3 实现
5.3.1 中央处理器
5.3.2 内存
5.3.3 计算机
5.4 观点
5.5 项目
第6章 汇编编译器
6.1 背景知识
6.2 Hack汇编到二进制的翻译规范详述
6.2.1 语法规约和文件格式
6.2.2 指令
6.2.3 符号
6.2.4 范例
6.3 实现
6.3.1 Parser模块
6.3.2 Code模块
6.3.3 无符号程序的汇编编译器
6.3.4 SymbolTable模块
6.3.5 有符号程序的汇编编译器
6.4 观点
6.5 项目
第7章 虚拟机Ⅰ:堆栈运算
7.1 背景知识
7.1.1 虚拟机范型
7.1.2 堆栈机模型
7.2 VM规范详述,第Ⅰ部分
7.2.1 概论
7.2.2 算术命令和逻辑命令
7.2.3 内存访问命令
7.2.4 程序流程控制命令和函数调用命令
7.2.5 Jack-VM-Hack平台中的程序元素
7.2.6 VM编程实例
7.3 实现
7.3.1 Hack平台上的标准VM映射,第Ⅰ部分
7.3.2 关于VM设计实现的建议
7.3.3 程序结构
7.4 观点
7.5 项目
第8章 虚拟机Ⅱ:程序控制
8.1 背景知识
8.1.1 程序控制流
8.1.2 子程序调用
8.2 VM规范详述,第Ⅱ部分
8.2.1 程序控制流命令
8.2.2 函数调用命令
8.2.3 函数调用协议
8.2.4 初始化
8.3 实现
8.3.1 Hack平台上的标准VM映射,第Ⅱ部分
8.3.2 范例
8.3.3 VM实现的设计建议
8.4 观点
8.5 项目
第9章 高级语言
9.1 背景知识
9.1.1 范例1:Hello World
9.1.2 范例2:过程化编程和数组处理
9.1.3 范例3:抽象数据类型
9.1.4 范例4:链表实现
9.2 Jack语言规范详述
9.2.1 语法要素
9.2.2 程序结构
9.2.3 变量
9.2.4 语句
9.2.5 表达式
9.2.6 子程序调用
9.2.7 Jack标准库
9.3 编写Jack应用程序
9.4 观点
9.5 项目
第10章 编译器Ⅰ:语法分析
10.1 背景知识
10.1.1 词法分析
10.1.2 语法
10.1.3 语法分析(Parsing)
10.2 规范详述
10.2.1 Jack语言语法
10.2.2 Jack语言的语法分析器
10.2.3 语法分析器的输入
10.2.4 语法分析器的输出
10.3 实现
10.3.1 JackAnalyzer模块
10.3.2 JackTokenizer模块
10.3.3 CompilationEngine模块
10.4 观点
10.5 项目
第11章 编译器Ⅱ:代码生成
11.1 背景知识
11.1.1 数据翻译
11.1.2 命令翻译
11.2 规范详述
11.2.1 虚拟机平台之上的标准映射
11.2.2 编译过程举例
11.3 实现
11.3.1 JackCompiler模块
11.3.2 JackTokenizer模块
11.3.3 SymbolTabel模块
11.3.4 VMWriter模块
11.3.5 CompilationEngine模块
11.4 观点
11.5 项目
第12章 操作系统
12.1 背景知识
12.1.1 数学操作
12.1.2 数字的字符串表示
12.1.3 内存管理
12.1.4 变长数组和字符串
12.1.5 输入/输出管理
12.2 Jack OS规范详述
12.2.1 Math
12.2.2 String
12.2.3 Array
12.2.4 Output
12.2.5 Screen
12.2.6 Keyboard
12.2.7 Memory
12.2.8 Sys
12.3 实现
12.3.1 Math
12.3.2 String
12.3.3 Array
12.3.4 Output
12.3.5 Screen
12.3.6 Keyboard
12.3.7 Memory
12.3.8 Sys
12.4 观点
12.5 项目
13.1 硬件的实现
13.2 硬件的改进
13.3 高级语言
13.4 优化
13.5 通信
附录A:硬件描述语言(HDL)
A.1 范例
A.2 约定
A.3 将芯片加载到硬件仿真器
A.4 芯片描述头(接口)
A.5 芯片描述体(实现)
A.5.1 单元
A.5.2 管脚和连接
A.5.3 总线
A.6 内置芯片
A.7 时序芯片
A.7.1 时钟
A.7.2 时钟芯片和管脚
A.7.3 反馈环
A.8 芯片操作的可视化
A.9 已经提供的内置芯片与新的内置芯片
附录B:测试脚本语言
B.1 文件的格式和用法
B.2 在硬件仿真器中测试芯片
B.2.1 范例
B.2.2 数据类型和变量
B.2.3 脚本命令
B.2.4 内置芯片的方法和变量
B.2.5 范例
B.2.6 默认脚本
B.3 在CPU仿真器中测试机器语言程序
B.3.1 范例
B.3.2 变量
B.3.3 命令
B.3.4 默认脚本
B.4 在VM仿真器中测试VM程序
B.4.1 范例
B.4.2 变量
B.4.3 命令
B.4.4 默认脚本
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,没有任何商业目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48时间内予以删除。