计算机系统结构报告_用DLX编写矩阵相乘.doc
《计算机系统结构报告_用DLX编写矩阵相乘.doc》由会员分享,可在线阅读,更多相关《计算机系统结构报告_用DLX编写矩阵相乘.doc(9页珍藏版)》请在课桌文档上搜索。
1、年级班级学号专业姓名题目名称用DLX汇编语言编写矩阵相乘程序题目内容1、掌握DLX应用程序的编程和调试技术。掌握DLX的流水线运行分析.包括流水线单步执行、每个流水段功能、理解流水线停顿、流水线建立和排空、定向技术。掌握调整DLX参数.如内存大小、功能单元个数、延迟.分析对程序运行的影响。2、编写计算矩阵相乘的程序.掌握调试方法。实验结果与分析实验结果:(1) 先输入矩阵A和矩阵B的行数和列数.再输入矩阵A的各元素数值.显示矩阵A;再输入矩阵B的各元素数值.显示矩阵B;最后进行矩阵相乘.输出结果矩阵C。各矩阵元素均赋初值为0。实验结果与分析显示流水线的部分时空图。实验结果分析:通过调用所编写的
2、矩阵相乘的DLX汇编程序和input.s程序.运行WINDLX环境平台.加载好所需项后.根据提示输入两个矩阵的行和列的值及矩阵的各行各列所对应的元素数值.并显示要进行计算的两个矩阵.以便进行矩阵相乘.运行结束后自动显示得出矩阵的结果.本次实验可以重复运行进行矩阵相乘。实验同时亦可查看流水线分布及DLX的流水线运行分析.包括流水线单步执行、每个流水段功能、理解流水线停顿、流水线建立和排空、定向技术。通过Prompt语句显示提示语句.输入所需数据.其计算结果一个一个地存放于内存中.利用PrintfPar语句输出结果。利用寄存器存放输入的矩阵元素和计算的结果.并将其在整形与浮点类型间进行转化。写不完
3、时.可另加附页。程序代码程序代码程序代码程序代码程序代码;*multiply an array to an array *;* *;-; Program begins at symbol main; requires module INPUT; Read two arrays, calculate the multiplition of two arrays ; and write the result to stdout;-.data;* Prompts for input ;输入提示部分dat1: .space 64dat2: .space 64result: .space 64Promp
4、t1:.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 Do you want again :;* Data for printf-Trap ;输出数据设置部分
5、PrintfFormat:.asciiz %d .align2PrintfPar:.wordPrintfFormatPrintfValue:.space4PrintfFormat1:.asciiz n .align2PrintfPar1:.wordPrintfFormat1PrintfValue1:.space4PrintfFormat2:.asciiz Output the martrixA:n .align2PrintfPar2:.wordPrintfFormat2PrintfValue2:.space4PrintfFormat3:.asciiz Output the martrixB:n
6、 .align2PrintfPar3:.wordPrintfFormat3PrintfValue3:.space4PrintfFormat4:.asciiz Output the martrixC:n .align2PrintfPar4:.wordPrintfFormat4PrintfValue4:.space4.text.globalmainmain:addir1,r0,Prompt1jalInputUnsigned movi2fp f1,r1 ;矩阵A的行数 addir1,r0,Prompt2jalInputUnsigned movi2fp f2,r1 ;矩阵A的列数.矩阵B的行数 add
7、i r1,r0,Prompt3 jal InputUnsigned movi2fp f3,r1 ;矩阵B的列数 movfp2i r8,f1 movfp2i r6,f2 multu r4,r6,r8 ;总的矩阵A的元素个数r4 addi r2,r10,dat1 ;指向A的首地址 loop1: add r1,r0,Prompt4 ;分别读入矩阵A的元素值 jalInputUnsigned sb 0,r1 ;储存字节.读入元素 addi r2,r2,1 ;元素个数加一 sub r4,r4,1 ;总的矩阵元素个数r4减一 bnez r4,loop1 ;r4不为0时跳转重复输入addi r10,r0,0
8、 ;分别读出矩阵A的元素值addi r2,r10,dat1 ;指向A的首地址swPrintfValue2,r1 addir14,r0,PrintfPar2 trap 5 loopA: lbu r1,0 swPrintfValue,r1 addir14,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: swPrintfValue1,r1addir14,r0,PrintfPar1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 报告 DLX 编写 矩阵 相乘

链接地址:https://www.desk33.com/p-17879.html