计算机组成原理实验指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机组成原理

软件学院

2015.9

实验报告要求

一、该实验为计算机组成原理课程的仿真训练项目,包括实验1-5,每个实验6分,共30分,计入最终考核成绩。

二、每人每个实验写一份实验报告。要求在熟悉仿真软件和相关理论知识的基础上,按照实验步骤,认真观察实验结果数据,做好记录或截图,并对结果进行分析,最后总结实验中遇到的问题和解决方法,写出实验心得体会。

三、每个实验应在相对应的理论知识讲授完毕后进行,实验完成后以答辩形式组织考核打分。实验报告需要同时上交电子版和A4纸打印版,封面参考附件。

附件

计算机组成原理

实验报告

学院(系):

专业:

班级:

学号:

姓名:

年月日

实验1 Cache模拟器的实现

一.实验目的

(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。

(2)掌握Cache容量、相联度、块大小对Cache性能的影响。

(3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。

(4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。

二、实验内容和步骤

1、启动CacheSim。

2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。

3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。

4、读取cache-traces.zip中的trace文件。

5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。思考:1、Cache的命中率与其容量大小有何关系?

2、Cache块大小对不命中率有何影响?

3、替换算法和相联度大小对不命中率有何影响?

三.实验结果分析

四.实验心得

实验2 运算器的编程实现

一、实验目的

1、加深对计算机中运算器的基本概念、运算方法和基本原理的理解。

2、提高学生对计算机编程语言掌握的熟练程度。

二、实验内容

运用一种编程语言实现计算器的基本功能。

思考:1、计算机中数据是如何表示的?

2、计算机中二进制数的加、减、乘、除四则运算如何实现?

3、运算器的基本结构和功能有哪些?

三.实验结果分析

四.实验心得

实验3 MIPS指令系统和MIPS体系结构

一.实验目的

(1)了解和熟悉指令级模拟器

(2)熟悉掌握MIPSsim模拟器的操作和使用方法

(3)熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解

(4)熟悉MIPS体系结构

二. 实验内容和步骤

首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统。(1)、启动MIPSsim。

(2)、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。(3)、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。

(4)、选择“文件”->“载入程序”选项,加载样例程序 alltest.asm,然后查看“代码”窗口,查看程序所在的位置。

(5)、查看“寄存器”窗口PC寄存器的值:[PC]= 。

(6)、执行load和store指令,步骤如下:

1)单步执行一条指令(F7)。

2)下一条指令地址为,是一条 (有,无)符号载入 (字节,半字,字)指令。

3)单步执行一条指令(F7)。

4)查看R1的值,[R1]= 。

5)下一条指令地址为,是一条 (有,无)符号载入 (字节,半字,字)指令。

6)单步执行1条指令。

7)查看R1的值,[R1]= 。

8)下一条指令地址为,是一条 (有,无)符号载入 (字节,半字,字)指令。

9)单步执行1条指令。

10)查看R1的值,[R1]= 。

11)单步执行1条指令。

12)下一条指令地址为,是一条保存 (字节,半字,字)指令。 13)单步执行一条指令。

14)查看内存BUFFER处字的值,值为。

(7)、执行算术运算类指令。步骤如下:

1)双击“寄存器”窗口中的R1,将其值修改为2。

2)双击“寄存器”窗口中的R2,将其值修改为3。

3)单步执行一条指令。

4)下一条指令地址为,是一条加法指令。

5)单步执行一条指令。

6)查看R3的值,[R3]= 。

7)下一条指令地址为,是一条乘法指令。

8)单步执行一条指令。

9)查看LO、HI的值,[LO]= ,[HI]= 。(8)、执行逻辑运算类指令。步骤如下:

1)双击“寄存器”窗口中的R1,将其值修改为0XFFFF0000。

2)双击“寄存器”窗口中的R2,将其值修改为0XFF00FF00。

3)单步执行一条指令。

4)下一条指令地址为,是一条逻辑与运算指令,第二个操作数寻址方式是(寄存器直接寻址,立即数寻址)。

5)单步执行一条指令。

6)查看R3的值,[R3]= 。

7)下一条指令地址为,是一条逻辑或指令,第二个操作数寻址方式是(寄存器直接寻址,立即数寻址)。

8)单步执行一条指令。

9)查看R3的值,[R3]= 。

(9)、执行控制转移类指令。步骤如下:

1)双击“寄存器”窗口中R1,将其值修改为2。

2)双击“寄存器”窗口中R2,将其值修改为2。

3)单步执行一条指令。

4)下一条指令地址为,是一条BEQ指令,其测试条件是。

5) 单步执行1条指令。

6) 查看PC的值,[PC]= ,表明分支(成功,失败)。

7) 一条指令是一条BGEZ指令,其测试条件是,目标地址为。

8) 单步执行1条指令。

9) 查看PC的值,[PC]= ,表明分支 (成功,失败)。

10) 下一条指令是一条BGEZAL指令,其测试条件是,目标地址为。

11) 单步执行1条指令。

12) 查看PC的值,[PC]= ,表明分支(成功,失败);查看R31的值,[R31]= 。

13) 单步执行1条指令。

14)查看R1的值,[R1]= 。

15)下一条指令地址为,是一条JALR指令,保存目标地址的寄存器为R1 ,保存返回地址的目标寄存器为R3。

16)单步执行1条指令。

17)查看PC和R3的值,[PC]= ,[R3]= 。

三、实验结果分析

四.实验心得

相关文档
最新文档