版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 計算機組成原理課程設計</p><p> 題 目: 模型機設計 </p><p><b> 前言</b></p><p> 通過計算機組成原理理論課和幾次實驗的學習,嘗試設計十四條機器指令,并編寫相應的微程序,完成由基本單元電路構成一臺基本模型機,再經(jīng)過調(diào)試指令和模型機使其在微程序的控制下自動產(chǎn)生各部件單元
2、的正常工作控制信號。 在設計基本模型機5的實驗過程中,個別部件單元的控制信號是人為模擬產(chǎn)生的,而本課程設計將能在微程序控制下自動產(chǎn)生各部件單元控制信號,實現(xiàn)特定指令的功能。這里,計算機數(shù)據(jù)通路的控制將由微程序控制器來完成,CPU從內(nèi)存中取出一條機器指令到指令執(zhí)行結束的一個指令周期,全部由微指令組成的序列來完成,即一條機器指令對應一條微程序。</p><p> 本課程設計以DVCC計算機組成原理教
3、學實驗系統(tǒng)為平臺設計完成。</p><p> 按給定的數(shù)據(jù)格式和指令系統(tǒng),理解程序控制器的設計原理。</p><p> 設計給定機器指令系統(tǒng)以及微程序流程圖,由指令格式寫出微程序的微指令代碼</p><p> 連接邏輯電路,完成啟動、測試、編程、校驗和運行,并觀測運行過程及結果。</p><p> 將微程序控制器模塊與運算器模塊、存儲
4、器模塊聯(lián)機,組成一臺模擬計算機。</p><p> 用微程序控制器控制模型機的數(shù)據(jù)通路。</p><p> 通過在模型機上運行由機器指令組成的簡單程序,掌握機器指令與微指令的關系,建立計算機的整機概念,掌握計算機的控制機制。</p><p> 按指定應用項目進行匯編指令格式及功能設計,并設計相應的機器指令代碼,按照模型及數(shù)據(jù)通路設計實現(xiàn)機器指令功能的微程序。在
5、PC機上編輯機器指令和微程序,裝載代碼到DVCC實驗系統(tǒng)并運行,實現(xiàn)應用要求。</p><p> 本課程設計要求實現(xiàn)十四條機器指令:IN(輸入),LDA,CLR,SUB(減法指令), OUT(輸出),JMP,MOV(數(shù)據(jù)傳送指令),DEC(減1指令), STA(存數(shù)),BZC,CMP(比較指令),HTL,RL,RLC(循環(huán)左移)的輸入,輸出。重點主要在邏輯運算的設計中。</p><p>
6、<b> 摘要</b></p><p> “計算機組成原理”是計算機專業(yè)和網(wǎng)絡工程專業(yè)的重要專業(yè)基礎課,“計算機組成原理課程設計”是理解和鞏固計算機組成的基本理論、原理和方法的重要實踐環(huán)節(jié)。本課程的目的是通過課程設計,使學生對所學習過的計算機組成原理課程內(nèi)容加以理解和鞏固。通過實驗使學生掌握計算機由哪些部件所組成,各部件間又是如何進行協(xié)調(diào)工作的。</p><p>
7、 部件實驗過程中,各部件單元的控制信號是人為模擬產(chǎn)生的,本課程設計將能在微程序控制下自動產(chǎn)生各部件單元的控制信號,實現(xiàn)特定指令的功能,通過設計流程圖,編寫機器指令,微指令和控制信號程序。首先向存儲器(RAM)中裝入數(shù)據(jù)和程序,然后檢查寫入是否正確,啟動程序執(zhí)行。另外,還需設計三個控制臺操作微程序:存儲器讀操作(READ),存儲器寫操作(WRITE),運行程序(RUN)。以上各微指令設計完畢后,連接線路在DVCC計算機組成原理教學實驗箱
8、運行程序,并將實驗結果顯示輸出。</p><p> 關鍵詞:計算機組成原理,微指令,機器指令, DVCC教學實驗計算機</p><p><b> 目錄</b></p><p><b> 前言1</b></p><p><b> 摘要2</b></p>
9、<p> 第一章 設計的目的及設計原理4</p><p> 1.1設計的目的4</p><p> 1.2設計的原理5</p><p> 第二章 總體設計8</p><p> 第三章 詳細設計10</p><p> 3.1運算器的物理結構10</p><p>
10、; 3.2存儲器系統(tǒng)的組成與說明13</p><p> 3.3指令系統(tǒng)的設計與指令分析14</p><p> 3.4微程序控制器的邏輯結構及功能17</p><p> 3.5微程序的設計與實現(xiàn)21</p><p> 第四章 系統(tǒng)調(diào)試報告30</p><p><b> 設計總結32&l
11、t;/b></p><p><b> 參考文獻33</b></p><p><b> 致謝34</b></p><p> 第一章 設計的目的及設計原理</p><p><b> 1.1設計的目的</b></p><p> 本課程設計
12、的教學目的是在掌握計算機系統(tǒng)組成及內(nèi)部工作機制、理解計算機各功能部件工作原理的基礎上,深入掌握信息流和控制信息流的流動過程,進一步加深計算機系統(tǒng)各模塊間相互關系的認識和整機的概念,培養(yǎng)開發(fā)和調(diào)試計算機的技能。再設計實踐中提高應用所學專業(yè)知識分析問題和解決問題的能力。</p><p> 本次課程設計主要是為其定義六條機器指令,編寫相應的微程序,并上機調(diào)試運行,形成整機概念。</p><p>
13、; 用微程序控制器實現(xiàn)以下指令功能,設計各指令格式以及編碼,并實現(xiàn)各機器指令微代碼,根據(jù)定義的機器指令,自擬編寫加ADD,減SUB,循環(huán)左移RLC的應用程序。</p><p> 全部微指令設計完畢后,編寫二進制代碼,即使每條指令代碼化。連接線路在DVCC計算機組成原理教學實驗箱上運行,并顯示輸出實驗結果。</p><p><b> 1.2設計的原理</b><
14、;/p><p> ?。ㄒ唬┗灸P蜋C的設計與實現(xiàn)</p><p> 部件實驗過程中,各部件單元的控制信號是人為模擬產(chǎn)生的,而本次實驗將能在微程序控制下自動產(chǎn)生各部件單元控制信號,實現(xiàn)特定指令的功能,這里,計算機數(shù)據(jù)通路的控制將由微程序控制器來完成,CPU從內(nèi)存中取出一條機器指令到指令執(zhí)行結束的一個指令周期全部由微指令組成的序列來完成,即一條機器指令對應一個微程序。</p>&l
15、t;p> 為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動程序執(zhí)行,還必須設計三個控制臺操作微程序.</p><p> 存儲器讀操作:撥動總清開關CLR后,控制臺開關SWB,SWA 為”0 0”時,按START微動開關,可對RAM連續(xù)手動讀操作.</p><p> 存儲器寫操作:撥動總清開關CLR后,控制臺開關SWB SWA置為”0 1”時,按START微動開關可對RA
16、M進行連續(xù)手動寫入.</p><p> 啟動程序:撥動總清開關CLR后,控制臺開關SWB SWA置為“1 1”時,按START微動開關,既可轉入到第01號“取址”微指令,啟動程序運行.</p><p> 上述三條控制臺指令用兩個開關SWB SWA 的狀態(tài)來設置,其定義如下</p><p><b> 表1-1讀寫變化</b></p
17、><p> 微代碼定義如表1-2所示。</p><p> A字段 B字段 C字段</p><p><b> 表1-2</b></p><p> 根據(jù)以上要求設計數(shù)據(jù)通路框圖如下:</p><p> 系統(tǒng)涉及到的微程序流程見
18、圖1-1,當擬定“取址”微指令時,該微指令的判別測試字段為P(1)測試。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)的測試結果出現(xiàn)多路分支。本機用指令寄存器的前4位(IR7-IR4)作為測試條件,出現(xiàn)5路分支,占用5個固定微地址單元。</p><p> 控制臺操作為P(4)測試,它以控制臺開關SWB、SWA作為測試條件,出現(xiàn)了3路分支,占用3個固定微地址單元。當分支微地址單元固定后,</
19、p><p> 剩下的其他地方就可以一條微指令占用一個微地址單元隨意填寫。</p><p> 圖1-1 數(shù)據(jù)通路框圖</p><p> (二)帶移位運算的模型機的設計與實現(xiàn)</p><p> 在基本模型機的基礎上搭接移位控制電路,實現(xiàn)移位控制運算。</p><p> 實驗中新增4條移位運算指令:RL(左環(huán)移)、RL
20、C(帶進位左環(huán)移)、 RR(右環(huán)移)、RRC(帶進位右環(huán)移),其指令格式如下:</p><p><b> 操作碼</b></p><p> RR 01010000</p><p> RRC 01100000</p><p> RL 01110000</p><p>
21、 RLC 10000000</p><p> 以上4條指令都為單字長(8位)。</p><p> RR為將R0寄存器中的內(nèi)容循環(huán)右移1位。</p><p> RRC為將R0寄存器中的內(nèi)容帶進位右移1位,它將R0寄存器中的數(shù)據(jù)右邊第1位移入進位,同時將進位寄存器的數(shù)移至R0寄存器的最左位。</p><p> RL為將R0寄存器中
22、的數(shù)據(jù)循環(huán)左移1位。</p><p> RLC為將R0寄存器中的數(shù)據(jù)帶進位循環(huán)左移1位。</p><p> 為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動程序執(zhí)行,還設計了3個控制臺操作微程序。</p><p> 存儲器讀操作(KRD):撥動總清開關CLR后,控制臺開關SWC,SWA為“00”時,按START啟動紐,可對RAM連續(xù)手動讀操作。<
23、/p><p> 存儲器寫操作(KWE):撥動總清開關CLR后,控制臺開關SWC,SWA置為“01”時,按動START啟動紐可對RAM進行連續(xù)手動寫入。</p><p> 啟動程序:撥動總清開關CLR后控制臺開關SWC,SWA置為“11”時,按動啟動鍵,即可轉入到第01號“取址”微指令</p><p> 上述3條控制臺指令用兩個開關SWC,SWA的狀態(tài)來設置。<
24、;/p><p><b> 表1-3 </b></p><p> 實驗數(shù)據(jù)通路框圖入圖1-2所示(可忽略其中的R1和R2)。</p><p> 微代碼定義與上一個試驗相同。</p><p><b> 第二章 總體設計</b></p><p> 此模型機是由運算器,控制器
25、,存儲器,輸入設備,輸出設備五大部分組成。運算器由算術邏輯單元(ALU)、累加寄存器、數(shù)據(jù)緩沖寄存器和狀態(tài)條件寄存器組成,它是數(shù)據(jù)加工處理部件。相對控制器而言,它是執(zhí)行部件。運算器有兩個主要功能: (1)執(zhí)行所有的算術運算;(2)執(zhí)行所有的邏輯運算,并進行邏輯測試,如零值測試或兩個值的比較。控制器根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。存儲器作為計算機的記憶部件,用于存放程
26、序和數(shù)據(jù)。輸入設備為鍵盤,計算機鍵盤的功能就是及時發(fā)現(xiàn)被按下的鍵,并將該按鍵的信息送入計算機。輸出設備為顯示器將輸出的信息以字符的形式顯示出來。</p><p> 模型機運行的主要過程為首先將程序計數(shù)器PC的內(nèi)容裝入地址寄存器AR;然后程序計數(shù)器的內(nèi)容加1,為下一條程序做準備;接著地址寄存器的內(nèi)容放到地址總線上;從而使存儲單元的內(nèi)容傳送的緩沖寄存器DR;然后將緩沖寄存器的內(nèi)容傳送到指令寄存器。到這里完成了取指令
27、。比如現(xiàn)在要做的操作為執(zhí)行CLA指令,操作控制器送一控制信號給ALU,接著ALU響應控制信號對AC清零。如果接下來執(zhí)行ADD操作,取指令與上面相同,然后從內(nèi)存中讀取操作數(shù),操作數(shù)與累加器相加后存入累加器。</p><p> 圖2-1 數(shù)據(jù)通路圖</p><p> 計算機數(shù)據(jù)通路的控制將由微程序控制器來完成,CPU從內(nèi)存中取出一條機器指令到指令執(zhí)行結束的一個指令周期全部由微指令組成的序列
28、來完成,即一條機器指令對應一個微程序。</p><p> 數(shù)據(jù)的通路從程序計數(shù)器PC的地址送到主存的地址寄存器,根據(jù)地址寄存器的內(nèi)容找到相應的存儲單元。</p><p> 存儲器中的數(shù)據(jù)是指令時,那么數(shù)據(jù)是從RAM送到總線,再從總線送到IR中。</p><p> 存儲器中的數(shù)據(jù)是需要加工的數(shù)據(jù)時,那么數(shù)據(jù)是從RAM送到總線,再動總線送到通用寄存器中等待加工。&
29、lt;/p><p> 數(shù)據(jù)加工過程中,兩個數(shù)據(jù)是從總線上將數(shù)據(jù)分別分時壓入兩個暫存器中,等待運算部件的加工,在數(shù)據(jù)加工完成以后。運算結果是通過三態(tài)門送到總線上。</p><p> 三態(tài)門的控制時由微控制器來控制。</p><p><b> 第三章 詳細設計</b></p><p> 3.1運算器的物理結構</
30、p><p> 運算器模塊主要由兩片74LS181、暫存器兩片74LS273等構成。其中74LS181可通過控制器相應的控制指令來進行某種運算,具體由S0、S1、 S2、S3、S4、M來決定。T4是它的工作脈沖,正跳變有效。寄存器堆模塊為實驗計算機提供了2個8位通用寄存器。它們用來保存操作數(shù)及其中間運算結果,它對運算器的運算速度、指令系統(tǒng)的設計等都有密切的關系。</p><p> 下面是芯片
31、74LS181的控制邏輯引腳的功能表以及邏輯引腳圖如表3-1所示:</p><p> 表3-1:74LS181的控制邏輯引腳的功能表</p><p> 圖3-1:74LS181的邏輯引腳圖</p><p> 其中各個引腳的功能如下所示:</p><p> M:算術/邏輯運算選擇輸入</p><p> M=0
32、算術運算 M=1邏輯運算</p><p> Cn:帶或不帶進位運算選擇輸入</p><p> Cn =0帶進位 Cn =1不帶進位</p><p> S3~S0:函數(shù)選擇輸入,A3~A0:4位輸入數(shù)據(jù),B3~B0:4位輸入數(shù)據(jù)</p><p> F3~F0:4位表示運算結果的輸出,C n+4:進位輸
33、出</p><p> 圖3-2:74LS273的引腳圖</p><p> 其中,Q0-Q7表示寄存器的8位數(shù)據(jù)輸出,D0—D7表示向寄存器中輸入8位數(shù)據(jù)的引腳,CLK是用來進行寄存器的選定操作,當其為高電位時和T4信號一起選定哪個寄存器進行數(shù)據(jù)輸入。</p><p> 8位運算器的結構框圖如圖3-3所示:</p><p> 圖3-3:
34、8位運算器的結構框圖</p><p> 在該運算器中,有兩片74LS181組成算術和邏輯運算。數(shù)據(jù)的來源由74LS273寄存器提供,74LS273產(chǎn)生8位數(shù)據(jù),分別送入到74LS181運算器中進行相應的運算,而如何進行數(shù)據(jù)的傳送是由LDDR1和LDDR2以及T4信號控制的,當LDDR1和T4都為高電平時,選定相應的寄存器來進行數(shù)據(jù)輸入,同理,LDDR2和T4。然后經(jīng)過相應的運算之后將產(chǎn)生的結果通過總線送回到寄存
35、器中。整個數(shù)據(jù)的運送過程有相應的控制信號提供,S0、S1、 S2、S3、S4、M都是通過控制器的相關指令來控制。讓其進行某種算數(shù)運算和邏輯運算。整個數(shù)據(jù)和指令都是通過數(shù)據(jù)總線,控制總線和地址總線來進行傳送。</p><p> 3.2存儲器系統(tǒng)的組成與說明</p><p> 圖3-5:存儲器的結構框圖</p><p> 說明:該主存儲器采用一級cache-存儲器
36、結構。主要用于存放試驗機的機器指令。它的數(shù)據(jù)總線掛在外部數(shù)據(jù)總線EXD0~EXD7上;它的地址總線由地址寄存器單元電路中的地址寄存器74LS273(U37)給出,地址值由8個LED燈LAD0~LAD7顯示,高電平亮,低電平滅;在手動方式下,輸入數(shù)據(jù)由8位數(shù)據(jù)開關KD0~KD7提供,并經(jīng)一三態(tài)門74LS245(U51)連至外部數(shù)據(jù)總線EXD0~EXD7,實驗時將外部數(shù)據(jù)總線EXD0~EXD7用8芯排線連到內(nèi)部數(shù)據(jù)總線BUSD0~BUSD7
37、,分時給出地址和數(shù)據(jù)。它的讀信號直接接地;它的寫信號和片選信號由寫入方式確定。該存儲器中機器指令的讀寫分手動和自動兩種方式。手動方式下 ,寫信號由W/R` 提供,片選信號由CE`提供;自動方式下,寫信號由控制CPU的P1.2提供,片選信號由控制CPU的P1.1提供。</p><p> 由于地址寄存器為8位,故接入6264的地址為A0~A7,而高4位A8~A12接地,所以其實際使用容量為256字節(jié)。6264有四個
38、控制線:CS1 第一片選線、CS2第二片選線、OE讀線、WE寫線。CS1片選線由CE`控制(對應開關CE)、OE讀線直接接地、WE寫線由W/R`控制(對應開關WE)、CS2直接接+5V。</p><p> 信號線LDAR由開關LDAR提供,手動方式實驗時,跳線器LDAR撥在左邊,脈沖信號T3由實驗機上時序電路模式TS3提供,實驗時只需J22跳線器連上即可,T3的脈沖寬度可調(diào)。</p><p&
39、gt; 3.3指令系統(tǒng)的設計與指令分析</p><p> 本模型機共有14條基本指令,其中算術指令8條,訪存指令和程序控制指令4條,輸入輸出指令2條。</p><p><b> ?。?)預設指令:</b></p><p> A: IN為單字節(jié)長指令,含義是將輸入設備輸入的數(shù)據(jù)放入R0中</p><p> 指令格式
40、: IN R0, INPUTDEVICE</p><p> 指令功能:“INPUTDEVICE”->R0</p><p> B: OUT為單字節(jié)長指令,含義是根據(jù)指令提供的地址,將內(nèi)存中的數(shù)據(jù)取出由數(shù)碼管進行顯示。</p><p> 指令格式:OUT Bus,(ADD)</p><p> 指令功能:將內(nèi)存中的ADD為地址的數(shù)據(jù)讀
41、到總線上。</p><p> C:STA為雙字節(jié)長指令,第二個字節(jié)是要存放的地址,含義是將R0中的內(nèi)容存儲到第二字為地址的內(nèi)存單元中。</p><p> 指令格式:STA(ADD),R0</p><p> 指令功能:將R0寄存器的內(nèi)容存到以ADD為地址的內(nèi)存單元中。</p><p> D:LDA為雙字節(jié)指令,含義是將內(nèi)存單元的地址存儲
42、于R0中。</p><p><b> 指令格式:LDA </b></p><p> 指令功能:RAM->R0</p><p> E: JMP為雙字節(jié)長指令,含義是使程序跳轉到指定的地址執(zhí)行。</p><p> 指令格式:JMP (jmp)</p><p> 指令功能:RAM-&g
43、t;PC</p><p> F:BZC為單字長指令,其中M為尋址模式字段,D為偏移地址。</p><p> 指令格式:BZC M,D</p><p> 指令功能:當CY=1或ZI=1,E->PC</p><p> G:CLR系統(tǒng)總清開關,低電平有效。</p><p> 指令格式:CLR R0</
44、p><p> 指令功能:R0=0 </p><p> H: MOV是雙字節(jié)長指令,第二字節(jié)是要存放的間接地址,含義是將R0中的內(nèi)容存儲到第二字為間接地址的內(nèi)存單元中。</p><p> 指令格式:MOV AX,R0</p><p> 指令功能:(AX)=R0</p><p> I:CMP比較指令,與SUB指令一
45、樣執(zhí)行減法操作,但不保存結果,只是根據(jù)結果設置條件標志位。</p><p> 指令格式:CMP OPR1,OPR2</p><p> 指令功能:(OPR1)-(OPR2)</p><p> J:SUB指令(subtract byte or word)字節(jié)或字相減.</p><p> 指令格式:SUB DST,SRC</p>
46、<p> 指令功能:(DST)–(SRC)=(DST) 將內(nèi)存中的DST為地址單元內(nèi)數(shù)與SRC的內(nèi)容相減結果送DST。</p><p> K:DEC減1指令。</p><p> 指令格式:DEC OPR</p><p> 指令功能:(OPR)-1=(OPR)</p><p> L: HLT為空轉指令,保持執(zhí)行結束狀態(tài),
47、并不在執(zhí)行任何操作。</p><p> M: RL是左移指令,參加左移的數(shù)是8個位。 </p><p> 指令格式:RL AL,CL</p><p> 指令功能:將AL中的數(shù)左移(CL)位</p><p> N:RLC是帶進位位的左移,參加左移的共有9個位</p><p> 指令格式:RLC AL,CL<
48、;/p><p> 指令功能:將AL中的數(shù)帶進位左移(CL)位</p><p> ?。?)指令系統(tǒng)是設計計算機的依據(jù) ,擬訂指令系統(tǒng)將涉及基本字長、指令格式、指令種類、尋址方式等內(nèi)容。</p><p> 基本字長:程序設計平臺中配置的存儲器容量為256*8,可知道基本字長定為8位。</p><p> 指令格式:指令格式可有單字長和雙字長指令兩
49、種,在雙字長格式中,第二字節(jié)一般定義為操作數(shù)或操作數(shù)地址。</p><p> IN 操作碼: 0000 0000</p><p> OUT 操作碼: 0001 0000</p><p> STA 操作碼: 0010 0000</p><p> LDA
50、 操作碼: 0011 0000</p><p> JMP 操作碼: 0100 0000</p><p> BZC 操作碼: 0101 0000</p><p> CLR 操作碼: 0110 0000</p><p> MOV 操作碼:
51、 0111 0000</p><p> CMP 操作碼: 1000 0000</p><p> SUB 操作碼: 1001 0000</p><p> DEC 操作碼: 1010 0000</p><p> HLT 操作碼: 1011
52、 0000</p><p> RL 操作碼: 1100 0000</p><p> RLC 操作碼: 1101 0000</p><p><b> 2指令格式分析:</b></p><p> ?。?)控制信號說明:</p><p> 1.S
53、3,S2,S1,S0 有微程序控制器輸出的ALU操作選擇信號,以控制執(zhí)行16種算術操作或16種邏輯操作中的一種操作。</p><p> 2.M 微程序控制器輸出的ALU操作方式選擇信號端,M=0執(zhí)行算術操作;M=1執(zhí)行邏輯操作。</p><p> 3./CN 微程序控制器輸出的進位標志信號。/CN=0表示ALU運算時最低位加進位1;/CN=1則表示無進位。</p><
54、;p> 4.ALU-BUS 微程序控制器的輸出信號,控制運算器的運算結果是否送到總線BUS,低電平有效。</p><p> 5.LDDR1 微程序控制器的輸出信號,控制把總線上的數(shù)據(jù)打入運算暫存器DR1。</p><p> 6.LDDR2 微程序控制器的輸出信號,控制把總線上的數(shù)據(jù)打入運算暫存器DR2。</p><p> 7.R-BUS 微程序控制器的
55、輸出信號,控制寄存器R0的內(nèi)容是否送到總線BUS,低電平有效。</p><p> 8.LDR 微程序控制器的輸出信號,控制把總線上的數(shù)據(jù)打入寄存器R0。</p><p> 9.PC-BUS 微程序控制器的輸出信號,控制程序計數(shù)器的內(nèi)容是否送到總線BUS,低電平有效。</p><p> 10.LDPC 微程序控制器的輸出信號,控制PC加1。</p>
56、<p> 11.LDAR 微程序控制器的輸入信號,將程序計數(shù)器的內(nèi)容打入到地址寄存器AR中,產(chǎn)生RAM的地址。</p><p> 12.LDIR 微程序控制器的輸出信號,控制把總線上的數(shù)據(jù)(指令)輸入到指令寄存器IR中。</p><p> 13.SW-BUS 微程序控制器的輸出信號,控制8位數(shù)據(jù)開關SW7-SW0的開關量是否送到總線,低電平有效。</p>&
57、lt;p> 14.OUT 微程序控制器的輸出信號,控制和數(shù)據(jù)總線上的數(shù)據(jù)是否送到發(fā)光二極管上,低電平有效。</p><p> 在微程序流程圖中總共涉及到14條機器指令它們分別是:</p><p> IN OUT STA LDA JMP BZC</p><p> MOV ADD SUB
58、 DEC CMP HLT </p><p> RL RLC</p><p> 其中的指令的格式在上面已經(jīng)介紹。</p><p> 這些機器指令指令都是遵循從 取址 譯碼 執(zhí)行 訪存 寫回 5個步驟。在取址總它們都有相同的的操作如圖中標號 01H 的作用是從地址指針寄存器中得到指令地址根據(jù)指令地址得出取出指令。這個取址過程是所
59、用的指令的需要執(zhí)行的公操作。</p><p> 圖中在執(zhí)行完公操作后又給“P(1)”的功能就是譯碼。這里的譯碼工作是使用微控制器的外圍電路中分支的方式。得到下一條微指令的地址。</p><p> 指令中的STA、 LDA JMP BZC 是四條雙字長的指令。他們有四種尋址方式分別是直接、間接、變址、相對。指令在操作地址的時候都是先得到地址然才能操作。在這里設計的過程使用的也是同樣
60、的思想。在指令譯碼的過程中對這四條指令使用的方式不是直接判斷應該執(zhí)行什么指令,而是先判斷應該使用怎樣的尋址方式先找到應該操作的主存地址再進行操作。</p><p> 3.4微程序控制器的邏輯結構及功能</p><p> 微程序控制器的結構與微指令的格式密切相關。 微程序控制器的結構框圖如圖3-5所示。它由控制存儲器、微地址寄存器、微命令寄存器和地址
61、轉移邏輯幾部分組成。微地址寄存器和微命令寄存器兩者的總長度即為一條微指令的長度,二者合在一起稱為微指令寄存器。</p><p> 圖3-6:微程序控制器的結構框圖</p><p><b> 1.控制存儲器</b></p><p> ROM中存放微程序,也就是全部的微指令。ROM的容量取決于微指令的總數(shù)。假如控制器需要128條微指令,則微地
62、址寄存器長度為7位。ROM的字長取決于微指令長度。如果微指令為32位,則ROM的字長就是32位。實際應用中ROM可采用EPROM或E2PROM、EAROM,用戶寫入和修改微程序比較方便。</p><p><b> 2.微命令寄存器</b></p><p> 微命令寄存器暫存由控制存儲器中讀出的當前微指令中控制字段與測試判別字段信息,可由8D寄存器組成。</p
63、><p><b> 3.微地址寄存器</b></p><p> 微地址寄存器暫存由控制存儲器讀出的當前微指令的下址字段信息。它可由帶RD、SD強置端的D觸發(fā)器組成。其中時鐘端和D端配合用做ROM的讀出打入,用SD進行下址修改。</p><p><b> 4.地址轉移邏輯</b></p><p>
64、 微指令由ROM讀出后直接給出下一條微指令的地址,這個地址就放在微地址寄存器中。當微程序出現(xiàn)分支時通過地址轉移邏輯去修改微地址寄存器內(nèi)容,并按修改好的微地址讀出下條微指令。地址轉移邏輯是一個組合邏輯電路,其輸入是當前微指令的判別測試字段Pi、執(zhí)行部件反饋的“狀態(tài)條件”及時間因素T4。</p><p><b> 5.控制時序信號</b></p><p> 上圖中標明
65、了一個基本機器周期中的控制時序信號。例如用上一周期的T4時間按微地址寄存器內(nèi)容從ROM中讀一條微指令,經(jīng)過一段時間后被讀出,用當前周期的T1時間打入到微指令寄存器。T2、T3時間用來控制執(zhí)行部件進行操作。T4時間修改微地址寄存器內(nèi)容并讀出下一條微指令。</p><p> 微控制器寄存器使用的是兩片74LS273和一片74LS175構成它們從微命令存儲器中讀出并保存,為后續(xù)模塊提供信息。它是根據(jù)節(jié)拍信號進行讀的。
66、</p><p> 地址轉移部分是由一個74LS245作為6的帶強制端的觸發(fā)器構成寄存器和構成在強制端沒有輸入時使用的是從微存儲器讀出下一條地址。如果強制端有輸入就是強制端給定的地址。強制端給地址主要是在分支的時候給出。</p><p> 還有三個74LS138夠成地址譯碼部分。分別對應A,B,C字段。</p><p><b> 微控制器的物理設計&
67、lt;/b></p><p> 微控制器的設計中根據(jù)其要求,使用的微控制的微控存使用的是3片2816</p><p> 構成。其中每一片使用的是256個字節(jié)并沒有全使用。這主要考慮到是整個模型機都使用的都是8位的。三片2816實現(xiàn)的位擴張,構成24長度微指令。因此根據(jù)起設計的要求物理設計的邏輯圖如圖3-7所示: </p><p> 圖3-7 物理設計的邏
68、輯圖</p><p> 3.5微程序的設計與實現(xiàn)</p><p><b> 3.5.1指令格式</b></p><p> 微指令長共24位,其控制位順序如表3-7所示:</p><p> 表3-7:微指令的格式</p><p> A字段 B字段
69、 C字段</p><p><b> 對表3-7解釋:</b></p><p> S3 S2 S1 S0 M</p><p> 微運算器74LS181芯片的控制信號,詳見表3-7。</p><p> 微W\R信號對RAM和OUT進行寫操作,高電平為寫有效。</p>
70、;<p><b> B1,B0:</b></p><p> 為對外部設備(RAM, OUTPUT, INPUT)地址進行譯碼,B0B1=00時, </p><p> INPUT 選中; B0B1 =01時,RAM(CE)選中;B0B1=10的,OUTPUT選中; B0B1=11時,外部設備不選中。</p><p>&
71、lt;b> A字段:</b></p><p> LDRi:寄存器輸入選中,具體選擇同指令寄存器(IR)的最低2位(I1,I0)配合,當I1,I0=00時為輸入到R0寄存器;I1,I0=01時為R1;I1,I0=10時為R2。 </p><p> LDDR1:暫存器DR1選中。 </p><p> LDDR2:暫存器DR2選中。 </p
72、><p> LDIR:指令寄存器IR選中。 </p><p> LOAD:總線數(shù)據(jù)直接裝載到PC計數(shù)器。 </p><p> LDAR:地址寄存器AR選。</p><p><b> B字段 :</b></p><p> RS-B:為源寄存器輸出選中。具體選擇同指令寄存器(IR)的3,4位(I
73、3,I2)配合,當I3,I2=00時為輸入到R0寄存器;I3,I2=01時為R1;I3,I2=10時為R2。 </p><p> RD-B:為目的寄存器輸出選中。具體選擇同指令寄存器(IR)的最低2位(I1,I0)配合,當I1,I0=00時為輸入到R0寄存器;I1,I0=01時為R1;I1,I0=10時為R2。 </p><p> RI-B:為變址寄存器選中。本機定固定為R2 。 &l
74、t;/p><p> 299-B:移位寄存器輸出選中。 </p><p> ALU-B:邏輯運算單元結果輸出。 </p><p> PC-B :PC計數(shù)器輸出。</p><p><b> C字段 :</b></p><p> P(1):分支判斷1,和指令寄存器(IR)的高四位(IR7-IR4)
75、作為測試條件。可分16個分支。 </p><p> P(2):分支判斷2,和指令寄存器(IR)的三四位(IR3,IR2)作為測試條件,有4個分支。 </p><p> P(3):分支判斷3,和CY或ZI作為測試條件,有兩個分支。 </p><p> P(4):分支判斷4,和開關SWB,SBA作為測試條件,有4個分支。用于控制臺控制區(qū) (讀程序,寫程序,和運行程
76、序)。 </p><p> AR:進行算術運算時是否影響進位和判零標志的控制位。 選中時進行帶進位運算。 </p><p> LDPC:為PC計數(shù)信號選中。 </p><p> UA5……UA0:為下一步微地址。</p><p> 指令的后續(xù)地址的產(chǎn)生方法是:在沒有跳轉的指令中后六位就是下一條微指令的入口地址。在有跳轉的指令根據(jù)跳轉的
77、條件微控制器根據(jù)相應的條件和地址將下地址直接送到為控制器的地址強制端得到下一條指令的地址。 微程序是按順序在在為控存中存放在系統(tǒng)初始化的是時候指令是從00H地址開始的00H地址中存放的是一條跳轉指令直接可以跳轉到01H的中存放的就是真正在控制程序功能的指令。機器就根據(jù)指令一條的執(zhí)行。在微控制器的控制下讓機器根據(jù)指令的來進行有條不紊的工作。</p><p> 為指令的入口地址的形成是根據(jù)機器指令的高四
78、位進行判斷后得出的。每一條微指令都對應相應的一個地址。地址的編制和每一微指令是一一對應。不存在沖突。</p><p> 設計復雜模型機的監(jiān)控軟件,詳細如下:</p><p> ?。?)微程序流程圖:</p><p> 圖3-8微程序流程圖</p><p><b> (2)微程序設計:</b></p>
79、<p><b> 設計與分析:</b></p><p><b> 1).IN指令</b></p><p><b> 2).OUT指令</b></p><p><b> 3) STA指令</b></p><p><b> 4)
80、LDA指令</b></p><p><b> 5) JMP指令</b></p><p><b> 6) BZC指令</b></p><p><b> 7).CLR指令</b></p><p><b> 8).MOV指令</b></
81、p><p><b> 9).CMP指令</b></p><p><b> 10).SUB指令</b></p><p><b> 11).DEC指令</b></p><p><b> 12).HLT指令</b></p><p>&
82、lt;b> 13).RL指令</b></p><p><b> 14).RLC指令</b></p><p><b> 實現(xiàn):</b></p><p> 表4-4 微指令代碼表</p><p> 監(jiān)控程序的16進制文件格式:</p><p><
83、b> 程序</b></p><p> $P00 00$P01 10$P02 0D$P03 80$P04 00$P05 60$P06 70$P07 20$P08 0E$P09 30</p><p> $P0A 0E$P0B 40</p><p> $P0C 00$P0D 40</p><p>&l
84、t;b> 微程序</b></p><p> $M00 088105</p><p> $M01 82ED05</p><p> $M02 50C004</p><p> $M03 011004</p><p> $M04 010407</p><p> $M05
85、A2ED05</p><p> $M06 A4ED05</p><p> $M07 A5ED05</p><p> $M08 A7ED05</p><p> $M09 019A3D</p><p> $M0A 019205</p><p> $M0B 018005</p>
86、<p> $M0C 0D2004</p><p> $M0D 098A06</p><p> $M0E 080A07</p><p> $M0F 019431</p><p> $M10 019A3D</p><p> $M11 019205</p><p> $M1
87、2 A3ED05</p><p> $M13 A7ED05</p><p> $M14 2DA205</p><p> $M15 2BA205</p><p> $M16 2FA205</p><p> $M17 18E004</p><p> $M18 23E004</p&g
88、t;<p> $M19 018206</p><p> $M1A 25E004</p><p> $M1B 01A007</p><p> $M1C 81D104</p><p> $M1D 28A007</p><p> $M1E 81D104</p><p> $
89、M1F 018005</p><p> $M20 24E004</p><p> $M21 25B004</p><p> $M22 26A205</p><p> $M23 019A95</p><p> $M24 28E004</p><p> $M25 29B004</p
90、><p> $M26 2AA205</p><p> $M27 019A61</p><p> $M28 2EB405</p><p> $M29 29A205</p><p> $M2A 019A61</p><p> $M2B 2CB405</p><p>
91、 $M2C 28E004</p><p><b> (3)運行實現(xiàn):</b></p><p><b> ?、?單步運行程序</b></p><p> A 使編程開關處于“運行”的狀態(tài),“運行方式”開關置為“單步”狀態(tài),“運行控制”開關置為“運行”狀態(tài)。</p><p> B 撥動總清開關 (0
92、->1),即單步運行一條指令。PC計數(shù)器清零,程序首地址為00H.</p><p> C 按動“啟動運行”開關,即單步運行一條微指令。對照程序流程圖,觀察位地址顯示燈是否和流程一致。</p><p><b> ②. 連續(xù)運行程序</b></p><p> A “編程開關”置“運行”狀態(tài),“運行方式”開關置“連續(xù)”狀態(tài),“運行控制”開
93、關置“運行”狀態(tài)。</p><p> B 撥動總清開關,清微地址及程序計數(shù)器,然后按動“啟動”開關,系統(tǒng)連續(xù)運行程序,如果要停止程序的運行,只需將“運行控制”開關置為“停止”狀態(tài),系統(tǒng)就停機。</p><p> C 停機后,可檢查存數(shù)單元0BH中的結果是否正確。</p><p> 第四章 系統(tǒng)調(diào)試報告</p><p> (1)調(diào)試程
94、序可得結果如下:</p><p> PC=01->AR=00->RAM=00</p><p> RAM=00->IR=00->微控器</p><p> INPUT=00->R0=00</p><p> PC=02->AR=01->RAM=10</p><p> RAM
95、=10->IR=10->微控器</p><p> PC=03->AR=02->RAM=0A</p><p> RAM=0A->AR=0A->RAM=01</p><p> RAM=01->DR=01->ALD=01</p><p> RD=00->DR1=00->ALD=01
96、</p><p> ALD=01->R0=01</p><p> PC=04->AR=03->RAM=20</p><p> RAM=20->IR=20->微控器</p><p> PC=05->AR=04->RAM=0B</p><p> RAM=01->AR
97、=05->RAM=01</p><p> R0=01->RAM=01</p><p> PC=06->AR=05->RAM=30</p><p> RAM=30->IR=30->微控器</p><p> PC=07->AR=06->RAM=0B</p><p>
98、 RAM=01->AR=0B->RAM=01</p><p> ALU=01->OUTPUT=01</p><p> PC=08->AR=07->RAM=40</p><p> RAM=40->IR=40->微控器</p><p> PC=09->AR=08->RAM=00<
99、/p><p> RAM=00->PC=00</p><p><b> (2)結果分析: </b></p><p> 本程序執(zhí)行以上五條指令,即進行數(shù)的輸入(IN)、兩個數(shù)的相減(SUB)、從寄存器到內(nèi)存的數(shù)的傳送(STA)、數(shù)的輸出(OUT)、偽指令的程序跳轉(JMP)。單步運行,通過對照程序流程圖看指令運行是否正確??梢钥吹匠绦虻膱?zhí)行
100、與設想的一致。</p><p><b> 設計總結</b></p><p> 經(jīng)過這次課程設計,我體會到自己所學的東西太少了,很多都不知道。在這次課程設計的過程,有些很基本的知識出現(xiàn)記混淆的現(xiàn)象,通過查書及詢問同學,最終明白了。</p><p> 本次課程設計我們要設計一臺微程序控制的模型機,以對計算機能有一個整機的概念,完成對計算機組成
101、原理這門課程的綜合應用,達到學習本書的作用。作為一個計算機系學生這是必需掌握的,使我們對數(shù)據(jù)選擇器,移位器,加法器,運算器,存儲器和微程序控制器,有了比較徹底的認識。</p><p> 由于計算機設計的部件較多,結構原理較復雜,對于我們這樣的初設計者來說感到無從下手,所以我們在整個過程中采取由淺入深,由簡單到復雜的放法,通過這次設計,使我們能清楚的了解計算機的基本組成,基本原理和設計步驟,設計思路和調(diào)試步驟,最
102、終能清晰的建立起整機概念,為獨立完成計算機設計奠定了基礎。</p><p><b> 參考文獻</b></p><p> 1白中英. 計算機組成原理. 科學術出版社,2006.8</p><p> 2白中英. 計算機組成原理題解、題庫、實驗. 科學術出版社,2006.8</p><p> 3王愛英,計算機組成
103、與結構,清華大學出版社,1999</p><p> 4王誠,計算機組成與結構,清華大學出版社,1999清華大學出版社,1999</p><p> 5唐朔飛. 計算機組成原理,高等教育出版社,1993</p><p><b> 致謝</b></p><p> 在系統(tǒng)設計過程中遇到了很多問題,在xx老師的指導下基本上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機組成原理課程設計--- 模型機設計
- 復雜模型機設計-計算機組成原理課程設計
- 計算機組成原理課程設計---模型機組成設計
- 計算機組成原理課程設計--復雜模型機設計實驗
- 計算機組成原理課程設計---模型機設計與實現(xiàn)
- 計算機組成原理課程設計--復雜模型機設計報告
- 計算機組成原理課程設計--基本模型計算機
- 計算機組成原理課程設計---基本模型機設計與實現(xiàn)
- 計算機組成原理課程設計-- 基本模型機設計與實現(xiàn)
- 計算機組成原理課程設計--基本模型機設計與實現(xiàn)
- 計算機組成原理課程設計-- 基本模型機設計與實現(xiàn)
- 《計算機組成原理》課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計-概念模型計算機
- 計算機組成原理課程設計---基本模型機設計與實現(xiàn) (2)
- 計算機組成原理課程設計--一臺模型計算機設計與測試
評論
0/150
提交評論