Bits, however, and computing systems at large, entail a consoling exception: in spite of their fantastic complexity, one can completely understand how modern computers work, and how they are built.
如名字一样,课程由与非门开始,搭建出一套可以玩俄罗斯方块的电脑。
课程高度专注于计算机体系结构中的核心概念,设计时只求实现功能,将优化、错误处理等内容留给更细分的专业领域。
课程分为上下两半,各6章。每章专注于计算机系统中的一个层次进行设计,下一层在前一层的基础上展开。
课程围绕作者自己写的教材进行设计(The Elements of Computing Systems)。
21年刚刚再版了一次,原文语言简明易懂,国内也引入了中文翻译版本。
作者还做了一套教学视频在Coursera上。不过自己还是更喜欢读教材+做作业的方式。
课程内容完全自封闭,仅下半部分要求掌握一门高级语言作为前置知识,推荐零基础的朋友试试CS50x。
配套内容十分完善,包括专门设计的硬件描述语言、测试脚本语言、算术逻辑单元、汇编语言、高级语言和操作系统,还有一整套仿真程序。
仿真程序2024年更新了网页端IDE,设计精美,免去了下载仿真程序的步骤。
课程所有相关内容均开源。赞美作者,赞美互联网精神。
由逻辑门向上构建出数字电路模块,进而构建RAM, ROM, CPU,组合为一台通用计算机(称为HACK),并在上面运行汇编语言。
课程对硬件的许多电气特性做了理想化处理,但设计的核心思想仍具普遍意义。
在学习时,结合电路知识,对硬件的物理特性进行了总结分析,使课程内容更具现实意义。
在HACK上进行软件开发,设计高级语言,虚拟机和操作系统,最终设计并运行俄罗斯方块这样的图形游戏。