




付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告第三次實(shí)驗(yàn)ALU 與ALU器設(shè)計(jì)實(shí)驗(yàn)姓名:學(xué)號(hào):11122006311 級(jí)計(jì)算機(jī) 系 2 班2012.10.15一、實(shí)驗(yàn)?zāi)康?. 了解并掌握 ALU 的工作原理和 ALU 設(shè)計(jì)方法2. 了解并掌握 ALU二、實(shí)驗(yàn)設(shè)備器的工作原理和 ALU器的設(shè)計(jì)方法裝有 Quartus II 的計(jì)算機(jī)一臺(tái)。三、實(shí)驗(yàn)任務(wù)1. 用 Verilog HDL 語(yǔ)言或 VHDL 語(yǔ)言來(lái)編寫,實(shí)現(xiàn) MIPS32 位 CPU 的 ALU 及ALU 的器,使其能夠支持基本指令。2. 用Verilog HDL 語(yǔ)言或VHDL 語(yǔ)言來(lái)編寫,實(shí)現(xiàn) ARM32 位 CPU 的ALU 及ALU的器,使其能夠
2、支持基本指令。四、實(shí)驗(yàn)原理與電路圖實(shí)驗(yàn)一:1、基本思想:在 MIPS32 位 CPU 中,ALU 可執(zhí)行的功能與操作見表 1,需三位信號(hào)。除輸出運(yùn)算結(jié)果 ALU_out31:0,ALU 還輸出信號(hào) zero、Less、Overflow 分別表示運(yùn)算結(jié)果是否為 0、兩數(shù)比較是大是小、是否有溢出,以用于某些指令。在 ALU 運(yùn)算器中前導(dǎo) 0 的含義是對(duì)于一個(gè)數(shù)字來(lái)說(shuō),它表示一個(gè)字從最到低位開始連續(xù) 0 的個(gè)數(shù)。前導(dǎo) 1 的含義是對(duì)于一個(gè)字來(lái)說(shuō),它表示一個(gè)字從最到低位開始連續(xù) 1 的個(gè)數(shù)。為提高 ALU 的,而不是直接效率,ALU 采用兩級(jí),即通過(guò) ALU器實(shí)現(xiàn)對(duì) ALU的ALU。圖 1 和圖 2
3、為 ALU 原理示意圖和邏輯圖。功能ALUopALUctr有符號(hào)減法0001110前導(dǎo) 100110000101101slt/slti0111101sltu/sltiu異或1001001表 12、電路圖:1000011或非0110010或0100100與0010000前導(dǎo) 00000110加法圖 1MPIS32 位運(yùn)算器粗框圖圖 2MPIS32 位運(yùn)算器邏輯圖圖 3MPIS32 位 ALU器邏輯圖3、程序代碼: module test1( input 31:0A,input 31:0B, input 3:0ALU_op, output reg Less, output reg Zero,out
4、put reg 31:0ALU_out, output reg Overflow);reg 2:0ALU_ctr;reg 31:0Temp; reg 31:0Result; reg 31:0Carry; integer i;always(*)beginALU_out=0;/ALU_ctrALU_ctr2=ALU_op3&ALU_op1|ALU_op3&ALU_op2&ALU_op0;ALU_ctr1=ALU_op3&ALU_op2&ALU_op1|ALU_op3&ALU_op2&ALU_op1&ALU_op0|ALU_op2&am
5、p;ALU_op1&ALU_op0; ALU_ctr0=ALU_op3&ALU_op2&ALU_op1|ALU_op3&ALU_op2&ALU_op0;/Bfor(i=0;i<32;i=i+1) Tempi=BiALU_op0;/A+B or A-BCarry0,Result0=A0+Temp0+ALU_op0; for(i=1;i<32;i=i+1)Carryi,Resulti=Ai+Tempi+ Carryi-1;/OverflowOverflow=Carry31Carry30;/Zeroif(Result=0) Zero=1; else
6、 Zero=0;/Lessif(ALU_op1=1) Less=Carry31ALU_op0; else Less=OverflowResult31;/MUXcase(ALU_ctr)0:beginfor(i=0;i<32;i=i+1) Tempi=AiALU_op0;ALU_out=32; for(i=31;i>-1;i=i-1) beginif(Tempi=1&&ALU_out=32) ALU_out=31-i;endend 1:for(i=0;i<32;i=i+1) ALU_outi=AiBi;2:for(i=0;i<32;i=i+1) ALU_o
7、uti=Ai|Bi;3:for(i=0;i<32;i=i+1)ALU_outi=(Ai|Bi);4:for(i=0;i<32;i=i+1)ALU_outi=Ai&Bi;5:ALU_out=Less;6:ALU_out=Result;default:ALU_out=0;endcaseendendmodule實(shí)驗(yàn)二:1、 基本思想:ARM32 位 CPU 中的 ALU 電路框圖如圖 4 所示。因 ARM32 位 CPU 中 ALU_op 與 Opcode24:21相同,前導(dǎo) 0 指令、指令可單獨(dú)處理,所以 ARM32 位 CPU 中 ALU 就不需要 ALU作指令如表 2 所示
8、。器。ALU 數(shù)據(jù)操助記符操作結(jié)果ALUop邏輯位異或Rd=Rn EOR 移位的操作數(shù)0001EOR反向減Rd=移位的操作數(shù)-Rn0011RSB帶進(jìn)位加Rd=Rn+移位的操作數(shù)+進(jìn)位標(biāo)志0101ADC帶進(jìn)位反減Rd=移位的操作數(shù)-Rn-進(jìn)位標(biāo)志的非0111RSC測(cè)試相等Rn EOR 移位的操作數(shù)后更新標(biāo)志1001TEQ比較反值Rn+移位的操作數(shù)后更新標(biāo)志1011CMN傳送Rd=移位的操作數(shù)1101MOV求反Rd=NOT 移位的操作數(shù)1111MVN表 22、 電路圖:1110BIC位清 0Rd=Rn AND NOT(移位的操作數(shù))1100ORR邏輯位或Rd=Rn OR 移位的操作數(shù)1010CMP
9、比較Rn-移位的操作數(shù)后更新標(biāo)志1000TST測(cè)試Rn AND 移位的操作數(shù)后更新標(biāo)志0110SBC帶進(jìn)位減Rd=Rn-移位的操作數(shù)-進(jìn)位標(biāo)志的非0100ADD加Rd=Rn+移位的操作數(shù)0010SUB減Rd=Rn-移位的操作數(shù)0000AND邏輯位與Rd=Rn AND 移位的操作數(shù)圖 4 ARM32 位 ALU 電路框圖3、程序代碼: module test2( input 31:0A,input 31:0B, input Cin,input 3:0ALU_op, output reg N, output reg Z, output reg C, output reg V,output reg
10、31:0ALU_out);reg 31:0Temp;reg 31:0Carry; integer i;always(*)beginALU_out=32'b0; N=1'b0;Z=1'b0; C=1'b0; V=1'b0;Temp=1'b0; Carry=1'b0; i=1'b0;/MUX case(ALU_op)/AND 0:ALU_out=A&B;/EOR 1:ALU_out=AB;/SUB 2:ALU_out=A-B;/RSB 3:ALU_out=B-A;/ADD 4:ALU_out=A+B;/ADC 5:ALU_ou
11、t=A+B+Cin;/SBC 6:ALU_out=A-B-(Cin);/RSC 7:ALU_out=B-A-(Cin);/TST 8:beginALU_out=A&B; N=ALU_out31;if(ALU_out=0) Z=1; else Z=0;end/TEQ9:beginALU_out=AB; N=ALU_out31;if(ALU_out=0) Z=1; else Z=0;end/CMP 10:beginfor(i=0;i<32;i=i+1) Tempi=Bi1'b1;Carry0,ALU_out0=A0+Temp0+1'b1; for(i=1;i<3
12、2;i=i+1)Carryi,ALU_outi=Ai+Tempi+Carryi-1;/Negative N=ALU_out31;/Zero if(ALU_out=0) Z=1; else Z=0;/Carry C=Carry31;/Overflow V=Carry31Carry30;end/CMN 11:beginCarry0,ALU_out0=A0+B0;for(i=1;i<32;i=i+1)Carryi,ALU_outi=Ai+Bi+Carryi-1;/Negative N=ALU_out31;/Zero if(ALU_out=0) Z=1; else Z=0;/Carry C=Ca
13、rry31;/Overflow V=Carry31Carry30;end/ORR 12:ALU_out=A|B;/MOV 13:ALU_out=B;/BIC14:ALU_out=A&(B);/MVN 15:ALU_out=B; default:ALU_out=0;endcaseendendmodule五、實(shí)驗(yàn)步驟1. 打開計(jì)算機(jī)電源運(yùn)行 Quartus II2. 用 Verilog HDL 語(yǔ)言或 VHDL 語(yǔ)言編寫一個(gè) MIPS32 位 CPU 中所的 ALU 的程序3. 編譯調(diào)試,數(shù)據(jù)由圖中所示,0 時(shí)實(shí)現(xiàn)的加法,0000 0005+A000 0000 結(jié)果 A000 0005,而
14、且 00000005 小于 A000 0000;1 的時(shí)候?qū)崿F(xiàn)的是減法,一致,同理,后面的功能依次實(shí)現(xiàn)了,但是 slt 于 slti,sltu 與 sltiu 即硬件指令,條件滿足寫入 1,否則寫 0。4. 用 Verilog HDL 語(yǔ)言或 VHDL 語(yǔ)言編寫一個(gè) ARM32 位 CPU 中所的 ALU 的程序5. 編譯調(diào)試,數(shù)據(jù)與 MIPS 相似,ARM 實(shí)現(xiàn)的功能在功能六、實(shí)驗(yàn)總結(jié)中同樣可以看出。通過(guò)電路圖以及實(shí)驗(yàn)功能的實(shí)現(xiàn),配合實(shí)驗(yàn)代碼,可以輕松的實(shí)現(xiàn)所要的功能。同時(shí),用 現(xiàn)功能的邏輯器件。七、思考題譯碼代替一級(jí)譯碼,是邏輯功能更加簡(jiǎn)潔,節(jié)約了實(shí)1.說(shuō)明一級(jí)譯碼和譯碼各自的特點(diǎn)。答:一級(jí)譯碼就是將信號(hào)直接輸入譯碼器內(nèi)來(lái)不同的運(yùn)算;譯碼是將一組信號(hào)先進(jìn)行一級(jí)譯碼,讓后將信號(hào)再傳出信號(hào)端來(lái)不同的運(yùn)算。一譯碼邏輯更復(fù)雜,浪費(fèi);譯碼邏輯簡(jiǎn)單一些。比如加法和減法運(yùn)算,如果直接通過(guò) ALUop 來(lái)操作,會(huì)使 ALU 操作十分復(fù)雜,但通過(guò)二級(jí)譯碼后,雖然外部指令不同,但最后都是通過(guò)加法實(shí)現(xiàn),提高了 ALU 的效率。2.分析我們?cè)趯?shí)驗(yàn)中所用的ALU不一樣?答:實(shí)驗(yàn)中所用的 AL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中國(guó)工商銀行北京門頭溝區(qū)支行春季校招筆試題帶答案
- 基于雙模態(tài)超聲深度學(xué)習(xí)預(yù)測(cè)模型診斷乳腺癌的應(yīng)用研究
- 河道日常巡查管理辦法
- 晉江市網(wǎng)約車管理辦法
- 江蘇醫(yī)療廢物管理辦法
- 理財(cái)公司內(nèi)勤管理辦法
- 生產(chǎn)安全巡查管理辦法
- 沖壓模具車間管理辦法
- 醫(yī)療場(chǎng)所管理暫行辦法
- 溫州大學(xué)就業(yè)管理辦法
- 2023年本科招生考試
- 碳捕集、利用與封存技術(shù)課件
- 碳達(dá)峰和“碳中和”環(huán)境知識(shí)科普宣傳PPT教學(xué)課件
- 中文版b4a新手指南-第14-15章語(yǔ)言畫圖
- 新入職護(hù)士培訓(xùn)考試試題及答案
- 《消防安全技術(shù)實(shí)務(wù)》課本完整版
- 公路工程標(biāo)準(zhǔn)施工監(jiān)理招標(biāo)文件(2018年版)
- 北師大版七年級(jí)數(shù)學(xué)下冊(cè) 與信息技術(shù)相融合的數(shù)學(xué)教學(xué)案例 教案
- 鈍針穿刺法臨床應(yīng)用護(hù)理
- 精品中文版b4a新手指南第4章開發(fā)環(huán)境
- 光纜線路的故障分析及障礙搶修
評(píng)論
0/150
提交評(píng)論