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

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)組成原理課程設(shè)計(jì)大綱課 程 名 稱:計(jì)算機(jī)組成原理課程設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí):1周/人課 程 編 號(hào): 學(xué)分:1課 程 總 學(xué) 時(shí):28 實(shí)驗(yàn)學(xué)時(shí):28課 程 總 學(xué) 分:1 適用專業(yè)及年級(jí):計(jì)算機(jī)科學(xué)與技術(shù)三年級(jí)課 程 負(fù) 責(zé) 人:許高攀 大 綱 主 撰 人:許高攀 編 寫 日 期: 2006年9月  一、課程設(shè)計(jì)教學(xué)目的及基本要求計(jì)算機(jī)組成原理課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完計(jì)算機(jī)組成原理課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是綜合運(yùn)用所學(xué)計(jì)算機(jī)原理知識(shí),設(shè)計(jì)并實(shí)現(xiàn)一臺(tái)較為復(fù)雜的模型計(jì)算機(jī),以便鞏固所學(xué)的知識(shí),提高分析問題和解決問題的能力。二、課程設(shè)計(jì)內(nèi)容

2、及安排根據(jù)COP2000模型機(jī)數(shù)據(jù)通路圖實(shí)現(xiàn)80C51指令系統(tǒng),畫出微程序流程圖,編寫出微指令代碼,以脫機(jī)方式在Cop2000實(shí)驗(yàn)平臺(tái)下調(diào)試通過,最后以文件(.ins)的形式提交。三、數(shù)據(jù)格式及指令系統(tǒng) 數(shù)據(jù)格式模型機(jī)規(guī)定采用定點(diǎn)補(bǔ)碼表示數(shù)據(jù),且字長為8位,其格式如下: 76 5 4 3 2 1 0符 號(hào) 尾 數(shù)其中第7位為符號(hào)位,數(shù)值表示范圍是:-1X1。 指令格式模型機(jī)設(shè)計(jì)四大類指令共16條,其中包括算術(shù)邏輯指令、I/O指令、訪問及轉(zhuǎn)移指令和停機(jī)指令。 算術(shù)邏輯指令設(shè)計(jì)10條算術(shù)邏輯指令并用單字節(jié)表示,尋址方式采用寄存器直接尋址,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE

3、 Rs Rd其中,OP-CODE為操作碼,Rs為源寄存器,Rd為目的寄存器,并規(guī)定:Rs或Rd選定的寄存器0 00 11 0R0R1R2 9條算術(shù)邏輯指令的名稱、功能和具體格式見表1。 訪問指令及轉(zhuǎn)移指令模型機(jī)設(shè)計(jì)2條訪問指令,即存數(shù)(STA)、取數(shù)(LDA),2條轉(zhuǎn)移指令,即無條件轉(zhuǎn)移(JMP)、結(jié)果為零轉(zhuǎn)移指令(JRZ),指令格式為: 7 6 5 4 3 2 1 0 M 0OP-CODE Rd D其中,OP-CODE為操作碼,Rd為目的寄存器地址(LDA、STA指令使用)。D為位移量(正負(fù)均可),M為尋址模式,其定義如下:尋址模式M有效地址E說 明0 00 11 01 1E= DE=(D)

4、E=(IR)+DE=(PC)+D直接尋址間接尋址RI變址尋址相對尋址 本模型機(jī)規(guī)定變址寄存器RI 指定為寄存器R2。 I/O指令輸入(IN)和輸出(OUT)指令采用單字節(jié)指令,其格式如下:7 6 5 43 21 0OP-CODE0 0 Rd其中(IN)指令,選中"INPUT DEVICE"中的開關(guān)組作為輸入設(shè)備,而(OUT)指令,選中"OUTPUT DEVICE"中的LED作為輸出設(shè)備。 指令系統(tǒng)模型機(jī)的缺省的指令集分幾大類: 算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。用戶可以通過COP2000計(jì)算機(jī)組成

5、原理實(shí)驗(yàn)軟件或組成原理實(shí)驗(yàn)儀來設(shè)計(jì)自己的指令集。 助記符 機(jī)器碼1 機(jī)器碼2 注釋 _FATCH_ 000000xx 實(shí)驗(yàn)機(jī)占用,不可修改。復(fù)位后,所有寄存器清0,首先執(zhí)行 _FATCH_ 指令取指000001xx 未使用 000010xx 未使用 000011xx 未使用 ADD A, R? 000100xx 將寄存器R?的值加入累加器A中 ADD A, R? 000101xx 將間址存儲(chǔ)器的值加入累加器A中 ADD A, MM 000110xx MM 將存儲(chǔ)器MM地址的值加入累加器A中 ADD A, #II 000111xx II 將立即數(shù)II加入累加器A中 ADDC A, R? 0010

6、00xx 將寄存器R?的值加入累加器A中,帶進(jìn)位 ADDC A, R? 001001xx 將間址存儲(chǔ)器的值加入累加器A中,帶進(jìn)位 ADDC A, MM 001010xx MM 將存儲(chǔ)器MM地址的值加入累加器A中,帶進(jìn)位 ADDC A, #II 001011xx II 將立即數(shù)II加入累加器A中,帶進(jìn)位 SUB A, R? 001100xx 從累加器A中減去寄存器R?的值 SUB A, R? 001101xx 從累加器A中減去間址存儲(chǔ)器的值 SUB A, MM 001110xx MM 從累加器A中減去存儲(chǔ)器MM地址的值 SUB A, #II 001111xx II 從累加器A中減去立即數(shù)II加入

7、累加器A中 SUBC A, R? 010000xx 從累加器A中減去寄存器R?的值,減進(jìn)位 SUBC A, R? 010001xx 從累加器A中減去間址存儲(chǔ)器的值,減進(jìn)位 SUBC A, MM 010010xx MM 從累加器A中減去存儲(chǔ)器MM地址的值,減進(jìn)位 SUBC A, #II 010011xx II 從累加器A中減去立即數(shù)II,減進(jìn)位 AND A, R? 010100xx 累加器A“與”寄存器R?的值 AND A, R? 010101xx 累加器A“與”間址存儲(chǔ)器的值 AND A, MM 010110xx MM累加器A“與”存儲(chǔ)器MM地址的值 AND A, #II 010111xx I

8、I累加器A“與”立即數(shù)II OR A, R? 011000xx 累加器A“或”寄存器R?的值 OR A, R? 011001xx 累加器A“或”間址存儲(chǔ)器的值 OR A, MM 011010xx MM累加器A“或”存儲(chǔ)器MM地址的值 OR A, #II 011011xx II累加器A“或”立即數(shù)II MOV A, R? 011100xx 將寄存器R?的值送到累加器A中 MOV A, R? 011101xx 將間址存儲(chǔ)器的值送到累加器A中 MOV A, MM 011110xx MM將存儲(chǔ)器MM地址的值送到累加器A中 MOV A, #II 011111xx II將立即數(shù)II送到累加器A中 MOV

9、R?, A 100000xx 將累加器A的值送到寄存器R?中 MOV R?, A 100001xx 將累加器A的值送到間址存儲(chǔ)器中 MOV MM, A 100010xx MM 將累加器A的值送到存儲(chǔ)器MM地址中 MOV R?, #II 100011xx II 將立即數(shù)II送到寄存器R?中 READ MM 100100xx MM 從外部地址MM讀入數(shù)據(jù),存入累加器A中 WRITE MM 100101xx MM 將累加器A中數(shù)據(jù)寫到外部地址MM中100110xx 未使用100111xx 未使用 JC MM 101000xx MM 若進(jìn)位標(biāo)志置1,跳轉(zhuǎn)到MM地址 JZ MM 101001xx MM

10、若零標(biāo)志位置1,跳轉(zhuǎn)到MM地址101010xx 未使用 JMP MM 101011xx MM 跳轉(zhuǎn)到MM地址101100xx 未使用101101xx 未使用 _INT_ 101110xx 實(shí)驗(yàn)機(jī)占用,不可修改。進(jìn)入中斷時(shí),實(shí)驗(yàn)機(jī)硬件產(chǎn)生 _INT_ 指令 CALL MM 101111xx MM 調(diào)用MM地址的子程序 IN 110000xx 從輸入端口讀入數(shù)據(jù)到累加器A中 OUT 110001xx 將累加器A中數(shù)據(jù)輸出到輸出端口110010xx 未使用 RET 110011xx 子程序返回 RR A 110100xx 累加器A右移 RL A 110101xx 累加器A左移 RRC A 11011

11、0xx 累加器A帶進(jìn)位右移 RLC A 110111xx 累加器A帶進(jìn)位左移 NOP 111000xx 空指令 CPL A 111001xx 累加器A取反,再存入累加器A中111010xx 未使用 RETI 111011xx 中斷返回111100xx 未使用111101xx 未使用111110xx 未使用111111xx 未使用 表1 指令系統(tǒng)四、復(fù)雜模型機(jī)數(shù)數(shù)據(jù)通路框圖 圖1 復(fù)雜模型機(jī)數(shù)數(shù)據(jù)通路框圖五、總體設(shè)計(jì)1、復(fù)雜模型機(jī)微程序流程圖設(shè)計(jì)根據(jù)圖1 復(fù)雜模型機(jī)數(shù)據(jù)通路框圖和表1指令系統(tǒng)要求,設(shè)計(jì)出圖3所示結(jié)構(gòu)的微程序流程圖。確定實(shí)現(xiàn)機(jī)器指令功能的微程序段的入口微地址,同時(shí)確定微程序流程圖中

12、各微指令的微地址。 01PcArPc+1 02RamBusBusIr P(1) 20 00(直接) 11(相對) IN RLC 20 26 28 2F 01 P(2) 08 Lad 1C Bzc 1F 01Z=1 P(3)01 0E NO 1E 0E 01 01 圖1-3 復(fù)雜模型機(jī)微程序流程框圖2、編寫微指令代碼COP2000模型機(jī)包括了一個(gè)標(biāo)準(zhǔn)CPU所具備所有部件,這些部件包括:運(yùn)算器ALU、累加器A、工作寄存器W、左移門L、直通門D、右移門R、寄存器組R0-R3、程序計(jì)數(shù)器PC、地址寄存器MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入端口IN、輸出端口寄存器OUT、程序存儲(chǔ)器EM、指令

13、寄存器IR、微程序計(jì)數(shù)器uPC、微程序存儲(chǔ)器uM,以及中斷控制電路、跳轉(zhuǎn)控制電路。其中運(yùn)算器和中斷控制電路以及跳轉(zhuǎn)控制電路用CPLD來實(shí)現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合邏輯控制來代替。 模型機(jī)為8位機(jī),數(shù)據(jù)總線、地址總線都為8位,但其工作原理與16位機(jī)相同。相比而言8位機(jī)實(shí)驗(yàn)減少了煩瑣的連線,但其原理卻更容易被學(xué)生理解、吸收。 模型機(jī)的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個(gè)操作數(shù)。指令碼的最低兩位用來選擇R0-R3寄存器,在微程序控制方式中,用指令碼做為微地址來尋址微程序存儲(chǔ)器,找到執(zhí)行該指令的微程序。而在組合邏輯控制方式中,按時(shí)序用指令碼產(chǎn)生相應(yīng)的控

14、制位。在本模型機(jī)中,一條指令最多分四個(gè)狀態(tài)周期,一個(gè)狀態(tài)周期為一個(gè)時(shí)鐘脈沖,每個(gè)狀態(tài)周期產(chǎn)生不同的控制邏輯,實(shí)現(xiàn)模型機(jī)的各種功能。模型機(jī)有24位控制位以控制寄存器的輸入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀寫。24位控制位分別介紹如下: XRD : 外部設(shè)備讀信號(hào),當(dāng)給出了外設(shè)的地址后,輸出此信號(hào),從指定外設(shè)讀數(shù)據(jù)。 EMWR: 程序存儲(chǔ)器EM寫信號(hào)。 EMRD: 程序存儲(chǔ)器EM讀信號(hào)。 PCOE: 將程序計(jì)數(shù)器PC的值送到地址總線ABUS上。 EMEN: 將程序存儲(chǔ)器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。 IREN:

15、 將程序存儲(chǔ)器EM讀出的數(shù)據(jù)打入指令寄存器IR和微指令計(jì)數(shù)器uPC。 EINT: 中斷返回時(shí)清除中斷響應(yīng)和中斷請求標(biāo)志,便于下次中斷。 ELP: PC打入允許,與指令寄存器的IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。 MAREN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址寄存器MAR。 MAROE:將地址寄存器MAR的值送到地址總線ABUS上。 OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。 STEN: 將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。 RRD: 讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。 RWR: 寫寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。

16、 CN: 決定運(yùn)算器是否帶進(jìn)位移位,CN=1帶進(jìn)位,CN=0不帶進(jìn)位。 FEN: 將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。 X2: X2、X1、X0三位組合來譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。 X1: 見16頁表。 X0: WEN: 將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。 AEN: 將數(shù)據(jù)總線DBUS的值打入累加器A中。 S2: S2、S1、S0三位組合決定ALU做何種運(yùn)算。 S1: 見14頁表。 S0:3.模型機(jī)尋址方式 模型機(jī)的尋址方式分五種: 累加器尋址: 操作數(shù)為累加器A,例如“CPL A”是將累加器A值取反,還有些指令是隱含尋址累加器A,例如“OUT”是將累加器A的值輸出到輸出端口寄存器OUT。 寄存器尋址: 參與運(yùn)算的數(shù)據(jù)在R0-R3的寄存器中,例如 “ADD A,R0”指令是將寄存器R0的值加上累加器A的值,再存入累加器A中。 寄存器間接尋址:參與運(yùn)算的數(shù)據(jù)在存儲(chǔ)器EM中,數(shù)據(jù)的地址在寄存器R0-R3中,例如 “MOV A,R1”指令是將寄存器R1的值做為地址,把存儲(chǔ)器EM中該地址的內(nèi)容送入累加器A中。 存儲(chǔ)器直接尋址:參與運(yùn)算的數(shù)據(jù)在存儲(chǔ)器EM中,數(shù)據(jù)的地址為指令的操作數(shù)。例如“AND A,40H”指令是將存儲(chǔ)器EM中40H單元的數(shù)據(jù)與累加器A的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論