《计算机体系结构》实验教学大纲
课程名称:
| 计算机体系结构
|
课程编号:
| 408414
|
适用专业:
| 计算机科学与技术
|
总 学 分:
| 2
|
总 学 时:
| 48
|
其中实验学时
| 12
|
一、实验课程性质、目的与任务
本课程是计算机科学与技术专业一门重要的专业任选课。其目的是提高学生从总体结构、系统分析这一层次来研究和分析计算机系统的能力,帮助学生建立整机的概念;使学生掌握计算机系统结构的基本概念、基本原理、基本结构、基本设计和分析方法,并对计算机系统结构的发展历史和现状有所了解。
通过本实验课程,应达到以下几个教学目的:
1.掌握计算机系统结构的基本概念;
2.重点掌握数据表示、指令系统设计与优化的原理和方法;
3.重点掌握存储系统的构成原理及性能分析方法;
4.掌握输入输出系统和辅助存储器的工作原理;
5.重点掌握指令级并行处理(ILP)的各种技术(包括指令动态调度、指令静态调度等);
6.掌握向量处理的基本概念和基本技术;
7.掌握多处理机的基本原理,了解高速缓冲存储器(Cache)一致性概念和线程级并行方法;
8.了解计算机系统结构的最新发展情况(包括新的高性能结构、新的性能评价方法等)。
二、实验教学基本要求
计算机系统结构实验是学习和研究计算机系统结构理论的重要实践环节,其目的在于通过不同类型的实验使学生掌握计算机系统结构的基本概念和基本原理,并对该课程的核心理论框架有更深刻的理解。要求学生利用现有实验设备完成相关理论的验证,从而提高分析与设计能力。
三、实验项目与类型:
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| 流水线中的相关
| 2
| √
|
|
|
| √
|
|
2
| 循环展开及指令调度
| 2
| √
|
|
|
| √
|
|
3
| 记分牌算法和Tomasulo算法
| 2
| √
|
|
|
| √
|
|
4
| Cache性能分析
| 2
| √
|
|
|
| √
|
|
5
| 伪相联Cache与虚拟Cache
| 2
| √
|
|
|
| √
|
|
6
| 数据传输触发体系结构分析
| 2
|
|
| √
|
| √
|
|
7
| 嵌入式微处理ARM体系结构及其最新发展
| 2
| √
|
|
|
|
| √
|
8
| 片内多核体系结构的数据一致性
| 2
|
|
| √
|
|
| √
|
9
| 片内多核体系结构的互连总线协议
| 2
| √
|
|
|
|
| √
|
10
| 编译控制的低功耗体系结构
| 2
|
|
| √
|
|
| √
|
四、实验教学内容
实验一 流水线中的相关
1、实验目的
理解流水线的数据相关;掌握如何使用定向技术来减少数据相关带来的暂停。
2、方法原理
使用WinDEX模拟器、DLXview模拟器进行仿真分析。
3、主要实验仪器及材料
WinDEX模拟器、DLXviw模拟器、微机
4、实验内容
在不采用定向技术的情况下,用WinDLX模拟器运行程序data_d.s。
记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时 钟周期数占总执行周期数的百分比。
在采用定向技术的情况下,用WinDLX模拟器再次运行程序data_d.s。
记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。根据上面记录的数据,计算采用定向技术后性能提高的倍数。
实验二 循环展开及指令调度
1、实验目的
加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;
熟悉用指令调度技术来解决流水线中的数据相关的方法;
了解循环展开、指令调度等技术对CPU性能的改进。
2、方法原理
使用SimpleScalar模拟器进行仿真分析。
3、主要实验仪器及材料
SimpleScalar模拟器、微机
4、实验内容
启动SimpleScalar模拟器;选择“配置”→“流水方式”选项,使模拟器工作在流水方式下; 用指令调度技术解决流水线中的数据冲突;用延迟分支减少分支指令对性能的影响。
实验三 记分牌算法和Tomasulo算法
1、实验目的
进一步理解指令动态调度的基本思想,了解指令动态调度的基本过程与方法;
理解记分牌算法和Tomasulo算法的基本思想,了解它们的基本结构、运行过程;
比较分析基本流水线与记分牌算法和Tomasulo算法的性能及优缺点。
2、方法原理
使用DLXview模拟器进行模拟分析。
3、主要实验仪器及材料
WinDEX模拟器、DLXview模拟器、SimpleScalar模拟器、微机
4、实验内容
用DLX汇编语言编写代码文件*.s以及相关的初始化寄存器文件*.i和数据文件*.d;观察程序中出现的数据相关、控制相关、结构相关,并指出三种相关的指令组合;将自己编写的程序*.s、*.i、*.d装载到DLXview模拟器上,分别用基本流水线、记分牌算法和Tomasulo算法进行模拟并记录相关信息。
实验四Cache性能分析
1、实验目的
加深对Cache的基本概念、基本组织结构以及基本工作原理的理解;
了解Cache的容量、相联度、块大小对Cache性能的影响;
掌握降低Cache失效率的各种方法,以及这些方法对Cache性能提高的好处;
理解Cache失效的产生原因以及Cache的三种失效;
理解LRU与随机法的基本思想,及它们对Cache性能的影响;
2、方法原理
使用SimpleScalar模拟器进行模拟。
3、主要实验仪器及材料
WinDEX模拟器、DLXview模拟器、SimpleScalar模拟器、微机
4、实验内容
运行SimpleScalar模拟器;
在基本配置情况下运行程序(请指明所选的测试程序),统计Cache总失效次数、三种不同种类的失效次数;
改变Cache容量(*2,*4,*8,*64),运行程序(指明所选的测试程序),统计各种失效的次数,并分析Cache容量对Cache性能的影响;
改变Cache的相联度(1路,2路,4路,8路,64路),运行程序(指明所选的测试程序),统计各种失效的次数,并分析相联度对Cache性能的影响;
改变Cache块大小(*2,*4,*8,*64),运行程序(指明所选的测试程序),统计各种失效的次数,并分析Cache块大小对Cache性能的影响;
分别采用LRU与随机法,在不同的Cache容量、不同的相联度下,运行程序(指明所选的测试程序)统计Cache总失效次数,计算失效率。分析不同的替换算法对Cache性能的影响。
实验五 伪相联Cache与虚拟Cache
1、实验目的
加深对Cache的基本概念、基本组织结构以及基本工作原理的理解;
了解Cache的容量、相联度、块大小对Cache性能的影响;
掌握降低Cache失效率的各种方法,以及这些方法对Cache性能提高的好处;
理解Cache失效的产生原因以及Cache的三种失效;
理解LRU与随机法的基本思想,及它们对Cache性能的影响;
2、方法原理
使用SimpleScalar模拟器进行模拟。
3、主要实验仪器及材料
WinDEX模拟器、DLXview模拟器、SimpleScalar模拟器、微机
4、实验内容
在模拟器上实现两路伪相联Cache;
在该配置的情况下运行一段程序,统计程序中的失效情况,并与直接映象Cache、两路组相联Cache进行比较,分析性能;
在模拟器上实现虚拟Cache;
在该配置的情况下运行一段程序,统计程序的运行时间,并与物理Cache进行比较,分析性能;
产生一段会产生错误的程序,并提出一种解决方案来解决虚拟Cache问题;
在模拟器上实现“虚拟索引+物理标识”Cache;
在该配置的情况下运行一段程序,统计程序的运行时间,并与物理Cache进行比较,分析性能。
实验六 数据传输触发体系结构分析
1、实验目的
理解不同体系结构的特点与原理
2、方法原理
利用WinDEX模拟器、DLXview模拟器、SimpleScalar模拟器进行模拟分析。
3、主要实验仪器及材料
WinDEX模拟器、DLXview模拟器、SimpleScalar模拟器、微机
4、实验内容
互连网络和访存模型,SMP、MPP、机群、SVM等当代可扩放并行计算机体系结构,并行算法性能分析。
五、考核方法
1.学生在做实验之前,指导教师点名并检查预习报告,预习报告符合要求后方可进行实验;
2.实验完成后由指导教师验收,达到实验指标要求后,学生离开实验室;
3.学生实验报告按四个等级评分,实验成绩按20%比例计入理论课成绩。
六、实验指导书及主要参考书目
1、实验指导书
自编《计算机体系结构实验指导书》
2、 主要参考书
[1] Patterson D. A. and Hennessy J. L., Computer Architecture: A Quantitative Approach, 3rd edition, Morgan Kaufmann, 2002(机械工业出版社, 2002)
[2]尹朝庆,《计算机系统结构教程》,清华大学出版社,2005
[3]李学干,《计算机系统结构》(第三版),电子科技大学出版社,2005年
[4]徐炜民,《计算机系统结构》(第二版),电子工业出版社,2003年
主 撰 人:李芝成
审 核 人:刘伟群
2012.6