日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

计算机系统结构结构相关实验报告,计算机系统结构实验报告(中南民族大学).doc...

發布時間:2024/10/14 windows 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机系统结构结构相关实验报告,计算机系统结构实验报告(中南民族大学).doc... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計算機系統結構實驗報告(中南民族大學).doc

院 系 專 業 年 級 課程名稱 計算機系統結構 學 號 姓 名 指導教師 年 月 日年級班級學號專業計算機科學與技術姓名題目名稱矩陣相乘題目內容1. 掌握DLX的流水線運行分析,包括流水線單步執行、每個流水段功能、理解流水線停頓、流水線建立和排空、定向技術。掌握調整DLX參數,如內存大小、功能單元個數、延遲,分析對程序運行的影響。2. 編寫計算矩陣相乘的程序,掌握調試方法。實驗結果與分析圖一.運行結果使用4d來控制輸出的齊實驗結果與分析圖二.寄存器圖三.流水線實驗結果與分析圖四.內存代碼圖五.內存查看實驗結果與分析圖六.內存查看結果圖七.內存修改實驗結果與分析圖八.內存修改結果圖九.向量使用結果圖十.未使用向量的結果實驗結果與分析圖十一.程序流程實驗結果與分析圖十二.算法設計圖實驗結果與分析實驗結果分析 本次實驗中,學會使用DLX軟件,對于其匯編代碼有一個整體上的認識。具體有如下幾個小點(1)熟悉DLX的仿真硬件系統結構,包括寄存器、計算功能單元、指令系統、流水線。(2)熟悉DLX仿真軟件的功能,包括主要的功能界面。(3)掌握DLX應用程序的編程和調試技術。(4)掌握DLX的流水線運行分析,包括流水線單步執行、每個流水段功能、理解流水線停頓、流水線建立和排空、定向技術。(5)掌握調整DLX參數,如內存大小、功能單元個數、延遲,分析對程序運行的影響 通過編寫矩陣相乘來檢驗掌握的程度,對與在其中出現的問題進行分析,和解決。能通過單步執行來調試程序,找出出錯點和邏輯錯誤點,并加以改正。 在實驗中,幾個重點難點。首先是從主程序中跳Unsigned函數中,對于參數的傳遞要有一個清楚的認識。其次是,對于系統自陷trap要有一個認識,如trap 0是結束、trap 3是輸入和trap 5是輸出,當然也有傳遞的參數也是重點分別是r1和r14。 對于向量的使用也有一個初步的認識,當使用向量時,程序的流水線明顯比不適用向量快的多,結果的截圖也很清楚的說明了這個問題。程序代碼.data ;* Prompts for ;輸入提示部分A .space 64B .space 64C .space 64Prompt1 .asciiz 輸入A矩陣的行Prompt2 .asciiz 輸入A矩陣的列和B矩陣的列 Prompt3 .asciiz 輸入B矩陣的列Prompt4 .asciiz 輸入A矩陣元素rPrompt5 .asciiz 輸入A矩陣元素 ;* Data for printf-Trap ;輸出數據設置部分Printfat.asciiz d .align2PrintfPar.wordPrintfatPrintfValue .space4Printfat1.asciiz n .align2PrintfPar1.wordPrintfat1Printfat_1.asciiz n .align2PrintfPar_1.wordPrintfat_1PrintfValue1.space4Printfat2.asciiz 輸出A矩陣n .align2PrintfPar2.wordPrintfat2PrintfValue2.space4Printfat3.asciiz 輸出B矩陣n .align 2PrintfPar3.wordPrintfat3PrintfValue3.space4Printfat4.asciiz 輸出C矩陣n .align2PrintfPar4.wordPrintfat4PrintfValue4.space4.text.globalmain程序代碼main addi r1,r0,Prompt1 jal Unsigned movi2fp f1,r1 ;矩陣A的行數 addi r1,r0,Prompt2 jalUnsigned movi2fp f2,r1 ;矩陣A的列數,矩陣B的行數 addi r1,r0,Prompt3 jal Unsigned movi2fp f3,r1 ;矩陣B的列數 movfp2i r8,f1 movfp2i r6,f2 multu r4,r6,r8 ;總的矩陣A的元素個數r4 addi r2,r10,A ;指向A的首地址 loop1 add r1,r0,Prompt4 ;分別讀入矩陣A的元素值 jal Unsigned sb 0r2,r1 ;儲存字節,讀入元素 addi r2,r2,1 ;元素個數加一 sub r4,r4,1 ;總的矩陣元素個數r4減一 bnez r4,loop1 ;r4不為0時跳轉重復輸入 addi r10,r0,0 ;分別讀出矩陣A的元素值 addi r2,r10,A ;指向A的首地址 sw PrintfValue2,r1 addir14,r0,PrintfPar2 trap 5 loopA lbu r1,0r2 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 swPrintfValue1,r1 addir14,r0,PrintfPar1 trap 5 sub r8,r8,1 ;矩陣A的行數r8減一 beqz r8,countiuB ;矩陣A的行數r8等于0時跳到countiuB movfp2i r6,f2程序代碼j loopA ;否則繼續loopA countiuB addir14,r0,PrintfPar_1 trap 5 movfp2i r6,f2 movfp2i r12,f3 addi r10,r0,0 multu r4,r6,r12 ;總的矩陣B的元素個數r4 addi r2,r10,B ;指向B的首地址 loop2 addi r1,r0,Prompt5 ;分別讀入矩陣B的元素值 jal Unsigned sb 0r2,r1 ;儲存字節,讀入元素 addi r2,r2,1 ;元素個數加一 sub r4,r4,1 ;總的矩陣元素個數r4減一 bnez r4,loop2 ;r4不為0時跳轉重復輸入 addi r10,r0,0 ;分別讀出矩陣B的元素值 addi r2,r10,B ;指向B的首地址 swPrintfValue3,r1 addir14,r0,PrintfPar3 trap 5 loopB lbu r1,0r2 swPrintfValue,r1 addi r14,r0,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 ;否則繼續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 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 ;temp0,矩陣C當前的元素值的初始化 addi r9,r5,1 ;r9-l1,r9代表矩陣A當前數組中的實際行號(r5的初值為0) movfp2i r1,f2 ;f2是矩陣A的列數 multu r9,r1,r9 ;p-n*l1,r9代表矩陣A當前行中最后一個元素在數組中的索引 calculate movi2fp f4,r10 movi2fp f9,r9 ltf f4,f9 ;compare i to pz(判斷是否計算到當前行的最后一個元素) bfpf asign ;當前行列相乘完畢,得出結果矩陣C的一個元素(跳轉賦值) addi r1,r10,A ;取矩陣A當前元素在內存區域中的地址 lbu r2,0r1 ;從r1所指向的內存單元中取出矩陣A當前的元素暫存在r2 addi r1,r7,B ;取矩陣B當前元素在內存區域中的地址 lbu r3,0r1 ;從r1所指向的內存單元中取出矩陣B當前的元素暫存在r3 multu r1,r2,r3 ;temp1-AiBj add r11,r11,r1 ;temp-temptemp1,累加到累加器 addi r10,r10,1 ;i,計算矩陣A當前行的下個元素的索引 movfp2i r1,f3 add r7,r7,r1 ;j-jk,計算矩陣B的當前列的下個元素的索引 j calculate 程序代碼asign addi r1,r4,C ;r1表示矩陣C當前的地址 sb 0r1,r11 ;store C,把新計算出來的元素放入當前內存單元 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,C sw PrintfValue4,r1 addir14,r0,PrintfPar_1 trap 5 addi r14,r0,PrintfPar4 trap 5 loop3 lbu r1,0r2 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,end movfp2i r12,f3 j loop3 ;* end end trap 0心得體會成績評定教師簽名 年 月 日

總結

以上是生活随笔為你收集整理的计算机系统结构结构相关实验报告,计算机系统结构实验报告(中南民族大学).doc...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。