跳转至

开始之前

By: howardlau1999

在开始艰苦的实验旅途之前,请先在山脚小憩一下,仰望你即将攀登的高峰吧。或许你已经从那些已经“长征”回来的前辈口中得知,计算机组成原理是一门非常难、很花时间的一门专业课,而配套的计组实验课更是地狱般的存在。不幸的是,他们的经验之谈是对的,而且,作为改革的冲锋兵,你们将要面对前辈们不曾接触过的更深奥的实验内容,其中的挑战可想而知。

计算机是一门极其注重实践的专业。“纸上得来终觉浅,绝知此事要躬行”,对于计算机专业的同学更是如此。在这门计组实验课里,你将会把课本上抽象的流水线、缓存等概念,亲手变为你手里的一台迷你计算机。将理论付诸实践,在实践中升华理论。

本实验从 2022 年开始,将一改之前的 MIPS 实验,采用更先进的开源 ISA——RISC-V。同时,比起直接编写晦涩难懂的 Verilog 代码,你将使用对计算机专业更友好,上手难度也更低的 Chisel 硬件描述语言。中科院计算所的开源 RISC-V 处理器——香山处理器同样使用了 Chisel 硬件描述语言。还有一个好消息是,你将不再需要从零开始搭建 CPU,而是可以站在巨人的肩膀上,基于已有的代码框架开展实验。你将会有更多的时间来进一步探索计算机组成原理。你可以从深度上挖掘——例如将我们的三级流水线改为更长的流水线,甚至支持多发射以及乱序执行。你也可以从广度上挖掘,尝试实现更多的指令集,例如乘除法协处理器,或者给 YatCPU 添加不同的功能,比如多级缓存或者虚拟内存。

抽象思维与系统思维将贯穿计算机专业课的学习过程,而这两种思维培养的起点正是数据结构与算法和计算机组成原理。如果说数据结构与算法是计算机的灵魂,那计算机组成原理就是计算机的肉体。计组不仅是计算机专业的核心课程之一,也是计算机科班与非科班之间少有的区别。而且,计组并不是一门孤立的课程,后续的操作系统和计算机网络等核心专业课,也将与计组有着千丝万缕的联系。可以说,你对计算机组成原理的理解将很大程度上影响你编程实现的水平,也是衡量你的计算机水平的一个重要标准。更为重要的是,希望你能通过计算机组成原理的学习,建立起对计算机系统的大局观,感受计算机不同组件的共性与特点,而不是迷失在茫茫的细节与实现之中。

尽管接下来的旅途将是漫长且艰苦的,请你相信“世之奇伟、瑰怪、非常之观,常在险远”,经过一番螺旋式上升的学习,你会对你每天使用的计算机,甚至手机和平板,有一番不同的认识。如果在路途中遇到了险阻,请不要忘记你的身边还有同伴和老师,他们将一同陪伴你克服困难,走完这段荆棘之路;也不要忘记在力所能及的时候,伸出你的援手。

现在,开始准备你的实验环境,我们整装待发!


最后更新: 2021-12-25 17:54:48
本页作者: Howard Lau, wu-kan