《计算机体系结构》课程实验教学大纲(Ⅰ)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机体系结构》课程实验教学大纲(Ⅰ)
[注:同一门实验课程若对不同专业开设的实验项目、实验要求不同,则大纲应不同,区分 可采用题目后加(Ⅰ)、(Ⅱ)、(Ⅲ)……的办法]
编 号: 课程总学时: 54 实验学时:8 课程总学分: 3 实验学分:(非单独设课的实验不用填此项) 先修课程:《模拟电子技术》、《数字电子技术》、《数字逻辑》、《计
(3) 熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理
解;
(4) 熟悉MIPS体系结构。
2. 实验内容
首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系
统和汇编语言。
(1)启动MIPSsim(用鼠标双击MIPSsim.exe)。
(2)选择“配置”->“流水方式”选项,使模拟器工作在非流水方
(1) 实验平台采用指令级和流水线操作级模拟器MIPSsim; (2) 计算机一台。
alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地
址为0x00000100)。
(5)查看“寄存器”窗口PC寄存器的值:[PC]=0X
。
(6)执行load和store指令,步骤如下:
1)单步执行一条指令(F7)。
2)下一条指令地址为=0X
,是一条
(有,
无)符号载入
(字节,半字,字)指令。
功,失败);查看R31的值,[R31]=0x_______________。 13) 单步执行1条指令。 14)查看R1的值,[R1]=0x_______________。 15)下一条指令地址为0x__________,是一条JALR指令,保存目标
地址的寄存器为R______,保存返回地址的目标寄存器为R______。 16)单步执行1条指令。 17)查看PC和R3的值,[PC]=0x_____ __,
3)单步执行一条指令(F5)。
4)查看R1的值,[R1]=0X
。
5)下一条指令地址为0X
,是一条
(有,无)
符号载入
(字节,半字,字)指令。
ห้องสมุดไป่ตู้
6)单步执行1条指令。
7)查看R1的值,[R1]=0X
。
8)下一条指令地址为,是一条
(有,无)符号载入
(字节,半字,字)指令。
9)单步执行1条指令。
10)查看R1的值,[R1]= 0X
IF:________________________________ ID:________________________________ EX:________________________________ MEM:______________________________ WB:________________________________ 画出这时的时钟周期图。 (6)这时各流水寄存器中的内容为:
2. 实验内容 首先要掌握MIPSsim模拟器的使用方法。
(1)启动MIPSsim。 (2)根据预备知识中关于流水线各段操作的描述,进一步理解流水 线窗口中各段的功能,掌握各流水寄存器的含义。(用鼠标双击各段, 就可以看到各流水寄存器的内容) (3)参照MIPSsim模拟器使用说明,熟悉MIPSsim模拟器的操作和使 用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程 序”文件夹中)。然后分别以单步执行一条周期、执行多个周期、连续 执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中 寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。 (4)选择配置菜单中的“流水方式”选项,使模拟器工作于流水方 式下。 (5)观察程序在流水线中的执行情况,步骤如下: 1)选择MIPSsim的“文件”—>“载入程序”选项来加载 pipeline.s (在模拟器所在文件夹下的“样例程序”文件夹中)。 2)关闭定向功能。这是通过“配置”—>“定向”(使该项前面没 有√号)来实现的。 3)用单步执行一个周期的方式(在“执行”菜单中)或按F7键执 行该程序,观察每一个周期中,各段流水寄存器内容的变化、指令的执 行情况(“代码”窗口)以及时钟周期图。 4)当执行到第13个时钟周期时,各段分别正在处理的指令是:
[R3]=0x____________。 3. 实验要求
通过本实验应达到如下要求: (1) 对指令级模拟器有一定了解; (2) 能够熟练使用MIPSsim模拟器; (3) 理解MIPS指令系统及其特点,加深对MIPS指令操作语义的理 解。 4. 实验器材 (1) 实验平台采用指令级和流水线操作级模拟器MIPSsim; (2) 计算机一台。
二、本课程实验应开设项目
所需主要设备型号、名
序号
实验项目名称
学时 类型 必做/选做
称
1
实验 一
2 验证性
必做 微机1台、 MIPSsim模拟
MIPS指令系统和MIPS体系
结构
器
2
实验 二 流水线及流水线 2 验证性
必做 微机1台、 MIPSsim模拟
中的冲突
器
3
实验 三 指令调度和延迟 2 验证性
必做 微机1台、 MIPSsim模拟
算机组成原理》,《操作系统》,《编译原理》 适用专业:计算机科学与技术(嵌入式本科)、网络工程(本科)、计算
机科学与技术(信息技术方向本科)
一、本课程实验的主要目的与任务
本课程实验的主要目的与任务是为了配合本课程更好的深入开展和 执行,通过让学生做一定数量的实验,提高学生从总体结构、系统分析 这一层次来研究和分析计算机系统的能力,帮助学生建立整机的概念; 使学生掌握计算机系统结构的基本概念、基本原理、基本结构、基本设 计和分析方法,并对计算机系统结构的发展历史和现状有所了解。
式。
(3)参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。
可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程
序”文件夹中),然后分别以
单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行
程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变
化。
(4)选择“文件”->“载入程序”选项,加载样例程序
IF/ID.IR:________________________________ IF/ID.NPC:______________________________ ID/EX.A:________________________________ ID/EX.B:________________________________ ID/EX.Imm:______________________________ ID/EX.IR:________________________________ EX/MEM.ALUo:___________________________ EX/MEM.IR:______________________________ MEM/WB.LMD:___________________________ MEM/WB.ALUo:___________________________ MEM/WB.IR:______________________________ (7)观察和分析结构冲突对CPU性能的影响,步骤如下: 1)加载structure_hz.s(在模拟器所在文件夹下的“样例程序”文 件夹中)。 2)执行该程序,找出存在结构冲突的指令对以及导致结构冲突的部 件。 3)记录由结构冲突引起的停顿时钟周期数,计算停顿时钟周期数占 总执行周期数的百分比。 4)把浮点加法器的个数改为4个。 5)再次重复步骤①~③的工作。 6)分析结构冲突对CPU性能的影响,讨论解决结构冲突的方法。 (8)观察数据冲突并用定向技术来减少停顿,步骤如下: 1)全部复位。 2)加载data_hz.s(在模拟器所在的文件夹下的“样例程序”文件 夹中)。 3)关闭定向功能。这是通过“配置”->“定向”(是该项前面没 有√号)来实现的。 4)用单步执行一个周期的方式(F7)执行该程序,同时查看时钟
3) 单步执行一条指令。
4) 下一条指令地址为0x____,是一条加法指令。
5) 单步执行一条指令。
6) 查看R3的值,[R3]= 0x____。
7) 下一条指令地址为0x____,是一条乘法指令。
8) 单步执行一条指令。
9) 查看LO、HI的值,[LO]=0x____,[HI]= 0x____。
(8)执行逻辑运算类指令。步骤如下:
实验2 流水线及流水线中的冲突
1. 实验目的 (1) 加深对计算机流水线基本概念的理解。 (2) 理解MIPS结构如何用5段流水线来实现,理解各段的功能和基 本操作。 (3) 加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性 能的影响。 (4) 进一步理解解决数据冲突的方法,掌握如何应用定向技术来 减少数据冲突引起的停顿。
期图,列出在什么时刻发生了RAW(先写后读)冲突,并与步骤3的结果 进行比较。
9)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期 数。计算采用定向技术后的性能是原来的几倍。 3. 实验要求
通过本实验应达到如下要求: (1) 能够加深对计算机流水线基本概念的理解。 (2) 能够理解MIPS结构如何用5段流水线来实现,理解各段的功能和 基本操作。 (3) 进一步加深对数据冲突、结构冲突的理解,理解这两类冲突对 CPU性能的影响。 (4) 进一步理解解决数据冲突的方法和如何应用定向技术来减少数 据冲突引起的停顿。 4. 实验器材
分支
器
4
实验 四 Cache 性能分析 2 验证性
必做 微机1台、 MyCache模拟
器
注:1、类型---指验证性、综合性、设计性;2、该表格不够可拓展。
三、各实验项目主要实验内容和基本要求
实验 1 MIPS指令系统和MIPS体系结构
1. 实验目的
(1) 了解和熟悉指令级模拟器;
(2) 熟练掌握MIPSsim模拟器的操作和使用方法;
周期图,列出在什么时刻发生了RAW(先写后读)冲突。 5)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期
数,计算停顿时钟周期数占总执行周期数的百分比。 6)复位CPU 。 7)打开定向功能。这是通过“配置”->“定向”(是该项前面有√
号)来实现的。 8)用单步执行一个周期的方式(F7)执行该程序,同时查看时钟周
。
11)单步执行1条指令。
12)下一条指令地址为0X
,是一条保存
(字
节,半字,字)指令。
13)单步执行一条指令(F5)。
14)查看内存BUFFER处字的值,值为0X
。
(7)执行算术运算类指令。步骤如下:
1) 双击“寄存器”窗口中的R1,将其值修改为2。
2) 双击“寄存器”窗口中的R2,将其值修改为3。
1)双击“寄存器”窗口中的R1,将其值修改为0XFFFF0000。
2)双击“寄存器”窗口中的R1,将其值修改为0XFFFF0000。
3)单步执行一条指令。 4)下一条指令地址为0x____,是一条逻辑与运算指令,第二 个操作数寻址方式是_____(寄存器直接寻址,立即数寻 址)。 5)单步执行一条指令。 6)查看R3的值,[R3]= 0x____。 7)下一条指令地址为0x____,是一条逻辑或指令,第二个操 作数寻址方式是_____(寄存器直接寻址,立即数寻址)。 8)单步执行一条指令。 9)查看R3的值,[R3]= 0x____。 (9)执行控制转移类指令。步骤如下: 1)双击“寄存器”窗口中R1,将其值修改为2。 2)双击“寄存器”窗口中R2,将其值修改为2。 3)单步执行一条指令。 4)下一条指令地址为0x__________,是一条BEQ指令,其测试条件 是__________,目标地址为0x__________。 5) 单步执行1条指令。 6) 查看PC的值,[PC]=0x__________,表明分支__________(成 功,失败)。 7) 一条指令是一条BGEZ指令,其测试条件是__________,目标地 址为0x__________。 8) 单步执行1条指令。 9) 查看PC的值,[PC]=0x__________,表明分支__________(成 功,失败)。 10) 下一条指令是一条BGEZAL指令,其测试条件是__________,目 标地址为0x__________。 11) 单步执行1条指令。 12) 查看PC的值,[PC]=0x__________,表明分支__________(成
[注:同一门实验课程若对不同专业开设的实验项目、实验要求不同,则大纲应不同,区分 可采用题目后加(Ⅰ)、(Ⅱ)、(Ⅲ)……的办法]
编 号: 课程总学时: 54 实验学时:8 课程总学分: 3 实验学分:(非单独设课的实验不用填此项) 先修课程:《模拟电子技术》、《数字电子技术》、《数字逻辑》、《计
(3) 熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理
解;
(4) 熟悉MIPS体系结构。
2. 实验内容
首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系
统和汇编语言。
(1)启动MIPSsim(用鼠标双击MIPSsim.exe)。
(2)选择“配置”->“流水方式”选项,使模拟器工作在非流水方
(1) 实验平台采用指令级和流水线操作级模拟器MIPSsim; (2) 计算机一台。
alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地
址为0x00000100)。
(5)查看“寄存器”窗口PC寄存器的值:[PC]=0X
。
(6)执行load和store指令,步骤如下:
1)单步执行一条指令(F7)。
2)下一条指令地址为=0X
,是一条
(有,
无)符号载入
(字节,半字,字)指令。
功,失败);查看R31的值,[R31]=0x_______________。 13) 单步执行1条指令。 14)查看R1的值,[R1]=0x_______________。 15)下一条指令地址为0x__________,是一条JALR指令,保存目标
地址的寄存器为R______,保存返回地址的目标寄存器为R______。 16)单步执行1条指令。 17)查看PC和R3的值,[PC]=0x_____ __,
3)单步执行一条指令(F5)。
4)查看R1的值,[R1]=0X
。
5)下一条指令地址为0X
,是一条
(有,无)
符号载入
(字节,半字,字)指令。
ห้องสมุดไป่ตู้
6)单步执行1条指令。
7)查看R1的值,[R1]=0X
。
8)下一条指令地址为,是一条
(有,无)符号载入
(字节,半字,字)指令。
9)单步执行1条指令。
10)查看R1的值,[R1]= 0X
IF:________________________________ ID:________________________________ EX:________________________________ MEM:______________________________ WB:________________________________ 画出这时的时钟周期图。 (6)这时各流水寄存器中的内容为:
2. 实验内容 首先要掌握MIPSsim模拟器的使用方法。
(1)启动MIPSsim。 (2)根据预备知识中关于流水线各段操作的描述,进一步理解流水 线窗口中各段的功能,掌握各流水寄存器的含义。(用鼠标双击各段, 就可以看到各流水寄存器的内容) (3)参照MIPSsim模拟器使用说明,熟悉MIPSsim模拟器的操作和使 用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程 序”文件夹中)。然后分别以单步执行一条周期、执行多个周期、连续 执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中 寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。 (4)选择配置菜单中的“流水方式”选项,使模拟器工作于流水方 式下。 (5)观察程序在流水线中的执行情况,步骤如下: 1)选择MIPSsim的“文件”—>“载入程序”选项来加载 pipeline.s (在模拟器所在文件夹下的“样例程序”文件夹中)。 2)关闭定向功能。这是通过“配置”—>“定向”(使该项前面没 有√号)来实现的。 3)用单步执行一个周期的方式(在“执行”菜单中)或按F7键执 行该程序,观察每一个周期中,各段流水寄存器内容的变化、指令的执 行情况(“代码”窗口)以及时钟周期图。 4)当执行到第13个时钟周期时,各段分别正在处理的指令是:
[R3]=0x____________。 3. 实验要求
通过本实验应达到如下要求: (1) 对指令级模拟器有一定了解; (2) 能够熟练使用MIPSsim模拟器; (3) 理解MIPS指令系统及其特点,加深对MIPS指令操作语义的理 解。 4. 实验器材 (1) 实验平台采用指令级和流水线操作级模拟器MIPSsim; (2) 计算机一台。
二、本课程实验应开设项目
所需主要设备型号、名
序号
实验项目名称
学时 类型 必做/选做
称
1
实验 一
2 验证性
必做 微机1台、 MIPSsim模拟
MIPS指令系统和MIPS体系
结构
器
2
实验 二 流水线及流水线 2 验证性
必做 微机1台、 MIPSsim模拟
中的冲突
器
3
实验 三 指令调度和延迟 2 验证性
必做 微机1台、 MIPSsim模拟
算机组成原理》,《操作系统》,《编译原理》 适用专业:计算机科学与技术(嵌入式本科)、网络工程(本科)、计算
机科学与技术(信息技术方向本科)
一、本课程实验的主要目的与任务
本课程实验的主要目的与任务是为了配合本课程更好的深入开展和 执行,通过让学生做一定数量的实验,提高学生从总体结构、系统分析 这一层次来研究和分析计算机系统的能力,帮助学生建立整机的概念; 使学生掌握计算机系统结构的基本概念、基本原理、基本结构、基本设 计和分析方法,并对计算机系统结构的发展历史和现状有所了解。
式。
(3)参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。
可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程
序”文件夹中),然后分别以
单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行
程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变
化。
(4)选择“文件”->“载入程序”选项,加载样例程序
IF/ID.IR:________________________________ IF/ID.NPC:______________________________ ID/EX.A:________________________________ ID/EX.B:________________________________ ID/EX.Imm:______________________________ ID/EX.IR:________________________________ EX/MEM.ALUo:___________________________ EX/MEM.IR:______________________________ MEM/WB.LMD:___________________________ MEM/WB.ALUo:___________________________ MEM/WB.IR:______________________________ (7)观察和分析结构冲突对CPU性能的影响,步骤如下: 1)加载structure_hz.s(在模拟器所在文件夹下的“样例程序”文 件夹中)。 2)执行该程序,找出存在结构冲突的指令对以及导致结构冲突的部 件。 3)记录由结构冲突引起的停顿时钟周期数,计算停顿时钟周期数占 总执行周期数的百分比。 4)把浮点加法器的个数改为4个。 5)再次重复步骤①~③的工作。 6)分析结构冲突对CPU性能的影响,讨论解决结构冲突的方法。 (8)观察数据冲突并用定向技术来减少停顿,步骤如下: 1)全部复位。 2)加载data_hz.s(在模拟器所在的文件夹下的“样例程序”文件 夹中)。 3)关闭定向功能。这是通过“配置”->“定向”(是该项前面没 有√号)来实现的。 4)用单步执行一个周期的方式(F7)执行该程序,同时查看时钟
3) 单步执行一条指令。
4) 下一条指令地址为0x____,是一条加法指令。
5) 单步执行一条指令。
6) 查看R3的值,[R3]= 0x____。
7) 下一条指令地址为0x____,是一条乘法指令。
8) 单步执行一条指令。
9) 查看LO、HI的值,[LO]=0x____,[HI]= 0x____。
(8)执行逻辑运算类指令。步骤如下:
实验2 流水线及流水线中的冲突
1. 实验目的 (1) 加深对计算机流水线基本概念的理解。 (2) 理解MIPS结构如何用5段流水线来实现,理解各段的功能和基 本操作。 (3) 加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性 能的影响。 (4) 进一步理解解决数据冲突的方法,掌握如何应用定向技术来 减少数据冲突引起的停顿。
期图,列出在什么时刻发生了RAW(先写后读)冲突,并与步骤3的结果 进行比较。
9)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期 数。计算采用定向技术后的性能是原来的几倍。 3. 实验要求
通过本实验应达到如下要求: (1) 能够加深对计算机流水线基本概念的理解。 (2) 能够理解MIPS结构如何用5段流水线来实现,理解各段的功能和 基本操作。 (3) 进一步加深对数据冲突、结构冲突的理解,理解这两类冲突对 CPU性能的影响。 (4) 进一步理解解决数据冲突的方法和如何应用定向技术来减少数 据冲突引起的停顿。 4. 实验器材
分支
器
4
实验 四 Cache 性能分析 2 验证性
必做 微机1台、 MyCache模拟
器
注:1、类型---指验证性、综合性、设计性;2、该表格不够可拓展。
三、各实验项目主要实验内容和基本要求
实验 1 MIPS指令系统和MIPS体系结构
1. 实验目的
(1) 了解和熟悉指令级模拟器;
(2) 熟练掌握MIPSsim模拟器的操作和使用方法;
周期图,列出在什么时刻发生了RAW(先写后读)冲突。 5)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期
数,计算停顿时钟周期数占总执行周期数的百分比。 6)复位CPU 。 7)打开定向功能。这是通过“配置”->“定向”(是该项前面有√
号)来实现的。 8)用单步执行一个周期的方式(F7)执行该程序,同时查看时钟周
。
11)单步执行1条指令。
12)下一条指令地址为0X
,是一条保存
(字
节,半字,字)指令。
13)单步执行一条指令(F5)。
14)查看内存BUFFER处字的值,值为0X
。
(7)执行算术运算类指令。步骤如下:
1) 双击“寄存器”窗口中的R1,将其值修改为2。
2) 双击“寄存器”窗口中的R2,将其值修改为3。
1)双击“寄存器”窗口中的R1,将其值修改为0XFFFF0000。
2)双击“寄存器”窗口中的R1,将其值修改为0XFFFF0000。
3)单步执行一条指令。 4)下一条指令地址为0x____,是一条逻辑与运算指令,第二 个操作数寻址方式是_____(寄存器直接寻址,立即数寻 址)。 5)单步执行一条指令。 6)查看R3的值,[R3]= 0x____。 7)下一条指令地址为0x____,是一条逻辑或指令,第二个操 作数寻址方式是_____(寄存器直接寻址,立即数寻址)。 8)单步执行一条指令。 9)查看R3的值,[R3]= 0x____。 (9)执行控制转移类指令。步骤如下: 1)双击“寄存器”窗口中R1,将其值修改为2。 2)双击“寄存器”窗口中R2,将其值修改为2。 3)单步执行一条指令。 4)下一条指令地址为0x__________,是一条BEQ指令,其测试条件 是__________,目标地址为0x__________。 5) 单步执行1条指令。 6) 查看PC的值,[PC]=0x__________,表明分支__________(成 功,失败)。 7) 一条指令是一条BGEZ指令,其测试条件是__________,目标地 址为0x__________。 8) 单步执行1条指令。 9) 查看PC的值,[PC]=0x__________,表明分支__________(成 功,失败)。 10) 下一条指令是一条BGEZAL指令,其测试条件是__________,目 标地址为0x__________。 11) 单步执行1条指令。 12) 查看PC的值,[PC]=0x__________,表明分支__________(成