计算机组成原理实验报告模板.docx
- 文档编号:30426571
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:23
- 大小:275.56KB
计算机组成原理实验报告模板.docx
《计算机组成原理实验报告模板.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告模板.docx(23页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验报告模板
专业:
计算机科学与技术
班级:
学号:
姓名:
电话:
邮件:
完成日期:
1数据表示实验
实验报告选择两次实验撰写,其中
CPU设计实验报告内容全体都要写(重点)
1-4班另加数据表示实验
5-6班ACM卓越物联网另加运算器实验
7-10班另加存储系统实验
请仔细阅读所有的批注,阅读理解后删除批注
模板各个标题下面的内容仅是举例,作者应依照自己思想重写该部分内容
1.1设计要求
利用logisim平台中现有运算部件构建一个32位运算器,可支持算数加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移,算术右移运算,支持常用程序状态标志(有符号溢出OF、无符号溢出CF,结果相等Equal),运算器功能以及输入输出引脚见下表,在主电路中详细测试自己封装的运算器。
表1.1片引脚与功能描述
引脚
输入/输出
位宽
功能描述
X
输入
32
操作数X
Y
输入
32
操作数Y
ALU_OP
输入
4
运算器功能码,具体功能见下表
Result
输出
32
ALU运算结果
Result2
输出
32
ALU结果第二部分,用于乘法指令结果高位或除法指令的余数位,其他操作为零
OF
输出
1
有符号加减溢出标记,其他操作为零
CF
输出
1
无符号加减溢出标记,其他操作为零
Equal
输出
1
Equal=(x==y)?
1:
0,对所有操作有效
表1.2运算符功能
ALUOP
十进制
运算功能
0000
0
Result=X< 0001 1 Result=X>>>Y算术右移(Y取低五位)Result2=0 0010 2 Result=X>>Y逻辑右移(Y取低五位)Result2=0 0011 3 Result=(X*Y)[31: 0];Result2=(X*Y)[63: 32]有符号 0100 4 Result=X/Y;Result2=X%Y无符号 0101 5 Result=X+YResult2=0(SetOF/CF) 0110 6 Result=X-YResult2=0(SetOF/CF) 0111 7 Result=X&YResult2=0 1000 8 Result=X|YResult2=0 1001 9 Result=X⊕YResult2=0 1010 10 Result=~(X|Y)Result2=0 1011 11 Result=(X 1: 0SignedResult2=0 1100 12 Result=(X 1: 0UnsignedResult2=0 1101 13 Result=Result2=0 1110 14 Result=Result2=0 1111 15 Result=Result2=0 1.2方案设计 1.2.1XXX 所有方案应将设计思路和设计原理、过程写清楚,为什么这样设计,各部件之间的关系,仅仅粘贴一张电路图是不合格的报告。 1.2.2XXX 1.2.3XXX 图1.1总体结构图 1.3实验步骤 (1)XXX (2)XXX (3)XXX 1.4故障与调试 1.4.1接口处数据传输问题 故障现象: 执行halt指令时控制信号无法通过ID/EX接口。 图1.2数据XXX图 原因分析: 如图1.2,寄存器设置为上升沿刷新,但当D端有输入且clk变化一个周期后寄存器中的数据仍然没有改变,检查时注意到此时ALUControl端输入的值为不确定,这是由于在控制器电路中未给halt指令相应的ALUControl值,为设计控制器时的失误。 解决方案: 在控制器中给halt指令(OP为12)一个ALUControl信号0000一边让控制信号在接口处顺利传递。 1.4.2故障2 XXX 1.4.3故障2 XXX 1.5测试与分析 溢出测试用例见表1.3。 表1.3溢出信号测试用例 # A B F 运算 有符号溢出 无符号溢出 1 加 ○ ○ 2 加 ○ ● 3 加 ● ○ 4 加 ● ● 5 减 ○ ○ 6 减 ○ ● 7 减 ● ○ 8 减 ● ● 2运算器实验 请仔细阅读所有的批注,阅读理解后删除批注 模板各个标题下面的内容仅是举例,作者应依照自己思想重写该部分内容 2.1设计要求 利用logisim平台中现有运算部件构建一个32位运算器,可支持算数加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移,算术右移运算,支持常用程序状态标志(有符号溢出OF、无符号溢出CF,结果相等Equal),运算器功能以及输入输出引脚见下表,在主电路中详细测试自己封装的运算器。 表1.1片引脚与功能描述 引脚 输入/输出 位宽 功能描述 X 输入 32 操作数X Y 输入 32 操作数Y ALU_OP 输入 4 运算器功能码,具体功能见下表 Result 输出 32 ALU运算结果 Result2 输出 32 ALU结果第二部分,用于乘法指令结果高位或除法指令的余数位,其他操作为零 OF 输出 1 有符号加减溢出标记,其他操作为零 CF 输出 1 无符号加减溢出标记,其他操作为零 Equal 输出 1 Equal=(x==y)? 1: 0,对所有操作有效 表1.2运算符功能 ALUOP 十进制 运算功能 0000 0 Result=X< 0001 1 Result=X>>>Y算术右移(Y取低五位)Result2=0 0010 2 Result=X>>Y逻辑右移(Y取低五位)Result2=0 0011 3 Result=(X*Y)[31: 0];Result2=(X*Y)[63: 32]有符号 0100 4 Result=X/Y;Result2=X%Y无符号 0101 5 Result=X+YResult2=0(SetOF/CF) 0110 6 Result=X-YResult2=0(SetOF/CF) 0111 7 Result=X&YResult2=0 1000 8 Result=X|YResult2=0 1001 9 Result=X⊕YResult2=0 1010 10 Result=~(X|Y)Result2=0 1011 11 Result=(X 1: 0SignedResult2=0 1100 12 Result=(X 1: 0UnsignedResult2=0 1101 13 Result=Result2=0 1110 14 Result=Result2=0 1111 15 Result=Result2=0 2.2方案设计 2.2.1XXX 所有方案应将设计思路和设计原理、过程写清楚,为什么这样设计,各部件之间的关系,仅仅粘贴一张电路图是不合格的报告。 2.2.2XXX 2.2.3XXX 图1.1总体结构图 2.3实验步骤 (4)XXX (5)XXX (6)XXX 2.4故障与调试 2.4.1接口处数据传输问题 故障现象: 执行halt指令时控制信号无法通过ID/EX接口。 图1.2数据XXX图 原因分析: 如图1.2,寄存器设置为上升沿刷新,但当D端有输入且clk变化一个周期后寄存器中的数据仍然没有改变,检查时注意到此时ALUControl端输入的值为不确定,这是由于在控制器电路中未给halt指令相应的ALUControl值,为设计控制器时的失误。 解决方案: 在控制器中给halt指令(OP为12)一个ALUControl信号0000一边让控制信号在接口处顺利传递。 2.4.2故障2 XXX 2.4.3故障2 XXX 2.5测试与分析 溢出测试用例见表1.3。 表1.3溢出信号测试用例 # A B F 运算 有符号溢出 无符号溢出 1 加 ○ ○ 2 加 ○ ● 3 加 ● ○ 4 加 ● ● 5 减 ○ ○ 6 减 ○ ● 7 减 ● ○ 8 减 ● ● 3存储系统实验 请仔细阅读所有的批注,阅读理解后删除批注 模板各个标题下面的内容仅是举例,作者应依照自己思想重写该部分内容 3.1设计要求 利用logisim平台中现有运算部件构建一个32位运算器,可支持算数加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移,算术右移运算,支持常用程序状态标志(有符号溢出OF、无符号溢出CF,结果相等Equal),运算器功能以及输入输出引脚见下表,在主电路中详细测试自己封装的运算器。 表2.1片引脚与功能描述 引脚 输入/输出 位宽 功能描述 X 输入 32 操作数X Y 输入 32 操作数Y ALU_OP 输入 4 运算器功能码,具体功能见下表 Result 输出 32 ALU运算结果 Result2 输出 32 ALU结果第二部分,用于乘法指令结果高位或除法指令的余数位,其他操作为零 OF 输出 1 有符号加减溢出标记,其他操作为零 CF 输出 1 无符号加减溢出标记,其他操作为零 Equal 输出 1 Equal=(x==y)? 1: 0,对所有操作有效 表2.2运算符功能 ALUOP 十进制 运算功能 0000 0 Result=X< 0001 1 Result=X>>>Y逻辑右移(Y取低五位)Result2=0 0010 2 Result=X>>Y算术右移(Y取低五位)Result2=0 0011 3 Result=(X*Y)[31: 0];Result2=(X*Y)[63: 32]有符号 0100 4 Result=X/Y;Result2=X%Y无符号 0101 5 Result=X+YResult2=0(SetOF/CF) 0110 6 Result=X-YResult2=0(SetOF/CF) 0111 7 Result=X&YResult2=0 1000 8 Result=X|YResult2=0 1001 9 Result=X⊕YResult2=0 1010 10 Result=~(X|Y)Result2=0 1011 11 Result=(X 1: 0SignedResult2=0 1100 12 Result=(X 1: 0UnsignedResult2=0 1101 13 Result=Result2=0 1110 14 Result=Result2=0 1111 15 Result=Result2=0 3.2方案设计 3.2.1XXX 所有方案应将设计思路和设计原理、过程写清楚,为什么这样设计,各部件之间的关系,仅仅粘贴一张电路图是不合格的报告。 3.2.2XXX 3.2.3XXX 图2.1总体结构图 3.3实验步骤 (7)XXX (8)XXX (9)XXX 3.4故障与调试 3.4.1接口处数据传输问题 故障现象: 执行halt指令时控制信号无法通过ID/EX接口。 图2.2XXX图 原因分析: 如图2.2,寄存器设置为上升沿刷新,但当D端有输入且clk变化一个周期后寄存器中的数据仍然没有改变,检查时注意到此时ALUControl端输入的值为不确定,这是由于在控制器电路中未给halt指令相应的ALUControl值,为设计控制器时的失误。 解决方案: 在控制器中给halt指令(OP为12)一个ALUControl信号0000一边让控制信号在接口处顺利传递。 3.4.2故障2 XXX 3.4.3故障2 XXX 3.5测试与分析 溢出测试用例见表1.3。 表2.3溢出信号测试用例 # A B F 运算 有符号溢出 无符号溢出 1 加 ○ ○ 2 加 ○ ● 3 加 ● ○ 4 加 ● ● 5 减 ○ ○ 6 减 ○ ● 7 减 ● ○ 8 减 ● ● 4CPU设计实验 请仔细阅读所有的批注,阅读理解后删除批注 模板各个标题下面的内容仅是举例,作者应依照自己思想重写该部分内容 4.1设计要求 利用logisim平台中现有运算部件构建一个32位运算器,可支持算数加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移,算术右移运算,支持常用程序状态标志(有符号溢出OF、无符号溢出CF,结果相等Equal),运算器功能以及输入输出引脚见下表,在主电路中详细测试自己封装的运算器。 表3.1片引脚与功能描述 引脚 输入/输出 位宽 功能描述 X 输入 32 操作数X Y 输入 32 操作数Y ALU_OP 输入 4 运算器功能码,具体功能见下表 Result 输出 32 ALU运算结果 Result2 输出 32 ALU结果第二部分,用于乘法指令结果高位或除法指令的余数位,其他操作为零 OF 输出 1 有符号加减溢出标记,其他操作为零 CF 输出 1 无符号加减溢出标记,其他操作为零 Equal 输出 1 Equal=(x==y)? 1: 0,对所有操作有效 表3.2运算符功能 ALUOP 十进制 运算功能 0000 0 Result=X< 0001 1 Result=X>>>Y逻辑右移(Y取低五位)Result2=0 0010 2 Result=X>>Y算术右移(Y取低五位)Result2=0 0011 3 Result=(X*Y)[31: 0];Result2=(X*Y)[63: 32]有符号 0100 4 Result=X/Y;Result2=X%Y无符号 0101 5 Result=X+YResult2=0(SetOF/CF) 0110 6 Result=X-YResult2=0(SetOF/CF) 0111 7 Result=X&YResult2=0 1000 8 Result=X|YResult2=0 1001 9 Result=X⊕YResult2=0 1010 10 Result=~(X|Y)Result2=0 1011 11 Result=(X 1: 0SignedResult2=0 1100 12 Result=(X 1: 0UnsignedResult2=0 1101 13 Result=Result2=0 1110 14 Result=Result2=0 1111 15 Result=Result2=0 4.2方案设计 4.2.1XXX 所有方案应将设计思路和设计原理、过程写清楚,为什么这样设计,各部件之间的关系,仅仅粘贴一张电路图是不合格的报告。 4.2.2XXX 4.2.3XXX 图3.1总体结构图 4.3实验步骤 (10)XXX (11)XXX (12)XXX 4.4故障与调试 4.4.1接口处数据传输问题 故障现象: 执行halt指令时控制信号无法通过ID/EX接口。 图3.2XXX图 原因分析: 如图3.2,寄存器设置为上升沿刷新,但当D端有输入且clk变化一个周期后寄存器中的数据仍然没有改变,检查时注意到此时ALUControl端输入的值为不确定,这是由于在控制器电路中未给halt指令相应的ALUControl值,为设计控制器时的失误。 解决方案: 在控制器中给halt指令(OP为12)一个ALUControl信号0000一边让控制信号在接口处顺利传递。 4.4.2故障2 XXX 4.4.3故障2 XXX 4.5测试与分析 溢出测试用例见表1.3。 表3.3溢出信号测试用例 # A B F 运算 有符号溢出 无符号溢出 1 加 ○ ○ 2 加 ○ ● 3 加 ● ○ 4 加 ● ● 5 减 ○ ○ 6 减 ○ ● 7 减 ● ○ 8 减 ● ● 5总结与心得 5.1实验总结 条目式给出3次实验的主要工作,采用动宾结构,本次实验主要完成了如下几点工作: 1)完成方案总结(自行修订扩充)(自行修订扩充)(自行修订扩充)(自行修订扩充)(自行修订扩充)。 2)功能总结(自行修订扩充)(自行修订扩充)(自行修订扩充)(自行修订扩充)(自行修订扩充)。 3)其他需要总结的内容,(自行修订扩充)。 5.2实验心得 1)谈谈实验收获,实验心得,对课程实验的建议等等,自行修订扩充,自行修订扩充自行修订扩充自行修订扩充自行修订扩充自行修订扩充自行修订扩充自行修订扩充收OSD命令并进行处理。 2)自行修订扩充自行修订扩充自行修订扩充自行修订扩充自行修订扩充。 参考文献 [1]DAVIDA.PATTERSON(美).计算机组成与设计硬件/软件接口(原书第5版).北京: 机械工业出版社. [2]DavidMoneyHarris(美).数字设计和计算机体系结构(第二版).机械工业出版社 [3]谭志虎,秦磊华,胡迪青.计算机组成原理实践教程.北京: 清华大学出版社,2018年. [4]秦磊华,吴非,莫正坤.计算机组成原理.北京: 清华大学出版社,2011年. [5]袁春风编著.计算机组成与系统结构.北京: 清华大学出版社,2011年. [6]张晨曦,王志英.计算机系统结构.高等教育出版社,2008年. 一、原创性声明 本人郑重声明本报告内容,是由作者本人独立完成的。 有关观点、方法、数据和文献等的引用已在文中指出。 除文中已注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品成果,不存在剽窃、抄袭行为。 特此声明! 作者签字: 嵌入签名图片 二、对课程实验的学术评语(教师填写) 三、对课程实验的评分(教师填写) 评分项目 (分值) 报告撰写 (30分) 课设过程 (70分) 最终评定 (100分) 得分 指导教师签字:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)