ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:233.19KB ,
资源ID:3830356      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3830356.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机系统结构WinDlx实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机系统结构WinDlx实验报告.docx

1、计算机系统结构WinDlx实验报告计算机组成与系统结构课程设计题 目:流水线指令设计及页面置换算 法在WinDLX软件中的应用 学 校: 专 业: 学 号: 姓 名: * * 2011 年 6 月 22 号1、实验一 1.1实验目的 1.2实验平台 1.3 预备知识 1.4实验内容和步骤 1.5实验程序 1.6 实验报告要求2、实验二 2.1 实验目的 2.2 实验平台 2.3 预备知识 2.4 实验内容和步骤 2.5 实验程序 2.5.1 源程序 2.5.2 程序分析 2.5.3 结果截图 2.6 实验报告要求3、实验三 3.1 实验目的 3.2 实验平台 3.3 预备知识 3.4 实验内容

2、和步骤 3.5 实验程序 3.5.1 源程序 3.5.2 没有采用定向技术分析 3.5.3 采用定向技术分析 3.5.4 结果截图 3.6 实验报告要求4、实验四 4.1 实验目的 4.2 实验平台 4.3 预备知识 4.3.1 调页策略 4.3.2 页面置换算法 4.4 实验内容和步骤 4.5 实验程序 4.5.1 源程序 4.5.2 程序流程图 4.5.3 结果截图 4.6 实验报告要求5、实验总结、参考资料实验一 WinDLX模拟器与DLX指令的使用1.1实验目的1.1.1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;1.1.2. 加深对计算机流水线基本概念的

3、理解;1.1.3. 了解DLX基本流水线各段的功能以及基本操作;1.2实验平台WinDLX模拟器1.3预备知识1.3.1. WinDLXWinDLX模拟器是一个图形化、交互式的DLX流水线模拟器,能够演示DLX流水线是如何工作的。该模拟器可以装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。模拟器还提供了对流水线操作的统计功能,便于对流水线进行性能分析。 有关WinDLX的详细介绍,见附录(WinDLX教程)。1.3.2. 熟悉WinDLX指令集和WinDL

4、X源代码的编写1.4实验内容和步骤用WinDLX模拟器执行求最大公倍数程序gcm.s分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。注意:gcm.s中调用了input.s中的输入子程序。load程序时,要两个程序一起装入(都select后再点击load)。如:给出两组数6、3和6、1,分别在main+0x8(add r2, r1, r0)、gcm.loop(seg r3,r1,r2)和result+0xc(trap 0x0)设置断点,采用单步和连续混合执行的方法完成程序,注意中间过程和寄存器的变化情况,

5、然后单击主菜单execute/display dlx-i/o,观察结果。3 2 1 1.5 实验程序实验源程序见文件gcm.s和input.s结果截图如下:1.6实验报告要求实验报告中应包含:实验目的、实验内容、实验步骤(要有程序清单并以注释的形式对定义的变量和使用的寄存器进行说明)、实验结果等内容。gcm.s;* WINDLX Ex.1: Greatest common measure *;* (c) 1991 G黱ther Raidl *;* Modified 1992 Maziar Khosravipour *;-; Program begins at symbol main; requ

6、ires module INPUT; Read two positive integer numbers from stdin, calculate the gcm; and write the result to stdout;- .data ;* Prompts for inputPrompt1: .asciiz First Number:Prompt2: .asciiz Second Number: ;* Data for printf-TrapPrintfFormat: .asciiz gcM=%dnn .align 2PrintfPar: .word PrintfFormatPrin

7、tfValue: .space 4 .text .global mainmain: ;* Read two positive integer numbers into R1 and R2 addi r1,r0,Prompt1 jal InputUnsigned ;read uns.-integer into R1 add r2,r1,r0 ;R2 R2 ? bnez r3,r1Greater r2Greater: ;* subtract r1 from r2 sub r2,r2,r1 j Loopr1Greater: ;* subtract r2 from r1 sub r1,r1,r2 j

8、LoopResult: ;* Write the result (R1) sw PrintfValue,r1 addi r14,r0,PrintfPar trap 5 ;* end trap 0input.s;* WINDLX Ex.1: Read a positive integer number *;* (c) 1991 G黱ther Raidl *;* Modified 1992 Maziar Khosravipour *;-;Subprogram call by symbol InputUnsigned;expect the address of a zero-terminated p

9、rompt string in R1;returns the read value in R1;changes the contents of registers R1,R13,R14;- .data ;* Data for Read-TrapReadBuffer: .space 80ReadPar: .word 0,ReadBuffer,80 ;* Data for Printf-TrapPrintfPar: .space 4SaveR2: .space 4SaveR3: .space 4SaveR4: .space 4SaveR5: .space 4 .text .global Input

10、UnsignedInputUnsigned: ;* save register contents sw SaveR2,r2 sw SaveR3,r3 sw SaveR4,r4 sw SaveR5,r5 ;* Prompt sw PrintfPar,r1 addi r14,r0,PrintfPar trap 5 ;* call Trap-3 to read line addi r14,r0,ReadPar trap 3 ;* determine value addi r2,r0,ReadBuffer addi r1,r0,0 addi r4,r0,10 ;Decimal systemLoop:

11、;* reads digits to end of line lbu r3,0(r2) seqi r5,r3,10 ;LF - Exit bnez r5,Finish subi r3,r3,48 ;? multu r1,r1,r4 ;Shift decimal add r1,r1,r3 addi r2,r2,1 ;increment pointer j Loop Finish: ;* restore old register contents lw r2,SaveR2 lw r3,SaveR3 lw r4,SaveR4 lw r5,SaveR5 jr r31 ; Return实验二 流水线中的

12、结构相关2.1实验目的:1. 近一步熟悉DLX指令集结构及其特点; 2. 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。2.2实验平台WinDLX模拟器2.3预备知识2.3.1. 进一步熟悉WinDLX指令集和WinDLX源代码的编写2.3.2. 复习和掌握教材中相应的内容DLX基本流水线流水线的结构相关与数据相关结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时,将产生“结构相关”。2.4实验内容和步骤1. 用WinDLX模拟器运行程序structure_d.s 。2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。存在结构相

13、关的程序如下:1. LD F0, 0(R2) ADDD F2, F0, F2 ; 16)&0xFFFF /*A左移16位后,加载半字,结果送往R2指向的寄存器单元*/ ADDUI R2, R2, A&0xFFFF /*无溢出判断,从R2中取数和立即数相加,结果送R2*/ LHI R3, (B16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 /*无判断溢出,从R0,R3中取数,结果送R4*/ loop: /*循环语句*/ LD F0, 0(R2) /*从R2中取数和0相加,结果作为访存地址,并取数,结果送F0,F1*/ LD F4, 0(R3)

14、ADDD F0, F0, F4 ADDD F2, F0, F2 - A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 - A stall is found ADDI R3, R3, #8 - A stall is found SUB R5, R4, R2 - A stall is found /*从R2,R4取数相减,结果送R5*/ BNEZ R5, loop /*判断单元R5数据是否为0,不等则跳转loop,否则跳下一指令*/ TRAP #0 ; Exit 16) & 0xFFFF /*

15、 A左移16位后,加载半字,结果送往R2指向的寄存器单元*/ ADDUI R2, R2, A & 0xFFFF /*无溢出判断,从R2中取数和立即数相加,结果送R2*/ LHI R3, (B16)&0xFFFF ADDUI R3, R3, B&0xFFFF loop: /*循环语句*/ LW R1, 0 (R2) /*从R2中取数,立即数0符号扩展后两则相加,结果为访存地址,并从中取数,送往R1*/ ADD R1, R1, R3 /*从R1,R3中取数进行相加,结果送往R1*/ SW 0(R2), R1 /*从从R2中取数和符号扩展后的立即数相加,结果作为访存单元,然后从寄存器R1中取数,送往

16、存储单元*/ LW R5, 0 (R1) ADDI R5, R5, #10 /*从R5中读数和立即数10相加,结果送往R5*/ ADDI R2, R2, #4 SUB R4, R3, R2 /*从R2,R3中取数进行相减,结果送往R4*/ BNEZ R4, loop /*判断R4中的数据是否为0,不等0则跳转循环loop,否则继续下一条指令*/ TRAP #0 A: .word 0, 4, 8, 12, 16, 20, 24, 28, 32, 36 B: .word 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 3.5.2、没有采用定向技术时运行该程序:从数据中可知程序执行的总时钟

17、周期数202,暂停时钟周期数104,暂停时钟周期数占总执行周期数的百分比51.48%。3.5.3、采用定向技术时运行该程序:从数据中可知,执行的总时钟周期数128,暂停时钟周期数30,暂停时钟周期数占总执行周期数的百分比23.44%。由此可知,运用定向技术,减少了数据相关,缩短了程序的执行周期,性能提高了1.57倍。3.5.4、结果截图如下:3.6 实验报告要求实验报告中应包含:实验目的、实验内容、实验步骤(要有程序清单并以注释的形式对定义的变量和使用的寄存器进行说明)、实验结果等内容。实验四 LRU页面置换算法模拟4.1实验目的 4.1.1、了解内存分页管理策略4.1.2、掌握调页策略4.1

18、.3、掌握一般常用的调度算法4.1.4、选取调度算法中的典型算法,模拟实现 4.2实验平台 在Window系统的TC2.0环境下运行程序;通过从一般常用的调页算法中选取典型算法LRU,了解页面管理的相关细节,并用程序设计实现LRU。 4.3预备知识分页存储管理将一个进程的逻辑地址空间分成若干大小相等的片,称为页面或页。 4.3.1调页策略 何时调入页面 如果进程的许多页是存放在外存的一个连续区域中,则一次调入若干个相邻的页,会比一次调入一页的效率更高效一些。但如果调入的一批页面中的大多数都未被访问,则又是低效的。可采用一种以预测为基础的预调页策略,将那些预计在不久之后便会被访问的页面,预先调入

19、内存。如果预测较准确,那么,这种策略显然是很有吸引力的。但目前预调页的成功率仅为50%。且这种策略主要用于进程的首次调入时,由程序员指出应该先调入哪些页。 4.3.2请求调页策略 当进程在运行中需要访问某部分程序和数据时,若发现其所在的页面不在内存,便即提出请求,由OS将其所需页面调入内存。由请示调页策略所确定调入的页,是一定会被访问的,再加之请求调页策略比较易于实现,故在目前的虚拟存储器中,大多采用此策略。但这种策略每次仅调入一页,故须花费较大的系统开销,增加了磁盘I/O的启用频率。 从何处调入页面 在请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。通常,由于

20、对换区是采用连续分配方式,而事件是采用离散分配方式,故对换区的磁盘I/O速度比文件区的高。这样,每当发生缺页请求时,系统应从何处将缺页调入内存,可分成如下三种情况: (1) 系统拥有足够的对换区空间,这时可以全部从对换区调入 所需页面,以提高调页速度。为此,在进程运行前,便须将与该进程有关的文件,从文件区拷贝到对换区。 (2) 系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入;而当换出这些页面时,由于它们未被修改而不必再将它们换出时,以后需要时,再从对换区调入。 (3) UNIX方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都从文件区调入。而对于曾经运行过但又被换出的页面,由于被放在对换区,因此在下次时,应从对换区调入。由于UNIX系统允许页面共享,因此,某进程所请求的页面有可能已被其它进程调

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1