求素数程序prim.s计算机体系结构_第1页
求素数程序prim.s计算机体系结构_第2页
求素数程序prim.s计算机体系结构_第3页
求素数程序prim.s计算机体系结构_第4页
求素数程序prim.s计算机体系结构_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告课程名称计算机体系结构实验工程__WinDLX模拟器实验_实验仪器个人计算机系别_计算机学院__专业___网络工程班级/学号网工0903/2009011422学生姓名_______张昭_______实验日期______________________成绩______________________指导教师______侯凌燕_________WinDLX模拟器实验实习目的:通过使用WINDLX模拟器,对程序中的三种相关原理进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。实习环境:WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的存放器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。WinDLX要求的硬件平台是IBMPC兼容机,WinDLX是一个Windows应用程序,运行于Windows3.0以上的操作系统。WinDLX软件包中带有说明文件,供安装程序时候使用。软件包中还有WinDLX教程和联机帮助,可以通过它们进一步了解模拟器的使用方法和DLX处理器的原理。大家在进行模拟实验以前应该仔细阅读这些文档。实习步骤:1.一.用WinDLX模拟器执行以下三个程序〔按照最后一位学号除3的余数选择〕:l求素数程序prim.s〔余数为2〕分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中存放器和存储器的内容。熟练掌握WinDLX的操作和使用。Prim.s程序的源代码:;***********WINDLXExp.2:Generateprimenumbertable*************;***********(c)1991G黱therRaidl *************;***********Modified1992MaziarKhosravipour *************;-------------------------------------------------------------------;Programbeginsatsymbolmain;generatesatablewiththefirst'Count'primenumbersfrom'Table';------------------------------------------------------------------- .data ;***sizeoftable .global CountCount: .word 10 .global TableTable: .space Count*4 .text .global mainmain: ;***Initialization addi r1,r0,0 ;IndexinTable addi r2,r0,2 ;Currentvalue ;***Determine,ifR2canbedividedbyavalueintableNextValue: addi r3,r0,0 ;HelpindexinTableLoop: seq r4,r1,r3 ;EndofTable? bnez r4,IsPrim ;R2isaprimenumber lw r5,Table(R3) divu r6,r2,r5 multu r7,r6,r5 subu r8,r2,r7 beqz r8,IsNoPrim addi r3,r3,4 j LoopIsPrim: ;***WritevalueintoTableandincrementindex sw Table(r1),r2 addi r1,r1,4 ;***'Count'reached? lw r9,Count srli r10,r1,2 sge r11,r10,r9 bnez r11,FinishIsNoPrim: ;***Checknextvalue addi r2,r2,1 ;incrementR2 j NextValueFinish: ;***end trap 0步进:连续:设置断点:

〔1〕观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。

〔2〕考察增加浮点运算部件对性能的影响。

〔3〕考察增加forward部件对性能的影响。

〔4〕观察转移指令在转移成功和转移不成功时候的流水线开销。2.在不采用定向技术的情况下〔去掉Configuration菜单中EnableForwarding选项前的勾选符〕,用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。改变前:改变后:不采用重新定向技术,我们得到的结果采用定向技术,我们得到的结果:数据相关引起的暂停时钟周期总数、程序执行的总时钟周期数、计算暂停时钟周期数占总执行周期数的百分比:总的周期数〔2605〕,暂停数〔2021〕百分比:2021/2605=77.58%〔采用定向技术〕总的周期数〔3194〕,暂停数〔2334〕百分比:2334/3194=73.07%〔不采用定向技术〕数据相关:Addir1,r0,0x0Addir2,r0,0x2Addir3,r0,0x0Seqr4,r1,r3Bnezr4,lsprimLwr5,table(r3)Divur6,r2,r5Multur7,r6,r5Subur8,r2,r7Beqzr8,lsnoprimAddir3,r3,0x4IloopSwtable(r1),r2Addir1,r1,0x4Lwr9,$data(r0)Srlir10,r1,2Sger11,r10,r9Bnezr11,finishAddir2,r2,0x1InextvalueTrap0x0nop结构相关:Instructions/cyclesSwtable(r1),r2Addir1,r1,0x4Lwr9,$data(r0)Srlir10,r1,2Sger11,r10,r9Bnezr11,finishAddir2,r2,0x1Trap0x0nop1.分析并写出此时全部数据相关的指令、原因、流水线停顿截图、暂停时钟周期数〔循环的只写一轮〕所有截图如上〔截图为整个循环〕2.数据相关引起的暂停时钟周期数、程序执行的总时钟周期数、计算采用定向技术后性能提高的倍数。总的周期数〔2605〕,暂停数〔2021〕百分比:2021/2605=77.58%〔采用定向技术〕总的周期数〔3194〕,暂停数〔2334〕百分比:2334/3194=73.07%〔不采用定向技术〕性能提高倍数:3194/2605-1=22.61%3.在程序逐步执行过程中,对于ClockCycleDiagarm窗口中出现的一些箭头,可否给出一些解释?在Clockcyclediagram窗口中,有时候还可以看到在指令之间出现了红和绿的箭头。红色箭头表示需要一个暂停,箭头指向处显示了暂停的原因。R-Stall〔R-暂停〕表示引起暂停的原因是RAW。绿色箭头表示定向技术的使用。4.对于产生相关的一些程序,可否有什么方法来防止这些相关?可以考虑采用资源重复的方法,比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论