通过游戏学习计算机架构 - embeddedartistry


学习和元学习一直是我一生的热情。我发现思考我们如何学习、提高我自己的学习能力以及重新思考我们在社会中尝试教学的方式是无穷无尽的迷人之处。我一直在思考的一个烦人的话题是 接下来 要学习什么,尤其是当我们知道当前的系统无效或低效时。
我最近通过Embedded.fm Slack Group了解到一个游戏,我认为它展示了改进学习的潜在未来。图灵完备涉及从头开始构建功能性计算机系统:使用与非门构建额外的逻辑门,然后使用这些门来制作诸如 SR 锁存器、寄存器、1 位加法器、字节加法器、多路复用器、多路复用器等组件向前。最终你会发现你已经创建了一个 CPU 架构和汇编语言,然后你使用该汇编语言来实现像冒泡排序这样的 CS 概念以及像河内塔这样的游戏。
玩图灵完备让我想起了我的大学经历;我按照游戏遵循的相同路线学习了三门课程。一门课程涉及在 VLSI 工具中构建 ALU,从单个门开始,一直到完整的 ALU。另一门课程涉及使用 VHDL 构建 8 位处理器,其中包括创建基本指令集。第三个涉及使用 MIPS 汇编来实现算法、解决难题和创建可玩游戏。
想一想:三门课程,代表 一整年的学习时间。即使在今天,这三门课程仍然是我最喜欢的课程,我从它们中学到的东西比从其他工程课程中学到的还多。但是当我玩这个游戏时,我会想到游戏的体验是多么优越。
一个是学习效率:在几个小时的游戏时间里,我浓缩并覆盖了与大学时需要数周才能覆盖的相同数量的土地。
另一个突出的方面是我在游戏中的想法比我在大学里做的更多:我从来没有真正 跑过 我的 ALU。
我刚刚建立了逻辑,通过了设计规则检查,并对电气特性、门数和使用面积进行了评估。
我也没有在学校端到端地完成整个过程——每一次经历都是不同的,并且与其他经历是分开的。
但在游戏中,你需要构建 ALU,然后构建完整的处理器,然后创建自己的指令集,并使用该指令集编写程序。
我很遗憾我没有在大学课程中获得这种全面的端到端体验(banq:电子专业是基础),因为基础显然就在那里。
 
该游戏应该是一款益智游戏,因此您将面临自己解决问题的挑战。虽然您可以在前几个谜题中捏造自己的方式,但游戏确实希望您了解布尔代数德摩根定律。您将达到需要从真值表推导出方程并简化逻辑的地步——我当然不得不为此拿出笔和纸。如果你想要一本随附的教科书,像NAND2Tetris这样的东西会是一个很好的搭配。
游戏是抢先体验,所以它仍在改进中,但我认为它是

  • a) 对任何电脑书呆子来说都是一种有趣的学习体验
  • b) 我们如何重新思考我们如何以更有趣的方式进行学习和教学的例子,强大而有效的方法。

除了直接下载到您的大脑中,没有比完成构建计算机、解决您遇到的问题以及查看您的计算机运行您编写的程序的过程更好的方式来了解计算机体系结构。

banq注:我大学有幸花了一年时间做了一个图灵完备的单片机控制系统。这对于我了解计算机体系结构比任何学习都非常重要。