梦寻百千度,回首阑珊处

ReionChan

偶然间看到Shimon Schocken在TED的一期演讲,介绍其为学生开发了一套逐步构建现代计算机的课程,该课程让大家了解现代计算机如何从基本门电路开始慢慢被构建。

【缘起】

一直想了解现代计算机是如何构建起来的,偶然间看到Shimon SchockenTED的一期演讲,介绍其为学生开发了一套逐步构建现代计算机的课程,该课程让大家了解现代计算机如何从基本门电路开始慢慢被构建。

【体会】

正如本书作者所言,此书强调实践,一味的端着书看是很难对书中的知识点有实际的体会,况且本书前十二章,每个章节都是以最终实现一个项目为核心进行铺排:首先描述项目的背景知识,其次给出项目的实现规范,最后要求运用背景知识、遵照规范编码实现。各个小节可谓环环相扣、相辅相成。 其次,经过作者巧妙抽象分层,各章的项目之间又能做到很好的独立性,无论采用自顶向下,或是自下往上的...

显示全文

偶然间看到Shimon Schocken在TED的一期演讲,介绍其为学生开发了一套逐步构建现代计算机的课程,该课程让大家了解现代计算机如何从基本门电路开始慢慢被构建。

【缘起】

一直想了解现代计算机是如何构建起来的,偶然间看到Shimon SchockenTED的一期演讲,介绍其为学生开发了一套逐步构建现代计算机的课程,该课程让大家了解现代计算机如何从基本门电路开始慢慢被构建。

【体会】

正如本书作者所言,此书强调实践,一味的端着书看是很难对书中的知识点有实际的体会,况且本书前十二章,每个章节都是以最终实现一个项目为核心进行铺排:首先描述项目的背景知识,其次给出项目的实现规范,最后要求运用背景知识、遵照规范编码实现。各个小节可谓环环相扣、相辅相成。 其次,经过作者巧妙抽象分层,各章的项目之间又能做到很好的独立性,无论采用自顶向下,或是自下往上的实现策略来完成项目,都能达到一样的效果。当完成所有项目后,得到一台仿真的计算机软硬件时,那种成就感妙不可言。

【结构】

全书以项目为单元,逐一完成这些项目,即可构造出一个16位的仿真Hack计算机硬件,在此仿真硬件之上,开发出汇编编译器、堆栈式虚拟机,针对虚拟机设计出高级编程语言Jack,同时开发出相应的Jack语言编译器。

典型的硬件体系 (第一章 ~ 第五章)

  • 布尔逻辑 Project 01
  • 布尔算术 Project 02
  • 时序逻辑 Project 03
  • 机器语言 Project 04
  • 计算机体系结构 Project 05

典型的软件体系 (第六章 ~ 第十二章)

  • 汇编编译器 Project 06
  • 虚拟机 Project 07Project 08
  • Jack高级语言及程序样例 Project 09
  • 编译器 Project 10Project 11
  • 操作系统 Project 12

【勘误】

  • 4.2.3节 Page-67 图4.3中,表格右边的标题应为(当a=1)comp助记符
  • 4.2.5节 Page-70 第二段关于屏幕描述中,像素映射位置应为 RAM[16384+r·32+c/16]
  • 8.2.2节 Page-160 function f n 原文对n的解释位该函数有n个参数,应改为该函数有n个本地变量
  • 11.3.4节 Page-240 writeFunction中参数nArgs(int) 应改为 nLocals(int)

【资源】

《计算机系统要素-从零开始构建现代计算机》一文章中,笔者一站式的整合了此书相关的课程资源、环境配置及项目源代码说明,当然此项目源代码代码是笔者基于Java的一种实现。

此书作者鼓励大家按照自己的思路去实现,毕竟当你用自己实现的Jack编译器编译并运行自己写的酷酷的Jack程序时,也能感受到“一个工匠的骄傲与喜悦”呢!😀😎

滚球程序 @ReionChan

0
0

查看更多豆瓣高分好书

回应(0)

添加回应

计算机系统要素的更多书评

推荐计算机系统要素的豆列

了解更多图书信息

值得一读

    豆瓣
    我们的精神角落
    免费下载 iOS / Android 版客户端
    App 内打开