西安邮电大学计算机系统结构实验2-流水线及流水线中的冲突
更新时间:2023-11-24 18:08:01 阅读量: 教育文库 文档下载
- 西安邮电大学计算机学院推荐度:
- 相关推荐
西 安 邮 电 大 学
(计算机学院)
课内实验报告
实验名称: 流水线及流水线中的冲突
专业名称: 计算机科学与技术 班 级: 学生姓名:
学号(8位): 指导教师:
实验日期: 2017年12月1日
实验2 流水线及流水线中的冲突
2.1 实验目的
(1)加深对计算机流水线基本概念的理解。
(2)理解MIPS结构如何用5段流水线来实现,理解各段的功能和基本操作。 (3)加深对数据冲突和资源冲突的理解,理解这两类冲突对CPU性能的影响。
(4)进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少数据冲突引起的停顿。
2.2 实验平台
指令级和流水线操作级模拟器MIPSsim。
2.3 实验内容和步骤
(1)启动MIPSsim。
(2)根据教材中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。(鼠标双击各段,即可看到各流水寄存器的内容)
(3)载入一个样例程序(在本模拟器所在文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、连续执行、设置断点等方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器内容的变化,特别是流水寄存器内容的变化。 (4)选择配置菜单中的“流水方式”选项,使模拟器工作于流水方式下。 (5)观察程序在流水方式下的执行情况,步骤如下:
1) 选择“文件”→“载入程序”,加载pipeline.s(在模拟器所在文件夹下的“样例程
序”文件夹中)。
2) 选择“配置”→“定向”(使该项前没有“√”),关闭“定向功能”。
3) 选择单步执行方式(在“执行”菜单中)或按F7来执行该程序,观察每一个周期
中,各段流水寄存器内容的变化、指令的执行情况(“代码”窗口)以及时钟周期图。
4) 当执行到第13个周期时,各段分别正在处理的指令是:
IF: LW $r4, 60($r6) ID: ADDI $r3,$r0,25 EX: ADDI $r1,$r1,-1 MEM: ADDI $r6,$r0,8 WB: ADD $r2,$r1,$r0 画出此时的时钟周期图。
(6)此时各流水寄存器的内容为:
IF/ID.IR: 2361655356 IF/ID.NPC: 48 ID/EX.A: 0 ID/EX.B: 0 ID/EX.Imm: 25 ID/EX.IR: 537067545 EX/MEM.ALUo: 4 EX/MEM.IR: 0 MEM/WB.LMD: 539099135 MEM/WB. ALUo: 8 MEM/WB.IR: 537264136
(7)观察和分析结构冲突对CPU的影响:
1) 加载structure_hz.s(在模拟器所在文件夹下的“样例程序”文件夹中)。 2) 执行该程序,找出存在结构冲突的指令对以及导致结构冲突的部件。
fADD指令,部件是浮点加法器
3) 记录由结构冲突引起的停顿周期数,计算停顿周期数占总执行周期数的百分比。
停顿周期总数35,总52占周期总数百分比67.30769% 4) 把浮点加法器的个数改为4个。 5) 再重复1-3的步骤。
6) 分析结构冲突对CPU性能的影响,讨论解决结构冲突的方法。
增加冲突部件的数量
(8)观察数据冲突并用定向技术来减少停顿:
1) 全部复位。
2) 加载data_hz.s(在模拟器所在文件夹下的“样例程序”文件夹中)。 3) 关闭定向功能(在“配置”菜单下选择取消“定向”)。
4) 用单步执行一个周期的方式执行该程序,观察时钟周期图,列出什么时刻发生了
RAW冲突。
4,6,7,9,10,13,14,17,18,20,21,25,26,28,29,32,33,36,37,39,40,44,45,47,48,51,52,55,56,58,59发生
5) 记录数据冲突引起的停顿周期数以及程序执行的总时钟周期数,计算停顿时钟周期
数占总执行周期数的百分比。
停顿周期数31 总时钟周期数65,占47.69231% 6) 复位CPU。 7) 打开定向功能。
8) 用单步执行一个周期的方式执行该程序,查看时钟周期图,列出什么时刻发生了
RAW冲突,并与步骤3)的结果比较。 5,9,13,17,21,25,29,33,37发生
比较发现通过定向技术降低了RAW冲突的数目.
9) 记录数据冲突引起的停顿周期数以及程序执行的总周期数。计算采用定向以后性能
比原来提高多少。 停顿周期数9,总周期数43 65/43=1.51提高1.51倍
2.4 实验结论
2.5 实验心得
2.6 实验思考:
下面是一段MIPS指令序列: 1 add $t1, $s1, $s0 2 sub $t2, $s0, $s3 3 add $t1, $t1, $t2
假定在本实验所用的五段流水线处理器中执行上述指令序列,请思考: (1)以上指令序列,哪些指令发生了数据相关?
(2)不采用“旁路”技术,需要在何处、加上几条nop指令才能使这段指令序列的执行避免数据冲突?
(3)如果采用“旁路”技术,是否可以完全解决数据冲突?不行的话,需要在何处、加上几条nop指令才能使这段指令序列的执行避免数据冲突?
(4)将自己的分析结果在仿真器上验证,充分理解“旁路”技术解决流水线数据冲突的思想。
正在阅读:
西安邮电大学计算机系统结构实验2-流水线及流水线中的冲突11-24
天水市战略性新兴产业研究报告04-13
伟大的父爱作文400字07-05
江苏省计算机10秋笔试试题12-09
新意的医学生简历模板12-24
生活中的奥秘作文500字06-17
2019高中地理 第4单元课时分层作业14 交通运输布局 鲁教版必修206-15
《诗经两首》教师案11-24
建筑思潮 - 图文03-03
藏在椰子里的爱作文600字07-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 流水线
- 西安
- 邮电
- 冲突
- 结构
- 实验
- 计算机
- 大学
- 系统
- 幼儿卫生保健期末复习题
- 说课稿
- 公交候车亭及广告位建设经营合同
- 固定资产练习题
- 生物化学名词解释--最新完整版
- 会计电算化技能测试题
- 新技术、新项目申请表、审批表及年(季度)工作报告表 - 图文
- 第八章 生殖系统 - 图文
- excel考试用试题
- 2015春五年级语文下册 14《傻二哥》教案 鄂教版
- 2&3G优化指导书 - 图文
- 历史趣谈:揭秘历史上真实的纣王其实并没有那么不堪
- 生命科学诺贝尔奖历年获奖者
- 金融学概论 04762
- 河南省建筑和装饰工程综合基价(2002)综合解释
- 数据库复习资料
- 2015年英朗品牌汽车在甘肃省保有量分析年报 - 图文
- 2016考研英语语法大全(语法看这个基本够了,适合打印)
- 《第2章 线性表及其应用》习题解答
- 四川大学2013– 2014年理论力学期末考试模拟题