指令系統(tǒng)與寄存器組_第1頁
指令系統(tǒng)與寄存器組_第2頁
指令系統(tǒng)與寄存器組_第3頁
指令系統(tǒng)與寄存器組_第4頁
指令系統(tǒng)與寄存器組_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 東北大學(xué)秦皇島分校計算機與通信工程學(xué)院組成原理課程設(shè)計設(shè)計題目指令系統(tǒng)及寄存器組設(shè)計專業(yè)名稱計算機科學(xué)與技術(shù)班級學(xué)號41002學(xué)生姓名指導(dǎo)教師設(shè)計時間2012.12.172012.12.29課程設(shè)計任務(wù)書專業(yè):計算機科學(xué)與技術(shù) 學(xué)號:4100204 學(xué)生姓名(簽名): 設(shè)計題目:指令系統(tǒng)及寄存器組設(shè)計一、設(shè)計實驗條件硬件:PC機軟件:Xilinx ISE ModelSim 編程語言:VHDL二、設(shè)計任務(wù)及要求設(shè)計一個16位的模型機,其組成為:總線結(jié)構(gòu):單總線,數(shù)據(jù)總線位數(shù)16位、地址總線16位;寄存器組設(shè)計邏輯電路設(shè)計:奇偶發(fā)生器74LS180三、設(shè)計目的1、 融會貫通計算機組成原理課程的內(nèi)

2、容,通過知識的綜合運用,加深對計算機系統(tǒng)各個模塊的工作原理及相互聯(lián)系的認識.2、 學(xué)習(xí)運用VHDL進行FPGA/CPLD設(shè)計的基本步驟和方法,熟悉EDA的設(shè)計、模擬調(diào)試工具的使用,體會FPGA/CPLD技術(shù)相對于傳統(tǒng)開發(fā)技術(shù)的優(yōu)點.課程設(shè)計內(nèi)容1、設(shè)計總要求:16位模型機設(shè)計-指令系統(tǒng)及寄存器組設(shè)計1、指令系統(tǒng)設(shè)計:指令編號指令助記符機器碼1機器碼2指令功能12ADDC A, II001010I I將立即數(shù)II加入累加器A中帶進位30MOV A, R?011101將間址存儲器的值送到累加器A中41JC MM101000MM當(dāng)進位標(biāo)志R_CY=1時,跳轉(zhuǎn)到MM地址46CMP A, R?10110

3、1比較A與R?是否相等,即A-R,置標(biāo)志位Z2、模型及硬件設(shè)計:名稱:寄存器組R0-R32、模型機設(shè)計整機邏輯結(jié)構(gòu)框圖芯片引腳:cpu邏輯結(jié)構(gòu)框圖:【設(shè)計指令系統(tǒng)】1、設(shè)計的指令第12條指令:ADDC A, II指令類型:算術(shù)運算指令尋址方式:立即數(shù)尋址第30條 指令:MOV A, R?指令類型:數(shù)據(jù)傳送指令尋址方式:寄存器間接尋址第41條指令:JC MM指令類型:程序跳轉(zhuǎn)指令尋址方式:直接尋址第46條指令:CMP A, R?指令類型:程序跳轉(zhuǎn)指令尋址方式:寄存器直接尋址2、微操作控制信號1、XRD : 外部設(shè)備讀信號,當(dāng)給出了外設(shè)的地址后,輸出此信號,從指定外設(shè)讀數(shù)據(jù)。2、EMWR: 程序存

4、儲器EM寫信號。3、EMRD: 程序存儲器EM讀信號。4、PCOE: 將程序計數(shù)器PC的值送到地址總線ABUS上(MAR)。5、EMEN: 將程序存儲器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD 決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。6、IREN: 將程序存儲器EM讀出的數(shù)據(jù)打入指令寄存器IR。7、EINT: 中斷返回時清除中斷響應(yīng)和中斷請求標(biāo)志,便于下次中斷。8、ELP: PC打入允許,與指令寄存器IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。9、FSTC:進位置1,CY=110、 FCLC:進位置0,CY=011、MAREN:將地址總線ABUS上的地址打入地址寄存器M

5、AR。12、MAROE:將地址寄存器MAR的值送到地址總線ABUS上。13、OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。14、STEN: 將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。15、 RRD: 讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。16、 RWR: 寫寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。17、 CN: 決定運算器是否帶進位移位,CN=1帶進位,CN=0不帶進位。18、 FEN: 將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。19、 WEN: 將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。20、 AEN: 將數(shù)據(jù)總線DBUS的值打入累加器

6、A中。21-23: X2 X0 : X2、X1、X0三位組合來譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。 24-26: S2 S0 : S2、S1、S0三位組合決定ALU做何種運算。3、指令執(zhí)行流程取指令為公共流程編號助記符功能機器碼周期總數(shù)CT節(jié)拍數(shù)微操作控制信號涉及的硬件1_FATCH_取指令000000XX010T0PCMARPCOE MARENPC, MAR , EM, W , IRT1EMWEMEN EMRD WENT2WIRPC + 1PCIREN12ADDC A, II將立即數(shù)II加入累加器A中帶進位001010I I101T3PCMAR PCOE MARENPC, MAR, EM,

7、 W, A,ALU, FT4EMDBUSW PC+1PCEMRD EMEN WENT5A,WALUF ALUAFEN AEN 30MOV A, R?將間址存儲器的值送到累加器A中011101101T3R?MARPCOE MARENPC, MAR, EM, W, DBUS, RT4EMDBUSW PC+1PCEMRD EMEN WENT5WDBUSAS()41JC MM當(dāng)進位標(biāo)志R_CY=1時,跳轉(zhuǎn)到MM地址101000MM110R_CY=1PCMARPCOEMARENPC,MAR,EM,DBUS, W,STT3 T4EMPCPC+1PCEMENEMRDELPR_CY=0PC+1PCT346CM

8、P A, R?比較A與R?是否相等,即A-R,置標(biāo)志位Z101101011 T3R?WRRD,WEN PC, MAR, EM, W, T4 AWS2S1S0(001),FEN(R_ZF)指令執(zhí)行流程: 1、第12條指令 PCOE MARENEMRD EMEN WENT5(101)T4(100)EMDBUSW PC+1=PCPCMARDIA,WALUFALUAT3(011)FEN AEN2、第30條指令PCOE MARENT5(101)PCMAREMRD EMEN WENT4(101)EMDBUSW PC+1=PCWDBUSR?S()T3(101)3、第41條指令 4、第46條指令【模型及實現(xiàn)(

9、寄存器組)】1、邏輯電路圖形符號表示:通用寄存器的邏輯電路圖:通用寄存器的RTL邏輯電路圖:2、邏輯電路的功能:暫存和傳送數(shù)據(jù)3、仿真測試:波形分析圖:結(jié)果分析:D為數(shù)據(jù)輸入、R為數(shù)據(jù)輸出、CLK為時序控制、EN為讀寫控制端、RST為復(fù)位端、R為數(shù)據(jù)輸出。因此由于RST為1,雖然D端輸入數(shù)據(jù)為:1111100010101011,輸出端仍為0(從波形可以看出來),EN為0,表示寫數(shù)據(jù)。3、VDHLM描述如下:- Company: - Engineer: - - Create Date: 15:19:58 12/26/2012 - Design Name: - Module Name: regfi

10、le - Behavioral - Project Name: - Target Devices: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library

11、declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity regfile isPort ( DR: in std_logic_vector(1 downto 0); SR: in std_logic_vector(1 downto 0); reset: in std_logic;DRWr: in std_logic; clk: in std_logic;d_input: in std_logic_vector(7 down

12、to 0);DR_data:out std_logic_vector(7 downto 0); SR_data: out std_logic_vector(7 downto 0) );end regfile;architecture struct of regfile is- components- 8 bit Register for register filecomponent regport(clr: instd_logic;D: instd_logic_vector(7 downto 0);clock: instd_logic;write: instd_logic; sel: inst

13、d_logic;Q: out std_logic_vector(7 downto 0);end component;- 2 to 4 Decodercomponent decoder_2_to_4 port(sel: in std_logic_vector(1 downto 0);sel00: out std_logic;sel01: out std_logic;sel02: out std_logic;sel03: out std_logic);end component;- 4 to 1 line multiplexercomponent mux_4_to_1port (input0,in

14、put1,input2,input3: in std_logic_vector(7 downto 0);sel: in std_logic_vector(1 downto 0);out_put: out std_logic_vector(7 downto 0);end component;signal reg00, reg01, reg02, reg03 :std_logic_vector(7 downto 0); signal sel00 ,sel01 ,sel02 ,sel03 : std_logic;beginAreg00: reg port map(clr=> reset,D=&

15、gt;d_input ,clock=>clk ,write=>DRWr , sel=>sel00 ,Q=> reg00);Areg01: reg port map(clr=> reset,D=>d_input ,clock=>clk ,write=>DRWr , sel=>sel01 ,Q=> reg01);Areg02: reg port map(clr=> reset,D=> d_input ,clock=>clk ,write=>DRWr , sel=>sel02 ,Q=> reg02);Ar

16、eg03: reg port map(clr=> reset,D=>d_input ,clock=>clk ,write=>DRWr , sel=>sel03 ,Q=> reg03);- decoderdes_decoder: decoder_2_to_4 port map(sel => DR, sel00 => sel00 ,sel01 => sel01 ,sel02 => sel02 ,sel03 => sel03 );mux1: mux_4_to_1 PORT MAP(Input0 => reg00 , Input1

17、 => reg01 ,Input2 => reg02 ,Input3 => reg03 ,sel => DR ,out_put => DR_data);mux2: mux_4_to_1 PORT MAP(input0 => reg00 , input1 => reg01 ,input2 => reg02 ,input3 => reg03 ,sel => SR ,out_put => SR_data);end struct;-以下內(nèi)容為reg.vhdlibrary ieee;use ieee.std_logic_1164.all;

18、entity reg isport(clr: instd_logic;D: instd_logic_vector(7 downto 0);clock:instd_logic;write:instd_logic; sel:instd_logic;Q: outstd_logic_vector(7 downto 0);end reg;architecture behav of reg isbeginprocess(clr,clock)beginif clr = '0' thenQ <= x"00" elsif (clock'event and clo

19、ck = '1') thenif sel = '1' and write = '1' thenQ <= D;end if;end if;end process;end behav;【邏輯功能實現(xiàn)(奇偶發(fā)生器)】1、邏輯電路符號表示:2、仿真測試:波形圖3、VHDL描述如下:use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx

20、primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity LS is Port ( a : in STD_LOGIC_VECTOR (7 downto 0); INodd : in STD_LOGIC; INeven : in STD_LOGIC; OUTodd : out STD_LOGIC; OUTeven : out STD_LOGIC);end LS;architecture Behavioral of LS issignal b: std_logic_vector(2 downto 0);be

21、gin process(a,INodd,INeven) variable num:std_logic;begin num:='0' for i in 0 to 7 LOOP num:=num XOR a(i); end LOOP; b<=num&INeven&INodd; case b is when "010" => OUTodd<='0'OUTeven<='1' when "110" => OUTodd<='1'OUTeven<='0' when "001" => OUTodd<='1'OUTeven<='0' when "101&qu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論