计算机系统要素-从零开始构建现代计算机-答案
答案 github 地址
本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。
通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。
全书内容广泛、涉猎全面,适合计算机及相关专业本科生、研究生、技术开发人员、教师以及技术爱好者参考和学习。
而且,这本书的门槛非常低,只要你能熟练运用一门编程语言即可。
本书从与非门开始教你一步步构建一个完整的计算机(1-5章);从第 6 章开始一直到第 11 章,需要完成三个编译器(汇编编译器、VM 编译器、Jack 语言编译器);最后一章则需要完成操作系统部分功能。
如果你完成了本书所有的项目,则会获得以下成就:
- 构建出一台计算机(在模拟器上运行)
- 实现一门语言和相应的语言标准库
- 实现一个简单的编译器
配套资料
- 全套工具下载
- 书籍下载
- 本书作者制作的教学视频课程
- 官网
- 官方论坛
注意
我上传的只有答案 测试用例和工具请点击全套工具下载
有问题欢迎提issues
也可以选择加入 QQ 交流群 39014053,有问题随时提问。
内容简介
本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。
通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。
全书内容广泛、涉猎全面,适合计算机及相关专业本科生、研究生、技术开发人员、教师以及技术爱好者参考和学习。
硬件平台
1.布尔逻辑
介绍了各种基础逻辑门,并且所有门都是基于nand门实现的
- and and16
- dmux dmux4way dmux8way
- mux mux16 mux4way16 mux8way16
- not not16
- or or16 or8way
- xor
2.布尔运算
- 二进制数
- 二进制加法
- 半加器
- 全加器
- 加法器
- 增量器
- ALU
3.时序逻辑
组合芯片
- 布尔芯片
- 算术芯片
时序芯片
时序芯片基于大量的DFF门
- 时钟
- 触发器
- 寄存器
- 内存
- 计数器
4.机器语言
- A指令
- C指令
- 寻址方式:直接寻址、立即寻址、间接寻址
5.计算机体系结构
- 内存
- CPU
- 寄存器
- 输入输出
软件阶层体系
- 汇编编译器
- 虚拟机I:堆栈运算
- 虚拟机II:程序控制
- 高级语言
- 编译器I:语法分析
- 编译器II:代码生成
- 操作系统
计算机系统要素-从零开始构建现代计算机-答案相关推荐
- 计算机系统要素-从零开始构建现代计算机 项目代码
<计算机系统要素-从零开始构建现代计算机>是一本好书,这阵子花业余时间学习,并跟着做了章节后面的项目,收获很大.已经完成了前面9章的项目内容,目前正在进行第10章,编译器的编写. 前面9章 ...
- 计算机系统要素-从零开始构建现代计算机--第一章,01-用与非门实现与戓非
第一章,01-用与非门实现与戓非 简介 实现的逻辑门 Nand原理 Nand真值表 符号约定 用Nand实现And 真值表 转换为Nand表示 电路连接 用Nand实现Or 真值表 转换为Nand表示 ...
- 计算机系统要素高清pdf,计算机系统要素:从零开始构建现代计算机[PDF][43.21MB]...
内容简介 本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整.严格的计算机应用科学大图景.本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统. 通过12 ...
- 计算机系统要素--第六章,01-HACK汇编编译器模块介绍
从零开始构建现代计算机--第六章,01-HACK汇编编译器模块介绍 语法分析器(Parser) 编码(Code) 无符号程序的汇编编译器 符号表(Symbol Table) 有符号程序的汇编编译器 H ...
- 计算机系统要素--第六章,02-HACK汇编编译器实现
从零开始构建现代计算机--第六章,02-HACK汇编编译器实现 要点 A-指令 C-指令 符号表 python实现 要点 关心三点: A指令,C指令,符号表 A-指令 A指令:将@num的num转为1 ...
- 计算机系统要素 - 布尔逻辑/布尔运算构建ALU
1. 布尔门 布尔门是对布尔函数的物理实现,简单的布尔门相互连接可以实现复杂芯片的功能 1.1 布尔代数/布尔函数 布尔代数处理布尔型(二进制型)数值 布尔函数是指输入输出数值均为布尔型数值的函数 计 ...
- 计算机系统要素:硬件描述语言HDL简介
这个系列是我近期学习The Elements of Computing Systems(中文配套书为<计算机系统要素>)的学习笔记,这是一个网络公开课程,旨在教授任何人从零开始实现计算机构 ...
- 32位算术逻辑运算单元alu设计_依据基本原理构建现代计算机(二)—— ALU
学习 依据基本原理构建现代计算机 系列课程笔记. 1 bit 可以表示 0 或者 1.我们怎么使用 bit 表达更复杂的东西,从而开始构建一个现代计算机? 二进制 2 to 10 10 to 2 Bi ...
- 使用ThreeJs从零开始构建3D智能仓库——第一章(一切的基础)
引用链接:https://blog.csdn.net/homula123/article/details/101197463 使用ThreeJs从零开始构建3D智能仓库--第一章 写在前面 如何实现 ...
最新文章
- 面试时怎么设计测试用例
- 使用cmake组建跨平台项目
- 什么是一致性 Hash 算法
- 如何在Mac中卸载openjdk15
- 使用rem适配不同屏幕的移动设备
- 腾讯多任务模型MFH
- 流量分析_安恒八月月赛
- Golang的time包:秒、毫秒、纳秒时间戳输出
- 一滴水从高处落下来,会不会砸死人?
- mysql递归查询 缓存_MySQL-递归查询方法解析
- d3.js和mysql_如何从mysql数据库中提取数据并使用D3.JS进行可视化?
- stm32高级定时器 基础知识
- jquery源码解析:proxy,access,swap,isArraylike详解
- 指定tomcat运行时的JDK版本
- 计算机辅助编程可分为,计算机辅助编程的特点及类型
- 优控触摸屏使用手册_中达优控PLC触摸屏一体机说明书.pdf
- 5G商用牌照发放,“以竞争促落地”,日常5G服务可期
- html的特点有哪些,HTML特点以及HTML中有哪些标签
- 交换机到底有什么用?
- Linux----putty下载安装教程
热门文章
- 银联最新公布 又有几家的app都被拉黑了
- Python——矩阵求逆、矩阵的转置
- 现代信息系统的企业驱动力
- 数据库备份数据:全量备份、增量备份
- 不插电的计算机科学什么意思,请用“不插电的计算机科学”的思想方法,将二进制数(01110100)2快速.._简答题试题答案...
- NCX数据库导入导出
- 深度学习基础:深入理解Squeeze-and-Excitation (SE)网络
- 大疆坐标系和高德地图坐标系之间转换的问题
- cs1.6 linux,在Ubuntu 8.04下玩CS1.6
- play framework 提示:VerifyError错误