2023山东大学计算机组成原理课程设计整机实验,完成了所有的拓展,分数为A。
实验报告找不到了,但是整机文件和微指令还在电脑里。
最痛苦的课设。(还有最痛苦的实验是计算机组成原理实验)
每年的要求有所不同,但是基础部分应该是一样的。附上2023年的要求:
基本要求(总体结构层面)
1、程序运行结束,自动停机;
2、MDR:一端接内存数据线,另一端接内部数据线,实现CPU与内存数据的隔离;
3、采用具备超前进位能力的ALU电路,其两个输入端均可接受不少于两路的数据来源;
4、在模型机总体结构中,必须将4个通用寄存器组织成寄存器组的形式。 说明:可在上图基本架构的基础上,做出相应的结构层面的扩展,以实现模型机的基本功能和扩展功能。
实现用户程序,根据指令集编程完成
(A1)加(A2)→A3, 其中A1、A2、A3为内存地址(注:数据以补码形式表示)。
LD Ri , A1 A1为主存某单元地址
LD Rj , A2 A2为主存某单元地址
ADD Ri , Rj Ri为目的寄存器编号,即:(Ri) +(Rj) → Ri
ST Ri , A3 A3为主存某单元地址
HALT 停机指令
扩展要求(一级扩展)
在此基础上,完成必要的扩展(评优参考)利用变址寻址方式完成对数组的访问;从以下三个选项中任选一项完成:
1)利用数组实现5个数据的累加,求取累加和;
2)利用数组实现在5个数据中查找特定的数据;
3)实现如下指令: SUB @Ri,X,D(目的地址为寄存器间接寻址方式,源地址部分:X为变址寄存器XR,D为形式地址,指令字长16位)其他有效扩展:指令功能的完善(如支持多种寻址方式)
*这里我选择的为3
扩展要求(二级扩展)
添加必要器件和指令完成: 1、若实现5个数据的累加,进一步求出5个数据的平均值(要求:利用原码加减交替除法实现);
2、若实现在5个数据中查找特定数据,则要求实现两分支的跳转:
1)找到特定数据,将FFH存入指定内存单元,并返回该数组元素的序号;
2)若未找到特定数据,则将00H存入指定内存单元;
3、若实现指定的指令SUB @Ri,X,D ,在保存运算结果的同时,要保存结果的状态标志位(C、V、N、Z)。
*这里我选的是3
注:拓展二的实现当时只针对课设测试要求的减法进行了实现,但其实应该加减法都要有,但是后面每年的扩展要求应该不一样,所以也没必要改了。
2024/5/11更新
之前的整机链接炸了,再放个新的
链接:https://pan.baidu.com/s/1JaCU9ly2TI7IYtqizoeLtA
提取码:nldg