当前位置:首页 > 其他书籍
计算机系统要素:从零开始构建现代计算机
计算机系统要素:从零开始构建现代计算机

计算机系统要素:从零开始构建现代计算机PDF电子书下载

其他书籍

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)NOAM NISAN SHIMON SCHOCKEN著 周维 宋磊 陈曦译
  • 出 版 社:电子工业出版社
  • 出版年份:2007
  • ISBN:
  • 页数:325 页
图书介绍:
《计算机系统要素:从零开始构建现代计算机》目录

介绍:Hello,Wor1d Below 1

第1章 布尔逻辑 7

1.1 背景知识 8

1.1.1 布尔代数 8

1.1.2 门逻辑 11

1.1.3 实际硬件结构 13

1.1.4 硬件描述语言(HDL) 14

前言 15

1.1.5 硬件仿真 17

1.2 规范详述 17

1.2.1 Nand门 19

1.2.2 基本逻辑门 19

1.2.3 多位基本门 21

1.2.4 多通道逻辑门 23

1.3 实现 25

1.4 观点 26

1.5 项目 27

第2章 布尔运算 29

2.1 背景知识 30

2.2 规范详述 32

2.2.1 加法器 32

2.2.2 算术逻辑单元(ALU) 35

2.3 实现 38

2.4 观点 39

2.5 项目 40

第3章 时序逻辑 41

3.1 背景知识 42

3.2.1 D触发器 47

3.2 规范详述 47

3.2.2 寄存器 48

3.2.3 存储 49

3.2.4 计数器 50

3.3 实现 50

3.4 观点 52

3.5 项目 54

第4章 机器语言 57

4.1 背景知识 58

4.1.1 机器 58

4.1.2 语言 59

4.1.3 命令 60

4.2 Hack机器语言规范详述 62

4.2.1 概述 62

4.2.2 A-指令 64

4.2.3 C-指令 66

4.2.4 符号 69

4.2.5 输入/输出处理 70

4.2.6 语法规约和文件格式 71

4.3 观点 72

4.4 项目 73

第5章 计算机体系结构 79

5.1 背景知识 80

5.1.1 存储程序概念 80

5.1.2 冯·诺依曼结构 80

5.1.3 内存 81

5.1.4 中央处理器 82

5.1.5 寄存器 83

5.1.6 输入和输出 84

5.2.1 概述 85

5.2 Hack硬件平台规范详述 85

5.2.2 中央处理器(CPU) 87

5.2.3 指令内存 87

5.2.4 数据内存 87

5.2.5 计算机 91

5.3 实现 91

5.3.1 中央处理器 93

5.3.2 内存 96

5.3.3 计算机 96

5.4 观点 96

5.5 项目 99

第6章 汇编编译器 103

6.1 背景知识 104

6.2.1 语法规约和文件格式 107

6.2 Hack汇编到二进制的翻译规范详述 107

6.2.2 指令 108

6.2.3 符号 110

6.2.4 范例 111

6.3 实现 112

6.3.1 Parser模块 112

6.3.2 Code模块 114

6.3.3 无符号程序的汇编编译器 114

6.3.4 SymbolTable模块 115

6.3.5 有符号程序的汇编编译器 115

6.4 观点 117

6.5 项目 117

第7章 虚拟机Ⅰ:堆栈运算 121

7.1 背景知识 122

7.1.1 虚拟机范型 122

7.1.2 堆栈机模型 124

7.2.1 概论 127

7.2 VM规范详述,第Ⅰ部分 127

7.2.2 算术命令和逻辑命令 130

7.2.3 内存访问命令 130

7.2.4 程序流程控制命令和函数调用命令 133

7.2.5 Jack-VM-Hack平台中的程序元素 133

7.2.6 VM编程实例 135

7.3 实现 139

7.3.1 Hack平台上的标准VM映射,第Ⅰ部分 139

7.3.2 关于VM设计实现的建议 143

7.3.3 程序结构 144

7.4 观点 146

7.5 项目 147

8.1 背景知识 153

第8章 虚拟机Ⅱ:程序控制 153

8.1.1 程序控制流 155

8.1.2 子程序调用 155

8.2 VM规范详述,第Ⅱ部分 159

8.2.1 程序控制流命令 159

8.2.2 函数调用命令 159

8.2.3 函数调用协议 160

8.2.4 初始化 161

8.3 实现 161

8.3.1 Hack平台上的标准VM映射,第Ⅱ部分 161

8.3.2 范例 165

8.3.3 VM实现的设计建议 168

8.4 观点 169

8.5 项目 170

第9章 高级语言 173

9.1 背景知识 174

9.1.1 范例1:Hello World 174

9.1.2 范例2:过程化编程和数组处理 175

9.1.3 范例3:抽象数据类型 175

9.1.4 范例4:链表实现 179

9.2 Jack语言规范详述 181

9.2.1 语法要素 181

9.2.2 程序结构 181

9.2.3 变量 183

9.2.4 语句 187

9.2.5 表达式 187

9.2.6 子程序调用 188

9.2.7 Jack标准库 190

9.3 编写Jack应用程序 193

9.4 观点 195

9.5 项目 196

第10章 编译器Ⅰ:语法分析 199

10.1 背景知识 200

10.1.1 词法分析 202

10.1.2 语法 203

10.1.3 语法分析(Parsing) 203

10.2 规范详述 207

10.2.1 Jack语言语法 207

10.2.2 Jack语言的语法分析器 207

10.2.3 语法分析器的输入 210

10.2.4 语法分析器的输出 210

10.3 实现 213

10.3.1 JackAnalyzer模块 213

10.3.2 JackTokenizer模块 214

10.3.3 CompilationEngine模块 215

10.4 观点 217

10.5 项目 218

第11章 编译器Ⅱ:代码生成 223

11.1 背景知识 224

11.1.1 数据翻译 224

11.1.2 命令翻译 231

11.2 规范详述 232

11.2.1 虚拟机平台之上的标准映射 233

11.2.2 编译过程举例 235

11.3 实现 237

11.3.1 JackCompiler模块 238

11.3.2 JackTokenizer模块 238

11.3.3 SymbolTabel模块 238

11.3.4 VMWriter模块 240

11.3.5 CompilationEngine模块 241

11.4 观点 241

11.5 项目 242

第12章 操作系统 247

12.1 背景知识 248

12.1.1 数学操作 248

12.1.2 数字的字符串表示 252

12.1.3 内存管理 252

12.1.4 变长数组和字符串 256

12.1.5 输入/输出管理 256

12.2 Jack OS规范详述 263

12.2.1 Math 264

12.2.2 String 264

12.2.5 Screen 265

12.2.3 Array 265

12.2.4 Output 265

12.2.6 Keyboard 266

12.2.7 Memory 266

12.2.8 Sys 267

12.3 实现 267

12.3.1 Math 268

12.3.2 String 268

12.3.3 Array 269

12.3.4 Output 269

12.3.5 Screen 269

12.3.6 Keyboard 270

12.3.7 Memory 270

12.3.8 Sys 271

12.4 观点 272

12.5 项目 273

第13章 后记:发掘更多乐趣 277

13.1 硬件的实现 278

13.2 硬件的改进 278

13.3 高级语言 279

13.4 优化 279

13.5 通信 279

附录A:硬件描述语言(HDL) 281

A.1 范例 281

A.2 约定 282

A.3 将芯片加载到硬件仿真器 283

A.4 芯片描述头(接口) 284

A.5 芯片描述体(实现) 284

A.5.1 单元 284

A.5.2 管脚和连接 285

A.5.3 总线 286

A.6 内置芯片 287

A.7 时序芯片 289

A.7.1 时钟 289

A.7.2 时钟芯片和管脚 290

A.7.3 反馈环 291

A.8 芯片操作的可视化 292

A.9 已经提供的内置芯片与新的内置芯片 293

附录B:测试脚本语言 297

B.1 文件的格式和用法 298

B.2 在硬件仿真器中测试芯片 299

B.2.1 范例 299

B.2.2 数据类型和变量 299

B.2.3 脚本命令 301

B.2.4 内置芯片的方法和变量 304

B.2.5 范例 305

B.2.6 默认脚本 306

B.3 在CPU仿真器中测试机器语言程序 306

B.3.1 范例 308

B.3.2 变量 309

B.3.3 命令 309

B.3.4 默认脚本 309

B.4 在VM仿真器中测试VM程序 310

B.4.1 范例 311

B.4.2 变量 311

B.4.3 命令 313

B.4.4 默认脚本 313

索引 315

返回顶部