版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告 題目:CPU 指令譯碼器實(shí)驗(yàn)學(xué) 院 數(shù)學(xué)與信息科學(xué)學(xué)院 學(xué)科門(mén)類(lèi) 工 學(xué) 專(zhuān) 業(yè) 12軟件工程 學(xué) 號(hào) 2012436138 姓 名 王賽賽 指導(dǎo)教師 王兵 2014年12月28號(hào) CPU 指令譯碼器實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康模?)理解指令譯碼器的作用和重要性 (2)學(xué)習(xí)設(shè)計(jì)指令譯碼器二實(shí)驗(yàn)原理指令譯碼器是計(jì)算機(jī)控制器中最重要的部分。所謂組合邏輯控制器就是指令譯碼器電路是由組合邏輯實(shí)現(xiàn)的。組合邏輯控制器又稱(chēng)硬連線(xiàn)控制器,是設(shè)計(jì)計(jì)算機(jī)中的一種方法。這種控制器中的控制信號(hào)直接由各種類(lèi)型的邏輯門(mén)和觸發(fā)器構(gòu)成。這樣,一旦控制器部件構(gòu)成后,除非重新設(shè)計(jì)和物理上對(duì)它重新連線(xiàn),否則的話(huà),要想增
2、加新的功能是不可能的。結(jié)構(gòu)上的這種缺陷使得硬連線(xiàn)控制器的設(shè)計(jì)和調(diào)試變得非常復(fù)雜而且代價(jià)很大。所以硬連線(xiàn)控制器曾一度被微程序控制器所取代。但是隨著新一代機(jī)器及VLSI技術(shù)的發(fā)展,這種控制器又得到了廣泛重視,如RISC機(jī)廣泛使用這種控制器。下圖是組合邏輯控制器的結(jié)構(gòu)方框圖。邏輯網(wǎng)絡(luò)的輸入信號(hào)來(lái)源有3個(gè):指令操作譯碼器的輸出In;來(lái)自時(shí)序發(fā)生器的節(jié)拍電位信號(hào)Tk;來(lái)自執(zhí)行部件的反饋信號(hào)Bj。邏輯網(wǎng)絡(luò)的輸出信號(hào)就是微操作控制信號(hào),用來(lái)對(duì)執(zhí)行部件進(jìn)行控制。組合邏輯控制器的結(jié)構(gòu)方框圖顯然,組合邏輯控制器的基本原理可描述為:某一微操作信號(hào)Cm是指令操作譯碼器的輸出In、時(shí)序信號(hào)(節(jié)拍電位信號(hào)Tk)和狀態(tài)條件
3、信號(hào)Bj的邏輯函數(shù)。即 Cm=f(In,Tk,Bj) 用這種方法設(shè)計(jì)控制器,需要根據(jù)每條指令的要求,讓節(jié)拍電位和時(shí)序脈沖有步驟地去控制器的各有關(guān)部分,一步一步地執(zhí)行指令所規(guī)定的微操作,從而在一個(gè)指令周期內(nèi)完成一條指令所規(guī)定的全部操作。一般來(lái)說(shuō),組合邏輯控制器的設(shè)計(jì)步驟如下。 (1) 繪制指令流程圖為了確定指令執(zhí)行過(guò)程所需的基本步驟,通常是以指令為線(xiàn)索,按指令類(lèi)型分類(lèi),將每條指令歸納成若干微操作,然后根據(jù)操作的先后次序畫(huà)出流程圖。 (2)安排指令操作時(shí)間表 指令流程圖的進(jìn)一步具體化,把每一條指令的微操作序列分配到各個(gè)機(jī)器周期的各個(gè)時(shí)序節(jié)拍信號(hào)上。要求盡量多的安排公共操作。避免出現(xiàn)互斥。 (3)
4、安排微命令表以微命令為依據(jù),表示在哪個(gè)機(jī)器周期的哪個(gè)節(jié)拍有哪些指令要求這些微命令。 (4) 進(jìn)行微操作邏輯綜合根據(jù)為操作時(shí)間表,將執(zhí)行某一操作的所有條件(哪條指令、哪個(gè)機(jī)器周期、哪個(gè)節(jié)拍和脈沖等)都考慮在內(nèi),加以分類(lèi)組合,列出各微操作產(chǎn)生的邏輯表達(dá)式,并加以簡(jiǎn)化。 (5) 實(shí)現(xiàn)電路根據(jù)上面所得邏輯表達(dá)式,用邏輯門(mén)電路的組合或大規(guī)模集成電路來(lái)實(shí)現(xiàn)。三實(shí)驗(yàn)要求 1、實(shí)驗(yàn)設(shè)計(jì)目標(biāo)本實(shí)驗(yàn)要求根據(jù)第二章中的實(shí)驗(yàn)CPU中使用的指令系統(tǒng)設(shè)計(jì)指令譯碼器,指令系統(tǒng)見(jiàn)第二章2.1節(jié),不在重述。本實(shí)驗(yàn)指令譯碼器的設(shè)計(jì)相對(duì)比較簡(jiǎn)單,節(jié)拍(t1、t2和t3)因素只在存儲(chǔ)器讀寫(xiě)時(shí)需要對(duì)存儲(chǔ)器地址分時(shí)使用考慮,這里暫不考慮
5、節(jié)拍t,也就是說(shuō)微操作控制信號(hào)只是指令操作碼In和Bj的函數(shù): Cm=f(In,Bj)式子中的In主要代表指令操作碼IR1512,還有輔助操作碼(如算術(shù)邏輯指令的IR2.0,這里要求只考慮指令操作碼IR15.12。Bj代表進(jìn)位標(biāo)志C和結(jié)果為0標(biāo)志Z。 要求產(chǎn)生的微操作控制信號(hào)如下:op_code 控制ALU進(jìn)行8中運(yùn)算操作的3位編碼;c_z_j_flag 為1表示需要條件轉(zhuǎn)移;lj_instruct 為 1表示本條指令是“JMP ADR”指令;DRWr 為1表示在t3的下降沿將本條指令的執(zhí)行結(jié)果寫(xiě)入目的寄存器中;Mem_Write 為1表示本條指令有存儲(chǔ)器讀寫(xiě)操作,存儲(chǔ)器的地址是目的寄存器的內(nèi)
6、容;DW_instruct 為1表示本條指令是雙字節(jié)指令;Change_z 為1表示本條指令是可能改變Z(結(jié)果為0)標(biāo)志; Change_c為1表示本條指令是可能改變C(進(jìn)位)標(biāo)志;sel_memdata為1表示本條指令寫(xiě)入目的寄存器的值來(lái)自讀存儲(chǔ)器。2、頂層設(shè)計(jì)實(shí)體的引腳要求引腳要求的對(duì)應(yīng)關(guān)系如下:(1) 指令I(lǐng)R1512對(duì)應(yīng)實(shí)驗(yàn)臺(tái)開(kāi)關(guān)SD3SD0; (2) 進(jìn)位C對(duì)應(yīng)實(shí)驗(yàn)臺(tái)開(kāi)關(guān)SD4;(3) 結(jié)果為0標(biāo)志Z對(duì)應(yīng)實(shí)驗(yàn)臺(tái)開(kāi)關(guān)SD5。 控制信號(hào)對(duì)應(yīng)如下:op_code 指示燈R2、R1、R0; c_z_j_flag 指示燈R3; lj_instruct 指示燈R4; DRWr 指示燈R5; Me
7、m_Write 指示燈R6; DW_instruct 指示燈R7; Change_z 指示燈R8; Change_c 指示燈R9; sel_memdata 指示燈R10。四實(shí)驗(yàn)步驟(1)將實(shí)驗(yàn)臺(tái)設(shè)置成FPGA-CPU獨(dú)立調(diào)試模塊,REGSEL=0,CLKSEL=1,F(xiàn)DSEL=0.使用實(shí)驗(yàn)平臺(tái)上的單脈沖,即STEP_CLK短路子短接,短路子RUN_CLK斷開(kāi)。 (2)將設(shè)計(jì)在Quartus II 下輸入,在編譯后下載到TEC-CA上的FPGA中;(3)撥動(dòng)實(shí)驗(yàn)臺(tái)上的開(kāi)關(guān)SD5SD0,改變IR15.12、進(jìn)位標(biāo)志C和結(jié)果為0標(biāo)志位Z,觀察指示燈R10R0顯示的控制信號(hào),并填寫(xiě)下表。 指令譯碼器實(shí)
8、驗(yàn)(C=0且Z=0)指令I(lǐng)R15.12OP2.0c_z_j_flaglj_instructDRWrMem_WriteDW_instructChange_zchange_csel_memdataADDDRSR000000000100110INC DR000100100100110SUBDRSR001001000100110DECDR001101100100110ANDDRSR010010000100100ORDRSR010110100100100NOTDR011011000100100MOVDRSDR011111100100000JMPADR100011101001000JNCADR100111
9、110000000JNZADR101011110000000MVRDDR,DATA110011100100001LDR DR,SR110111100100001STR SR,DR111011100010000指令譯碼器實(shí)驗(yàn)(C=0且Z=1或者C=1且Z=0或者C=1且Z=1)指令I(lǐng)R15.12OP2.0c_z_j_flaglj_instructDRWrMem_WriteDW_instructChange_zchange_csel_memdataADDDRSR000000000100110INC DR000100100100110SUBDRSR001001000100110DECDR001101
10、100100110ANDDRSR010010000100100ORDRSR010110100100100NOTDR011011000100100MOVDRSDR011111100100000JMPADR100011101001000JNCADR100111110000000JNZADR101011100000000MVRDDR,DATA110011100100001LDR DR,SR110111100100001STR SR,DR111011100010000五、實(shí)驗(yàn)代碼library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_ar
11、ith.all;use ieee.std_logic_unsigned.all;entity instruction_decoder isport (IRH: in std_logic_vector(3 downto 0);c,z: in std_logic;op_code: out std_logic_vector(2 downto 0); c_z_j_flag: out std_logic; lj_instruct: out std_logic; DRWr: buffer std_logic; -為1時(shí)寫(xiě)DR寄存器 Mem_Write: out std_logic; DW_intruct:
12、 buffer std_logic; change_z: out std_logic;change_c: out std_logic;sel_memdata: out std_logic -為1時(shí)存儲(chǔ)器的讀出數(shù)據(jù)作為寫(xiě)入DR的數(shù)據(jù) );end instruction_decoder;architecture behav of instruction_decoder issignal zj_instruct, cj_instruct: std_logic;beginsel_memdata <= IRH(3) and IRH(2) and (not IRH(1);change_z <=
13、 (not IRH(3) and (not IRH(2) or (not IRH(3) and IRH(2) and (not IRH(1) or (not IRH(3) and IRH(2) and IRH(1) and (not IRH(0);change_c <= (not IRH(3) and (not IRH(2);c_z_j_flag <= (zj_instruct and (not z) or (cj_instruct and (not c);DRWr_proc: process(IRH)beginif IRH(3) = '0' then -算術(shù)邏輯指
14、令 DRWr <= '1'elsif IRH(2) = '1' and IRH(1) = '0' then -MVRD DR,DATA;LDR DR,SRDRWr <= '1'elseDRWr <= '0'end if;end process;M_instruct:process(IRH)begincase IRH(3 downto 0) iswhen "1000" | "1100" => -jmp addr;mvrd dr,dataMem_Write
15、 <= '0'DW_intruct <= '1'when "1110" => - str sr,drMem_Write <= '1'DW_intruct <= '0'when others =>Mem_Write <= '0'DW_intruct <= '0'end case;end process;ALUOP_CODE_PROC:PROCESS(IRH)begin if IRH(3) = '0' thenop_co
16、de <= IRH(2 downto 0);elseop_code <= "111"end if;end process;Jinstruct_PROC:process(IRH)begin case IRH(3 downto 0) iswhen "1000" => -jmp adrzj_instruct <= '0'cj_instruct <= '0'lj_instruct <= '1'when "1001" => -jnc addrzj_instruct <= '0'cj_instruct <= '1'lj_instruct <= '0'whe
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品經(jīng)營(yíng)企業(yè)員工崗位職責(zé)
- 研究經(jīng)費(fèi)管理改革-洞察分析
- 虛擬現(xiàn)實(shí)與船舶駕駛教學(xué)資源整合-洞察分析
- 研發(fā)投入與產(chǎn)出分析-洞察分析
- 圖像元智能識(shí)別與跟蹤-洞察分析
- 《浙江卷生物》課件
- 云計(jì)算環(huán)境下的安全防護(hù)技術(shù)研究-洞察分析
- 勤儉節(jié)約是美德講話(huà)稿范文(16篇)
- 移動(dòng)網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)-洞察分析
- 循環(huán)經(jīng)濟(jì)政策對(duì)堿業(yè)影響-洞察分析
- 職業(yè)健康檢查機(jī)構(gòu)執(zhí)法監(jiān)督檢查表
- 2024年廣東開(kāi)放大學(xué)《財(cái)務(wù)管理》形成性考核參考試題庫(kù)(含答案)
- 化工類(lèi)行業(yè)分析
- 大班幼兒集體教學(xué)活動(dòng)中有效提問(wèn)的現(xiàn)狀及其改進(jìn)
- 房屋裝修售后服務(wù)方案
- 民航服務(wù)禮儀(民航服務(wù)類(lèi)專(zhuān)業(yè))全套教學(xué)課件
- 《可燃?xì)怏w檢測(cè)儀》課件
- 《黃土高填方地基技術(shù)規(guī)程》
- 部編版九年級(jí)中考復(fù)習(xí)戲劇閱讀 (教師版)
- 裸光纖施工方案
- 小學(xué)英語(yǔ)-Unit2 Ways to go to school Part B Read and write教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
評(píng)論
0/150
提交評(píng)論