欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

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

    • 资源ID:1869190       资源大小:271.79KB        全文页数:72页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入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、MULTDMULTF>DIVD,DIVF)o值得提出的是,DLX的浮点比拟操作设置浮点状态存放器中的位,如果比拟结果为真,那么将该位设置为1;如果比拟结果为假,那么将该位设置为Oo浮点分支指令BFPT和BFTF那么测试该存放器的值来决定分支是否成功。另外,操作MOVF将一个单精度浮点存放器的内容拷贝至另一个单精度浮点存放器;MOVD那么将一个双精度浮点存放器的内容拷贝至另一双精度存放器;M0VFP2I和M0VI2FP操作那么是在一个浮点存放器和通用存放器之间移动数据,如果要将一个双精度浮点数移入两个通用存放器那么需要两条指令,另外DLX还提供了在32位浮点存放器中进行整数乘除操作的指令。表4列出了DLX所有指令及其含义。为了明确哪些指令是最常用的,分别用SPECint92和SPECfp92基准程序集对DLX进行统计,可以分别得到表5和表6的指令使用频率测试统计结果。对于测试统计结果中使用频率大于1%的指令,以直方图的形式分别表示在图6和图7中。指令使用频率的整型平均doducDearOhyro2drodljdp2Osu2cor指令使用频率的浮点平均移位浮点寄存器移动浮点比较浮点减浮点加条件分支部点储存整型加浮点乘浮点载入0.00«5.00«10.00%15.00%20.00%25.00%表4DLX中的所有指令及其含义指令实例指令名称含义LB,LBU,SB载入字节,载入无符号字节,储存字节LH,LHU,SH载入半字,载入无符号半字,储存半字LW,SW数据传送LF,LD,SF,SD载入字,储存字载入单精度浮点,载入双精度浮点,储存单精度浮点,储存双精度浮点将通用存放器中的内容移入特殊存放器,将特殊MOVI2S,MOVS2I存放器中的内容移入通用存放器将一个单精度/双精度浮点存放器的内容拷贝到MOVF,MOVD另一个单精度/双精度浮点存放器将32位浮点存放器中的内容移入整型存放器,M0VFP2I,M0VI2FP将32位整型存放器中的内容移入浮点存放器将32位浮点存放器中的内容移入整型存放器,ADD,ADDI,ADDU,ADDUI将32位整型存放器中的内容移入浮点存放器带符号加,带符号立即值加,无符号加,无符号SUB,SUBI,SUBU,SUBUI立即值加带符号减,带符号立即值减,无符号减,无符号MULT,MULTU,DIV,DIVU立即值减算术/逻辑带符号乘,无符号乘,带符号除,无符号除与,AND,ANDI和立即值与OR,ORI,X0R,XORI或,和立即值或,异或,和立即值异或LHI载入高位立即值SLL,SRL,SRA,包含了立即值和变量SJ的移位操作,SLLI,SRLI,SRAI移位有:逻辑左移,逻辑右移和算术右移S_,S_I设置条件,1'可以是LT,GT,LE,GE,EQ,NEbeqz,bnez根据指定通用存放器的内容等于/不等于O分支测试浮点状态存放器中的比拟位为真/假进行分BFPT,BFPF支控制JJR跳转,基于存放器的跳转JAL,JALR跳转并链接,基于存放器的跳转并链接TRAP转换到操作系统RFE从异常恢复用户模式ADDD,ADDF双精度浮点加,单精度浮点加SUBD,SUBF双精度浮点减,单精度浮点减浮点MULTD,MULTF双精度浮点乘,单精度浮点乘DIVD,DIVF双精度浮点除,单精度浮点除CVTF2D,CVTF2I,CVTD2F,CTD2I,CVTI2F,CVTI2D_D,_FGT、LE、GE、EQ、NE,根据比拟结果设置浮转换指令,CVTx2y表示从类型X转换到类型y,其中X和y可以是I整型、D双精度浮点、F单精度浮点双精度浮点和单精度浮点比拟,可以是LT、点状态存放器中的位表5基于SPECint92基准程序集的指令使用频率测量统计结果指令compresseqntottEspressogcc(ccl)Ii整型平均载入19.8%30.6%20.9%22.8%31.3%26%存储5.6%0.6%5.1%14.3%16.7%9%加14.4%8.5%23.8%14.6%11.1%14%减1.8%0.3%0.5%0%乘0.1%0%除0%比拟15.4%26.5%8.3%12.4%5.4%13%载入立即值8.1%1.5%1.3%6.8%2.4%3%条件分支17.4%24.0%15.0%11.5%14.6%16%无条件分支1.5%0.9%0.5%1.3%1.8%1%调用0.1%0.5%0.4%1.1%3.1%1%返回,跳转0.1%0.5%0.5%1.5%3.5%1%移位6.5%0.3%7.0%6.2%0.7%4%与2.1%0.1%9.4%1.6%2.1%3%或6.0%5.5%4.8%4.2%6.2%5%其它1.0%2.0%0.5%0.1%1%异或,非载入浮点数0%储存浮点数0%浮点加0%浮点减0%浮点乘0%浮点除0%浮点比拟0%浮点存放器移动0%其它浮点操作0%表6基于SPECfp92基准程序集的指令使用频率测量统计结果指令doducearhydro2dmdljdp2su2cor整型平均载入1.4%0.2%0.1%1.1%3.6%1%存储1.3%0.1%0.1%1.3%1%加13.6%13.6%10.9%4.7%9.7%11%减0.3%0.2%0.7%0%乘0%除0%比拟3.2%3.1%1.2%0.3%1.3%2%载入立即值2.2%0.2%2.2%0.9%1%条件分支8.0%10.1%11.7%9.3%2.6%8%无条件分支0.9%0.4%0.4%0.1%0%调用0.5%1.9%0.3%1%返回,跳转0.6%1.9%0.3%1%移位2.0%0.2%2.4%1.3%2.3%2%与0.4%0.1%0.3%0%或0.2%0.1%0.1%0.1%0%载入浮点数23.3%19.8%24.1%25.9%21.6%23%储存浮点数5.7%11.4%9.9%10.0%9.8%9%浮点加8.8%7.3%3.6%8.5%12.4%8%浮点减3.8%3.2%7.9%10.4%5.9%6%浮点乘12.0%9.6%9.4%13.9%21.6%13%浮点除2.3%1.6%0.9%0.7%1%浮点比拟4.2%6.4%10.4%9.3%0.8%6%浮点存放器移动2.1%1.8%5.2%0.9%1.9%2%其它浮点操作2.4%8.4%0.2%0.2%1.2%2%0%其它异或,非)7. DLX指令addEx:addrl,r2,r3RregcRrega+RregbAllaresignedintegers.adddEx:adddf4,f4,f6Ddregc-Ddrega+DdregbAllaredoubleprecisionfloatingpointnumbers.addfEx:addff3,f4,f5Ffregc-Ffrega+FfregbAllaresingleprecisionfloatingpointnumbers.addiEx:addir5,r2,#5Rregb-Rrega+imml6Allaresignedintegers.adduEx:addur2,r3,r4Rregc-Rrega+RregbAllareunsignedintegers.adduiEx:adduir2,r3,#28Rregb-Rrega+uimml6Allareunsignedintegers.andEx:andr2,r3,r4Rregc-Rrega&RregbAllareunsignedintegers.Logical,and,isperformedonabitwisebasis.andiEx:andir3,r4,#5Rregb-Rrega&uimml6Allareunsignedintegers.Logical,and,isperformedonabitwisebasis.beqzEx:beqzrl,labelif(Rrega=0)PC-PC+imml6+4bfpfEx:bfpflabelif(fps=0)PC-PC+imml6+4fpsisthefloatingpointstatusbit.bfptEx:bfptlabelif(fps=1)PC-PC+imml6+4fpsisthefloatingpointstatusbit.bnezEx:bnezrl,labelif(Rrega!=0)PC-PC+imml6+4cvtd2fEx:cvtd2ffl,f4Ffregc(float)DdregaConvertsdoubleprecisionfloatingpointvaluetosingleprecisionfloatingpointvalue.cvtd2iEx:cvtd2ifl,fFfregc(int)DdregaConvertsdoubleprecisionfloatingpointvaluetointeger.CVtf2dEx:cvtf2df4,f9Ddregc(double)FfregaConvertssingleprecisionfloattodouble.cvtf2iEx:CVtf3,f4Ffregc(int)FffregaConvertssingleprecisionfloattointeger.cvti2dEx:cvti2df2,f9Ddregc(double)FfregaConvertsasignedintegertodoubleprecisionfloat.cvti2fEx:cvti2ff2,f5Ffregc(float)FfregaConvertsasignedintegertosingleprecisionfloat.divEx:divf2,f2,f3Ffregc-Ffrega/FfregbAllaresignedintegers.divdEx:divdf4,f4,f6Ddregc-Ddrega/DdregbAllaredoubleprecisionfloats.divfEx:divff2,f3,f6Ffregc-Ffrega/FfregbAllaresingleprecisionfloats.divuEx:divuf2,f3,f4Ffregc-Ffrega/FfregbAllareunsignedintegers.eqdEx:eqdf2,f4if(Ddrega=Ddregb)fps=1elsefps=0Botharedoubleprecisionfloats.eqfEx:eqff3,f5if(Ffrega=Ffregb)fps=1elsefps=0Botharesingleprecisionfloats.gedEx:gedf8,f6if(Ddrega>=Ddregb)fps=1elsefps=0Botharedoubleprecisionfloats.gefEx:geff3,f6if(Ffrega>=Ffregb)fps=1elsefps=0Botharesingleprecisionfloats.gtdEx:gtdf8,f6if(Ddrega>Ddregb)fps=1elsefps=0Botharedoubleprecisionfloats.gtfif(Fffrega>Ffregb)fps=1elsefps=OBotharesingleprecisionfloats.jEx:jlabelPC-PC+imm26+4UnconditionallyjumpsrelativetothePCofthenextinstruction,imm26isa26-bitsignedinteger.jalEx:jallabelR31-PC+8;PC-PC+imm26+4Savesareturnaddressinregister31andjumpsrelativetothePCofthenextinstruction.imm26isa26-bitsignedinteger.jalrEx:jalrr2R31-PC+8;PC-RregaSavesareturnaddressinregister31anddoesanabsolutejumptothetargetaddresscontainedinRrega.jrEx:jrr3PC_RregaRregaistreatedasanunsignedinteger.DoesanabsolutejumptothetargetaddresscontainedinRrega.IbEx:lbr1,40-4(Rregb(signextended)Mimml6+RregaOnebyteofdataisreadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andsignedintegerRrega.Thebytefrommemoryisthensignextendedto32-bitsandstoredinregisterRregb.IbuEx:Ibur2,label-786+4(r3)Rregb-024#Mimml6+RregaOnebyteofdataisreadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andsignedintegerRrega.Thebytefrommemoryisthenzeroextendedto32bitsandstoredinregisterRregb.IdEx:Idf2,240(rl)Ddregb-64Mimml6+RfregaTwowordsofdataarereadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andunsignedintegerRregaandstoredindoubleregisterDdregb.ThisisequivalenttotwoIfinstructions:Ffregb-Mimml6+RregaFfreg(b+1)-Mimml6+Rrega+4whereFfreg(b+1)isthenextfpregisterafterFfregbinsequence,andallvaluesaresimplycopiedandnotconverted.)ledEx:ledf8,f6if(Ddrega<=Ddregb)fps=1elsefps=0Botharedoubleprecisionfloats.IefEx:Ieff3,f6if(Ffrega<=Ffregb)fps=1elsefps=0Botharesingleprecisionfloats.IfEx:Iff6,76(r4)Ffregb-Mimml6+RregaOnewordofdataisreadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andsignedintegerRregaandstoredinfpregisterFfregb.IhEx:lhrl,32(r3)Rregb(signextended)Mimml6+RregaTwobytesofdataarereadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andsignedintegerRrega.Theaddressmustbehalf-wordaligned.Thehalf-wordfrommemoryisthensignextendedto32bitsandstoredinregisterRregb.IhiEx:Ihir3,#-40Rregb-imm16#016Loadsthe16bitimmediatevalueimml6intothemostsignificanthalfofanintegerregisterandclearstheleastsignificanthalf.IhuEx:Ihur2,-40+4(r3)Rregb-016#Mimml6+RregaTwobytesofdataarereadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andsignedintegerRrega.Theaddressmustbehalf-wordaligned.Thehalf-wordfrommemoryisthenzeroextendedto32bitsandstoredinregisterRregb.ItdEx:Itdf8,f6if(Ddrega<Ddregb)fps=1elsefps=0Botharedoubleprecisionfloats.ItfEx:Itff3,f6if(Ffrega<Ffregb)fps=1elsefps=0Botharesingleprecisionfloats.IwEx:Iwrl9,label+63(r8)Rregb-Mimml6+RregaOnewordisreadfromtheeffectiveaddresscomputedbyaddingsignedintegerimml6andunsignedintegerRregaandisstoredinRregb.movdEx:movdf2,f4Ddregc-DdregaCopiestwowordsfromdoubleregisterDdregatodoubleregisterDdregc.movfEx:movffl,f2Ffregc-FfregaCopiesonewordfromfpregisterFfregatofpregisterFfregc.movfp2iEx:movfp2ir3,fRregcFfregaCopiesonewordfromfpregisterFfregatointegerregisterRfregc.movi2fpEx:movi2fpf,r3Ffregc-RregaCopiesonewordfromintegerregisterRfregatofpregisterFfregc.movi2sEx:movi2srlUnspecifiedCopiesonewordfromintegerregisterRfregatoaspecialregister.movs2iEx:movs2ir2UnspecifiedCopiesonewordfromaspecialregistertointegerregisterRrega.multEx:multf2,f3,f4Ffregc-Ffrega*FfregbAllaresignedintegers.multdEx:multdf2,f4,f6Ddregc-Ddrega*DdregbAllaredoubleprecisionfloats.multfEx:multff3,f4,f5Ffregc-Ffrega*FfregbAllaresingleprecisionfloats.multuEx:multuf2,f4Ffregc-Ffrega*FfregbAllareunsignedintegers.nedif(Ddrega!=Ddregb)fps=1elsefps=OBotharedoubleprecisionfloats.nefEx:neff3,f6if(Ffrega!=Ffregb)fps=1elsefps=0Botharesingleprecisionfloats.nopEx:nopIdlesonecycle.orEx:orr2,r3,r4RregcRregaRregbAllareunsignedintegers.Logical,or,isperformedonabitwisebasis.oriEx:orir3,r4,#5Rregb-Rregauimml6Allareunsignedintegers.Logical,or,isperformedonabitwisebasis.rfeEx:rfeUnspecifiedReturnfromexception.sbEx:sblabel-41

    注意事项

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

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开