- 北航2021届计算机组成原理课程P0-P7课程源码,仅供学习参考,否则后果自负(计组的查重非常严格)
- 前六周的内容,熟悉一下
logisim、verilog、Mars
的基本操作,对这门课程有一个初步的认识,是很重要的(老师每年都这么说) - 就我学习的情况来说吧,前六周还是要好好学的,但是千万不要为了完成而去盲目地刷进度,还是学懂最重要,尤其是状态机(
FSM
)之类的 - 还有就是给大家排个雷,
ISE
目前好像不兼容win11
,所以win11
用户尽早做好返回win10
或使用课程虚拟机的准备,否则你真的会被ISE
的各种问题给整崩溃了(跟win10
也有兼容问题,但教程中或网上一般会有解决方案)
- 搭建
CRC
校验码计算电路,ALU
,GRF
,正则表达式匹配,FSM
设计 - 内容还算简单,毕竟是一开始,但一定要重点理解
Moore
型和Mealy
型状态机的区别,以及异步复位跟同步复位
- 实现
splitter,ALU,EXT
,格雷码计数器,合法表达式识别,FSM
设计 - 大致内容与
P0
差不多,不过就是用Verilog
实现了,这里需要注意一下verilog
不同的语句块之间是并行的,所以无需管顺序之类的问题 - 还有就是
for
循环,for
循环语句块一定要放在always@ * begin ... end
这里,不然P1
你会死的很惨
- 矩阵乘法、排序、回文串判断、汇编程序的编写
- 这里需要注意的就是递归程序的编写以及一些写
mips
代码的约定 - 尽量形成一个好的代码规范
- 用好
.macro,即宏定义
,可以用得非常花里胡哨 - 还有就是高老板的
mips精简指令集
里的指令或许有些少,有一些非常好用的伪指令都没有给出,比如大于等于跳转、小于等于跳转等等,多看看Mars
的帮助文档
Logisim
开发单周期CPU