計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告(1)_第1頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告(1)_第2頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告(1)_第3頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告(1)_第4頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告(1)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.計(jì)算機(jī)組成原理課程設(shè)計(jì)指導(dǎo)教師: 學(xué)生班級: 學(xué)生姓名: 學(xué) 號: 班內(nèi)序號: 課設(shè)日期:2012/12/172012/12/28;目 錄1、 設(shè)計(jì)目的12、 設(shè)計(jì)要求13、 設(shè)計(jì)方案14、 較詳細(xì)的設(shè)計(jì)過程25、 編程與調(diào)試程序方法的介紹146、 結(jié)果及分析147、 收獲、體會及建議15一、設(shè)計(jì)目的 1. 主要掌握微程序控制結(jié)構(gòu)計(jì)算機(jī)的設(shè)計(jì)方法,通過對機(jī)器指令和相對應(yīng)微程序的設(shè)計(jì),加深對微程序控制器的理解,加深對微程序設(shè)計(jì)特點(diǎn)的了解,加深對計(jì)算機(jī)各部件的理解以及對整機(jī)結(jié)構(gòu)的理解。 2掌握幾種尋址方式的控制執(zhí)行過程。 3了解多累加器計(jì)算機(jī)的特點(diǎn)。 4熟悉VHDL語言的編程。2、 設(shè)計(jì)要求1運(yùn)

2、算器采用單累加器多寄存器結(jié)構(gòu)2指令系統(tǒng):16條以上指令,有I/O指令,外部設(shè)備統(tǒng)一編址。3內(nèi)存尋址范圍1K以上字節(jié)尋址方式: 寄存器直接尋址 寄存器間接尋址 直接尋址 立即數(shù)尋址4可執(zhí)行從鍵盤上輸入的十進(jìn)制兩位數(shù)與兩位數(shù)加法程序并打印輸入的數(shù)據(jù)及結(jié)果或?qū)崿F(xiàn)兩數(shù)相加通過數(shù)碼管顯示結(jié)果。三、設(shè)計(jì)方案1首先設(shè)計(jì)整機(jī)邏輯框圖,并分析各主要部件中所使用的關(guān)鍵器件,徹底理解主要芯片的工作原理。根據(jù)設(shè)計(jì)要求,對實(shí)驗(yàn)儀硬件模塊進(jìn)行邏輯剪輯組合,便可設(shè)計(jì)出該實(shí)驗(yàn)計(jì)算機(jī)的整機(jī)邏輯框圖。為利于調(diào)試,應(yīng)在邏輯框圖上表明各器件的控制信號及必要的輸出信號。 2指令系統(tǒng)和指令執(zhí)行流程設(shè)計(jì) 指令系統(tǒng)需確定實(shí)驗(yàn)計(jì)算機(jī)的指令系統(tǒng)

3、具體由哪里指令組成,包括哪幾種類型指令,指令操作數(shù)有哪幾種尋址方式,以及指令編碼等。 指令執(zhí)行流程 應(yīng)根據(jù)實(shí)驗(yàn)計(jì)算機(jī)整機(jī)邏輯圖來設(shè)計(jì)指令系統(tǒng)中每條指令的執(zhí)行流程。 一條指令從內(nèi)存取出到執(zhí)行完,需要若干個(gè)機(jī)器周期(節(jié)拍)。任何指令的第一個(gè)機(jī)器周期都是“取指令周期”,或稱為公操作周期。而一條指令共需幾個(gè)機(jī)器周期取決于指令在機(jī)內(nèi)實(shí)現(xiàn)的復(fù)雜程度。 3微操作控制信號和微程序設(shè)計(jì) 微操作控制信號及其實(shí)現(xiàn)方法綜合實(shí)驗(yàn)計(jì)算機(jī)指令系統(tǒng)各指令執(zhí)行流程中所涉及到的微操作控制信號,統(tǒng)計(jì)總共需要多少個(gè)微控制信號,每個(gè)信號的有效性,決定這些信號中哪些由軟件(微指令)直接產(chǎn)生,哪些需用硬件實(shí)現(xiàn)。 設(shè)計(jì)微指令格式,微指令由3

4、2位組成,設(shè)計(jì)出每位微操作的定義。 確定微程序控制方式設(shè)計(jì)任務(wù)包括設(shè)計(jì)各微程序入口地址的形成方法和控存的順序控制(即下地址形成)方法。 編寫各指令的微程序,根據(jù)指令流程和微指令格式仔細(xì)地逐條填寫微指令各碼位。為減少填寫錯(cuò)誤,可邊把本條微指令用到的微碼(微操作控制信號)按預(yù)定的有效性填入,檢查無誤后,再對本條微指令用不到的微碼(微操作控制信號)填入與預(yù)定的有效性相反的代碼,核對無誤后,最后將這32位微碼縮寫成8位十六進(jìn)制微指令。4設(shè)計(jì)接線表要仔細(xì)設(shè)計(jì)接線表,因?yàn)樗墙M裝計(jì)算機(jī)的依據(jù)。 為了避免遺漏,應(yīng)按模塊逐個(gè)歸納整理,明確各模塊中器件各控制信號的處理方法。 對于模塊中不用的器件,也應(yīng)有所處理。

5、4、 較詳細(xì)的設(shè)計(jì)過程1 先熟悉課程設(shè)計(jì)任務(wù)。2 熟練掌握VHDL語言。3 實(shí)現(xiàn)基本門電路。4 用VHDL描述計(jì)算機(jī)各部件。1 存儲器的VHDL描述 a.存儲器的硬件描述圖 b.存儲器實(shí)驗(yàn)過程與信號 首先利用開關(guān)S0S7設(shè)置一個(gè)8位的數(shù)據(jù),用于寫入內(nèi)存時(shí)使用。 第二步,利用開關(guān)S8、S9的組合生成一個(gè)4個(gè)字節(jié)的內(nèi)存,內(nèi)存地址如下:地址S9S8000101210311第三步,當(dāng)S10=0 AND S11=1時(shí),發(fā)出寫內(nèi)存信號,將開關(guān)S0S7設(shè)置的8位數(shù)據(jù)寫入由開關(guān)S8、S9的組合指定的內(nèi)存地址單元。第四步,當(dāng)S10=1 AND S11=0時(shí),發(fā)出讀內(nèi)存信號,將由開關(guān)S8、S9的組合指定的內(nèi)存地址

6、單元中的數(shù)據(jù)讀出,由發(fā)光二極管L9L12顯示。 c.存儲器的VHDL描述Library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all; entity busv1 is Port ( CI: buffer std_logic_vector(19 downto 0); CO: in std_logic_vector(11 downto 0) );end busv1;architecture busv1_behav of busv1 issignal mux:

7、std_logic_vector(1 downto 0);signal WR,RD:std_logic;beginmux = CO(9 downto 8);RD = CO(11);WR = CO(10);CI( 11 downto 0 ) TMP1 := CO(7 downto 0);-寫入地址0號 when 01 = TMP2 := CO(7 downto 0);-寫入地址1號 when 10 = TMP3 := CO(7 downto 0);-寫入地址2號 when others = TMP4 := CO(7 downto 0);-寫入地址3號 end case; elsif (WR=1

8、and RD=0) then -讀內(nèi)存 case mux is when 00 = CI(19 downto 12) CI(19 downto 12) CI(19 downto 12) CI(19 downto 12)= TMP4;-讀地址3號 end case;end if;end process; end busv1_behav;2 寄存器的VHDL描述 a.寄存器的硬件描述圖 b.計(jì)算機(jī)部件實(shí)驗(yàn)之寄存器的VHDL描述library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGI

9、C_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity jicunqi isport( CI: inout std_logic_vector(12 downto 0); CO: in std_logic_vector(14 downto 0);end jicunqi;archite

10、cture Behavioral of jicunqi issignal RS:std_logic_vector(2 downto 0);signal R0,R1,R2,R3,R4,R5,R6,R7:std_logic_vector(7 downto 0);signal WRE,RDE,U244AOE,U244BOE:std_logic;signal U244A,U244B:std_logic_vector(7 downto 0);signal DBB,DBX:std_logic_vector(7 downto 0);constant bz:std_logic_vector:=ZZZZZZZZ

11、;Function sizeIt(a:std_logic;len:integer)return std_logic_vector isvariable rep:std_logic_vector(len-1 downto 0);begin for i in reprange loop rep(i):=a;end loop; return rep;end sizeIt; begin-Define three-state ports U244A = CO(7 downto 0);DBX= (SizeIt(U244AOE,8) and U244A) or (SizeIt(U244BOE,8) and

12、U244B);CI(7 downto 0) = DBX when (U244AOE or U244BOE)=1) else bz; DBB = CI(7 downto 0); RS R0R1R2R3R4R5R6R7 U244B U244B U244B U244B U244B U244B U244B U244B = R7; end case;end if;end process; U244BOE = CO(14);U244AOE = CO(13);WRE = CO(11);RDE = CO(12);CI(12 downto 8) = CO(12 downto 8);end Behavioral;

13、3 運(yùn)算器的VHDL描述a.運(yùn)算器的硬件描述圖 b.運(yùn)算器實(shí)驗(yàn)過程與信號首先利用開關(guān)S0S7設(shè)置一個(gè)8位的數(shù)據(jù),寄存在74LS244A,使開關(guān)S13(U244AOE)為低電平,使寄存在74LS244中的數(shù)據(jù)向總線輸出。L13反映S13的狀態(tài)。在總線上的數(shù)據(jù)可以通過L0L7看到。第二步,把總線上的數(shù)據(jù)送入74LS377保存,當(dāng)S14為低電平(U377EN=0)并且S15有一個(gè)脈沖信號時(shí)從它輸出送ALU的A端。第三步,利用開關(guān)S0S7設(shè)置一個(gè)8位的數(shù)據(jù),寄存在74LS244A,使開關(guān)S13(U244AOE)為低電平,使寄存在74LS244中的數(shù)據(jù)向總線輸出。L13反映S13的狀態(tài)。在總線上的數(shù)據(jù)可

14、以通過L0L7看到。第四步,當(dāng)S16、S17都為1時(shí),控制74LS373從總線接收數(shù)據(jù),寄存。當(dāng)當(dāng)S16為1、S17為0時(shí),控制74LS373中的數(shù)據(jù)送ALU的B端。第五步,利用S8S10的組合在8種計(jì)算中選擇一個(gè)進(jìn)行計(jì)算,選擇表如下:(L8L10反映S8S10的狀態(tài),CIN由開關(guān)S11確定,L11反映S11的值)。FFS10S9S8FA + CIN000FA - CIN001FA or FB010FA and FB011FA + FB + CIN100FA - FB - CIN101FA * FB110FA xor FB111計(jì)算結(jié)束后,運(yùn)算結(jié)果F送74LS244B,L15反映向高位的進(jìn)位C

15、OUT。第六步,當(dāng)S12為0時(shí)(L12反映S11的值),將74LS244B中的值送總線,一次運(yùn)算結(jié)束。 c.計(jì)算機(jī)部件實(shí)驗(yàn)之運(yùn)算器的VHDL描述library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-libr

16、ary UNISIM;-use UNISIM.VComponents.all;entity yunsuan isport( -DB:inout std_logic_vector(7 downto 0); CI: inout std_logic_vector(15 downto 0); CO: in std_logic_vector(17 downto 0);end yunsuan;architecture Behavioral of yunsuan issignal U377Q:std_logic_vector(7 downto 0);signal U373Q,U244A,U244B:std_

17、logic_vector(7 downto 0);signal DBB,DBX:std_logic_vector(7 downto 0);signal U377CLK,U377EN,U373GT,U373OE,U244AOE,U244BOE: std_logic;signal FA,FB,FF:std_logic_vector(8 downto 0);signal S:std_logic_vector(2 downto 0);signal CIN,COUT:std_logic;constant bz:std_logic_vector:=ZZZZZZZZ; - sizeIt replicates

18、 a value to an array of specific length. Function sizeIt(a: std_Logic; len: integer) return std_logic_vector is variable rep: std_logic_vector( len-1 downto 0); begin for i in reprange loop rep(i) := a; end loop; return rep; end sizeIt;begin-Define 74377 process (U377CLK) begin if (U377CLKevent and

19、U377CLK=0) then if (U377EN=0) then U377Q = DBB; end if; end if; end process;-Define 74373 U373Q = DBB when (U373GT=1and U373OE=0) else (11111111 and U373Q); -define the ALU FA= 0&U377Q; FB= 0&U373Q; FF= FA + CIN when S =000 else FA - CIN when S =001 elseFA or FB when S =010 elseFA and FB when S =011

20、 elseFA + FB + CIN when S =100 elseFA - FB - CIN when S =101 else FA * FB when S =110 elseFA xor FB when S =111; COUT=FF(8);U244B = FF(7 downto 0); -Define three-state ports U244A = CO(7 downto 0);DBX= (SizeIt(U244AOE,8) and U244A) or (SizeIt(U244BOE,8) and U244B);CI(7 downto 0) = DBX when (U244AOE

21、or U244BOE)=1) else bz; DBB = CI(7 downto 0);-CI(7 downto 0) is the BUSCIN = CO(11);U244BOE = CO(12);U244AOE = CO(13);U377EN= CO(14);U377CLK= not CO(15) or U377EN;U373OE= CO(16);U373GT= CO(17);S(2 downto 0) = CO(10 downto 8);CI(14 downto 8) = CO(14 downto 8);CI(15) CLKG,O = CLKX);-Define RAM TADR(8)

22、= 0;TADR(7)= 0;TADR(6) = 0;TADR(5 downto 0) = CO(22 downto 17);TCLK= CLKX; logic0 MWR, EN=MEN,RST=logic0,CLK=TCLK, ADDR=TADR,DI=DBB(7 downto 0),DO=DBY(7 downto 0); -Define 74377 process (U377CLK) begin if (U377CLKevent and U377CLK=0) then if (U377EN=0) then U377Q = DBB; end if; end if; end process;-

23、Define 74374 process (U374CLK) begin if (U374CLKevent and U374CLK=0) then U374Q = DBB; end if; end process;-Define 74373 U373Q = DBB when (U373GT=1) else (11111111 and U373Q); -U373Q = (SizeIt(U373GT,8) and DBB) or (SizeIt(not U373GT,8) and U373Q);-Define three-state ports U244B = CO(7 downto 0);DBX

24、= (SizeIt(U374OE,8) and U374Q) or (SizeIt(U373OE,8) and U373Q)or (SizeIt(U244OE,8) and U244B) or (SizeIt(MOE,8) and DBY);CI(7 downto 0) = DBX when (U374OE or U373OE or U244OE or MOE)=1) else bz;DBB = CI(7 downto 0);-CI(7 downto 0) is the BUS-Display 74377CI(15 downto 8) = U377Q;-Control signalsMOE =

25、 CO(23); MWR= CO(16);MEN= CO(15);U377EN= CO(14);U244OE= CO(13);U373OE= CO(12);U373GT= CO(11);U374CLK= not CO(10) or CLK;U374OE= CO(9);U377CLK= not CO(8) or U377EN;-Display control signals-CI(24 downto 16) = CO(16 downto 8);CI(23 downto 16) = DBY(7 downto 0);CI(24) = CO(8);-Connect all unused pinsIOR

26、 = 1;IOW= 1;CRD= 1;CWR= 1;MCLK =CLK;CTRL2 = 1;CTRL3 = 1;CTRL4 = 1;CTRL1 = 1;AB = DB;CI(31 downto 29) = MUX;CI(28) = RESET;CI(27) = PRIX;CI(26) = KRIX;CI(25) = RUN or CO(31) or CO(30) or CO(29) or CO(28) or CO(27) or CO(26) or CO(25) or CO(24);end busv1_behav;5 電路設(shè)計(jì)6 程序設(shè)計(jì)1) 應(yīng)用程序設(shè)計(jì)概述1 本次課程設(shè)計(jì)使用的指令文件(CPU8B.DEF)2 目標(biāo)代碼生成2) 應(yīng)用程序?qū)崿F(xiàn)(編輯,匯編)1 找到桌面上的圖標(biāo),, 啟動 。2 加載指令定義文件CPU8B.DEF。3 檢查加載的指令定義文件CP

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論