《计算机系统要素-从零开始构建现代计算机》是一本好书,这阵子花业余时间学习,并跟着做了章节后面的项目,收获很大。已经完成了前面9章的项目内容,目前正在进行第10章,编译器的编写。

前面9章的项目,以Nand门为基础,先后构建了各种逻辑门,组合芯片(半加器、全加器、加法器、加一器、ALU),时序芯片(寄存器、存储器、计数器),以及CPU和一个简单的,有屏幕和键盘的计算机Hack。并实现了Hack(此计算机体系结构所对应的的汇编语言)汇编编译器、Jack(基于此计算机的一个类Java虚拟机语言)堆栈虚拟机。

第10章和11章是Jack语言编译器的项目,12章还有关于操作系统的实现。

对于有志于了解整个计算机体系结构和软硬件架构,以及计算机技术的来龙去脉的朋友,强烈建议也学习一下,能 够理清很多之前不明白,是是而非的内容。

下面是我把项目的代码放在了github上,供参考,大家一起探讨进步!

https://github.com/ytzys/nand2tetris

计算机系统要素-从零开始构建现代计算机 项目代码相关推荐

  1. 计算机系统要素-从零开始构建现代计算机--第一章,01-用与非门实现与戓非

    第一章,01-用与非门实现与戓非 简介 实现的逻辑门 Nand原理 Nand真值表 符号约定 用Nand实现And 真值表 转换为Nand表示 电路连接 用Nand实现Or 真值表 转换为Nand表示 ...

  2. 计算机系统要素-从零开始构建现代计算机-答案

    答案 github 地址 这本书主要讲解了计算机原理(1-5章).编译原理(6-11章).操作系统相关知识(12章).不要看内容这么多,其实这本书的内容非常通俗易懂,翻译也很给力.每一章背后都有对应的 ...

  3. 计算机系统要素高清pdf,计算机系统要素:从零开始构建现代计算机[PDF][43.21MB]...

    内容简介 本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整.严格的计算机应用科学大图景.本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统. 通过12 ...

  4. React Native三端同构(二: webpack@4脚手架构建和项目代码规范)

    (一)前言 一个完整的web开发手脚架,应该包含以下 babel-loader 图片 音视频 字体 样式处理等loader 开发环境配置 生产环境配置,流程化前端多生产构建 生产环境打包优化, 如构建 ...

  5. 从零开始构建一个的asp.net Core 项目(一)

    最近突发奇想,想从零开始构建一个Core的MVC项目,于是开始了构建过程. 首先我们添加一个空的CORE下的MVC项目,创建完成之后我们运行一下(Ctrl +F5).我们会在页面上看到"He ...

  6. 计算机系统要素--第六章,01-HACK汇编编译器模块介绍

    从零开始构建现代计算机--第六章,01-HACK汇编编译器模块介绍 语法分析器(Parser) 编码(Code) 无符号程序的汇编编译器 符号表(Symbol Table) 有符号程序的汇编编译器 H ...

  7. 计算机系统要素--第六章,02-HACK汇编编译器实现

    从零开始构建现代计算机--第六章,02-HACK汇编编译器实现 要点 A-指令 C-指令 符号表 python实现 要点 关心三点: A指令,C指令,符号表 A-指令 A指令:将@num的num转为1 ...

  8. 韦东山 Linux开发板,从零开始构建bootloader(基于韦东山JZ2440V3开发板)

    从零开始构建bootloader 项目步骤: 第一阶段: ​ 1.关看门狗: ​ 2.时钟初始化: ​ 3.内存初始化: ​ 4.NandFlash初始化: ​ 5.代码重定位(将flash中的代码复 ...

  9. 计算机系统要素 - 布尔逻辑/布尔运算构建ALU

    1. 布尔门 布尔门是对布尔函数的物理实现,简单的布尔门相互连接可以实现复杂芯片的功能 1.1 布尔代数/布尔函数 布尔代数处理布尔型(二进制型)数值 布尔函数是指输入输出数值均为布尔型数值的函数 计 ...

最新文章

  1. Redis总结(四)Redis 的持久化
  2. 头回遇见网上找不到的问题,“缺少实例ID,实例ID是必需的”
  3. python 循环技巧
  4. linux下 如何用信号signal 终止或者暂停子线程,linux下实现线程暂停
  5. NYOJ 214 最长上升子序列nlogn
  6. 【英语学习】【加州教材】【G5】【科学】Science目录及术语表
  7. oracle 导出身份证号_Oracle如何实现按身份证号得到省市、性别、年龄
  8. c语言头文件malloc,头文件malloc.h:函数 mallopt()的选项
  9. Raytrace学习的阶段性总结
  10. 银行新一代信息系统项目集群管理实践分享︱秦皇岛银行信息科技部总经理王登峰
  11. 情商高手比智商高手要可怕多了
  12. 一次折腾人的打印机使用问题排查经历
  13. 《庄子·内篇·逍遥游第一》
  14. 单片机蓝桥杯——PWM呼吸灯
  15. K8S污点容忍度调度
  16. 802.11--802.11ac协议
  17. 企业申请E-mark认证要检测些什么?
  18. php开发证书转换工具,各类证件生成器
  19. 【数学建模】CUMCM-2013B 碎纸片的拼接复原 解题思路整理
  20. 【Oracle】B-tree和函数索引

热门文章

  1. 美食菜谱开源管理系统_与开源食谱管理器一起组织烹饪
  2. httppost 多参数封装用法
  3. matlab模拟方孔衍射,基于MATLAB衍射的矩形孔实验模拟
  4. Android仿微信照片浏览器
  5. mulesoft Module 13 quiz 解析
  6. 盘点2018上半年直播、短视频领域七大内容安全监管
  7. Vulnhub---potato
  8. 牛客 Cutting Bamboos (主席树)
  9. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法
  10. 云南省2021年高考成绩查询时间,2021年云南高考成绩查询时间安排 什么时候出分...