2022年2022年计算机系统结构实验报告 .pdf

上传人:Che****ry 文档编号:27238872 上传时间:2022-07-23 格式:PDF 页数:8 大小:534.85KB
返回 下载 相关 举报
2022年2022年计算机系统结构实验报告 .pdf_第1页
第1页 / 共8页
2022年2022年计算机系统结构实验报告 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年2022年计算机系统结构实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机系统结构实验报告 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 院系:计算机科学学院专业: 计算机科学与技术年级:课程名称:计算机系统结构学号:姓名:指导教师:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 2 年级班级学号专业姓名题目名称用 DLX汇编语言编写矩阵乘程序Matrix.s(元素数据为浮点数)题目内容对矩阵乘程序Matrix.s做如下分析: 1. 观察程序中出现的数据相关、控制相关和结构相关现象,并指出程序中出现上述现象的指令;2. 指出转移指令在转移成功和不成功时的

2、流水线开销;3. 分别在使用定向技术和不使用定向技术的两种情况下,输入同样的数据,利用Statistics 窗口中的统计数字(总的周期数和暂停数),计算定向技术带来的加速比。4. 通过 DLX模拟器中的configuration窗口,将浮点运算的延迟改为8 个时钟周期,重复观察并回答上述的1,2,3的问题。实验结果与分析实验结果截图如下:1.程序最后的运行结果截图如下:此为两个2 阶矩阵的相乘,第一个矩阵的数据依次是1,2,3,4;第二个矩阵的数据依次是5,6,7,8,最后的运行结果依次是19,22,43,50。Register 图如下:各寄存器的参数值如上。(写不完时,可另加附页。)名师资料

3、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 3 3.流水线图某一流程截图如下:4.时钟周期表最后如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 4 程序代码.data ;* Prompts for input ; 输入提示部分dat1: .space 64 da

4、t2: .space 64 result: .space 64 Prompt1: .asciiz Input the martrixA line: Prompt2: .asciiz Input the martrixA column and the martrixB line: Prompt3: .asciiz Input the martrixB column: Prompt4: .asciiz Input the martrixAs number: Prompt5: .asciiz Input the martrixBs number: Prompt6: .asciiz This is m

5、y program ! ;* Data for printf-Trap ; 输出数据设置部分PrintfFormat: .asciiz %d .align 2 PrintfPar: .word PrintfFormat PrintfValue: .space 4 PrintfFormat1: .asciiz n .align 2 PrintfPar1: .word PrintfFormat1 PrintfValue1: .space 4 PrintfFormat2: .asciiz Output the martrixA:n .align 2 PrintfPar2: .word PrintfF

6、ormat2 PrintfValue2: .space 4 PrintfFormat3: .asciiz Output the martrixB:n .align 2 PrintfPar3: .word PrintfFormat3 PrintfValue3: .space 4 PrintfFormat4: .asciiz Output the martrixC:n .align 2 PrintfPar4: .word PrintfFormat4 PrintfValue4: .space 4 .text .global main main: addi r1,r0,Prompt1 jal Inpu

7、tUnsigned movi2fp f1,r1 ;矩阵 A的行数 addi r1,r0,Prompt2 jal InputUnsigned 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 5 movi2fp f2,r1 ;矩阵 A的列数,矩阵B的行数 addi r1,r0,Prompt3 jal InputUnsigned movi2fp f3,r1 ;矩阵 B的列数 movfp2i r8,f1 movfp2i r6,f2 mu

8、ltu r4,r6,r8 ;总的矩阵 A 的元素个数 r4 addi r2,r10,dat1 ;指向 A 的首地址 loop1: add r1,r0,Prompt4 ;分别读入矩阵A的元素值 jal InputUnsigned sb 0(r2),r1 ;储存字节,读入元素 addi r2,r2,1 ;元素个数加一 sub r4,r4,1 ;总的矩阵元素个数r4 减一 bnez r4,loop1 ;r4不为 0 时跳转重复输入 addi r10,r0,0 ;分别读出矩阵A的元素值 addi r2,r10,dat1 ;指向 A的首地址 sw PrintfValue2,r1 addi r14,r0,

9、PrintfPar2 trap 5 loopA: lbu r1,0(r2) sw PrintfValue,r1 addi r14,r0,PrintfPar ;换行 trap 5 addi r2,r2,1 ;元素个数加一 sub r6,r6,1 ;矩阵 A的列数 r6 减一 beqz r6,outputA ;矩阵 A的列数 r6 等于 0 时跳到 outputA j loopA ;否则继续 loopA outputA: sw PrintfValue1,r1 addi r14,r0,PrintfPar1 trap 5 sub r8,r8,1 ;矩阵 A的行数 r8 减一 beqz r8,count

10、iuB ;矩阵 A的行数 r8 等于 0 时跳到 countiuB movfp2i r6,f2 j loopA ;否则继续 loopA countiuB: movfp2i r6,f2 movfp2i r12,f3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 6 addi r10,r0,0 multu r4,r6,r12 ;总的矩阵 B的元素个数r4 addi r2,r10,dat2 ;指向 B的首地址 loop2: addi

11、 r1,r0,Prompt5 ;分别读入矩阵B的元素值 jal InputUnsigned sb 0(r2),r1 ;储存字节,读入元素 addi r2,r2,1 ;元素个数加一 sub r4,r4,1 ;总的矩阵元素个数r4 减一 bnez r4,loop2 ;r4不为 0 时跳转重复输入 addi r10,r0,0 ;分别读出矩阵B的元素值 addi r2,r10,dat2 ;指向 B的首地址 sw PrintfValue3,r1 addi r14,r0,PrintfPar3 trap 5 loopB: lbu r1,0(r2) sw PrintfValue,r1 addi r14,r0,

12、PrintfPar ;换行 trap 5 addi r2,r2,1 ;元素个数加一 sub r12,r12,1 ;矩阵 B的列数 r12 减一 beqz r12,outputB ;矩阵 B的列数 r12 等于 0 时跳到 outputB j loopB ;否则继续 loopB outputB: sw PrintfValue1,r1 addi r14,r0,PrintfPar1 trap 5 sub r6,r6,1 ;矩阵 B的行数 r6 减一 beqz r6,countiue ;矩阵 B 的行数 r6 等于 0 时跳到 countiu movfp2i r12,f3 j loopB ;否则继续

13、loopB countiue: addi r11,r0,0 ;temp,表示矩阵C的一个元素的累加器addi r4,r0,0 ;r 初始化矩阵 C 的偏移量 addi r5,r0,0 ;矩阵 A当前被扫描的行号 line: movi2fp f4,r5 ;判断是否扫描完 ltf f4,f1 ;f4f1跳转(矩阵A的行是否扫描完) bfpf finish ;是,则跳转结束程序 addi r6,r0,0 ;col,r6 表示当前 B矩阵的列号 column: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -

14、 - - - 第 6 页,共 8 页 - - - - - - - - - 7 movi2fp f4,r6 ltf f4,f3 ;col(f3 )f4,矩阵 B的列是否扫描完 bfpf leveladd ;是,则跳到矩阵a 的下一行 movfp2i r1,f2 multu r10,r5,r1 ;i-l*n,r10 表示矩阵A当前行的第一个元素的索引 addi r7,r6,0 ;mov col to j(矩阵 B某一列的某个元素的索引) addi r11,r0,0 ;temp=0,矩阵 C 当前的元素值的初始化 addi r9,r5,1 ;r9-l+1, r9 代表矩阵A当前数组中的实际行号(r5

15、 的初值为 0) movfp2i r1,f2 ;f2是矩阵 A的列数 multu r9,r1,r9 ;p-n*(l+1),r9 代表矩阵 A当前行中最后一个元素在数组中的索引 calculate: movi2fp f4,r10 movi2fp f9,r9 ltf f4,f9 ;compare i to pz(判断是否计算到当前行的最后一个元素) bfpf asign ;当前行列相乘完毕,得出结果矩阵C的 一个元素(跳转赋值) addi r1,r10,dat1 ;取矩阵 A当前元素在内存区域中的地址 lbu r2,0(r1) ;从 r1 所指向的内存单元中取出矩阵A当 前的元素暂存在r2 add

16、i r1,r7,dat2 ;取矩阵 B当前元素在内存区域中的地址 lbu r3,0(r1) ;从 r1 所指向的内存单元中取出矩阵B当 前的元素暂存在r3 multu r1,r2,r3 ;temp1-dat1i+dat2j add r11,r11,r1 ;temp-temp+temp1,累加到累加器 addi r10,r10,1 ;i+,计算矩阵A当前行的下个元素的索引 movfp2i r1,f3 add r7,r7,r1 ;j-j+k,计算矩阵B的当前列的下个元素的索引 j calculate asign: addi r1,r4,result ;r1表示矩阵 C 当前的地址 sb 0(r1)

17、,r11 ;store result,把新计算出来的元素放入当前内存单元 addi r4,r4,1 ;赋值完一个元素,偏移量自增1 addi r6,r6,1 ;矩阵 B的当前列数自增1 j column ;矩阵 B新的一列开始 leveladd: addi r5,r5,1 ;矩阵 A当前行自增1 j line ;矩阵 A 新的一行开始 finish: addi r10,r0,0 ;分别读出矩阵C的元素值 movfp2i r8,f1 movfp2i r12,f3 addi r2,r10,result sw PrintfValue4,r1 addi r14,r0,PrintfPar4 trap 5

18、 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 8 loop3: lbu r1,0(r2) sw PrintfValue,r1 addi r14,r0,PrintfPar trap 5 addi r2,r2,1 sub r12,r12,1 beqz r12,outputC j loop3 outputC: sw PrintfValue1,r1 addi r14,r0,PrintfPar1 trap 5 sub r8,r8,1 beqz r8,choice movfp2i r12,f3 j loop3 ;* end choice: add r1,r0,Prompt6 ;是否重复本次运行操作 jal InputUnsigned beqz r1,end ;若为 0 则结束运行 j main ;否则则重复执行 end: trap 0 心得体会成绩评定教师签名:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁