BUAA_CO_LAB 计组预习阶段


欢迎辞(前言)

计算机组成原理的实验平台是系统能力测试平台https://cscore.buaa.edu.cn/(校内访问)

计组实验课程将分为两个阶段:预习阶段,从暑假中旬(8月初)开始;上机阶段,从第 5 周开始。

  • 预习阶段,我们需要在教程网站学习这些内容,并完成相应的题目:
    • 基本知识与趣味小测
    • 数制
    • Logisim
    • Verilog 与 ISE
    • MIPS 汇编与 MARS
  • 从第 5 周开始的上机阶段,我们将依次完成 9 个 Project。这些 Project 的详细说明和指导,将在课程期间陆续开放。
    • P0 —— 部件级实验、有限状态机(Logisim)
    • P1 —— 部件级实验、有限状态机(Verilog)
    • P2 —— 汇编语言 (MIPS / MARS)
    • P3 —— 单周期 CPU(Logisim)
    • P4 —— 单周期 CPU(Verilog)
    • P5 —— 流水线 CPU(Verilog)
    • P6 —— 流水线 CPU+ (Verilog)
    • P7 —— MIPS 微系统 —— 中断支持 (Verilog)
    • P8 —— MIPS 微系统 —— 系统验证 (Verilog

-PS:本人只做到了P7(21级有P8), 自感实力不足, 希望大家多批评指正!

Pre概述

  • 从2022年8月,也就是暑假中期,我正式开始了暑假的预习,当时主要是学习logisim,ise + verilog,mips + mars等计组实验课必备工具。由于学习方法不当,加之基础不足,我在教程学习上卡了很长时间。现在看来,当时主要存在的问题有三个:
    • 对实验课程重视不够,时间投入不足,不够专注,有畏惧心理;
    • 不会有效利用身边的资源,如co教程网站,MIPS指令集文档,MARS、logisim及Verilog教程,学长博客等;
    • 学习方法不正确,对每个部分浅尝辄止,没有深入研究;
  • 一定要加快学习进度,多练习。在练习中一定要把概念吃透,避免影响后面的上机。

主要知识点

  • logisim: 常见元器件的使用, moore型和mealy型状态机的搭建;
  • verilog/ise: Verilog基本语法,moore型和mealy型状态机的建模,查看波形
  • MARS/MISP: 汇编的32个寄存器的作用,MIPS的顺序、分支、循环结构

重难点

  • logisim: moore型和mealy型状态机之间的区别
  • verilog/ise: 仍然moore型和mealy型状态机的区别(特别是上升沿和下降沿行为的不同),还有 $$signed $ 语句(Verilog默认无符号)
  • MARS:函数递归,命令行操作,导出指令

读取字符串比较坑,比如:

.data
arr: .space 16
.text
li $v0, 8
la $a0, arr
li $a1, 5
syscall
li $v0, 4
syscall

li $v0, 12
syscall
move $a0, $v0 
li $v0, 1
syscall

一次性读入字符串和逐个读字符两个方法都要掌握,还要熟悉它们的区别,不然很容易在慌乱中上机失败
但是看文档就好,一定要熟悉文档

注意事项

这个时期越快越好,尽量一口气做到P3,这样就出新手村了,避免在这之前就让自己心态崩溃!(笔者P1、P3都挂了 😦 )


Author: Yixiang Zhang
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Yixiang Zhang !
评论
  TOC