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

下載本文檔

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

文檔簡介

1、組成原理課程設(shè)計(jì)計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 模型計(jì)算機(jī)控制器的設(shè)計(jì)模型計(jì)算機(jī)控制器的設(shè)計(jì)本課程設(shè)計(jì)以設(shè)計(jì)一個模型計(jì)算機(jī)的控制器(cu為目標(biāo),通過課程設(shè)計(jì),進(jìn)一步加深對中央處 理器的結(jié)構(gòu)和功能的理解, 掌握控制器的設(shè)計(jì)方法和 步驟,為今后從事計(jì)算機(jī)系統(tǒng)設(shè)計(jì)打下初步的基礎(chǔ)。1 設(shè)計(jì)要求1.1 功能指標(biāo)和要求1)支持一個規(guī)模較小、但功能相對完整的 RISC 指令系統(tǒng),指令條數(shù)不超過 32 條;2)采用 I/O 端口獨(dú)立編址方式;3)系統(tǒng)總線由CPU總線延伸形成,總線周期固 定;4)不支持中斷及DMA能;5)采用組合邏輯控制方式;6)忽略復(fù)位電路、 時鐘電路和時序電路的設(shè)計(jì), 但需說明對時序

2、信號的要求。1.2 性能指標(biāo)要求1)CPU字長8位,數(shù)據(jù)總線8位;2)地址總線 8 位,最大尋址空間為 256字節(jié);3)I/O 采用獨(dú)立編址方式, 4 位地址碼, 最大支 持 16個 I/O 端口;4)時鐘頻率1MHz左右,機(jī)器周期為3-4個時鐘 周期;5)CPU俞出與外部讀寫控制的控制信號有/MR、 /MW、/IOR、/IOW。1.3 課程設(shè)計(jì)要求根據(jù)課程設(shè)計(jì)指導(dǎo), 完成模型機(jī)控制的設(shè)計(jì), 并 提交課程設(shè)計(jì)報(bào)告。1.4 時間安排1)理解模型機(jī)的邏輯結(jié)構(gòu)、數(shù)據(jù)通路以及指令 系統(tǒng)和格式: 1 天2)數(shù)據(jù)通路設(shè)計(jì)及分析: 1 天3)指令執(zhí)行流程設(shè)計(jì): 1 天4)微操作的節(jié)拍安排與設(shè)計(jì): 1 天5)

3、微操作命令邏輯表達(dá)式: 1 天2 CPU 邏輯結(jié)構(gòu)設(shè)計(jì)2.1 CPU 邏輯結(jié)構(gòu)的組成1運(yùn)算器1)ALU具有8種算術(shù)/邏輯運(yùn)算功能,其運(yùn)算功 能由三位編碼121110選擇;ALU除了 2個數(shù)據(jù)輸入 端R、S和數(shù)據(jù)輸出端Y外,另有一個最低位進(jìn)位輸 入信號C0,以及4個狀態(tài)輸入:進(jìn)位輸出C結(jié)果零 Z、運(yùn)算溢出V和符號位S。2)ALU 輸出移位器具有直通、左移一位和右移 一位的功能,由兩位編碼 I4I3 選擇;3)ALU數(shù)據(jù)輸入端有A和B兩個數(shù)據(jù)鎖存器, 指令不可訪問;4)標(biāo)志寄存器 FLAG, 4 位,與數(shù)據(jù)總線的低 4 位連接,能獨(dú)立置位或清零;5)4個通用數(shù)據(jù)寄存器R0- R3;6)堆棧指針SP

4、 (8位);7)數(shù)據(jù)緩沖寄存器DR指令不可訪問;8)地址寄存器 AR( 8 位),指令不可訪問。2控制器1 )程序計(jì)數(shù)器 PC( 8 位),具有加 1 的功能;2)指令寄存器IR (8位);3)微操作控制信號發(fā)生器,采用組合邏輯控制方式;4)時鐘和時序信號發(fā)生器(不需設(shè)計(jì))2.2 CPU的邏輯結(jié)構(gòu)及數(shù)據(jù)通路結(jié)構(gòu)IT心PCiC IK1DRDRT711ZEROFLAGlk5pCo*PC-,L_晉7 ALU三$:微操作控制一 C; *佶號發(fā)生器3;roMEMMRAm1OKIOU5圖2-1 CPU邏輯結(jié)構(gòu)及數(shù)據(jù)通路結(jié)構(gòu)圖在模型計(jì)算機(jī)的CPU中設(shè)置了一個特殊的零寄存器ZERO該寄存器的值恒為0o各 寄存

5、器的編碼(地址)見表2-1 o表2-1寄存器編碼表寄存 器編碼R00000R10001R20010R30011DR0100AR0101SP0110FLAG0111ZERO1000A1001B1010PC1011IR11003 指令系統(tǒng)設(shè)計(jì)3.1 指令字長和尋址方式設(shè)計(jì)1)指令字長以單字長為主, 少數(shù)指令為雙字長;2)指令操作碼字段長度可變;3)數(shù)據(jù)尋址支持立即尋址、寄存器直接尋址和 寄存器間接尋址三種方式;4)只有取數(shù)(LDA和存數(shù)(STO兩條指令可 以訪問主存。3.2 指令系統(tǒng)設(shè)計(jì)在以下指令定義中, dR、sR 表示通用數(shù)據(jù)寄存 器組R0- R3 (編號0011)中的一個,data表示8 位

6、立即數(shù), addr 表示 8 位無符號地址, port 表示 4 位 I/O 端口地址。1 )數(shù)據(jù)傳送類指令( 8 條)MOVdR, data;dR dataMOVdR, sR;dR (sR)LADdR, sR;dR (sR)STOdR, sR;(dR) (sR)PUSHsR; SP (sR) , SP SP+1POPdR;SP (SP) - 1, dR (SP)CLC;Cy0STC;Cy j12)算術(shù)運(yùn)算類指令(6 條)ADDdR, sR; dR j(dR) + (sR)SUBdR, sR; dRj (dR) -(sR)ADCdR, sR; dR j(dR) + (sR)+ CySBCdR,

7、 sR; dRj (dR) -(sR)-CyINCdR; dR j(dR) + 1DECdR;dR j (dR) - 13)邏輯運(yùn)算類指令( 8 條)ANDdR, sR;dR j (dR) V(sR)ORdR, sR;dR j (dR) A(sR)XORdR, sR;dR j (dR)(sR)NOTdR; dR j (dR)SLdR; dR j dR 1 , Cy jD0 (邏輯右移1位)SLCdR循環(huán)邏輯左移( 1 位)SRCdR循環(huán)邏輯右移( 1 位) 4)控制類指令( 7 條)JMP addrJC offset(PC) + offsetJNC offset (PC) + offsetJZ

8、 offset(PC) + offsetJNZ offset(PC) + offsetCALL addr (SP)+1 ,PC addrRET ;PC (SP)5) 輸入/ 輸出類指令( 2條)INport;帶進(jìn)位標(biāo)志 Cy 的;帶進(jìn)位標(biāo)志 Cy 的;PC addr;若 Cy=1 則 PC ;若 Cy=0 則 PC;若 Z=1 則 PC ;若 Z=0 則 PC (SP) (PC) ,SPSP (SP) - 1 ,R0 (port)port (R0)OUT port;3.3指令格式設(shè)計(jì)指令長度為單字節(jié)和雙字節(jié)2種,操作碼字段的 長度可變,指令格式有以下六種。1 格式一743210操作碼dRsR2

9、 格式二743210操作碼10 port / addr3 格式三743210操作碼dR/sR4 格式四743210操作碼dR/sRaddr5 格式五743210操作碼6 格式六操作碼adr00765432口甸0111 dRsRono dRsR0101 dRsR0100 dRsROOH dRsR0010 dRsR0001 dRsR0000 dRsRwXORdR, sROR dR, sRANDdR, sRSUB dR, sRADD dR, sRSTO dR,sRLAD dR,sRMOVdR, sRn 迸叫XXXXX22222222 X-X- X-X- X-X-X-X-*X-X-X-*X-oS N3

10、14n191000 dR sRADC DS, sR12* * *dRJ(dR)+(sR)+Cy101001 dR sRSBCDS, sR12* * *dRJ(dR)-(sR)-Cy111010 portIN port11 R0 J (port)121011 portOUT port11 port J (R0)13110000 dRPUSHR11 SP J (sR),SP J (SP)+114110001 dRPOP dR11 SPJ(SP)-1 , dR J(SP)15110010 dRINC dR11* * *dR J (dR)+116110011 dRDEC dR11* * *dR J (

11、dR)-117110100 dRSHL dR11*dR J dR*2,Cy J D718110101 sRSHR dR11*dR J dR/2 ,Cy J D011101SLC dR11*帶進(jìn)位Cy的邏910 dR輯循環(huán)左移20110111 dRSRC dR11*帶進(jìn)位Cy的邏 輯循環(huán)右移21111000 dRNOT dR11.*.*dR (dR)221110 01 dR dataMOV dR, data22*dR data2311101000CLC100Cy J 02411101001STC101Cy J 12511101010 addrCALLaddr21 (SP) J (PC),SFJ

12、(SP)+1 PC J addr2611101011RET10 SPj (SP)-1 ,PO (SP)2711101100 offsetJC offset21 C=1時轉(zhuǎn)移到(PC)+offset2811101100 offsetJNC offset21 C=0時轉(zhuǎn)移到(PC)+offset2911101110 offsetJZoffset21 Z=1時轉(zhuǎn)移到(PC)+offset301110 1111 offsetJNZoffset21 Z=0時轉(zhuǎn)移到(PC)+offset3111110000 addrJMPaddr21 PC J addr說明:表中CZVS欄,*表示該標(biāo)志位在指令執(zhí)行后 被

13、重置,表示該標(biāo)志位不受指令執(zhí)行的影響。4控制信號和時序信號4.1控制信號在計(jì)算機(jī)的控制信號中,大部分用于控制寄存器 數(shù)據(jù)輸入和數(shù)據(jù)輸出操作。寄存器一般由帶有三態(tài)輸 出的D觸發(fā)器或D鎖存器構(gòu)成,因此需要有數(shù)據(jù)輸入 和數(shù)據(jù)輸出兩個控制信號。為了可靠地實(shí)現(xiàn)兩個寄存 器之間的數(shù)據(jù)傳送操作,輸出寄存器的數(shù)據(jù)輸出控制 信號必須首先有效,經(jīng)過一段時間的延遲后,輸入寄 存器的數(shù)據(jù)輸入控制信號才能有效,在時間上有一個 時間差。寄存器之間的數(shù)據(jù)傳送一般可在一個時鐘周 期內(nèi)完成,因此,寄存器數(shù)據(jù)輸出的控制信號持續(xù) 1 個時鐘周期有效,而寄存器數(shù)據(jù)輸入的控制信號持續(xù) 半個時鐘周期,且在時鐘信號的后半個周期有效。1 運(yùn)

14、算器相關(guān)的控制信號1) ALU運(yùn)算功能控制信號AUL運(yùn)算功能由控制信號I2I1I0的編碼選擇,具 體見表4-1。表4-1 ALU運(yùn)算功能選擇I 2I 1I 0運(yùn)算功能說明000R+ S加法001S R減法010R+0加0011R減0100-0邏輯101RV S或110RA S與111RRS邏輯 非邏輯 異或2)移位器操作控制信號移位器的操作功能由控制信號I 4| 3的編碼選擇, 具體見表4-2。表4-2移位器操作功能選擇I4I3輸出Y說明00三態(tài)丫輸出高01Y=F阻態(tài)10F=F*2F直通11F=F/2F左移1 位F右移1位3)寄存器輸入/輸出控制信號通用寄存器組 RoR的數(shù)據(jù)輸入輸入和輸出分

15、別由R及R??刂?,其中R。信號持續(xù)1個時鐘周期, 而R則只在時鐘信號的后半個周期有效。數(shù)據(jù)緩沖寄存器DR 在物理上由輸出緩沖寄存器 和輸入緩沖寄存器組成,以便實(shí)現(xiàn)雙向數(shù)據(jù)緩沖,但 在邏輯上只有一個地址,一般通過讀、寫這兩種不同 的操作來區(qū)分不同的物理寄存器。對于數(shù)據(jù)輸出緩沖寄存器 DR數(shù)據(jù)的傳送方向 為:CPU主存或I/O,其數(shù)據(jù)輸入控制信號為 DR, 數(shù)據(jù)輸出由WE信號控制。對于數(shù)據(jù)輸入緩沖寄存器 DR數(shù)據(jù)的傳送方向 為:主存或I/O - CPU其數(shù)據(jù)輸入由 WE控制(WE 與WE為互補(bǔ)信號),數(shù)據(jù)輸出由DR控制。地址寄存器AR為單向輸出,AR為數(shù)據(jù)打入控制 信號。零寄存器(Z)為單向輸出,

16、乙為數(shù)據(jù)輸出控制 信號。標(biāo)志寄存器FLAG的數(shù)據(jù)輸出信號為乙。標(biāo)志寄 存器FLAG在結(jié)構(gòu)上不同于普通的寄存器,普通寄存 器的各個數(shù)據(jù)位作為一個整體同時接收數(shù)據(jù),不能實(shí)現(xiàn)個別數(shù)據(jù)位獨(dú)立接收數(shù)據(jù),但標(biāo)志寄存器FLAG要求各數(shù)據(jù)位能夠獨(dú)立接收ALU輸出的特征值(C Z、 V、S),通常情況下,需用時序邏輯的設(shè)計(jì)方法來實(shí) 現(xiàn)。標(biāo)志寄存器 FLAG中各標(biāo)志位的設(shè)置情況見表 4-3。表4-3 標(biāo)志寄存器中CZVS標(biāo)志值的選擇1 71 61 5CZVS說明000CZVSCZVS勺值保持001GF=OVF7不變01000VS接收ALU標(biāo)志0111ZVS位輸出的值100F0ZVSC置 “0”,ZVS101F7Z

17、ZVS不變C 置“ 1”,ZVS不變左移操作,ZVS 不變右移操作,ZVS 不變堆棧指針SP的輸入輸入和輸出分別由SR及SR 控制。4) ALU進(jìn)位信號C0及移位器低位Fo及高位F7的 取值A(chǔ)LU進(jìn)位信號C0及移位器低位Fo及高位F7的取 值見表4-4。表4-4 ALU進(jìn)位信號Co及移位器低位Fo及高位F7的取值I 10I 9I8C0F7F0說明0000單字長加0011法、邏輯運(yùn)010G算011單字長減法1000f F0多字長加、101Cf F0減法1100 f F7無操作111Cf F7邏輯左移 循環(huán)左移 邏輯右移 循環(huán)右移2控制器(CU相關(guān)的控制信號程序計(jì)數(shù)器PC具有加1的功能,當(dāng)控制信號

18、PGi 有效時PC的值加1,其數(shù)據(jù)輸入和輸出分別由信號 PC和PC控制。指令寄存器IR為8位,各位均有直接通道連接 到微操作與時序信號發(fā)生器,其輸入和輸出分別由信 號IRi和IRo控制。3.存儲器及I/O相關(guān)的控制信號訪問存儲器一般需要MRD和MWR兩個信號來控制 讀、寫操作,訪問I/O端口則需要和兩個信號 來控制讀、寫操作,為了便于控制數(shù)據(jù)總線的數(shù)據(jù)傳 送方向,可在CPU設(shè)置REQ存儲器及I/O請求)、MIO (存儲器或I/O選擇)和WE (寫允許)三個控制信號, 通過對這三個信號的譯碼后產(chǎn)生所需要的 mrd、MWR、 IOR 和 IOW。表4-3讀寫訪問的控制信號REQmioWE譯碼 輸出

19、說明0 x無效無操作XMWR寫存儲器1 0 0MRD讀存儲器IOW1 0 1寫I/OIOR1 1 0讀I/O1 1 14.2數(shù)據(jù)通路分析1 取指令操作 PCAA MEM D2IR PC+1 PC2 執(zhí)行指令1) 雙操作數(shù)運(yùn)算指令sR op dR dR? sRA? dR B? F Ri2) 單操作數(shù)運(yùn)算指令op dR dR? dRA? F Ri3) 寄存器間數(shù)據(jù)傳送指令op sR dR? (sR) (dR)4) push數(shù)據(jù)傳送指令sR SPsR f DRSPf AR? SP-1 fSP? DR f AR5) pop 數(shù)據(jù)傳送指令 SP fdR? SP f AR? SP+1f SP? AR f

20、DR ? DRf dR 6)輸入/ 輸出指令 op port? port fR0 或? R0 f (port) 7) jmp 控制指令 addr fPC? addr f PC8) offset 類指令op(PC + offset fPC)? PCf A? offset f B? A+Bf PC9)call 指令 op addr? PCfDR? SPfAR ? SP-1 fSP? DRf AR? addr f PC10) ret 指令 Op? SPfARSP+1fSP AR fDRDRfPC11) LAD指令sR fdR? sRfAR? M(AR)f DR? DRf dR12) STO指令sRf

21、dR? sRfDRdRARDR M(AR)4.3 時序信號模型計(jì)算機(jī)的主時鐘頻率f為1MHz周期T=1 u s,采用方波波形(即脈寬與脈間相等),普通的低 速RAM和ROM勺訪問周期一般在小于300ns,因此存 儲器的訪問可在 1 個時鐘周期內(nèi)完成。 因此,模型機(jī) 的機(jī)器周期M固定由1個時鐘周期構(gòu)成,指令的機(jī)器 周期數(shù)可變,但至少需要 M0 M1兩個機(jī)器周期,其 中M0為取指周期,M1為執(zhí)行周期。5指令執(zhí)行流程設(shè)計(jì)指令執(zhí)行流程圖如圖5-1所示,每個方框圖表示 一個機(jī)器周期,方框圖的左上方的數(shù)字編碼為機(jī)器周 期的編號。開始MOV dR,daLAD,dR,sRTO dR,sRPUSH sR1 PO

22、P dR00011 DRdR00110 sRAR000C1 M(ARDRACLC01100 Q-Cy1 有效時圖 5-1 指令執(zhí)行流程圖6指令執(zhí)行流程及控制信號安排根據(jù)指令執(zhí)行流程圖,安排各機(jī)器周期所需要發(fā) 出的微操作控制信號,并給出控制信號的編碼。表6-1指令流程及控制信號表指令機(jī)器碼機(jī)器周期PC-1R /M /W源寄存器目的寄存器C0F0F7I 10I 9I 8標(biāo)志I 7I 6I 5移位I 4I 3運(yùn)算1 2| 1| 0注釋-0000010001011100000000000000PCAR, PC+L PC-0000101011111011100000000000M(AR尸 DR-0001

23、000000111110000000000000DFHIRMOV1110 01 dRdata0000010001011100000000000000PCAR, PC+L PC0000101011111010000000000000M(AR尸 DR000110000010000dR00000000000DR dRMOV0000 dRsR00100000000sR00dR00000000000sRl dRLAD0001 dRsR00110000000sR100000000000000sRl AR0000101011111010000000000000M(ARL DR000110000010000d

24、R00000000000DR dRSTO0010 dR sR00111000000dR010100000000000dRL AR01000000000sR010000000000000sRl DR0100101000100111100000000000DR M(AR)PUSH1100 00 dR0101000000110010100000000000SPl ar01000000000sR010000000000000sRl DR0100101000100111100000000000DFL M(AR)POP1100 01 dR0101000001001010100000000000SPl ar0000101011111010000000000000M(ARL DR000110000010000dR000

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論