欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机系统结构实验指导书.docx

    • 资源ID:1847595       资源大小:271.79KB        全文页数:72页
    • 资源格式: DOCX        下载积分:9金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机系统结构实验指导书.docx

    计算机系统结构实睑指导书段晓峰编著山东大学计算机科学与技术学院2004年3月前S计算机系统结构是计算机科学与技术专业的一门骨干课程,课程中讲授的许多内容诸如:指令流水线、向量计算、流水线的相关、并行计算、定向技术等内容比拟抽象,同学们在学习中会有些难度。为了使理论教学与实践教学紧密结合,注重学生的智力开发和能力培养,为了帮助大家学好这门课程,我们安排了计算机系统结构实验,希望同学们认真完成实验内容,增进对课程内容的理解,提高自己理论联系实际的能力,提高自己独立思考解决问题的能力。本实验采用了目前在世界上计算机系统结构实验教学过程中广泛采用的WinDLX模拟器,该模拟器把系统结构课程中许多抽象的东西变成实际的、便于同学们理解的内容。本实验中借鉴和引用了其他学校的经验和内容,在此表示感谢。山东大学计算机科学与技术学院殷晓峰2004.3WinDLX简介二.WinDLX存放器结构及指令集三.WinDLX教程四.实验考前须知及要求五.实验一熟悉WinDLX的使用六.实验二用WinDLX执行程序求最大公约数七.实验三用WinDLX模拟器完成求素数程序八.实验四结构相关九.实验五数据相关十.实验六指令调度实验七多处理机并行计算,WinDLX简介1. DLX流水线处理器DLX是贯穿本课程的一个流水线处理器实例,许多讨论、模拟结果和例题都是基于DLX的。它不仅表达了当今多种机器(AMD29K、DECstation3100、HP850、IBM801、Inteli860、MIPSM120A>MIPSM1000>Motorola88k、RISCI,SGI4D60,SPARCstation1、Sun4/110>Sun4/260等)指令集结构的共同特点,而且它还将会表达未来一些机器的指令集结构的特点。这些机器的指令集结构设计思想都和DLX指令集结构的设计思想十分相似,它们都强调:具有一个简单的LOad/Store指令集;注重指令流水效率;简化指令的译码;高效支持编译器。2. DLX模拟器-WinDLXWinDLX是一个基于Windows的DLX模拟器,用于模拟DLX流水线的工作过程。你可以灵活、方便地设置参数、控制执行、统计数据等。WinDLX提供了直观的窗口显示O我们将WinDLX模拟器及有关程序已放在实验用计算机上,同学们翻开XTJG文件夹通过双击WinDLxS图标,启动WinDLX即可。二.WinDLX存放器结构及指令集DLX中的寄存器32个通用寄存器<(GPRs)长度为32位/AXRO0-RTRsi32个浮点寄存器(FPRs)长度为32位/AFo、I:II32位单精度浮点数IFSlI>FO、64位双精度浮点数一些特殊的寄存器1DLX的数据类型DLX½供了多种长度的整型数据和浮点数据。rI8位I整型数据I16位III32位一rI32位单精度浮点数I浮点数据II64位双精度浮正薮图23. DLX的寻址方式和数据传送DLX的寻址方式和数据传送厂寄存器寻址j立即值寻址寻址方式、偏移寻址I寄存器间接寻址存储器通过寄存器和存储器之间的数据传送操作完成对存储器的访问寄存器III1图3由于DLX支持上述数据类型,所以对通用存放器而言,相应的存储器访问数据大小有8位、16位和32位;而对浮点存放器而言,相应的存储器访问数据大小有32位单精度浮点数)和64位双精度浮点数)。值得注意的是,DLX的所有存储器访问均需对齐。4. DLX的指令格式DLX的指令格式6.5516I类型指令I操作码C)PIrSIlrd|立即值字节、半字、字的载入和储存rd-rslOP立即值6.55511R类型指令操作码OPIrSIIrS2rdFunC寄存器寄存器ALUj集作:rd-rslFuncrs2函数对数据的操作进行编码:力、减对特殊寄存器的读/写和移动626J类型指令I操作码OPI与PC相加的偏移基跳转,跳转并链接,从异常处自陷和返回。图45. DLX中的操作DLX除了支持上面提到的一些简单操作之外,还支持其它一些操作。DLX指令中的操作可以分为四种类型,即:LOad和StOre操作、ALU操作、分支和跳转操作、浮点操作。在分别讨论这四种操作类型之前,请先阅读有关本课程中所采用的一些符号的约定。些约定一:数据传送操作<n:传送一个啦的数据#:表示两个域的串联操作域的下标:表明从该域中选择某一位O131RegsR40:选择寄存器R4中内容的符号位O1232431眼口I口I-IlX/RysR3m.3:寄存器R3中内容的最低一个字节上标:表示复制一个域。2,一|。|。|。|/得到一个24位全为0的城变量Mem:表示存储器中的一个数组存储器图5为了进一步说明上述约定表示方法的用途,现设R8和RlO均为32位存放器举例:RegsR106.3i-16(MemRegsR8o)8#MemRegsR8的含义是:以存放器R8的内容为地址,取出存储器单元内容,将该内容的第“0”位最高位)复制为八个“0”作为高八位再并上该存储单元内容,形成十六位数送存放器RlO的1631位。6. WinDLX指令综述(1) Load和Store操作:可以对DLX的所有通用存放器和浮点存放器进行Load载入)和Store储存)操作,但是对通用存放器RO的Load操作没有任何效果。表1给出了载入和储存指令的一些实例。表1DLX中Load和Store指令实例指令实例指令名称含义LWRl,30(R2)载入整型字RegsRl-32Mem30+RegsR2LWRl,1000(RO)载入整型字RegsRl-32Mem1000+0RegsRl-32(Mem4O+RegsR3o)24LBRl,40(R3)载入字节JJ#Mem40+RegsR3LBURl,40(R3)载入无符号字节RegsRl-32024#Mem40+RegsR3RegsRl-32(Mem4O+RegsR3o)16LHRl,40(R3)载入整型半字J#Mem40+RegsR3#Mem41+RegsR3LFFO,50(R3)载入单精度浮点RegsFO-32Mem50+RegsR3LDFO,50(R2)载入双精度浮点RegsFO#RegsFl-64Mem50+RegsR2SW500(R4),R3储存整型字Mem500+RegsR4-32RegsR3SF40(R3),FO储存单精度浮点Mem40+RegsR3-32RegsFOMem40+RegsR3-32RegSlT0SD40(R3),FO储存双精度浮点JJMem44+RegsR3-32RegsF1SH502(R2),R31储存整型半字Mem502+RegsR2-i6RegsR316.,3iSB41(R3),R2储存整型字节Mem41+RegsR3-8RegsR224.3i(2) ALU操作:在DLX中,所有的ALU指令都是存放器一存放器型指令,其运算包含了简单的算术和逻辑运算,如加、减、AND、OR、XoR和移位。另外,DLX还允许所有这些指令对立即值进行操作,立即值以16位符号扩展形式出现。LHMLOad高位立即值)操作将立即值载入到一个存放器的高半局部,而该存放器的低半局部那么设置为Oo这样就可以通过两条Load指令构造一个32位的常数。正如上面所提到的,RO主要用来合成一些有用的操作。比方,LOad一个常数就可以看作是一次简单的立即值加操作,其中一个源操作数是R0;存放器一存放器间的数据移动也可以看作是一次简单的加,其中一个源操作数是ROo这两个操作可以分别用LI和MOV表示。在DLX指令集中,还有一些存放器比拟指令二,<,>,三),如果比拟结果为真,这些指令就在目标存放器中填入1表示真),否那么填入0表示假)。因为这些比拟操作指令要对目标存放器进行“设置”,所以也称它们为设置相等、设置不等、设置小于等指令。DLX同样也提供了这些比拟指令的立即值形式,表2给出了ALU操作指令的一些实例。表2ALU指令实例指令实例指令名称含义AddRl,R2,R3加RegsRl-RegsR2+RegsR3ADDIRl,R2,#3和立即值相加RegsRl_RegsR2+3LHIRl,#42载入高位立即值RegsRl-42#O16SLLIRl,R2,#5逻辑左移的立即值形式RegsRl_RegsR2«5SLTRl,R2,R3设置小于if(RegsR2<RegsR3)RegsR1-1elseRegsRIO(3)分支和跳转操作:在DLX中,对程序流程的控制是通过一些跳转和分支指令来实现的。根据描述目标地址的方法和是否链接可以将跳转操作指令分为四种类型。其中两种类型的跳转指令用带符号位的26位偏移量加上程序计数器的值来确定跳转的目标地址,另外两种类型的跳转指令那么指定一个存放器,由存放器中的内容决定跳转的目标地址。跳转有两种类型,一种是简单跳转,另一种是跳转并链接用于过程调用),后者将返回一个地址,即将下一条顺序指令地址返回地址)保存在存放器R31中。DLX中的所有分支指令均是条件分支指令,其源操作数存放器中包含了一个数值或某个比拟结果。分支指令测试该源操作数存放器中的值是0还是非3决定分支是否成功。分支目标地址由一个带符号的26位偏移量加上程序计数器的值来确定,分支目的地址指向下一条要执行的指令。表3给出了一些典型的分支和跳转指令。表3典型的分支和跳转指令PC-name;Jname跳转(PC+4)-225)name(PC+4)+225)RegsR31-PC+4;PC-name;JALname跳转并链接(PC+4)-2255)name(PC+4)+225)RegsR31-PC+4;PC-JALRR2存放器型跳转并链接RegsR2;JRR3存放器型跳转PC-RegsR3;BEQZR4,name“等于0”分支if(RegsR4=0)PC-name;指令实例指令名称含义(PC+4)-215)name(PC+4)+215)if(RegsR4!=0)PC-name;BNEZR4,name“不等于0”分支(PC+4)-2i5)WnameW(PC+4)+2)(4)浮点操作:在DLX中,浮点指令的操作数来源于浮点存放器,同时该浮点指令还指明了相应的操作是单精度浮点操作还是双精度浮点操作。DLX的浮点操作有:力口、减、乘、除。后缀D代表双精度浮点操作,而后缀F代表单精度浮点操作如:ADDD、ADDF、SUBD、SUBF、MULTDMU

    注意事项

    本文(计算机系统结构实验指导书.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开