# P7:MIPS 微系统设计 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P7 课下搭建的思路,以及课上测试的题目内容、难度和解题思路 P7 课上测试的主要内容是对课下用 Verilog 搭建的 MIPS 微系统进行强测,同时添加一条新指令 题目每年都会发生变化,题意描述可能与原题有一定差异 本文的目的在于解释一下本就说的不是很明白的教程,然后谈一谈我的理解,并不一定完全正确,最终还是应当以教程、高老板 PPT 和《See MIPS Run Linux》为准 ::: 结束了,不用每周都去课上考试了!::: # 课下设计概述 要求实现的指令集为 MIPS-C4 ,即...

# P6:较完善的流水线 CPU 设计 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P6 课下搭建的思路,以及课上测试的题目内容、难度和解题思路 P6 课上测试的主要内容是对课下用 Verilog 搭建的流水线 CPU 进行强测,同时添加一些新指令 题目每年都会发生变化,题意描述可能与原题有一定差异 # 课下部分 P5 已经完成了流水线的大部分框架性工作了,P6 要做的主要就是三件事:按照教程要求改造 DM,添加乘除槽以及添加大量指令 要求实现的指令集为 MIPS-C3 ,即 LB、LBU、LH、LHU、LW、SB、SH、SW、ADD、ADDU、...

# P5 课上测试 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P5 课上测试的题目内容、难度和解题思路 P5 课上测试的主要内容是对课下用 Verilog 搭建的流水线 CPU 进行强测,同时添加一些新指令 题目每年都会发生变化,题意描述可能与原题有一定差异 P5 过了两次啊... 总结点经验教训吧 # 写在前面 # 关于 Mars Mars 只是一个模拟器! Mars 不是编译器,它不会自动改变你的汇编代码,给它加上延迟槽!!!如果你想要处理延迟槽,请自行加入无关指令或者 nop 同理,自己搭建的 CPU 会保持与 Mars 一样的行为,即执行 b/j...

# P5 课下项目:流水线 CPU 设计(1) 阅读本文或许可以给您完成 P5 课下任务提供些许帮助,但是绝对不能让你完全搭出 P5 这篇文章只是讲了我个人对于流水线的一些理解,剩下的可以参考其他大佬的代码学习 如果我也能发 D-Mail 的话,我要告诉一周前的自己 bonall 指令是无条件链接,然后世界线就会切换到我上周就过了 P5 的β\betaβ 世界线了 # 总体设计概述 要求实现的指令集为 MIPS-lite2 ,即 addu,subu,ori,lw,sw,beq, jal,jr,lui,nop 整体结构如下图所示 # 命名规范 由于到了 P5...

# P4 课上测试 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P4 课上测试的题目内容、难度和解题思路 P4 课上测试的主要内容是对课下用 Verilog 搭建的单周期 CPU 进行强测,同时添加一些新指令 题目每年都会发生变化,题意描述可能与原题有一定差异 想要完成 P4 课上,请务必保证熟悉单周期 CPU 的数据通路,同时课下一定要尝试自行添加一些指令,另外写设计文档时把 P3 时 Logisim 搭的 CPU 的图截一份放上去,这样添加指令的时候会非常清楚需要改变什么数据通路 课下强烈建议添加 lb 和 sb ,此外可以试一试 bltzal...

# P4 课下项目:单周期 CPU 设计 - Verilog 实现 本文仅仅是 P4 课下 CPU 设计实验报告添加了部分内容 通过阅读或许可以给您完成 P4 课下任务提供些许帮助 课下要求可能会发生变化,下面的电路仅供参考,未必完全正确 # 总体设计概述 要求实现的指令集包括 addu,subu,ori,lw,sw,beq, jal,jr,lui,nop 利用 Verilog 来实现时,参考了 P3 的 Logisim 电路设计,也做了一些改变 整体架构与高小鹏老师课件中的图类似 文件的树形结构层次如下 #...

# P3 课下项目:单周期 CPU 设计 - Logisim 实现 本文仅仅是 P3 课下 CPU 设计实验报告添加了部分内容 通过阅读或许可以给您完成 P3 课下任务提供些许帮助 课下要求可能会发生变化,下面的电路仅供参考,未必完全正确 UPD:2021/11/7 # CPU 设计方案综述 # 总体设计概述 要求实现的指令集包括 addu, subu, ori, lw, sw, beq, lui, nop 整体架构图如下: 参考了课件中整体架构: # 关键模块定义 # GRF(寄存器堆) 端口说明 信号名称 方向 功能描述 A1[4:0] 输入 5...

# P3 课上测试游记 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P3 课上测试的题目内容、难度和解题思路 P3 课上测试的主要内容是对课下用 Logisim 搭建单周期 CPU 进行强测,同时添加一些新指令 题目每年都会发生变化,题意描述大致清晰,但是可能与原题有一定差异 想要完成 P3 课上,请务必保证熟悉单周期 CPU 的数据通路,同时课下一定要尝试自行添加一些指令,比如 jal 和 jr 以及 lb 和 sb # T1 添加 bezal 指令 指令的意思是 branch if equal to zero and...

# P2 课上测试游记 通过阅读本文,您可以大致了解 2021 年秋季北航计算机组成课程 P2 课上测试的题目内容、难度和解题思路 P2 课上测试的主要内容是利用 MIPS 汇编语言翻译 C 语言程序 题目每年都会发生变化,题意描述大致清晰,但是可能与原题有一定差异 P2 课上测试非常简单,想要通过与 C 语言基础没有任何联系,只需要掌握翻译 C 语言代码的技巧,手速再快一点,1.5h 之内 AK 还是挺容易的 而且本次考试时间是 2.5h... 难度虚高了 # T1 删数问题 题目已经给出了 C 语言代码,否则应该还是一道挺有思考难度的题目 给出一个nnn 位数SSS,要从中删去NNN...

# P2 课下学习 UPD:2021/11/1、 几天之前就已经把 P2 课下给做完了,但是鸽了好长时间才写的总结,答辩加作业太忙了... # Mars 的使用技巧 上来记得调字体,调成 Console 或者 Couriers New 才好看 记得改一下 Tab 的格数,调成 4 个空格合适 Mars 运行的时候貌似不能复制粘贴,可以采用 cmd + 输入重定向的方式来做 java -jar mars.jar mc CompactDataAtZero nc <文件名>.asm < in.txt就把 in.txt...