暂无商品咨询信息 [发表商品咨询]
本书是一本经典的计算机系统入门教程,全球已有400多所高校将本书纳入教学体系,在线课程的注册学员超过20万人。作者秉承“理解计算机系统的最佳方法是从零开始构建一台计算机”的理念,以“从与非门到俄罗斯方块”为学习目标,将软件和硬件的核心主题巧妙地组织起来,使初学者能够在很短的时间内全面理解计算机专业的核心概念,从而为后续的专业课程学习奠定坚实的基础。
本书涵盖数电、体系结构、汇编语言、编译器、操作系统等计算机核心课程的基础内容,结合项目实践能够对整个计算机学科建立宏观的理解,并能完成制作一个基本计算机系统的任务。
目 录<br /><br />译者序<br />前言<br />第一部分 硬件<br />I.1 Hello,World之下 2<br />I.2 从与非门到俄罗斯方块 3<br />I.3 抽象与实现 4<br />I.4 设计方法 5<br />I.5 前方之路 6<br />第1章 布尔逻辑 7<br />1.1 布尔代数 7<br />1.1.1 布尔函数 8<br />1.1.2 真值表和布尔表达式 8<br />1.2 门 9<br />1.3 硬件构造 10<br />1.3.1 硬件描述语言 11<br />1.3.2 硬件模拟 13<br />1.4 规范 14<br />1.4.1 与非门 14<br />1.4.2 基本逻辑门 14<br />1.4.3 基本门的多位版本 15<br />1.4.4 基本门的多路版本 16<br />1.5 实现 17<br />1.5.1 行为模拟 17<br />1.5.2 硬件实现 18<br />1.5.3 内置芯片 19<br />1.6 实验 19<br />1.7 总结与讨论 20<br />第2章 布尔运算 21<br />2.1 算术运算 21<br />2.2 二进制数 21<br />2.3 二进制加法 22<br />2.4 有符号二进制数 23<br />2.5 规范 24<br />2.5.1 加法器 24<br />2.5.2 算术逻辑单元 25<br />2.6 实现 28<br />2.7 实验 29<br />2.8 总结与讨论 29<br />第3章 存储 31<br />3.1 存储设备 31<br />3.2 时序逻辑 32<br />3.2.1 时间很重要 32<br />3.2.2 触发器 34<br />3.2.3 组合与时序逻辑 34<br />3.3 规范 35<br />3.3.1 数据触发器 36<br />3.3.2 寄存器 36<br />3.3.3 RAM 37<br />3.3.4 计数器 38<br />3.4 实现 38<br />3.4.1 数据触发器 38<br />3.4.2 寄存器 38<br />3.4.3 RAM 39<br />3.4.4 计数器 40<br />3.5 实验 40<br />3.6 总结与讨论 41<br />第4章 机器语言 42<br />4.1 机器语言概述 42<br />4.1.1 硬件单元 42<br />4.1.2 语言 43<br />4.1.3 指令 44<br />4.2 Hack的机器语言 45<br />4.2.1 背景 45<br />4.2.2 程序示例 48<br />4.2.3 Hack语言规范 49<br />4.2.4 符号 50<br />4.2.5 输入/输出处理 52<br />4.2.6 语法约定和文件格式 52<br />4.3 Hack编程 53<br />4.4 实验 55<br />4.5 总结与讨论 57<br />第5章 计算机体系结构 58<br />5.1 计算机体系结构基础 58<br />5.1.1 存储程序的概念 58<br />5.1.2 冯·诺依曼体系结构 59<br />5.1.3 存储器 59<br />5.1.4 中央处理单元 60<br />5.1.5 输入和输出 61<br />5.2 Hack硬件平台规范 62<br />5.2.1 概述 62<br />5.2.2 中央处理单元 62<br />5.2.3 指令存储器 63<br />5.2.4 输入/输出 63<br />5.2.5 数据存储器 65<br />5.2.6 计算机 66<br />5.3 实现 66<br />5.3.1 中央处理单元 66<br />5.3.2 内存 68<br />5.3.3 计算机 68<br />5.4 实验 69<br />5.5 总结与讨论 70<br />第6章 汇编器 72<br />6.1 背景 72<br />6.2 Hack机器语言规范 73<br />6.2.1 程序 74<br />6.2.2 符号 74<br />6.2.3 语法约定 75<br />6.3 汇编到二进制的翻译 76<br />6.3.1 处理指令 76<br />6.3.2 处理符号 76<br />6.4 实现 77<br />6.4.1 实现一个基本的汇编器 77<br />6.4.2 完成汇编器 79<br />6.5 实验 79<br />6.6 总结与讨论 81<br />第二部分 软件<br />II.1 Jack编程初探 85<br />II.2 程序的编译 87<br />第7章 虚拟机Ⅰ:处理 89<br />7.1 虚拟机范式 90<br />7.2 栈机器 91<br />7.2.1 入栈和出栈 91<br />7.2.2 栈上的算术运算 92<br />7.2.3 虚拟内存段 94<br />7.3 虚拟机规范:第一部分 94<br />7.4 实现 95<br />7.4.1 Hack平台上的标准虚拟机<br />映射:第一部分 96<br />7.4.2 虚拟机模拟器 98<br />7.4.3 有关虚拟机实现的设计建议 99<br />7.5 实验 101<br />7.6 总结与讨论 102<br />第8章 虚拟机Ⅱ:控制 105<br />8.1 高级魔法 105<br />8.2 分支 106<br />8.3 函数 108<br />8.4 虚拟机规范:第二部分 113<br />8.4.1 分支命令 113<br />8.4.2 函数命令 113<br />8.4.3 虚拟机程序 113<br />8.5 实现 114<br />8.5.1 函数调用和返回 114<br />8.5.2 Hack平台上的标准虚拟机<br />映射:第二部分 115<br />8.5.3 有关虚拟机实现的设计建议 117<br />8.6 实验 118<br />8.7 总结与讨论 120<br />第9章 高级语言 122<br />9.1 例子 122<br />9.2 Jack语言规范 126<br />9.2.1 语法元素 126<br />9.2.2 程序结构 127<br />9.2.3 数据类型 128<br />9.2.4 变量 130<br />9.2.5 语句 130<br />9.2.6 表达式 130<br />9.2.7 子例程调用 131<br />9.2.8 对象的创建与清除 132<br />9.3 编写Jack应用程序 132<br />9.4 实验 133<br />9.5 总结与讨论 134<br />第10章 编译器Ⅰ:语法分析 136<br />10.1 背景 137<br />10.1.1 词法分析 137<br />10.1.2 语法规则 138<br />10.1.3 语法解析 139<br />10.1.4 解析器 141<br />10.2 规范 142<br />10.2.1 Jack语言的语法 143<br />10.2.2 Jack语言的语法分析器 144<br />10.3 实现 144<br />10.3.1 Jack分词器 145<br />10.3.2 编译引擎 145<br />10.3.3 Jack分析器 147<br />10.4 实验 147<br />10.4.1 分词器 148<br />10.4.2 编译引擎 149<br />10.5 总结与讨论 150<br />第11章 编译器Ⅱ:代码生成 151<br />11.1 代码生成 152<br />11.1.1 变量的编译 152<br />11.1.2 表达式的编译 155<br />11.1.3 字符串的编译 157<br />11.1.4 语句的编译 157<br />11.1.5 对象的编译 159<br />11.1.6 数组的编译 165<br />11.2 规范 166<br />11.3 实现 166<br />11.3.1 虚拟机上的标准映射 167<br />11.3.2 实现指南 167<br />11.3.3 软件架构 170<br />11.4 实验 172<br />11.4.1 实施阶段 172<br />11.4.2 测试程序集 173<br />11.5 总结与讨论 174<br />第12章 操作系统 176<br />12.1 背景 177<br />12.1.1 数学运算 177<br />12.1.2 字符串 180<br />12.1.3 内存管理 181<br />12.1.4 图形化输出 183<br />12.1.5 字符的输出 185<br />12.1.6 键盘输入 186<br />12.2 Jack操作系统规范 187<br />12.3 实现 187<br />12.4 实验 192<br />12.4.1 测试计划 192<br />12.4.2 完整测试 194<br />12.5 总结与讨论 195<br />第三部分 进一步讨论<br />第13章 探索更多乐趣 198<br />13.1 硬件的实现 198<br />13.2 硬件的改进 199<br />13.3 高级语言 199<br />13.4 优化 199<br />13.5 通信 199<br />附录<br />附录A 布尔函数综合 202<br />附录B 硬件描述语言 206<br />附录C 测试描述语言 217<br />附录D Hack芯片集合 227<br />附录E Hack中的字符集 228<br />附录F Jack操作系统的API 229<br /><br />○原书并未将第13章单独列为一部分,为确保本书体系更完整、合理,将第13章列为第3部分。—编辑注
基本信息 | |
---|---|
出版社 | 机械工业出版社 |
ISBN | 9787111769576 |
条码 | 9787111769576 |
编者 | [以]诺阿姆·尼桑(Noam Nisan),[以]西蒙·朔肯(Shimon Schocken) 著 |
译者 | |
出版年月 | 2025-05-01 00:00:00.0 |
开本 | 16开 |
装帧 | 平装 |
页数 | 234 |
字数 | 374 |
版次 | 1 |
印次 | 1 |
纸张 | 一般胶版纸 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]