欢迎辞(前言)
计算机组成原理的实验平台是系统能力测试平台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都挂了 😦 )