不知道有多少人像我一样,在看了Shimon Schocken的那个TED演讲之后对这门网络课程产生了兴趣;也不知道有多少人像我一样,坚持做完了整本书的项目。在断断续续3个月的学习过程中,我对计算机有了更加深入的认识,同时,超过1500行的代码和一个个实打实的project给了我前所未有的成就感——想象一下在这么一台每一个nand门都是由你自己搭建的计算机上顺利运行弹球游戏的场景吧!那是多么令人激动!
事实上,这本书是nand2tetris这门网络课程的配套教材,该课程其他所有资料都需要到官方网站上下载。这门课程曾经是哈佛大学计算机系的一门公共课,由于其内容实在是太强大,被众学生戏称为CS101。它其中大多数章节都是独立的,从nand2tetris这个名字就可以看出,第一章到第十二章实际上就是让你从最基本的Nand门开始构建计算机,直到让俄罗斯方块在你的计算机上顺利运行。
不可否认,这本书对于很多内容都没有深入讨论,有些关键性问题干脆直接封装起来了,但是这并不影响本书的含金量。作者的出发点是希望读者能够对计算机架构有一个整体了解,而不是纠结于细节。同时,这种写作思路也使得该课程几乎没有学习门槛,只需要会一门基本的编程语言便可以开始学习,所有人都可以完成这门课程。(要知道最小的完成者只有11岁!)作为一个亲历者,我强烈建议,无论你是什么年龄,学什么专业,开始学习这门课程吧!它绝对会给你意想不到的收获!
最后,我将所有关于这门课的资料整理了一下,其中包括了我自己写的讲解文章和代码,希望能够帮助到同样对这门课程感兴趣的人。
该网络课程的官方网站(包含全套资料)
http://www.nand2tetris.org/
官方读者问答论坛(管理员回复速度很快)
http://questions-and-answers-forum.32033.n3.nabble.com/
TED《Shimon Schocken:自组织式计算机课程》:
http://www.tudou.com/albumplay/s_GUUrXO1UQ/C483z4Z_APQ.html
讲解文章(附代码):
http://blog.csdn.net/thomas_in_june/article/category/2506421
放在Github上的代码:
Chapter 1~4
https://github.com/cmoylan/Elements-of-Computing-Systems
Chapter 5~12
https://github.com/ThomasCJY/The_Elements_of_Computing_Systems
该书作者并不鼓励我们看答案学习,他希望我们能够自己思考解决问题,我也建议大家不要依赖于答案,因为思考的过程的确能够给你带来很多帮助。但是,在写代码的过程中,一些很傻瓜的问题往往又会把你折磨的死去活来,我在做的时候就常想,要是有个答案能参考,我能节约50个小时。所以,给出答案只是为了帮助大家不在不必要的环节上浪费时间。最后,希望所有人都能在学习过程中收获快乐!
--------------------------------------------------------------------------------------
2015/3/18更新
读完这本书,对系统有兴趣的同学可以马上去看《Computer Systems: A Programmer's Perspective》这本书,配合coursera上的《计算机软硬件接口》课程,和CSAPP官网的lab实验,可以迅速提升你对于计算机系统的认识。
当之无愧的哈佛CS101
对“当之无愧的哈佛CS101”的回应
《计算机系统要素》热门书评
-
当之无愧的哈佛CS101
50有用 0无用 Kayuk 2014-09-30
不知道有多少人像我一样,在看了Shimon Schocken的那个TED演讲之后对这门网络课程产生了兴趣;也不知道有多少人像我一样,坚持做完了整本书的项目。在断断续续3个月的学习过程中,我对计算机有了更加深入的认识,同时,超过1500行的代码和一个个实打实的project给了我前所未有的成就感——想...
-
一个能DIY的CPU逻辑设计
30有用 4无用 陈硕 2009-04-25
读这本书最大的收获,原来设计一个“从内存中读取指令并执行”的电路并不如想象中那么复杂,用几十个D触发器加一堆逻辑门就能搞出来。当然,要把这么多内容放到一本书里,必然有很多省略之处。数字电路方面,模型比较理想化,要想真的用TTL或FPGA实现Hack还有一些现实的困难要克服,当然不能苛求这本书把数字电...
-
纸上得来终觉浅,绝知此事须躬行
6有用 0无用 平凡的老鱼 2009-10-29
多的就不说了,这本书从头到尾介绍了如何自己实现一台计算机,尽管只是一个小板凳,但是世界就是从这里开始的。如果有兴趣,来吧,我们自己做一个吧。我本人除了最后的类库以外,全部实现了。不论你是对硬件实现有兴趣,还是对软件实现有兴趣,可以加这个群,一个讨论一下,85026976...
-
网上找这边电子书没找到,只找到这个.标记下来
3有用 0无用 NegatLov 2009-10-14
http://blog.csdn.net/chief1985/archive/2008/04/20/2309634.aspx...
-
值得更多的关注和尊敬
1有用 0无用 Alan Duan 2009-03-15
仅作者对于知识内容的组织就已经令人受益良多了。去掉各种华丽和过多的工业级强度带来的细节,更容易让人看到问题的本质。...