- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windlx实验报告(浮点运算,forward 转移指令)
WinDLX模拟器模拟实验
1 实验目的
熟悉加深对流水线及RISC处理器的理解。
2 实验环境
WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。
3 实验步骤
一.使用WinDLX模拟器,对Fact.s做如下分析:
(1) 考察增加浮点运算部件对性能的影响。
(2) 考察增加forward部件对性能的影响。
(3) 观察转移指令在转移成功和转移不成功时候的流水线开销。
4 实验内容和要求
1. 针对上面的实验内容,记录实验过程,给出分析结果。
2. 给出实验总结:根据实验,总结采用流水线技术会遇到的问题和为解决这些问题所采用的各种技术的作用。同时简单谈谈自己对流水线技术的认识。
5实验程序代码
5.1 Fact.s程序代码:
.data
Prompt: .asciiz An integer value 1 :
PrintfFormat: .asciiz Factorial = %g\n\n
.align 2
PrintfPar: .word PrintfFormat
PrintfValue: .space 8
.text
.global main
main:
;*** Read value from stdin into R1
addi r1,r0,Prompt
jal InputUnsigned
;*** init values
movi2fp f10,r1 ;R1 - D0 D0..Count register
cvti2d f0,f10
addi r2,r0,1 ;1 - D2 D2..result
movi2fp f11,r2
cvti2d f2,f11
movd f4,f2 ;1- D4 D4..Constant 1
;*** Break loop if D0 = 1
Loop: led f0,f4 ;D0=1 ?
bfpt Finish
;*** Multiplication and next loop
multd f2,f2,f0
subd f0,f0,f4
j Loop
Finish: ;*** write result to stdout
sd PrintfValue,f2
addi r14,r0,PrintfPar
trap 5
;*** end
trap 0
5.2 Input.s程序代码:
.data
;*** Data for Read-Trap
ReadBuffer: .space 80
ReadPar: .word 0,ReadBuffer,80
;*** Data for Printf-Trap
PrintfPar: .space 4
SaveR2: .space 4
SaveR3: .space 4
SaveR4: .space 4
SaveR5: .space 4
.text
.global InputUnsigned
InputUnsigned:
;*** 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 system
Loop: ;*** 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 conte
您可能关注的文档
- 204施工廉政合同.doc
- 生物必修二现代进化理论的由来.docx
- fox_box_4g_dvi用于 DVI、音频和 RS-232 的光纤延长器.pdf
- 3月模拟卷(部分校).doc
- 圣井中心学校作业批改制度.doc
- 03专《计算机网络》试题A答案.doc
- BMP文件处理.doc
- 《彩信VIP卡与移动商业平台》可行性报告结论与建议.doc
- 4--5章自顶向下的语法分析.pdf
- 高二年级文科数学第一学期期末考试试卷(有答案).doc
- 2023年温州职业技术学院招聘笔试真题参考答案详解.docx
- 2023年温州职业技术学院招聘笔试真题附答案详解.docx
- 2023年温州职业技术学院招聘笔试真题及答案详解一套.docx
- 2023年温州职业技术学院招聘笔试真题及参考答案详解.docx
- 2023年温州科技职业学院招聘笔试真题及参考答案详解一套.docx
- 2023年温州职业技术学院招聘笔试真题含答案详解.docx
- 2023年温州科技职业学院招聘笔试真题及参考答案详解.docx
- 2023年温州职业技术学院招聘笔试真题带答案详解.docx
- 2023年温州科技职业学院招聘笔试真题及答案详解一套.docx
- 2023年渭南职业技术学院招聘笔试真题及参考答案详解.docx
文档评论(0)