freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于mips指令集的32位risc處理器邏輯設(shè)計(jì)-資料下載頁

2025-08-24 11:25本頁面
  

【正文】 無符號加ADDU ADDU rd, rs, rt rd rs + rt;無符號加CLO CLO rd, rs rd rs 首 1 計(jì)數(shù)CLZ CLZ rd, rs rd rs 首 0 計(jì)數(shù)DIV DIV rs, rt (HI, LO) rs / rt;有符號除DIVU DIVU rs, rt (HI, LO) rs / rt;無符號除MADD MADD rs, rt (HI,LO) (HI,LO) + (rs rt);有符號運(yùn)算MADDU MADDU rs, rt (HI,LO) (HI,LO) + (rs rt);無符號運(yùn)算MSUB MSUB rs, rt (HI,LO) (HI,LO) (rs rt);有符號MSUBU MSUBU rs, rt (HI,LO) (HI,LO) (rs rt);無符號MUL MUL rd, rs, rt rd rs rt (只存儲(chǔ)結(jié)果低位)MULT MULT rs, rt (HI, LO) rs rt;有符號MULTU MULTU rs, rt (HI, LO) rs rt;無符號SLT SLT rd, rs, rt rd (rs rt);判斷結(jié)果為真,則 rt 置 1,否則 rt 置 0;有符號比較SLTI SLTI rt, rs, immediate rt (rs immediate);判斷結(jié)果為真,則 rt置 1,否則 rt 置 0;有符號比較SLTIU SLTIU rt, rs, immediate rd (rs rt);判斷結(jié)果為真,則 rt 置 1,否則 rt 置 0;無符號比較 15 SLTU SLTU rd, rs, rt rd (rs rt);判斷結(jié)果為真,則 rt 置 1,否則 rt 置 0;無符號比較SUB SUB rd, rs, rt rd rs rt;有符號減SUBU SUBU rd, rs, rt rd rs rt;無符號減AND AND rd, rs, rt rd rs AND rtANDI ANDI rt, rs, immediate rt rs AND immediate;0 擴(kuò)展立即數(shù)LUI LUI rt, immediate rt immediate || 0^16;低位串接 16 個(gè) 0NOR NOR rd, rs, rt rd rs NOR rtOR OR rd, rs, rt rd rs or rtORI ORI rt, rs, immediate rt rs or immediate;0 擴(kuò)展立即數(shù)XOR XOR rd, rs, rt rd rs XOR rtXORI XORI rt, rs, immediate rt rs XOR immediate;0 擴(kuò)展立即數(shù)SLL SLL rd, rt, sa rd rt sa;邏輯左移 sa 位SLLV SLLV rd, rt, rs rd rt rs;邏輯左移 rs 位SRA SRA rd, rt, sa rd rt sa (算術(shù)右移 sa 位)SRAV SRAV rd, rt, rs rd rt rs (算術(shù)右移 rs 位)SRL SRL rd, rt, sa rd rt sa (邏輯右移 sa 位)SRLV SRLV rd, rt, rs rd rt rs (邏輯右移 rs 位)B B offset 無條件轉(zhuǎn)移到 PC + sign_extend(offset||00)BAL BAL rs, offset 無條件轉(zhuǎn)移到 PC + sign_extend(offset||00);GPR[31] PC + 8BEQ BEQ rs, rt, offset if rs = rt then branchBGEZ BGEZ rs, offset if rs = 0 then branchBGEZAL BGEZAL rs, offset if rs = 0 then branch;GPR[31] PC + 8BGTZ BGTZ rs, offset if rs 0 then branchBLEZ BLEZ rs, offset if rs = 0 then branchBLTZ BLTZ rs, offset if rs 0 then branchBLTZAL BLTZAL rs, offset if rs 0 then branch;GPR[31] PC + 8BNE BNE rs, rt, offset if rs != rt then branchJ J target 在當(dāng)前指令附近 256MB 的范圍內(nèi)跳轉(zhuǎn)JAL JAL target 在當(dāng)前指令附近 256MB 的范圍內(nèi)跳轉(zhuǎn);GPR[31] PC + 8JALR JALR rd, rs 或 JALR rd(默認(rèn)rs =GPR[31]) rd return_addr;PC rsJR JR rs PC rsNOP NOP 空操作SSNOP SSNOP 空操作LW LW rt, offset(base) rt memory[base+offset];Load 全字SW SW rt, offset(base) memory[base+offset] rtMFHI MFHI rd rd HIMFLO MFLO rd rd LOMOVN MOVN rd, rs, rt if rt != 0 then rd rsMOVZ MOVZ rd, rs, rt if rt = 0 then rd rsMTHI MTHI rs HI rsMTLO MTLO rs LO rs 16 第三章 處理器獨(dú)立功能模塊的設(shè)計(jì)在 CPU 中,主要的算術(shù)運(yùn)算和邏輯運(yùn)算都要在算術(shù)邏輯單元 ALU(Arithmetic Logic Unit)中完成,例如加法、減法、邏輯與、邏輯或等等。本章主要介紹包括 ALU 在內(nèi)的處理器主要獨(dú)立功能模塊的設(shè)計(jì)實(shí)現(xiàn)方法。在本文中,各種算術(shù)運(yùn)算(加、減、乘、除、算術(shù)移位等)使用的操作數(shù)都用補(bǔ)碼表示。本文討論的處理器設(shè)計(jì)的開發(fā)環(huán)境是 Quartus II sp3。 輔助邏輯模塊的設(shè)計(jì)處理器中數(shù)據(jù)通路的構(gòu)建、邏輯功能組合等設(shè)計(jì),離不開一些基本的輔助邏輯模塊,例如譯碼器、數(shù)據(jù)選擇器、觸發(fā)器、節(jié)拍發(fā)生器等。本節(jié)介紹本文用到的幾種重要輔助邏輯模塊的實(shí)現(xiàn)方式。譯碼器的功能是接受一個(gè)二進(jìn)制數(shù)值,然后將該數(shù)值進(jìn)行譯碼,把二進(jìn)制代碼轉(zhuǎn)換成特定的信號輸出。若譯碼器有 n 位 2 進(jìn)制數(shù)值,則有 2n 個(gè)輸出。每一個(gè)輸出對應(yīng)一個(gè)二進(jìn)制編碼。在本文所描述的處理器設(shè)計(jì)中,譯碼器主要用于寄存器堆的寫入。在寫寄存器時(shí),要根據(jù)目的寄存器編號生成譯碼信號,置相應(yīng)觸發(fā)器的寫使能端,在寄存器時(shí)鐘上升沿將數(shù)據(jù)寫入制定的寄存器。由于 MIPS 寄存器堆中有 25=32 個(gè)通用寄存器,因此要設(shè)計(jì)一個(gè) 5 位譯碼器。本設(shè)計(jì)采用了 Quartus II 中提供的參數(shù)化解碼器模塊 LPM_DECODE 定義了 5 位譯碼器 lpm_decode5,圖 31 給出了 lpm_decode5 的邏輯設(shè)計(jì)圖。 17 圖 31:5 位譯碼器 lpm_decode5 的邏輯設(shè)計(jì)圖數(shù)據(jù)選擇器又稱多路選擇器或多路器。數(shù)據(jù)選擇器的功能是從多個(gè)輸入數(shù)據(jù)中選擇一個(gè)為輸出。在本文描述的處理器設(shè)計(jì)中,應(yīng)用數(shù)據(jù)選擇器的地方很多,例如寄存器堆的設(shè)計(jì)就要用到 2 個(gè) 32 路 32 位數(shù)據(jù)選擇器,供寄存器堆的兩個(gè)讀端口選擇指定寄存器輸出?,F(xiàn)以該 32 路 32 位數(shù)據(jù)選擇器為例,介紹數(shù)據(jù)選擇器的設(shè)計(jì)。本設(shè)計(jì)采用了 Quartus II 中提供的參數(shù)化數(shù)據(jù)選擇器模塊 LPM_MUX 定義了 32路 32 位數(shù)據(jù)選擇器 lpm_mux32x32,圖 32 給出了 lpm_mux32x32 的邏輯設(shè)計(jì)圖。 18 圖 32:32 路 32 位數(shù)據(jù)選擇器 lpm_mux32x32 的邏輯設(shè)計(jì)圖在 CPU 設(shè)計(jì)中,一條指令的執(zhí)行需要經(jīng)歷取指令(IF) 、指令譯碼(ID) 、指令執(zhí)行(EXE) 、存儲(chǔ)器訪問( MEM) 、寫回寄存器(WB)中的某幾個(gè)階段。為了實(shí)現(xiàn)在不同的階段實(shí)施相應(yīng)的控制,需要建立一個(gè)有限狀態(tài)機(jī),有限狀態(tài)機(jī)的表現(xiàn)形式之一就是時(shí)序節(jié)拍發(fā)生器。本文設(shè)計(jì)的有限狀態(tài)機(jī)的輸入是一個(gè)全局的公共時(shí)鐘脈沖輸入,輸出端則連接各個(gè)系統(tǒng)模塊的獨(dú)立時(shí)鐘,根據(jù)狀態(tài)機(jī)的當(dāng)前狀態(tài),按一定次序給出各模塊的時(shí)鐘信號,協(xié)調(diào)調(diào)度各個(gè)模塊有序工作。本文在單周期處理器模型中,使用 VHDL8定義了一個(gè)包含 4 個(gè)狀態(tài)的有限狀態(tài)8 VHDL( VeryHighSpeed Integrated Circuit Hardware Description Language)即超高速集成電路硬件描述語言。本文的 VHDL 采用 IEEE Std 10762022 標(biāo)準(zhǔn)。 19 機(jī) TimeSeq。TimeSeq 的 VHDL 實(shí)體定義為:LIBRARY ieee。USE 。ENTITY TimeSeq ISPORT(clock : IN STD_LOGIC。SeqOut : OUT STD_LOGIC_VECTOR (3 DOWNTO 0))。END ENTITY TimeSeq。TimeSeq 的詳細(xì) VHDL 代碼請參看附錄 C。圖 33 給出了 4 狀態(tài)時(shí)序節(jié)拍發(fā)生器 TimeSeq 的邏輯設(shè)計(jì)圖。圖 33:4 狀態(tài)時(shí)序節(jié)拍發(fā)生器 TimeSeq 的邏輯設(shè)計(jì)圖 邏輯運(yùn)算器的設(shè)計(jì)在邏輯運(yùn)算中,操作數(shù)被視為邏輯數(shù)。所謂的邏輯數(shù)就是沒有符號,每個(gè)位的地位都相同的數(shù)。 “1 代表”邏輯真, “0”代表邏輯假。在 MIPS 中,定義了邏輯與(AND ) 、邏輯或(OR) 、邏輯或非(NOR)和邏輯異或(XOR) 。邏輯與的操作為兩個(gè)操作數(shù)的按位與。圖 34 給出了 32 位邏輯與的邏輯電路圖。 20 圖 34:32 位邏輯與的邏輯電路圖邏輯或的操作為兩個(gè)操作數(shù)的按位或。圖 35 給出 32 位邏輯或的邏輯電路圖。圖 35:32 位邏輯或的邏輯電路圖邏輯或的操作為兩個(gè)操作數(shù)的按位或然后非。圖 36 給出了 32 位邏輯或非的邏輯電路圖。圖 36:32 位邏輯或非的邏輯電路圖邏輯或的操作為兩個(gè)操作數(shù)的按位異或。圖 37 給出了 32 位邏輯異或的邏輯電路圖。圖 37:32 位邏輯異或的邏輯電路圖 21 算術(shù)運(yùn)算器的設(shè)計(jì)加減法器是執(zhí)行二進(jìn)制加法運(yùn)算和減法運(yùn)算的邏輯部件,它是處理器中的基本邏輯部件。本設(shè)計(jì)采用了 Quartus II 中提供的參數(shù)化加減法器模塊 LPM_ADD_SUB 定義了32 位加減法器 lpm_add_sub32,圖 38 給出了 32 位加減法器 lpm_add_sub32 的邏輯電路圖。圖 38:32 位加減法器 lpm_add_sub32 的邏輯電路圖乘法器是執(zhí)行二進(jìn)制乘法運(yùn)算的邏輯部件。而 MIPS 指令集中定義有符號乘法和無符號乘法 2 種運(yùn)算,為此需要實(shí)現(xiàn) 2 種乘器。本設(shè)計(jì)采用了 Quartus II 中提供的參數(shù)化乘法器模塊 LPM_MULT 定義了 32位無符號數(shù)乘法器 lpm_mult32 和 32 位有符號數(shù)乘法器 lpm_mult32_signed,圖 39給出了 32 位無符號數(shù)乘法器 lpm_mult32 和 32 位有符號數(shù)乘法器lpm_mult32_signed 的邏輯電路圖。 22 圖 39:32 位乘法器 lpm_mult32 和 lpm_mult32_signed 的邏輯電路圖除法器是執(zhí)行二進(jìn)制除法運(yùn)算的邏輯部件。而 MIPS 指令集中定義有符號除法和無符號除法 2 種運(yùn)算,為此需要實(shí)現(xiàn) 2 種除法器。本設(shè)計(jì)采用了 Quartus II 中提供的參數(shù)化除法器模塊 LPM_DIVIDE 定義了32 位無符號數(shù)除法器 lpm_divide32 和 32 位有符號數(shù)除法器 lpm_divide32_signed,圖 310 給出了 32 位無符號數(shù)除法器 lpm_divide32 和 32 位有符號數(shù)除法器lpm_divide32_signed 的邏輯電路圖。圖 310:32 位除法器 lpm_divide32 和 lpm_divide32_signed 的邏輯電路圖數(shù)據(jù)器是執(zhí)行二進(jìn)制數(shù)據(jù)大小比較運(yùn)算的邏輯部件,常用于轉(zhuǎn)移條件信號的生成。 23 而 MIPS 指令集中定義有符號數(shù)比較和無符號數(shù)比較 2 種運(yùn)算,為此需要實(shí)現(xiàn)2 種比較器。本設(shè)計(jì)采用了 Quartus II 中提供的參數(shù)化比較器模塊 LPM_COMPARE定義了 32 位無符號數(shù)比較器 lpm_pare32 和 32 位有符號數(shù)比較器lpm_pare32_signed,圖 311 給出了 32 位無符號數(shù)比較器 lpm_pare32 和 32位有符號數(shù)比較器 lpm_pare32_signed 的邏輯電路圖。圖 311:32 位比較器 lpm_pare32 和 lpm_pare32_signed 的邏輯電路圖移位器是執(zhí)行二進(jìn)制數(shù)據(jù)移位運(yùn)算的邏輯部件。而 MIPS 指令集中定義有 2 種移位操作:邏輯移位和算術(shù)移位,邏輯移位中又分為邏輯右移和邏輯左移兩種。為此需要實(shí)現(xiàn) 2 種移位器。本設(shè)計(jì)采用了 Quartus II中提供的參數(shù)化比較器模塊 LPM_CLSHIFT 定義了 32 位
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1