微程序控制器的CPU設計課程設計_第1頁
微程序控制器的CPU設計課程設計_第2頁
微程序控制器的CPU設計課程設計_第3頁
微程序控制器的CPU設計課程設計_第4頁
微程序控制器的CPU設計課程設計_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE18課程設計(大作業)報告課程名稱:計算機組成原理設計題目:微程序控制器模型機CPU設計院系:信息技術學院班級:2011級3班設計者:蔣興發學號:201111010309指導教師:華瑞設計時間:2013.7.1~2013.7.5信息技術學院昆明學院課程設計(大作業)任務書姓名:蔣興發 院(系):信息技術學院專業:計算機科學與技術學號:201111010309任務起止日期:2013-0課程設計題目:采用硬連線控制器或微程序控制器的模型機CPU設計。分析Intel公司Pentium系列CPU結構設計,提出改進設計思想。新一代或未來計算機大致結構框架及主要設計原理構想。課程設計要求:可以單人設計,也可分組設計。若分組,組員自由組合,每組2-3人,通過組員協作共同完成設計任務,各組員工作量要均衡飽滿,組內各組員設計內容不得雷同。根據個人或小組的實際情況,以上三個設計題目任選其一作為正式課程設計題目。也可自擬設計題目,但必須經指導教師認可批準后才能作為正式課程設計題目。對于設計題目1,要求在完成基本模型機實驗與復雜模型機實驗的基礎上,參考主教材P.347§12.1具體設計要求,并且結合上網搜索與圖書館查找相關資料進行具體設計。對于設計題目2,要求在完成基本模型機實驗與復雜模型機實驗的基礎上,參考主教材P.166~P.171并結合上網搜索與圖書館查找相關資料進行較為全面到位的分析,以支持主教材中對該CPU“堪稱為當代CISC機器的經典之作”的評價。并且提出你對該CPU的若干改進設計思想(原設計何處有何不足,如何改進?)。對于設計題目3,要求在完成基本模型機實驗與復雜模型機實驗的基礎上,到圖書館查找相關資料并結合上網搜索,再加上自己大膽與合理的想象進行設計。“不怕做不到,只怕想不到”。不管上述哪個設計題目,均要求有較完善的設計文檔,并結合實際,按后文要求寫出課程設計報告并打印裝訂與電子版一起提交(大作業),紙質版與電子版缺一不可。請自覺遵守課程設計紀律,出勤、實驗情況、設計態度等平時設計過程表現將與最終設計成果一起綜合評定本次課程設計總成績,過程與結果同樣重要。工作計劃及安排:(共一周)指導教師簽字年月日

課程設計(大作業)成績學號:201111010309 姓名:蔣興發 指導教師:華瑞課程設計題目:微程序控制器模型機CPU設計總結:指導教師評語:成績:填表時間: 指導教師簽名:

目錄課程設計(大作業)報告 0一、課題分析 41.1、設計目的 41.2、設計任務 41.3、課程設計題目分析 41.3.1課題設計準備 41.3.2讀/寫操作的認識 5二、總體設計 52.1、設計原理 62.2功能設計 6三、方案比較 7四、分步設計 84.1小組成員設計任務分配 84.2微程序控制器的設計 84.2.1設計要求 84.2.2設計內容 84.3、指令周期流程圖 94.4、機器指令設計 94.5系統組成框圖 104.6、各部件功能 114.7微指令格式 124.8微程序流程圖 134.10數據連通圖和接線圖 14五、設計成果 155.1運行結果 155.2復雜模型機實圖連接 165.3課程設計的收獲 16六、存在問題及改進建議 16七、實驗器材 17八、參考文獻及相關網址 17課程設計(大作業)報告課題分析通過計算機組成原理理論課和幾次實驗的學習,編寫相應的微程序,完成由基本單元電路構成一臺基本模型機,再經過調試指令和模型機使其在微程序的控制下自動產生各部件單元的正常工作控制信號。在設計基本模型機的實驗基礎上,完成這次的課程設計。這次的課程設計將能在微程序控制下自動產生各部件單元控制信號,實現特定指令的功能。這里,計算機數據通路的控制將由微程序控制器來完成,CPU從內存中取出一條機器指令到指令執行結束的一個指令周期,全部由微指令組成的序列來完成,即一條機器指令對應一條微程序。1.1、設計目的計算機組成與結構課程設計是“計算機組成與結構”課程的后續設計性課程,通過設計一臺模型計算機,使學生更好地理解計算機組成與結構課程的基本內容,掌握計算機設計與實現的基本方法,培養學生實驗動手能力和創新意識,為以后進行計算機應用系統的設計與開發奠定基礎。1.2、設計任務設計一個8位模型計算機系統,包括運算器,微程序控制器,存儲器,簡單輸入/輸出接口和設備。在計算機組成原理與系統結構實驗系統上搭建模型計算機系統,完成運算器、微程序控制器的設計調試任務,并用所設計的指令系統編寫一個實現簡單功能的程序,在搭建的模型機系統上輸入、調試和運行程序。最后總結實驗結果,完善所設計的模型機系統方案和電路圖,寫出完整的設計報告。1.3、課程設計題目分析基于我們對簡單和復雜模型機的理解和實驗,我們對課程設計分析1.3.1、課題設計準備⑴、確定設計目標確定所設計計算機的功能和用途。⑵、確定指令系統確定數據的表示格式、位數、指令的編碼、類型、需要設計哪些指令及使用的尋址方式。確定相對應指令所包含的微操作。⑶、總體結構與數據通路總體結構設計包括確定各部件設置以及它們之間的數據通路結構。在此基礎上,就可以擬出各種信息傳輸路徑,以及實現這些傳輸所需要的微命令。綜合考慮計算機的速率、性能價格比、可靠性等要求,設計合理的數據通路結構,確定采用何種方案的內總線及外總線。數據通路不同,執行指令所需要的操作就不同,計算機的結構也就不一樣。⑷、設計指令執行流程數據通路確定后,就可以設計指令系統中每條指令所需要的機器周期數。對于微程序控制的計算機,根據總線結構,需考慮哪些微操作可以安排在同一條微指令中,哪些微操作不能安排在同一條微指令中。⑸、確定微程序地址根據后續微地址的形成方法,確定每個微程序地址及分支轉移地址。⑹、微指令代碼化根據微指令格式,將微程序流程中的所有微指令代碼化,轉化成相應的二進制代碼寫入到控制存儲器中的相應單元中。⑺、組裝、調試在總調試前,先按功能模塊進行組裝和分調,因為只有各功能模塊工作正常后,才能保證整機的正常運行。1.3.2讀/寫操作的認識機器指令碼的前4位為操作碼。其中IN為單字長,其余為雙字長指令,XXXXXXXX為addr對應的二進制地址碼。為了向RAM中裝入程序和數據,檢查寫入是否正確,并能啟動程序執行,還必須設計三個控制臺操作微程序。存儲器讀操作(READ):撥動總清開關CLR后,控制臺開關SWB、SWA為“00”時,按START微動開關,可對RAM連續手動讀操作。存儲器寫操作(WRITE):撥動總清開關CLR后,控制臺開關SWB、SWA設置為“01”時,按START微動開關可對RAM進行連續手動寫入。啟動程序(RUN):撥動總清開關CLR后,控制臺開關SWB、SWA設置為“11”時,按START微動開關,即可轉入到第01號“取址”微指令,啟動程序運行。上述三條控制臺指令用兩個開關SWB、SWA的狀態來設置,其定義如下:SWBSWA控制臺命令00讀內存(READ)01寫內存(WRITE)11啟動程序運行(RUN)總體設計2.1、設計原理CPU由運算器(ALU)、微程序控制器(MC)、通用寄存器(RO)、指令寄存器(IR)、程序計數器(PC)和地址寄存器(AR)組成,如圖1所示。這個CPU在寫入相應的微指令后,就具備了執行機器指令的功能,但是機器指令一般存放在主存當中,CPU必須和主存掛接后,才有實際的意義,所以還需要在該CPU的基礎上增加一個主存和基本的輸入輸出部件,以構成一個簡單的模型計算機。圖1基本CPU構成原理圖2.2功能設計本模型機和前面微程序控制器實驗相比,共有5條指令:IN(輸入)、ADD(二進制加法)、OUT(輸出)、JMP(無條件轉移)、HLT(停機),其指令格式如下:助記符 實現功能 機器指令代碼IN0(R0) A->R0 00100000IN1(R1) B->R1 00110000ADD(R0,R1) A+B->R0 00000000MUL(R0,R1) AvB->R0 01010000AND(R0,R1) AB->R0 01100000OUT(R0) A->OUT 01110000HLT NOP 10000000均為單字節指令,********為addr對應的二進制地址碼。微程序控制器實驗的指令是通過手動給出的,現在要求CPU自動從存儲器讀取指令并執行。方案比較方案一:(1)選定CPU中所使用的產要器件;(2)根據指令系統、選用的器件和設計指標,設計指令流的數據通路;(3)根據指令系統、選用的器件和設計指標,設計數據流的數據通路。計算機的工作過程,實質上是不同的數據流在控制信號作用下在限定的數據通路中進行傳送。數據通路不同,指令所經過的操作過程也不同,機器的結構也就不—樣,因此數據通路的設計是至關重要的。所謂數據通路的設計,也就是確定機器各邏輯部件相對位置的總框圖。數據遠路的設計,目前還沒有非常標準的方法。主要是依據設計者的經驗,并參考現有機器的三種典型形式(單總線、雙總線或三總線結構),根據指令系統的要求,可采用試探方法來完成。其主要步驟如下:(1)對指令系統中的各條指令進行分析,得出所需要的指令周期與操作序列,以便決定各器件的類型和數量。(2)構成一個總框圖草圖,進行各邏輯部件之間的互相連接,即初步確定數據通路,使得由指令系統所包涵的數據通路都能實現,并滿足技術指標的要求。(3)檢驗全部指令周期的操作序列,確定所需要的控制點和控制信號。(4)檢查所設計的數據通路,盡可能降低成本,簡化線路。方案二:⑴、用基本的五條機器指令編寫實驗程序。程序如下:(地址和內容都是十六進制,機器指令的前4位為操作碼。)地址 內容 助記符 說明00 00 INR0,80H 80HR0。數據80H從實驗儀左下方“INPUTDEVICE”中的8位數據開關D7~D0輸入,存入R0寄存器。01 10 ADDR0,(0A) (R0)+(0A)R0。R0寄存器的內容與存儲器0A地址單元的內容相加,結果存入R0寄存器。02 0A 03 20 STA(0B),R0 R0(0B)。R0寄存器的內容與存入存儲器0B地址單元。04 0B 05 30 OUTBUS,(0B) (0B)BUS。通過總線輸出存儲器0B地址單元的內容。06 0B 07 40 JMP00 00PC。無條件轉移到00地址。08 00 0A 01 存儲器0A地址單元的數據,可自定。0B 求和結果保存在存儲器0B地址單元。微指令的微代碼如下:(內容是十六進制)十六進制地址 八進制地址 內容 十六進制地址 八進制地址 內容00 00 108101 0D 15 01820201 01 82ED01 0E 16 0FE00002 02 48C000 0F 17 15A00003 03 04E000 10 20 92ED0104 04 05B000 11 21 94ED0105 05 06A201 12 22 17A00006 06 019A95 13 23 01800107 07 0DE000 14 24 18200008 10 011000 15 25 010A0709 11 83ED01 16 26 81D1000A 12 87ED01 17 27 100A070B 13 8EED01 18 30 118A060C 14 96ED01 ⑵、修改和編寫實驗儀RAM和ROM數據。方案比較:由于方案二更符合本次課程設計的內容,而且是基于我們平時做的基本模型機(包括簡單模型機和復雜模型機兩部分)的基礎,所以做起來比較容易。因此,我們選擇了方案二。分步設計4.1小組成員設計任務分配表一任務分配表小組成員任務蔣興發廖宇梅設計機器指令執行流程微程序流程圖指令周期流程圖數據通路圖二進制代碼表微指令格式微指令代碼化4.2微程序控制器的設計4.2.1設計要求1.將所編寫的微程序存儲到控制存儲器中;2.用單步執行微指令方式執行微程序并觀測所發出的控制信號;3.每組編寫的程序必須有助記符表示的匯編語言源程序,并把源程序翻譯成機器指令代碼,并記錄相關實驗結果;4.提交微程序流程圖、對應的二進制微代碼表4.2.2設計內容1.編寫出實現自定義指令系統的微程序;2.將所編寫的微程序存儲到控制存儲器中;3.在實驗箱調試和完成微程序控制器的設計工作;4.3、指令周期流程圖開始開始MM→DIRMMMM→DIRMM→AC取指指令MOV指令運算指令MM→IRMM→IRMM→IRMM→IRALU運算PC+1IR→uIRIR→uIRDR2→ACMM→IRMM→IRIRMM→IRIR→uIRIRIR→uIR結束結束圖2指令周期流程4.4、機器指令設計表二機器指令碼設計:助記符實現功能機器指令代碼IN0(R0)A->R000100000IN1(R1)B->R100110000ADD(R0,R1)A+B->R000000000MUL(R0,R1)AvB->R001010000AND(R0,R1)AB->R001100000OUT(R0)A->OUT01110000HLTNOP10000000表三機器指令程序地址(二進制)內容(二進制)助記符說明0000000000000000INR0"INPUTDEVICE"→R00000000100010000ADD[10H],R0R0+[10H]→R000000010000100000000001100100000STAR0,[11H]R0→[11H]00000100000100010000010100110000OUT[11H][11H]→LED00000110000100010000011100000000INR0"INPUTDEVICE"→R00000100001010000ADD[10H],R0R0-[10H]→R000001001000100000000101000100000STAR0,[12H]R0→[12H]00001011000100100000110000110000OUT[12H][12H]→LED00001101000100100000111001000000JMP00H00H→PC00001111000000000001000000000001自定00010010求和結果00010011求差結果4.5系統組成框圖圖3復雜模型機控制器4.6、各部件功能1.LDPC微程序控制器輸出的PC加1信號。2.LOAD微程序控制器的輸出信號。LOAD=0時,PC程序計數器處于并行置數狀態;LOAD=1時,PC處于計數狀態。3.ALU-BUS微程序控制器的輸出信號,控制運算器的運算結果是否送到總線BUS,低電平有效。4.PC-BUS微程序控制器的輸出信號,控制程序計數器的內容是否送到總線BUS,低電平有效。5.R0-BUS微程序控制器的輸出信號,控制寄存器R0的內容是否送到總線BUS,低電平有效。6.SW-BUS微程序控制器的輸出信號,控制8位數據開關SW7-SW0的開關量是否送到總線,低電平有效。7.LDR0微程序控制器的輸出信號,控制把總線上的數據打入寄存器R0。8.LDDR1微程序控制器的輸出信號,控制把總線上的數據打入運算暫存器DR1。9.LDDR2微程序控制器的輸出信號,控制把總線上的數據打入運算暫存器DR2。10.LDIR微程序控制器的輸出信號,控制把總線上的數據(指令)輸入到指令寄存器IR中。4.7微指令格式表四微指令格式232221201918-1514-1211-98-65-0M23M22WRRDIOMS3-S0A字段B字段C字段MA5-MA0A、B、C各字段功能說明:A字段B字段C字段141312選擇11109選擇876選擇000NOP000NOP000NOP001LDA001ALU_B001P<1>010LDB010R0_B010保留011LDR0011保留011保留100保留100保留100保留101保留101保留101保留110保留110保留110保留111LDIR111保留111保留

4.8微程序流程圖3333IN->R001R0->OUT3101OUTOUTHUOADDININ0101320705060430343635030100NOPPC->ARPC+1MEM->IRR0->AIN->R1R0->AR1->OUTP<1>R1->BR1->BA+B=R0A∨B=R00101圖4微程序流程圖

4.9二進制代碼表表五二進制代碼表地址十六進制高五位S3—S0A字段B字段C字段MA5—MA00000000100000000000000000000000101006D4300000000011011010100001103107070000100000111000001110000040026050000000000100110000001010504B20100000000101100100000000106002607000000000010011000000111070032010000000000110010000000011D105141000100000101000101000001110024120000000000100001000100101202320100000010001100100000001300014040000000000010100000001003118400100011000010000000000000132183001000110000011000000000001332804010010100000000100000000013400140600000000000101000000011035000035000000000000000000110101362806010010

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論