这是 CajZella 的学期末的 CO上机回忆录~

​ 计算机组成原理课程分为理论课和实验课部分。理论课以MIPS系统为主要学习对象,讲述计算机硬件系统的组成、各部件的结构及其底层硬件的工作原理。实验课要求自主开发一台以MIPS处理器为核心的功能型计算机。

​ 看到此,读者不必担忧。实验课是比较循序渐进的。在大二上学期开学前的两周左右,课程组会开放实验教程VPN登录方式)以供同学预习。在这期间,读者可以熟悉 Logisim , Verilog, MIPS 的环境及编写,完成实验教程对应的例题。当然如果暑假没有预习也不必担心,笔者同样在暑假没有学习相关内容,只是配置了Logisim , ISE , Mars等软件,在开学后会有四周预习时间(2021级),内容即为暑假开放的Pre。在第五周会迎来第一次上机 Pre , 时长为 2.5h2.5h , Logisim , Verilog, MIPS 各一题,印象中对笔者来说比较难,当时未通过,不过本次上机不通过不会gap一周。接下来会是几乎每周各一次的上机:

  • P0 , P1 , P2 分别为 Logisim , Verilog, MIPS , 题型和 Pre 差不多;
  • P3 , P4 分别是 LogisimVerilog 开发MIPS单周期处理器(P3 开始进入正题);
  • P5Verilog 开发单周期流水线CPU (P5 开始不会涉及 Logisim);
  • P6P5 的基础上,扩展了乘除指令,需要模拟乘除模块的执行
  • p7P6 的基础上,实现一个简单的计算机系统——MIPS微系统,需要处理内部溢出和外部中断与外设交互
  • P8 要求在FPAG上实现系统验证,需要替换不可综合的部分,添加 GPIO , DigitalTube , UART 外设,编写软件实现一些功能。

​ 笔者认为CO实验是在涅槃中浴火重生的一场考验,作为进入计算机专业后的第一门专业课,注定是不平凡的。如果缺乏相应知识,仅仅阅读实验教程是难以顺利完成上机的,笔者认为还可借助以下资源:

  • 理论课的PPT和《数字设计和计算机体系结构》等教科书,对 P3 开始的CPU搭建会有一定帮助。
  • 学长学姐们的博客和 github repo,会有历届学长学姐们的学习体会、测试数据、注意事项和课上回忆(注意每年题目可能会有变化)。
  • 请教助教,助教们都非常亲切耐心,遇到问题百思不得其解的时候不要犹豫(^U^)ノ~YO
  • 同学间的帮助,尤其是P5开始的流水线CPU,需要自己构造测试数据debug,可能遇到一些隐蔽性极好的bug,集思广益或许可以加快进度 O(∩_∩)O 。祝读者课上不会遇到课下的bug哇~

​ “于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。” 这是一门由千千万万BUAA学子实践过的课程,其价值不断被凝练,祝你从中有所收获,更深入理解计算机组成原理。

​ 21级老学姐就在此祝大家一路通关啦ヾ(✿゚▽゚)ノ