windlx使用详细教程.doc
文本预览下载声明
汕 头 大 学 实 验 报 告
学院: 工学院 系: 计算机系 专业: 计算机科学与技术 年级: 13 成绩:
姓名: 林子伦 学号: 座机电话号码30 完成实验时间: 2015.6.4
一.实验名称:winDLX实验报告
二.实验目的:
加深对流水线技术的理解
三.实验内容:
阅读老师提供的中文资料,结合课本及网络资源进一步了解流水线技术。
按照实验指导书给出的步骤全面、逐步完成实验内容。
四.实验时间、地点,设备:
实验时间:2015.6.4
实验地点:软件系统实验室
实验设备:win7 32位虚拟机五.实验记录(占本次实验成绩70%):
(记录重要的截图,给出必要的文字说明)
初始化程序:Reset All
载入程序:Load Code or Data…
双击fact.s、 input.s,把他们加载进去,然后点load
Code界面会出现你的代码段,register里面则是寄存器的数据,可以看到一开始的PC会自动加载到程序的开始位置0按F7单步执行代码(F5为持续执行,F8为多步执行,F4位指定执行
可以看到代码段(code)执行第一条指令标记为黄色,
此指令才时空图中(clock cycle diagram)看到第一条指令被编译(IF),
机器模块(pipeline)IF操作的是指令add r1,r0,0x1000
寄存器(register)中PC自动累加到了0
继续按F7运行程序
通过看代码发现第二条指令为jal跳转指令
第二条指令为橙色,进入了取址(ID)阶段,而IF段顺序执行了读取第三条指令,进行编译。
再按一次F7,这是执行了第二条指令(跳转指令),程序来到了0地方,IF段重新读取此指令,而原来进行到一半的第三条指令则被封存起来,aborted表示暂停的意思。
按F5运行,中间会出现一个窗口要输入数据
这里我们输入20.
点击Display DLX-I/O…观看结果
可以看到结果是2.4329+18
而看register窗口
可以发现这个数字是被保存在了D2中。
在程序运行中我们也可以通过添加标签来中断程序,操作为,在code界面点击一条指令。
然后点击code – Set breakpoint
就可以看到可以设置在该指令的某个段中断程序
设定的中断点会在窗口breakpoints中显示。
如果按F5持续运行整个程序,会在你设定的这个地方中断
定向技术使用在菜单栏configuration - Enable Forwarding
如果取消Forwarding,这周期数为236,暂停数为53
所以采用forwarding的速度会更加快
六.实验体会(占本次实验成绩30%):
(1)实验准备
什么是WinDLX?干嘛用的?
答:WinDLX 是一个基于 Windows 的 DLX 模拟器。,用来模拟计算机流水线
有没有同类型的软件?WinDLX的特点是什么?
答:有许多用来研究计算机系统结构的模拟器,如Simplescalar,SimOS,SPMCache,DLXview 等,WinDLX 相对来说比较简单,便于教学。
WinDLX有什么样的的指令格式、数据类型、寻址模式?
答
指令格式
I型(6位操作码+5位源寄存器5位目的寄存器16位立即数
R型(6位操作码+5位源寄存器5位源寄存器5位目的寄存器11位立即数
J型(6位操作码+26位与PC相加的偏移量
数据类型
寻址方式
实验的目的是什么?
通过运用windlx,熟悉流水线技术,加深对计算机运行的实际了解
(2)学习流水线技术后的体会
答采用了流水线技术尽可能的让计算机各个部件在每个时间下都有工作可做大大提高了计算机的运算速度与效率
(3)实验体会
通过本次实验我对上课教的流水线技术有了更直观的了解
第 8 页 2015-6-7
显示全部