ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:93.50KB ,
资源ID:3831079      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3831079.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术实验指导书.doc)为本站会员(创****公)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

微机原理与接口技术实验指导书.doc

1、Win-DLX 计算机系统结构课程设计教程徐洁 王华 编电子科技大学计算机学院2006 年 5 月1目 录实验一 熟悉 WinDLX 的使用.2实验二 结构相关.4实验三 数据相关. .6实验四 指令调度.8附录 实验报告.102实验一 汇编源程序的上机调试操作基础训练一实验目的:通过本实验,熟练掌握 WinDLX 模拟器的操作和使用,熟悉 DLX 指令集结构及其特点。二实验内容:(一)WinDLX 的安装:1. WinDLX 是一个基于 Windows 的模拟器, 能够演示 DLX 流水线是如何工作的。WinDLX 包含 windlx.exe 和 windlx.hlp 文件。同时,还需要一些

2、扩展名为.s 的汇编代码文件。按以下步骤在 Windows 下安装 WinDLX:1 WinDLX 创建目录,例如 D:WINDLX2 解压 WinDLX 软件包或拷贝所有的 WinDLX 文件(至少包含 windlx.exe, windlx.hlp)到这个 WinDLX 目录。2. 启动和配置 WinDLX:双击 WinDLX 图标,将出现一个带有六个图标的主窗口,双击这些图标会弹出子窗口.为了初始化模拟器, 点击 File 菜单中的 Reset all 菜单项,弹出一个“ResetDLX”对话框。然后点击窗口中的“确认”按钮即可。(二)程序介绍1. 求阶乘程序 fact.s这个程序说明浮点

3、指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。3该程序中调用了 input.s 中的输入子程序,这个子程序用于读入正整数。2. 程序 gcm.sgcm.s 程序从标准输入读入两个整数,求他们的 greatest common measure,然后将结果写到标准输出。3. 求素数程序 prim.sprim.s 程序计算若干个整数的素数。三实验要求:实验前要做好充分准备,包括 WinDLX 安装与调试步骤、程序运行方法,以及对模拟结果的分析等。四试验步骤1启动 WinDLX 模拟器 .装入测试程序之前,先初始化 WinDLX.2以运行求阶乘程序 fact.s 为例, 选择 F

4、ile / Load Code or Data,按如下步骤操作,可将 fact.s 和 input.s 这两个程序装入主存:将 fact.s 和 input.s 拷贝到 WinDLX 目录, 点击 fact.s 点击 select 按钮 点击 input.s 点击 select 按钮 点击 load 按钮3点击主窗口中的 Execution 开始运行。4程序 gcm.s 和 prim.s 的运行过程同上。五. 试验报告:通过上述使用 WinDLX,总结 WinDLX 的特点。4实验二 结构相关一实验目的:通过本实验,加深对结构相关的理解,了解结构相关对 CPU 性能的影响。二实验内容:1. 用

5、 WinDLX 模拟器运行程序 structure_d.s 。2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。3由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。4论述结构相关对 CPU 性能的影响,讨论解决结构相关的方法。三实验原理:结构相关是指因为程序的执行方向可能被改变而引起的相关。可能改变程序执行方向的指令通常有无条件转移、一般条件转移、复合条件转移、子程序调用、中断等。1无条件转移无条件转移指令一般能够在指令分析器中就执行完成,因此一般对指令执行部件的工作不会造成影响。2条件转移条件转移指令有两种:一般条件转移指令和复合条件转移指令。对于一般条

6、件转移指令,相关最严重的情况发生在条件码是上一条指令产生的。转移不成功对先行控制器的影响不大,而转移成功时,不仅指令执行过程变成了完全串行,而且要作废已经取到先行指令缓冲栈中的大量指令,从而白白增加了处理机与主存之间的通信量。对于复合条件转移指令,如果转移不成功,则就象一条普通的运算型指令一样。如果转移成功,不仅要全部或部分作废先行指令缓冲栈中已经预取的指令,还可能要作废先行操作栈中的指令和先行读数栈中的操作数,作废当前在指令分析器中分析的指令。四WinDLX 的窗口配置:1Statistics 窗口:将待运行程序装入主存后按 F5 使程序完成执行,出现消息“Trap #0 occurred“

7、 表明最后一条指令 trap 0 已经执行, Trap 指令中编号“0”没有定义,只是用来5终止程序。双击图标 Statistics。Statistics 窗口提供各个方面的信息:模拟中硬件配置情况、暂停及原因、条件分支、 Load/Store 指令、浮点指令和 traps。窗口中给出事件发生的次数和百分比。2WinDLX 可以在多种配置下工作。你可以改变流水线的结构和时间要求、存储器大小和其他几个控制模拟的参数。点击 Configuration / Floating Point Stages(点击 Configuration 打开菜单,然后点击 Floating Point Stages 菜

8、单项) ,选择如下标准配置:Count DelayAddition Units: 1 2Multiplication Units: 1 5Division Units: 1 19点击 Configuration / Memory Size ,可以设置模拟处理器的存储器大小。应设置为0x8000,然后,点击 OK 返回主窗口。在 Configuration 菜单中的其他三个配置也可以设置,它们是:Symbolic addresses, Absolute Cycle Count 和 Enable Forwarding。 点击相应菜单项后, 在它的旁边将显示一个小钩。五实验要求:实验前要做好充分准备

9、,包括 WinDLX 安装与调试步骤、程序运行方法,以及对模拟结果的分析等。六实验报告:1、程序运行说明。2、存在结构相关的指令对以及导致结构相关的部件说明。3、查看 Statistics 窗口中的各种统计数字,记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 6实验三 数据相关一 实验目的通过本实验,加深对数据相关的理解,掌握如何使用定向技术来减少数据相关带来的暂停。二实验内容1在不采用定向技术的情况下(通过 Configuration 菜单中的 Enable Forwarding选项设置),用 WinDLX 模拟器运行程序 data_d.s 。4记录数据相关引

10、起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。5采用定向技术的情况下,用 WinDLX 模拟器再次运行程序 data_d.s。三实验要求:实验前要做好充分准备,包括 WinDLX 安装与调试步骤、程序运行方法,以及对模拟结果的分析等。四实验原理:1三种数据相关:“先读后写”、“先写后读”和“写-写”相关。2在流水线中建立专用数据路径来避免数据相关的基本原理是数据重定向。五WinDLX 的窗口配置:1Statistics 窗口:将待运行程序装入主存后按 F5 使程序完成执行,出现消息“Trap #0 occurred“ 表明最后一条指令 trap 0 已

11、经执行, Trap 指令中编号 “0”没有定义,只是用来终止程序。双击图标 Statistics。Statistics 窗口提供各个方面的信息:模拟中硬件配置情况、暂停及原因、条件分支、 Load/Store 指令、浮点指令和 traps。窗口中给出事件发生的次数和百分比。2Code 窗口:双击图标 Code,你将看到代表存储器内容的三栏信息,从左到右依次为:地址 (符号或数字 )、命令的十六进制机器代码和汇编命令。点击主窗口中的 Execution 开始模拟。在出现的下拉式菜单中,点击 Single Cycle 或按 F7 键,模拟就向前执行一步。3Breakpoint 窗口:当通过 Cod

12、e 窗口观察代码时 (如果未打开,双击图标 Code),你会看到接下来的几条指令几近一样,它们都是 sw-操作:将寄存器中的数写入存储器中。重复按 F7 将7很枯燥,因此,我们使用断点加快此过程。现在,请指向 Code 窗口中包含命令 trap 0x5 的 0x0000015c 行,此命令是写屏幕的系统调用。单击命令行,然后点击主窗口菜单 Code,单击 Set Breakpoint (确保命令行仍被标记!) ,将弹出一个新的“Set Breakpoint“ 窗口。通过此窗口,你可以选择命令运行到流水线的哪一阶段时,程序停止执行。缺省为 ID 段。点击 OK 关闭窗口。在Code 窗口中, t

13、rap 0x5行上出现 了“BID“ ,它表示当本指令在译码段时,程序中止执行。如果想查看已定义的断点,你只要单击图标Reakpoints,将弹出一个小窗口,其中显示了所有断点。重新使窗口图标化。现在你只要点击Execution / Run 或按F5,模拟就继续运行。会出现一个对话框提示你“ID-Stage: reached at Breakpoint #1“,按“确认 ”按钮关闭。点击Clock cycle diagram窗口中的trap 0x5行,你将看到模拟正处于时钟周期14。trap 0x5行如下所示:原因是:无论何时遇到一条trap指令时,DLX 处理器中的流水线将被清空。在Info

14、rmation 窗口(双击 trap行弹出)中,在IF段 显示消息“3 stall(s) because of Trap-Pipeline-Clearing!“。 (不要忘了按OK关闭窗口)。指令 trap 0x5 已经写到屏幕上,你可以通过点击主窗口菜单条上的 Execute / Display DLX-I/O 来查看。六实验报告:1程序 data_d.s 装入主存运行后记录下 Statistics 窗口中的各种统计数字:总的周期数和暂停数( RAW ,Control,Trap ,Total) ,然后关闭窗口。2 点击 Configuration 中的 Enable Forwarding 使

15、定向无效(去掉小钩),打开断点 Breakpoints 图标并点击 Breakpoints 菜单,删除所有断点,然后按 F5,键入 20 后,按 Enter ,程序一直运行到结束。3 再次打开 Statistics 窗口,记下新的统计数字。计算暂停时钟周期数占总执行周期数的百分比。计算采用定向技术后性能提高的倍数。8实验四 指令调度一实验目的通过本实验,加深对指令调度的理解,了解指令调度技术对 CPU 性能改进的好处。二实验内容1. 通过 Configuration 菜单中的“Floating point stages”选项,把除法单元数设置为 3,把加法乘法除法的延迟设置为 3 个时钟周期。

16、2. 用 WinDLX 模拟器运行调度前的程序 sch-before.s 。记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。3. 用 WinDLX 模拟器运行调度后的程序 sch-after.s ,记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。4. 根据记录结果,比较调度前和调度后的性能。5. 论述指令调度对于提高 CPU 性能的意义。三实验要求:实验前要做好充分准备,包括 WinDLX 安装与调试步骤、程序运行方法,以及对模拟结果的分析等。四实验原理:在非线形流水线中,由于存在有反馈回路,当一个任务在流水线中流过时,在同一个功能段中可能要经过多次。因此不能每

17、一个时钟周期向流水线输入一个新任务,否则会发生在同一个时刻有几个任务争用同一个功能段的情况。这种情况称为功能部件冲突,或流水线冲突。为了避免冲突,一般采用延迟输入新任务的方法。应该间隔多少时钟周期向流水线输入一个新任务就是非线性流水线的调度问题。非线性流水线调度的就是找出一个最小的循环周期,按照这周期向流水线输入新任务,流水线的各个功能段都不会发生冲突,而且流水线的吞吐率和效率最高。五WinDLX 的窗口配置:点击 Configuration / Floating Point Stages(点击 Configuration 打开菜单,然后点9击 Floating Point Stages 菜单

18、项) ,选择如下标准配置:Count DelayAddition Units: 1 2Multiplication Units: 1 5Division Units: 1 19在本实验中,将标准配置更改为以下配置:Count DelayAddition Units: 1 3Multiplication Units: 1 3Division Units: 3 3六实验报告:1将程序 sch-before.s 装入主存后运行后,记录程序运行过程中各种相关发生的次数以及程序执行的总时钟周期数。2将程序 sch-after.s 装入主存后运行后,记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。3根据记录结果,比较调度前和调度后的性能。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。