組成原理設(shè)計(jì)報(bào)告內(nèi)容指導(dǎo)_第1頁(yè)
組成原理設(shè)計(jì)報(bào)告內(nèi)容指導(dǎo)_第2頁(yè)
組成原理設(shè)計(jì)報(bào)告內(nèi)容指導(dǎo)_第3頁(yè)
組成原理設(shè)計(jì)報(bào)告內(nèi)容指導(dǎo)_第4頁(yè)
組成原理設(shè)計(jì)報(bào)告內(nèi)容指導(dǎo)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、【課程設(shè)計(jì)內(nèi)容】題目:指令系統(tǒng)及指令譯碼器設(shè)計(jì)設(shè)計(jì)內(nèi)容如下:1、 指令系統(tǒng)設(shè)計(jì):11、22、33、56號(hào)指令編號(hào)指令機(jī)器碼1機(jī)器碼 2注 釋11ADDC A, EM1000EM將存儲(chǔ)器EM地址的值加入累加器A中,帶進(jìn)位22AND A, R?10101累加器A“與”間址存儲(chǔ)器的值33MOV R? A100000將累加器A中的值送入R?中56RLC A110111累加器A帶進(jìn)位左移2、 模型機(jī)硬件設(shè)計(jì):指令譯碼器3、 邏輯電路設(shè)計(jì):正邏輯的SN74181芯片【系統(tǒng)設(shè)計(jì)】1、 模型機(jī)邏輯框圖圖1 整機(jī)邏輯框圖圖2 芯片引腳邏輯框圖圖3 CPU邏輯框圖2、 指令系統(tǒng)設(shè)計(jì)11 ADDC A, EM類(lèi)型:

2、算術(shù)運(yùn)算指令尋址方式:存儲(chǔ)器直接尋址功能:將存儲(chǔ)器EM地址的值加入累加器A中,帶進(jìn)位22 AND A, R?類(lèi)型:邏輯運(yùn)算指令尋址方式:寄存器間接尋址功能:累加器A“與”間址存儲(chǔ)器的值33 MOV R? A類(lèi)型:數(shù)據(jù)傳送類(lèi)指令尋址方式:寄存器間接尋址功能:將累加器A中的值送入R?中56 RLC A類(lèi)型:邏輯操作類(lèi)指令功能:累加器A帶進(jìn)位左移3、 微操作控制信號(hào)1、XRD : 外部設(shè)備讀信號(hào),當(dāng)給出了外設(shè)的地址后,輸出此信號(hào),從指定外設(shè)讀數(shù)據(jù)。2、EMWR: 程序存儲(chǔ)器EM寫(xiě)信號(hào)。3、EMRD: 程序存儲(chǔ)器EM讀信號(hào)。4、PCOE: 將程序計(jì)數(shù)器PC的值送到地址總線(xiàn)ABUS上(MAR)。5、EM

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

4、UT里。14、STEN: 將數(shù)據(jù)總線(xiàn)DBUS上數(shù)據(jù)存入堆棧寄存器ST中。15、 RRD: 讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。16、 RWR: 寫(xiě)寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。17、 CN: 決定運(yùn)算器是否帶進(jìn)位移位,CN=1帶進(jìn)位,CN=0不帶進(jìn)位。18、 FEN: 將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。19、 WEN: 將數(shù)據(jù)總線(xiàn)DBUS的值打入工作寄存器W中。20、 AEN: 將數(shù)據(jù)總線(xiàn)DBUS的值打入累加器A中。21-23: X2 X0 : X2、X1、X0三位組合來(lái)譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。 24-26: S2 S0 :

5、S2、S1、S0三位組合決定ALU做何種運(yùn)算。4、 指令執(zhí)行流程5、 編號(hào)助記符節(jié)拍數(shù)微操作控制信號(hào)涉及的硬件11ADDC A, EMT7PCMARPCOE MARENPC, MAR, EM, W, A,ALU, FT6EMWPC + 1EMEN EMRD WENT5WMARWEN WARENT4EMWEMEN EMRD WENT3A+WDBUSAS2 S0 AEN FEN22AND A, R?T5R? MARWEN MARENR, DBUS, MAR, EM, W,A ALU,FT4EMWEMEN EMRD WENT3A AND WDBUSAS2 S0 AEN FEN33

6、MOV R?, AT3ADBUSR?AEN A, DBUS,A56RLC AT4LDBUSWFEN,X=110 WENR, DBUS, W, A,F CNT3WDBUSAAEN取指周期5、組合邏輯控制器設(shè)計(jì):假設(shè)該模型機(jī)采用組合邏輯控制器,根據(jù)指令執(zhí)行流程,劃分機(jī)器周期及節(jié)拍,安排操作時(shí)序表,寫(xiě)出每個(gè)控制信號(hào)的邏輯表達(dá)式(可以只針對(duì)“設(shè)計(jì)內(nèi)容1”分配給你的指令去設(shè)計(jì),不必考慮其他指令,但操作碼、控制信號(hào)等必須遵循模型機(jī)已設(shè)定的)6、微程序控制器設(shè)計(jì):假設(shè)該模型機(jī)采用微程序控制器,根據(jù)指令執(zhí)行流程,安排微指令格式,為每條微指令安排微地址及下址,設(shè)計(jì)微地址修改邏輯。假設(shè)微指令采用水平格式

7、,操作控制字段采用直接表示法,后繼微地址采用斷點(diǎn)方式獲得,采用T1、T2兩級(jí)時(shí)序系統(tǒng),T1取微指令,T2執(zhí)行微指令并在此周期修改微地址形成后繼微地址。(可以只針對(duì)“設(shè)計(jì)內(nèi)容1”分配給你的指令去設(shè)計(jì),不必考慮其它指令,但操作碼、控制信號(hào)等必須遵循模型機(jī)已設(shè)定的,模型機(jī)共有64條指令,取微地址位數(shù)時(shí)要估計(jì)全部指令的所有微指令個(gè)數(shù))【系統(tǒng)實(shí)現(xiàn)】1、 模型機(jī)實(shí)現(xiàn)(微操作控制信號(hào)實(shí)現(xiàn)的VHDL描述,只寫(xiě)本人題目要求的指令及其所涉及的控制信號(hào),內(nèi)容2要求的邏輯電路的圖形符號(hào)表示、功能、及其VHDL描述)(參見(jiàn)模型機(jī)設(shè)計(jì)部分.doc)(1)邏輯電路的圖形符號(hào)表示、功能(寫(xiě)上你的設(shè)計(jì))(2)指令所涉及的微操作

8、控制信號(hào)(寫(xiě)上你的設(shè)計(jì))(3)系統(tǒng)實(shí)現(xiàn)(填下面VHDL程序)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CPU2013 ISGENERIC( ALL_ZERO:STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000" INT_ENTER: STD_LOGIC_VECTOR(7 DOWNTO 0) := "11100000" INT_CODE : STD_LOGIC_VECTOR(7 DOWNTO 0) := &q

9、uot;10111000"DataWidth: integer :=7;八位機(jī) -ALL_ZERO : STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000000000000" - 十六位機(jī) -INT_ENTER: STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000011100000" -INT_CODE : STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000010111000" -DataWidth: integer := 16)

10、;PORT (CPU引腳描述 clk : IN STD_LOGIC; - 主時(shí)鐘輸入 rst : IN STD_LOGIC; - 復(fù)位輸入 keyin : IN STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 鍵輸入 portout : OUT STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 端口輸出 mem_d : INOUT STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 存貯器數(shù)據(jù)線(xiàn) mem_a : OUT STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0

11、); - 存貯器地址線(xiàn)mem_ah : OUT STD_LOGIC_VECTOR(15 DOWNTO 8); - 八位機(jī)時(shí),高8位地址為0 mem_rd : OUT STD_LOGIC; - 存貯器讀信號(hào) mem_wr : OUT STD_LOGIC; - 存貯器寫(xiě)信號(hào) mem_bh : OUT STD_LOGIC; - 存貯器高8位選擇信號(hào) mem_bl : OUT STD_LOGIC; - 存貯器低8位選擇信號(hào) mem_cs : OUT STD_LOGIC; - 存貯器片選信號(hào) i_req : IN STD_LOGIC - 中斷請(qǐng)求信號(hào));END CPU2013;ARCHITECTURE

12、behavior OF CPU2013 IS-模型機(jī)組成部件及信號(hào)定義,下面給出了部件及信號(hào)的部分定義,在“”處寫(xiě)上其他的定義,參見(jiàn)硬件課程設(shè)計(jì)講義.PPT中“CPU邏輯框圖”等內(nèi)容- 寄存器定義SIGNAL A : STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0);SIGNAL W : STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0);- 標(biāo)志定義SIGNAL R_CY: STD_LOGIC; - 進(jìn)位標(biāo)志寄存器SIGNAL R_Z : STD_LOGIC; - 零標(biāo)志寄存器- 中斷定義SIGNAL R_REQ: STD_LOGIC;

13、- 中斷請(qǐng)求寄存器- 26 位微控制信號(hào)SIGNAL S0 : STD_LOGIC;SIGNAL S1 : STD_LOGIC;SIGNAL S2 : STD_LOGIC; - 運(yùn)算器功能選擇SIGNAL AEN : STD_LOGIC; - A寫(xiě)允許(將剩余的10個(gè)微控制信號(hào)的定義寫(xiě)在此處)SIGNAL STEN : STD_LOGIC; - ST寄存器寫(xiě)允許SIGNAL OUTEN: STD_LOGIC; - OUT寄存器寫(xiě)允許SIGNAL MAROE: STD_LOGIC; - MAR寄存器地址輸出允許SIGNAL MAREN: STD_LOGIC; - MAR寄存器寫(xiě)允許SIGNAL

14、ELP : STD_LOGIC; - PC寄存器寫(xiě)允許SIGNAL EINT : STD_LOGIC; - 中斷結(jié)束SIGNAL IREN : STD_LOGIC; - IR寄存器寫(xiě)允許SIGNAL EMEN : STD_LOGIC; - EM存貯器與數(shù)據(jù)總線(xiàn)(D_BUS)相通控制位SIGNAL PCOE : STD_LOGIC; - PC寄存器地址輸出允許SIGNAL EMRD : STD_LOGIC; - 主存貯器讀允許SIGNAL EMWR : STD_LOGIC; - 主存貯器寫(xiě)允許SIGNAL XRD : STD_LOGIC; - 外部I/O讀允許- ALU運(yùn)算器定義SIGNAL T

15、 : STD_LOGIC_VECTOR(DataWidth DOWNTO 0); - 運(yùn)算結(jié)果- 總線(xiàn)定義SIGNAL D_BUS: STD_LOGIC_VECTOR(DataWidth-1 DOWNTO 0); - 數(shù)據(jù)總線(xiàn)- 指令周期SIGNAL RT: STD_LOGIC_VECTOR(2 DOWNTO 0); - 當(dāng)前節(jié)拍SIGNAL CT: STD_LOGIC_VECTOR(2 DOWNTO 0); - 下一條指令總節(jié)拍BEGIN-內(nèi)容2的邏輯電路的VHDL描述,寫(xiě)上你的設(shè)計(jì),也就是你設(shè)計(jì)的process()-例如: - 寄存器 A PROCESS(clk, rst, AEN) BE

16、GIN - 寄存器 A的功能實(shí)現(xiàn)? END PROCESS;- 26 位微控制信號(hào),寫(xiě)上每條指令與這些信號(hào)的關(guān)系,由指令產(chǎn)生控制信號(hào)-微控制信號(hào)VHDL描述 ,參照下面的“XRD”的描述,在處寫(xiě)上你的設(shè)計(jì)所涉及的控制信號(hào) PROCESS(IR, RT) VARIABLE STATUS: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN STATUS(7 DOWNTO 2) := IR(7 DOWNTO 2);-操作碼 STATUS(2 DOWNTO 0) := RT(2 DOWNTO 0);-RT代表當(dāng)前周期數(shù),代表指令中的T0、T1等 - XRD 1 外部設(shè)備讀信號(hào) C

17、ASE STATUS IS WHEN "10010001" => XRD <= '0' - READ A, MM 該READ指令需要控制信號(hào)“XRD” WHEN OTHERS => XRD <= '1' END CASE; END PROCESS; - 計(jì)算指令周期數(shù)-下面進(jìn)程將根據(jù)指令操作碼設(shè)置指令總節(jié)拍CT=? -該模型機(jī)的設(shè)計(jì)簡(jiǎn)化了時(shí)序系統(tǒng)的設(shè)計(jì),每個(gè)指令周期不分機(jī)器周期,只分節(jié)拍-當(dāng)前節(jié)拍RT的計(jì)算見(jiàn)下面的“指令周期控制PROCESS(clk, rst)”P(pán)ROCESS(I_BUS) VARIABLE inst

18、:STD_LOGIC-VECTOR(7 DOWNTO 2); BEGIN inst:= I_BUS(7 DOWNTO 2); -取操作碼 CASE inst IS WHEN "000100" => CT <= "100" - ADD A, R? WHEN "000101" => CT <= "101" - ADD A, R? WHEN ? =>CT<= ? ; -寫(xiě)上題目要求的你所設(shè)計(jì)的指令的總節(jié)拍數(shù). . END CASE; END PROCESS; - 指令周期控制 PROC

19、ESS(clk, rst) BEGIN IF rst = '1' THEN RT <= "000" ELSIF clk'EVENT AND clk = '1' THEN IF RT = "000" THEN RT <= CT; - 取下一條指令時(shí)同時(shí)算出下一條指令的周期數(shù)CT ELSE RT <= RT - 1; -采用倒數(shù)的方式控制每個(gè)節(jié)拍 END IF; END IF; END PROCESS;END behavior; -實(shí)體CPU2013設(shè)計(jì)全部結(jié)束2、 邏輯電路設(shè)計(jì)(題目?jī)?nèi)容3要求的邏輯電路的圖形符號(hào)表示、功能、及其VHDL描述

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論