计算机体系结构课程实验课件

PPT
  • 阅读 30 次
  • 下载 0 次
  • 页数 29 页
  • 大小 894.500 KB
  • 2022-11-13 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档8.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
计算机体系结构课程实验课件
可在后台配置第一页与第二页中间广告代码
计算机体系结构课程实验课件
可在后台配置第二页与第三页中间广告代码
计算机体系结构课程实验课件
可在后台配置第三页与第四页中间广告代码
计算机体系结构课程实验课件
计算机体系结构课程实验课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 29
  • 收藏
  • 违规举报
  • © 版权认领
下载文档8.00 元 加入VIP免费下载
文本内容

【文档说明】计算机体系结构课程实验课件.ppt,共(29)页,894.500 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-5413.html

以下为本文档部分文字说明:

计算机体系结构课程实验——流水线篇12019-3-162019-3-16第1页,共29页。主要内容实验目的实验原理实验平台WinDLX实验内容实验步骤实验要求2ComputerArchitecture---Pipeline第2页,共29页。实验目的通过该模拟实验

,进一步掌握和巩固的流水线基本知识;初步掌握在特定体系结构下的汇编代码的编写和优化;培养运用所学知识解决实际问题的能力。3ComputerArchitecture---Pipeline第3页,共29页。实验原理(1/4)流水线执行过

程指令1IF(取指)ID(译码)EX(执行)MEM(访存)WB(写回)指令2指令3指令4执行时间4ComputerArchitecture---Pipeline第4页,共29页。实验原理(2/4)流水线中的相关问题结构相关数据相关RAW/WAR/WAW

控制相关硬件资源不够条件分支或跳转指令5ComputerArchitecture---Pipeline第5页,共29页。实验原理(3/4)定向技术在发生数据相关时,等待前面计算结果的指令并不一定真的马上就用到该计算结果,如果

能够将该计算结果从其产生的地方直接送到其他指令需要它的地方,就可以避免暂停。循环展开是一种牺牲程序的尺寸来加快程序的执行速度的优化方法。可以由程序员完成,也可由编译器自动优化完成。循环展开通过将循环体代码复制多次实现。循环展开能够增大指令调度的空间,减少循环分

支指令的开销。循环展开可以更好地实现数据预取技术。6ComputerArchitecture---Pipeline第6页,共29页。实验原理(4/4)流水线性能评价加速比吞吐率效率7ComputerArchitecture---Pipeline第7页,共29页。实

验平台——WinDLX8ComputerArchitecture---Pipeline第8页,共29页。实验平台WinDLX的使用步骤安装配置浮点段配置存储器配置模拟代码载入程序推进机器状态的查看9ComputerArchi

tecture---Pipeline第9页,共29页。WinDLX模拟器安装WinDLX包含windlx.exe和windlx.hlp文件。同时,还需要一些扩展名为.s的汇编代码文件。本次实验课将使用fact.s和input.s这两个汇编代码文件。WinDLX的安装非常简单,只要将WinD

LX1.3文件夹拷贝到一个不含中文路径的目录下即可,假设将其拷贝到D盘下,然后双击执行里面的windlx.exe,就可进入Windlx模拟器。10ComputerArchitecture---Pipelin

e第10页,共29页。开始和配置WinDLX为了初始化模拟器,点击File菜单中的Resetall菜单项,弹出一个“ResetDLX”对话框。然后点击窗口中的“确认”按钮即可。11ComputerArchitecture---Pipel

ine第11页,共29页。开始和配置WinDLXWinDLX可以在多种配置下工作。可以改变流水线的结构和时间要求、存储器大小和其他几个控制模拟的参数。12ComputerArchitecture---Pipeline第12页,共29页。装载测试程序在开始模

拟之前,至少应装入一个程序到主存。我们选fact.s为例,fact.s计算一个整型值的阶乘;它的运行还需要一个辅助文件input.s,input.s中包含一个子程序,它读标准输入(键盘)并将值存入DLX处理器的通用寄存器R1中。按如下步骤操作,可将这两个文件

装入主存。为此,选择File/LoadCodeorData,窗口中会列出目录中所有汇编程序。按如下步骤操作,可将这两个文件装入主存。13ComputerArchitecture---Pipeline第13页,共29页。装载测试程序点击fact.s点击s

elect按钮点击input.s点击select按钮点击load按钮选择文件的顺序很关键,它决定了文件在存储器中出现的顺序。对话框中会显示信息“File(s)loadedsuccessfully.ResetDLX?”,点击“是”按钮确认。这样,文件就已被装入到主存储器中了。

14ComputerArchitecture---Pipeline第14页,共29页。Pipeline窗口DLX执行指令的流水线是一个5段流水线,包括取指段(IF)、译码段(ID)、执行段(EX)、访存段(MEM)和写回段(WB)。15ComputerArchitecture--

-Pipeline第15页,共29页。Code窗口Code窗口显示的内容是两个程序(fact.s和input.s)加载到内存中的情况。从左到右依次为:地址(符号或数字)、命令的十六进制机器代码和汇编

命令。16ComputerArchitecture---Pipeline第16页,共29页。ClockCycleDiagram窗口它显示流水线的时空图。17ComputerArchitecture---Pipeline第17页,共29页。ClockCycleDiagram窗口

在Clockcyclediagram窗口中,有时候还可以看到在指令之间出现了红和绿的箭头。红色箭头表示需要一个暂停,箭头指向处显示了暂停的原因。R-Stall(R-暂停)表示引起暂停的原因是RAW。绿色箭头表示定向技术的使用。18Com

puterArchitecture---Pipeline第18页,共29页。Breakpoint窗口当重复按F7执行代码很枯燥时,我们可以通过设置断点来加快此过程。该窗口详细的显示了我们设置的断点的信息。19ComputerArchitecture-

--Pipeline第19页,共29页。Register窗口DLX的全部寄存器及其内容。20ComputerArchitecture---Pipeline第20页,共29页。Statistics窗口Stati

stics窗口提供各个方面的信息:模拟中硬件配置情况、暂停及原因、条件分支、Load/Store指令、浮点指令和traps。窗口中给出事件发生的次数和百分比,如RAWstalls:17(7.91%ofallCycles)。21ComputerArch

itecture---Pipeline第21页,共29页。DLX的汇编语法DLX的汇编语法(1/2)伪指令.data[address].text[address].globallabel.wordword1,word2,….sp

acesize.double常数、运算符…………指令访存类、寄存器操作、算术类、逻辑类、控制流转移WinDLX的Trap机制一般地,指令(code)均被导入$CODE(起始地址为0x100)而数据(dat

a)则被导入$DATA(起始地址为0x1000)22ComputerArchitecture---Pipeline第22页,共29页。DLX汇编的例子DLX的汇编语法(2/2)例子.dataadder1:.wor

d7adder2:.word16result:.space4.text.globalmainmain:lwr2,adder1lwr3,adder2addr1,r2,r3swresult,r1trap0;finish23Comput

erArchitecture---Pipeline第23页,共29页。实验内容(1/2)3×3矩阵乘法编写矩阵积源程序;手工优化。例如:在流水线各种资源配置下观察程序运行状态。lwr3,adder1addr

1,r2,r3addr5,r6,r7lwr3,adder1addr5,r6,r7addr1,r2,r324ComputerArchitecture---Pipeline第24页,共29页。实验内容(2/2)观察程序中出现的数据/控制/结构相关,指出导致上述现象的指令组合考察增加定向(forw

arding)部件对性能的影响观察转移指令在转移成功和转移不成功时候的流水线开销手工优化程序(没有分支延迟槽)分析程序的吞吐率、加速比和效率25ComputerArchitecture---Pipeline第25页,共29

页。实验步骤学习WinDLX软件使用;学习DLX汇编程序的编写;编写3×3矩阵乘法汇编源程序;将程序在WinDLX上运行调试;观察程序中出现的数据/控制/结构相关;优化代码(在有定向功能和无定向功能两种情况下),尽量消除相关引起的暂

停;对优化后的代码重新模拟,并观察优化效果;分析实验结果,书写实验报告。26ComputerArchitecture---Pipeline第26页,共29页。实验要求实验报告要求包括:1.程序源代码2.实

验结果、实验分析、优化过程、性能分析3.简单谈谈自己对流水线技术的认识提交形式:实验源代码+实验报告(Word编辑)文件夹命名格式:学号1_姓名1(例如:04060006_邓明堂)27ComputerArchite

cture---Pipeline第27页,共29页。检查方式查看代码查看运行解释各种相关发生的情况及优化手段查看统计信息28ComputerArchitecture---Pipeline第28页,共29页。谢谢292019-3-162019-3

-16第29页,共29页。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?