计算机系统结构实验指导书.docx
《计算机系统结构实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机系统结构实验指导书.docx(72页珍藏版)》请在三一办公上搜索。
1、计算机系统结构实睑指导书段晓峰编著山东大学计算机科学与技术学院2004年3月前S计算机系统结构是计算机科学与技术专业的一门骨干课程,课程中讲授的许多内容诸如:指令流水线、向量计算、流水线的相关、并行计算、定向技术等内容比拟抽象,同学们在学习中会有些难度。为了使理论教学与实践教学紧密结合,注重学生的智力开发和能力培养,为了帮助大家学好这门课程,我们安排了计算机系统结构实验,希望同学们认真完成实验内容,增进对课程内容的理解,提高自己理论联系实际的能力,提高自己独立思考解决问题的能力。本实验采用了目前在世界上计算机系统结构实验教学过程中广泛采用的WinDLX模拟器,该模拟器把系统结构课程中许多抽象的
2、东西变成实际的、便于同学们理解的内容。本实验中借鉴和引用了其他学校的经验和内容,在此表示感谢。山东大学计算机科学与技术学院殷晓峰2004.3WinDLX简介二.WinDLX存放器结构及指令集三.WinDLX教程四.实验考前须知及要求五.实验一熟悉WinDLX的使用六.实验二用WinDLX执行程序求最大公约数七.实验三用WinDLX模拟器完成求素数程序八.实验四结构相关九.实验五数据相关十.实验六指令调度实验七多处理机并行计算,WinDLX简介1. DLX流水线处理器DLX是贯穿本课程的一个流水线处理器实例,许多讨论、模拟结果和例题都是基于DLX的。它不仅表达了当今多种机器(AMD29K、DEC
3、station3100、HP850、IBM801、Inteli860、MIPSM120AMIPSM1000Motorola88k、RISCI,SGI4D60,SPARCstation1、Sun4/110Sun4/260等)指令集结构的共同特点,而且它还将会表达未来一些机器的指令集结构的特点。这些机器的指令集结构设计思想都和DLX指令集结构的设计思想十分相似,它们都强调:具有一个简单的LOad/Store指令集;注重指令流水效率;简化指令的译码;高效支持编译器。2. DLX模拟器-WinDLXWinDLX是一个基于Windows的DLX模拟器,用于模拟DLX流水线的工作过程。你可以灵活、方便地设
4、置参数、控制执行、统计数据等。WinDLX提供了直观的窗口显示O我们将WinDLX模拟器及有关程序已放在实验用计算机上,同学们翻开XTJG文件夹通过双击WinDLxS图标,启动WinDLX即可。二.WinDLX存放器结构及指令集DLX中的寄存器32个通用寄存器FO、64位双精度浮点数一些特殊的寄存器1DLX的数据类型DLX供了多种长度的整型数据和浮点数据。rI8位I整型数据I16位III32位一rI32位单精度浮点数I浮点数据II64位双精度浮正薮图23. DLX的寻址方式和数据传送DLX的寻址方式和数据传送厂寄存器寻址j立即值寻址寻址方式、偏移寻址I寄存器间接寻址存储器通过寄存器和存储器之间
5、的数据传送操作完成对存储器的访问寄存器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函数对数据的操作进行编码:力、减对特殊寄存器的读/写和移动
6、626J类型指令I操作码OPI与PC相加的偏移基跳转,跳转并链接,从异常处自陷和返回。图45. DLX中的操作DLX除了支持上面提到的一些简单操作之外,还支持其它一些操作。DLX指令中的操作可以分为四种类型,即:LOad和StOre操作、ALU操作、分支和跳转操作、浮点操作。在分别讨论这四种操作类型之前,请先阅读有关本课程中所采用的一些符号的约定。些约定一:数据传送操作n:传送一个啦的数据#:表示两个域的串联操作域的下标:表明从该域中选择某一位O131RegsR40:选择寄存器R4中内容的符号位O1232431眼口I口I-IlX/RysR3m.3:寄存器R3中内容的最低一个字节上标:表示复制一
7、个域。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操作没有任
8、何效果。表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,
9、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-8R
10、egsR224.3i(2) ALU操作:在DLX中,所有的ALU指令都是存放器一存放器型指令,其运算包含了简单的算术和逻辑运算,如加、减、AND、OR、XoR和移位。另外,DLX还允许所有这些指令对立即值进行操作,立即值以16位符号扩展形式出现。LHMLOad高位立即值)操作将立即值载入到一个存放器的高半局部,而该存放器的低半局部那么设置为Oo这样就可以通过两条Load指令构造一个32位的常数。正如上面所提到的,RO主要用来合成一些有用的操作。比方,LOad一个常数就可以看作是一次简单的立即值加操作,其中一个源操作数是R0;存放器一存放器间的数据移动也可以看作是一次简单的加,其中一个源操作数是
11、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,#
12、5逻辑左移的立即值形式RegsRl_RegsR25SLTRl,R2,R3设置小于if(RegsR2DIVD,DIVF)o值得提出的是,DLX的浮点比拟操作设置浮点状态存放器中的位,如果比拟结果为真,那么将该位设置为1;如果比拟结果为假,那么将该位设置为Oo浮点分支指令BFPT和BFTF那么测试该存放器的值来决定分支是否成功。另外,操作MOVF将一个单精度浮点存放器的内容拷贝至另一个单精度浮点存放器;MOVD那么将一个双精度浮点存放器的内容拷贝至另一双精度存放器;M0VFP2I和M0VI2FP操作那么是在一个浮点存放器和通用存放器之间移动数据,如果要将一个双精度浮点数移入两个通用存放器那么需要两
13、条指令,另外DLX还提供了在32位浮点存放器中进行整数乘除操作的指令。表4列出了DLX所有指令及其含义。为了明确哪些指令是最常用的,分别用SPECint92和SPECfp92基准程序集对DLX进行统计,可以分别得到表5和表6的指令使用频率测试统计结果。对于测试统计结果中使用频率大于1%的指令,以直方图的形式分别表示在图6和图7中。指令使用频率的整型平均doducDearOhyro2drodljdp2Osu2cor指令使用频率的浮点平均移位浮点寄存器移动浮点比较浮点减浮点加条件分支部点储存整型加浮点乘浮点载入0.005.0010.00%15.00%20.00%25.00%表4DLX中的所有指令及
14、其含义指令实例指令名称含义LB,LBU,SB载入字节,载入无符号字节,储存字节LH,LHU,SH载入半字,载入无符号半字,储存半字LW,SW数据传送LF,LD,SF,SD载入字,储存字载入单精度浮点,载入双精度浮点,储存单精度浮点,储存双精度浮点将通用存放器中的内容移入特殊存放器,将特殊MOVI2S,MOVS2I存放器中的内容移入通用存放器将一个单精度/双精度浮点存放器的内容拷贝到MOVF,MOVD另一个单精度/双精度浮点存放器将32位浮点存放器中的内容移入整型存放器,M0VFP2I,M0VI2FP将32位整型存放器中的内容移入浮点存放器将32位浮点存放器中的内容移入整型存放器,ADD,ADD
15、I,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,b
16、nez根据指定通用存放器的内容等于/不等于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转换到
17、类型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
18、%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基准程序集的指令使用频率测量统计结果指令doducearhydro2d
19、mdljdp2su2cor整型平均载入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%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 实验 指导书

链接地址:https://www.31ppt.com/p-7508837.html