




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上院 系: 計(jì)算機(jī)科學(xué)學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 年 級(jí): 課程名稱: 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 年 月 日年級(jí)班級(jí) 學(xué)號(hào)專業(yè) 姓名題目名稱用DLX匯編語言編寫矩陣乘程序Matrix.s(元素?cái)?shù)據(jù)為浮點(diǎn)數(shù)) 題目?jī)?nèi)容對(duì)矩陣乘程序Matrix.s做如下分析:1.觀察程序中出現(xiàn)的數(shù)據(jù)相關(guān)、控制相關(guān)和結(jié)構(gòu)相關(guān)現(xiàn)象,并指出程序中出現(xiàn)上述現(xiàn)象的指令;2.指出轉(zhuǎn)移指令在轉(zhuǎn)移成功和不成功時(shí)的流水線開銷;3.分別在使用定向技術(shù)和不使用定向技術(shù)的兩種情況下,輸入同樣的數(shù)據(jù),利用Statistics 窗口中的統(tǒng)計(jì)數(shù)字(總的周期數(shù)和暫
2、停數(shù)),計(jì)算定向技術(shù)帶來的加速比。4.通過DLX模擬器中的configuration窗口,將浮點(diǎn)運(yùn)算的延遲改為8個(gè)時(shí)鐘周期,重復(fù)觀察并回答上述的1,2,3的問題。實(shí)驗(yàn)結(jié)果與分析實(shí)驗(yàn)結(jié)果截圖如下:1.程序最后的運(yùn)行結(jié)果截圖如下:此為兩個(gè)2階矩陣的相乘,第一個(gè)矩陣的數(shù)據(jù)依次是1,2,3,4;第二個(gè)矩陣的數(shù)據(jù)依次是5,6,7,8,最后的運(yùn)行結(jié)果依次是19,22,43,50。Register圖如下:各寄存器的參數(shù)值如上。(寫不完時(shí),可另加附頁。)程序代碼3.流水線圖某一流程截圖如下:4.時(shí)鐘周期表最后如下:.data ;* Prompts for input ;輸入提示部分 dat1: .space
3、64 dat2: .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 martrixA's number:" Prompt5: .as
4、ciiz "Input the martrixB's number:" Prompt6: .asciiz " This is my program !" ;* Data for printf-Trap ;輸出數(shù)據(jù)設(shè)置部分 PrintfFormat: .asciiz "%d " .align 2 PrintfPar: .word PrintfFormat PrintfValue: .space 4 PrintfFormat1: .asciiz "n " .align 2 PrintfPar1: .word P
5、rintfFormat1 PrintfValue1: .space 4 PrintfFormat2: .asciiz "Output the martrixA:n " .align 2 PrintfPar2: .word PrintfFormat2 PrintfValue2: .space 4 PrintfFormat3: .asciiz "Output the martrixB:n " .align 2 PrintfPar3: .word PrintfFormat3 PrintfValue3: .space 4 PrintfFormat4: .asci
6、iz "Output the martrixC:n " .align 2 PrintfPar4: .word PrintfFormat4 PrintfValue4: .space 4 .text .global main main: addi r1,r0,Prompt1 jal InputUnsigned movi2fp f1,r1 ;矩陣A的行數(shù) addi r1,r0,Prompt2 jal InputUnsigned movi2fp f2,r1 ;矩陣A的列數(shù),矩陣B的行數(shù) addi r1,r0,Prompt3 jal InputUnsigned movi2fp f3,
7、r1 ;矩陣B的列數(shù) movfp2i r8,f1 movfp2i r6,f2 multu r4,r6,r8 ;總的矩陣A的元素個(gè)數(shù)r4 addi r2,r10,dat1 ;指向A的首地址 loop1: add r1,r0,Prompt4 ;分別讀入矩陣A的元素值 jal InputUnsigned sb 0(r2),r1 ;儲(chǔ)存字節(jié),讀入元素 addi r2,r2,1 ;元素個(gè)數(shù)加一 sub r4,r4,1 ;總的矩陣元素個(gè)數(shù)r4減一 bnez r4,loop1 ;r4不為0時(shí)跳轉(zhuǎn)重復(fù)輸入 addi r10,r0,0 ;分別讀出矩陣A的元素值 addi r2,r10,dat1 ;指向A的首地址
8、 sw PrintfValue2,r1 addi r14,r0,PrintfPar2 trap 5 loopA: lbu r1,0(r2) sw PrintfValue,r1 addi r14,r0,PrintfPar ;換行 trap 5 addi r2,r2,1 ;元素個(gè)數(shù)加一 sub r6,r6,1 ;矩陣A的列數(shù)r6減一 beqz r6,outputA ;矩陣A的列數(shù)r6等于0時(shí)跳到outputA j loopA ;否則繼續(xù)loopA outputA: sw PrintfValue1,r1 addi r14,r0,PrintfPar1 trap 5 sub r8,r8,1 ;矩陣A的行
9、數(shù)r8減一 beqz r8,countiuB ;矩陣A的行數(shù)r8等于0時(shí)跳到countiuB movfp2i r6,f2 j loopA ;否則繼續(xù)loopA countiuB: movfp2i r6,f2 movfp2i r12,f3 addi r10,r0,0 multu r4,r6,r12 ;總的矩陣B的元素個(gè)數(shù)r4 addi r2,r10,dat2 ;指向B的首地址 loop2: addi r1,r0,Prompt5 ;分別讀入矩陣B的元素值 jal InputUnsigned sb 0(r2),r1 ;儲(chǔ)存字節(jié),讀入元素 addi r2,r2,1 ;元素個(gè)數(shù)加一 sub r4,r4,
10、1 ;總的矩陣元素個(gè)數(shù)r4減一 bnez r4,loop2 ;r4不為0時(shí)跳轉(zhuǎn)重復(fù)輸入 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,PrintfPar ;換行 trap 5 addi r2,r2,1 ;元素個(gè)數(shù)加一 sub r12,r12,1 ;矩陣B的列數(shù)r12減一 beqz r12,outputB ;矩陣B的列數(shù)r12等于0時(shí)跳到ou
11、tputB j loopB ;否則繼續(xù)loopB outputB: sw PrintfValue1,r1 addi r14,r0,PrintfPar1 trap 5 sub r6,r6,1 ;矩陣B的行數(shù)r6減一 beqz r6,countiue ;矩陣B的行數(shù)r6等于0時(shí)跳到countiu movfp2i r12,f3 j loopB ;否則繼續(xù)loopB countiue: addi r11,r0,0 ;temp,表示矩陣C的一個(gè)元素的累加器 addi r4,r0,0 ;r 初始化矩陣C的偏移量 addi r5,r0,0 ;矩陣A當(dāng)前被掃描的行號(hào) line: movi2fp f4,r5 ;
12、判斷是否掃描完 ltf f4,f1 ;f4>f1跳轉(zhuǎn)(矩陣A的行是否掃描完) bfpf finish ;是,則跳轉(zhuǎn)結(jié)束程序 addi r6,r0,0 ;col,r6表示當(dāng)前B矩陣的列號(hào) 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當(dāng)前行的第一個(gè) 元素的索引 addi r7,r6,0 ;mov col to j(矩陣B某一列的某個(gè)元素的 索引) addi r11,r0
13、,0 ;temp=0,矩陣C當(dāng)前的元素值的初始化 addi r9,r5,1 ;r9<-l+1,r9代表矩陣A當(dāng)前數(shù)組中的實(shí) 際行號(hào)(r5的初值為0) movfp2i r1,f2 ;f2是矩陣A的列數(shù) multu r9,r1,r9 ;p<-n*(l+1),r9代表矩陣A當(dāng)前行中最后 一個(gè)元素在數(shù)組中的索引 calculate: movi2fp f4,r10 movi2fp f9,r9 ltf f4,f9 ;compare i to pz(判斷是否計(jì)算到當(dāng)前行 的最后一個(gè)元素) bfpf asign ;當(dāng)前行列相乘完畢,得出結(jié)果矩陣C的 一個(gè)元素(跳轉(zhuǎn)賦值) addi r1,r10,d
14、at1 ;取矩陣A當(dāng)前元素在內(nèi)存區(qū)域中的地址 lbu r2,0(r1) ;從r1所指向的內(nèi)存單元中取出矩陣A當(dāng) 前的元素暫存在r2 addi r1,r7,dat2 ;取矩陣B當(dāng)前元素在內(nèi)存區(qū)域中的地址 lbu r3,0(r1) ;從r1所指向的內(nèi)存單元中取出矩陣B當(dāng) 前的元素暫存在r3 multu r1,r2,r3 ;temp1<-dat1i+dat2j add r11,r11,r1 ;temp<-temp+temp1,累加到累加器 addi r10,r10,1 ;i+,計(jì)算矩陣A當(dāng)前行的下個(gè)元素的索引 movfp2i r1,f3 add r7,r7,r1 ;j<-j+k,計(jì)
15、算矩陣B的當(dāng)前列的下個(gè)元素的索引 j calculate asign: addi r1,r4,result ;r1表示矩陣C當(dāng)前的地址 sb 0(r1),r11 ;store result,把新計(jì)算出來的元素放入當(dāng)前內(nèi)存單元 addi r4,r4,1 ;賦值完一個(gè)元素,偏移量自增1 addi r6,r6,1 ;矩陣B的當(dāng)前列數(shù)自增1 j column ;矩陣B新的一列開始 leveladd: addi r5,r5,1 ;矩陣A當(dāng)前行自增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 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 ou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 成人高等教育化學(xué)實(shí)驗(yàn)技能與安全考核試卷
- 森林公園綠色能源應(yīng)用與節(jié)能減排考核試卷
- 農(nóng)產(chǎn)品倉儲(chǔ)與冷鏈物流體系建設(shè)考核試卷
- 教育與企業(yè)文化融合考核試卷
- 信托產(chǎn)品的市場(chǎng)接受度分析考核試卷
- 成人教育職業(yè)技能培訓(xùn)質(zhì)量保障考核試卷
- 水力發(fā)電工程水工金屬結(jié)構(gòu)檢測(cè)與評(píng)定考核試卷
- 語文園地七(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版語文四年級(jí)上冊(cè)
- 年度外部環(huán)境分析與經(jīng)營(yíng)策略計(jì)劃
- 多彩幼兒園教學(xué)研究活動(dòng)計(jì)劃
- 2025年高考百日誓師大會(huì)校長(zhǎng)致辭(二)
- 2025年高考數(shù)學(xué)復(fù)習(xí)核心考點(diǎn)(新高考專用)專題5.3平面向量的數(shù)量積及其應(yīng)用【八大題型】特訓(xùn)(學(xué)生版+解析)
- 2025年中國(guó)萬寶工程有限公司校園招聘筆試參考題庫附帶答案詳解
- 2025年常州機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫有完整答案
- 2025年河南機(jī)電職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫及參考答案
- 第11課《山地回憶》課件-2024-2025學(xué)年統(tǒng)編版語文七年級(jí)下冊(cè)
- 2024年皖西衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫及答案解析
- 石油工程設(shè)計(jì)大賽采油單項(xiàng)組
- 2024年湖南省長(zhǎng)沙市中考數(shù)學(xué)試題(含解析)
- 部編人教版語文小學(xué)六年級(jí)下冊(cè)第四單元主講教材解讀(集體備課)
- 回族做禮拜的念詞集合6篇
評(píng)論
0/150
提交評(píng)論