




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線(xiàn)教育平臺(tái)內(nèi)容制作手冊(cè)
- 房屋買(mǎi)賣(mài)合同居間協(xié)議
- 工程管理質(zhì)量與安全控制手冊(cè)
- 家具廠(chǎng)廠(chǎng)長(zhǎng)聘任書(shū)合同
- 地皮交易居間協(xié)議合同
- 2025年綿陽(yáng)貨運(yùn)從業(yè)資格證考試題庫(kù)
- 《數(shù)據(jù)可視化技術(shù)應(yīng)用》3.3 構(gòu)建銷(xiāo)售數(shù)據(jù)動(dòng)態(tài)分析看板-教案
- 員工上下班安全協(xié)議書(shū)5篇
- 廠(chǎng)房消防勞務(wù)承包合同范例
- 淮北房產(chǎn)合同范本
- 2025年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)一套
- 2025年黑龍江農(nóng)業(yè)經(jīng)濟(jì)職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)參考答案
- 2025年廣東省深圳法院招聘書(shū)記員招聘144人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 新版統(tǒng)編版一年級(jí)道德與法治下冊(cè)全冊(cè)教案(完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃安排表(完整版)
- 二手人防車(chē)位使用權(quán)轉(zhuǎn)讓協(xié)議書(shū)
- 新版醫(yī)療機(jī)構(gòu)消毒技術(shù)規(guī)范
- 報(bào)價(jià)單(報(bào)價(jià)單模板)
- 境外公共安全管理.ppt
- 貴人登天門(mén)吉時(shí)速查表(精編版)
- 小組成員職責(zé)分工
評(píng)論
0/150
提交評(píng)論