計算機組成原理CPU設(shè)計_第1頁
計算機組成原理CPU設(shè)計_第2頁
計算機組成原理CPU設(shè)計_第3頁
計算機組成原理CPU設(shè)計_第4頁
計算機組成原理CPU設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 CPU的用途字長:8位 D70尋址范圍:64byte,2的6次方64,A502 確定ISA(包括程序員可訪問的寄存器)1)程序員可訪問的寄存器 AC8位累加器CPU的指令集(共4條)指令操作碼操作COM00XXXXXXACAC(取反)JREL01XXXXXXPCPC+00AAAAAAOR10XXXXXXACACM00AAAAAASUB111AAAAAAACACM00AAAAAA12)其他寄存器AR地址寄存器6位由A50向存貯提供地址PC程序計數(shù)器6位指向下一條指令的地址DR數(shù)據(jù)寄存器8位通過D70從存貯器接收指令和數(shù)據(jù)IR指令寄存器2位存放從存貯器中取回的指令的操作碼部分3 CPU設(shè)計狀態(tài)

2、圖為了確定CPU的狀態(tài)圖,對每條指令作以下分析1) 從存貯器中取指令(所有指令均相同)原理:在CPU能執(zhí)行指令之前,它必須從存貯器中取出,CPU通過執(zhí)行如下的操作序列完成這個任務(wù)A) 選擇存貯單元由A50確定B) 對工A50譯碼,延遲,并向存貯器發(fā)一個信號使存貯器將此指令輸出到它的輸出引腳。這些引腳與CPU的D70相連。CPU從這些引腳讀入數(shù)據(jù)。具體操作:(分為三個狀態(tài))A)要取的指令的地址存放在程序計數(shù)器(PC)中。第一步就是把PC的內(nèi)容拷貝到AR中。FETCH1:ARPCB)CPU必須從存貯器中讀取指令,為此CPU必須發(fā)一個READ信號到器的RD(RDRAM,相對于OEROM)端上使存貯器

3、將數(shù)據(jù)發(fā)送到D70上,存入CPU的DR寄存器中。同時實現(xiàn)PCPC+1,為取下一條指令作準備。FETCH2:DRM,PCPC+1C) 作為取指令的一部分,CPU還必須完成兩件事。 DR的高2位拷貝到IR,目的是確定指令的功能 DR的低6位拷貝到AR,目的:a. 對于ORT和SUB1指令這6 位包含了指令的一個操作數(shù)的存貯器地址(一個數(shù)已經(jīng)在AC)b. 對于COM和JREL,它們不需要再次訪問存貯器,一旦它們返回到FETCH1周期,F(xiàn)ETCH1將把PC的值裝到AR,覆蓋無用的值。FETCH3:IRDR7,6, ARDR50取指令周期的狀態(tài)圖FETCH3FETCH2FETCH12) 指令譯碼(每條指

4、令的操作碼都是唯一的)本CPU有四條指令,因此有四個不同的執(zhí)行同期,為此用IR中的值來確定即可。FETCH1FETCH2FETCH3COM執(zhí)行周期OR執(zhí)行周期SUB1執(zhí)行周期IR=00IR=01IR=10IR=11JREL執(zhí)行周期3) 指令執(zhí)行(每條指令的執(zhí)行周期都是一樣的)每條指令的執(zhí)行周期的狀態(tài)分析:1COM指令功能是對AC的內(nèi)容取反,執(zhí)行周期的狀態(tài)是COM1:ACAC2. JREL指令代碼為01AAAAAA,即轉(zhuǎn)移的相對地址由AAAAAA確定,而AAAAAA在DR50中,所以有JREL1:PCPC+ DR503OR指令為了執(zhí)行指令,必須完成兩件事情 OR1:DRM;從存貯器取出一個操作數(shù)

5、送到數(shù)據(jù)寄存器OR2:ACACDR;與AC相或,并把結(jié)果存回AC中4. SUB1指令為了執(zhí)行指令,必須完成兩件事情SUB11:DRM;從存貯器取出一個操作數(shù)送到數(shù)據(jù)寄存器SUB12:AC - AC + DR;對DR取反,等于DR1綜上所述可知CPU的完全狀態(tài)圖如下FETCH1FETCH2FETCH3COM1OR1JREL1SUB11IR=00IR=01IR=10IR=11OR2SUB124 設(shè)計必要的數(shù)據(jù)通路和控制邏輯,以便實現(xiàn)這個有限狀態(tài)機,最終實現(xiàn)這個CPU。狀態(tài)圖以及寄存器的傳輸說明了實現(xiàn)本CPU所須完成工作(方法和步驟如下)1) 與CPU的每個狀態(tài)相關(guān)聯(lián)的操作(共九個狀態(tài))FETCH1

6、:ARPCFETCH2:DRM,PCPC+1FETCH3:IRDR7,6, ARDR50COM1:ACACJREL1:PCPC+ DR50 OR1:DRM;OR2:ACACDR;SUB11:DRM; SUB12:AC - AC + DR2) 建立數(shù)據(jù)通路的原理和方法A 存貯器是通過引腳D70將數(shù)據(jù)送給CPU。B 存貯器的地址是通過地址引腳A50從AR中獲得的。于是CPU與存貯器之間要A50(地址)和D70(數(shù)據(jù))通路,如下圖88ARACDRIRPCMCLKA50D70886622266666688883) 總線類型的確定方法原理:首先把操作數(shù)重新分組,依據(jù)是指導修改同一個寄存器的操作分配在同一

7、組。AR:ARPC ,ARDR50PC:PCPC+ DR50,PCPC+1DR:DRM,IR:IRDR7,6,AC:AC AR, DR, IR,AC總是從其他一些部件中裝入數(shù)據(jù)。若數(shù)據(jù)已在總線上,則需要做的是能夠執(zhí)行并裝入操作。(LD端口分別是ARLOAD,DRLOAD,IRLOAD,ACLOAD信號同步裝入)b PC能從其他一些部件中裝入數(shù)據(jù),還有相應(yīng)的自增(INC)當前值,所以應(yīng)創(chuàng)建一個單獨的硬件使之能自增。(端口有PCINC,PCLOAD)4) 把每個部件都連接到系統(tǒng)總線上三態(tài)緩沖區(qū)原有的寄存器部是把結(jié)果輸出到系統(tǒng)總線,使CPU內(nèi)部數(shù)據(jù)沖突,所以應(yīng)增加三態(tài)緩沖區(qū)加以控制,但AR的輸出還應(yīng)

8、與A50相接,這是尋址所需。5) 根據(jù)實際需要修改上圖的設(shè)計,并加上適當控制信號名稱1 AR :僅向存貯器提供地址,沒有必要將它的輸出連接到內(nèi)部總線上,加上ARLOAD實現(xiàn)從BUS裝入數(shù)據(jù)。2 ARPC :保留三態(tài)緩沖器由PCBUS控制同步3 IR : 不通過內(nèi)部總線向任何其他部件提供數(shù)據(jù),而IR的輸出將直接送到控制器用于確定指令的功能4 AC:本CPU不向其他任何單位提供數(shù)據(jù)5 DR70 :不統(tǒng)一,有6位也有2位寬度,必須確定哪些寄存器從總線的哪些位上接收和發(fā)送數(shù)據(jù)。應(yīng)有DRBUS實現(xiàn)同步。DRLOAD實現(xiàn)LD6 AC:必須能裝載AC + DR的和,以及ACDR與AC的邏輯與結(jié)果。CPU必須

9、包含一個能產(chǎn)生這些結(jié)果的ALU,并由ACLOAD實現(xiàn)裝入。7 PC:必須能裝載PC+ DR50的和。CPU必須包含一個能產(chǎn)生這些結(jié)果的ALU并由PCLOAD實現(xiàn)載入,而PCINC實現(xiàn)PCPC+18IRLOADACLOADDALUS1 ALUS2MEMBUSREADDRBUSPCBUSARLOAD6PCLOADPCINCDRLOAD828ACPCMCLKA50D7086666688ALU2ALU1DRARIRALU的設(shè)計1) ALU1(與PC相連)的設(shè)計數(shù)據(jù)通路的分析:功ALU1必須接收PC和DR作為輸入,然后把運算結(jié)果輸出到PC實現(xiàn)PCPC+ DR50在本CPU中,把PC的導線和ALU的輸入輸

10、出相連起來,并且利用系統(tǒng)總線把DR和ALU的輸入連接起來。用計數(shù)器來實現(xiàn)PCPC+1操作,就可以在FETCH2內(nèi)完成,因為計數(shù)器不必占用總線的時間。6 D50PARALLELADDERPCDRTO PC66From bus2) ALU2(與AC相連)的設(shè)計 在本ALU的設(shè)計中AC和ALU的輸入輸出連接,并且利用系統(tǒng)總線把DR和ALU和輸入相連起來。888ACMUXALUS1 ALUS2TO AC8PARALLELADDERDRFrom bus888888012(ALUS1,ALUS2=0,0, 選ACAC, ALUS1,ALUS2=0,1,選ACACDR,ALUS1,ALUS2=1,0,選AC

11、 - AC + DR,)用硬布線的方法設(shè)計控制器組成:計數(shù)器:保存當前狀態(tài)共有9個狀態(tài)(四條指令,共有9個狀態(tài))所以需要一個四16位譯碼器,譯碼器中有7個狀態(tài)沒用到。譯碼器:接收當前狀態(tài)并為每個狀態(tài)生成單獨的信號邏輯組合:接受單獨的狀態(tài)信號,為每一部件生成控制信號以及計數(shù)器的控制信號原理圖:計數(shù)器LD INC CLR譯碼器邏輯輸入控制信號計數(shù)器與譯碼器的設(shè)計:1. FETCH1狀態(tài):規(guī)定計數(shù)器的0值,使用計數(shù)器的CLR1到達這一狀態(tài)。(指令執(zhí)行完畢后,轉(zhuǎn)入的取址狀態(tài)。)2. 將順序狀態(tài)設(shè)定為計數(shù)器的連續(xù)值,用INC實現(xiàn)。3 利用IR映射1 IR0來確定指令的執(zhí)行如下表IR計數(shù)值狀態(tài)001000

12、COM1011010JREL1101100OR1111110SUB1指令的執(zhí)行FETCH10FETCH21FETCH32COM1: 8JREL1:10OR1: 12OR2: 13SUB11:14 SUB12:15FETCH3FETCH1FETCH2OR1SUB11COUNTERLD INC CLR012DECODER8.1012131415COM1JREL1OR2SUB12FETCH1FETCH2FETCH2COM1JREL1OR1OR2SUB11SUB121IR1.0044計數(shù)器控制信號的確定LD:在取址周期的FETCH3狀態(tài)中發(fā)出,進入執(zhí)行周期的第一個狀態(tài)(裝載1IR0進入指令的正確執(zhí)行周

13、期)FETCH3:IRDR7,6, ARDR50INC:CLR:如上圖所示根據(jù)譯碼器的輸出信號組合后產(chǎn)生中寄存器的有關(guān)信號ARLOAD(裝載地址寄存器的控制信號)FETCH1:ARPCFETCH3:ARDR502 PCLOAD PCINCPCLOAD =JREL1:PCPC+ DR50PCINC =FETCH2:PCPC+13 DRLOAD(實現(xiàn)DRM)FETCH2+OR1+SUB11ACLOAD (實現(xiàn)ACAC, ACACDR,AC - AC + DR)ACLOADCOM1+ OR2+ SUB12IRLOAD= FETCH36ALUS1,ALUS2與相連的有兩個控制信號ALUS1,ALUS2

14、=0,0, 選COM1:ACAC ALUS1,ALUS2=0,1,選OR2:ACACDR;ALUS1,ALUS2=1,0,選SUB12:AC 9因共有9 條微指令,可用四位MUX微地址寄存器,微地址寄存器控存24169用四位確定UPOS的位數(shù)二 生成正確序列并設(shè)計映象邏輯1. 給有限狀態(tài)機的每一種狀態(tài)分配一個控存地址利用IR映射1 IR0來確定指令的執(zhí)行如下表IR計數(shù)值狀態(tài)001000COM1011010JREL1101100OR1111110SUB12.其余微指令的地址微程序控制器的狀態(tài)地址FETCH10FETCH21FETCH32COM1: 8JREL1:10OR1: 12OR2: 13S

15、UB11:14 SUB12:153. 確定微指令中的選擇域和地址域,即生成正確的微指令執(zhí)行順序1)一般狀態(tài)轉(zhuǎn)換設(shè)SEL0,ADDR為下一條指令要執(zhí)行的控存號,一個微指執(zhí)行完后,從ADDR中得到下址,轉(zhuǎn)到ADDR指定的微指令2)特別狀態(tài)FETCH3下址的確定當FETCH3執(zhí)行完后,必須到指令執(zhí)行周期的微子程序入處,根據(jù)1IR0所算出的結(jié)果三 生成正確的微操作及相應(yīng)的控制信號用水平型微指令生成微操作及用垂直型指令生成微操作本CPU采用水平型微指令生成微操作法微操作及它們的助記符助記符微操作ARPCARPCDRMDRMPCINPCPC+1IRDRIRDR7,6ARDRARDR50NOACACACPC

16、PLUSDRPCPC+ DR50ACORDRACACDRACSUBDRAC AC + DR由于IRDR和ARDR在同一個微操作進行,可以對他們進行合并為AIDR來表示。指令格式選擇域1位微操作域8位下址域4位微程序控制器基本的水平微代碼狀態(tài)地址SELARPCDRMPCINAIDRNOACPCPLUSDRACORDRACSUBDRADDRFETCH100000100000000001FETCH200010011000000010FETCH30010100010000*COM110000000010000000JREL110100000001000000OR111000001000001101OR211010000000100000SUB1111100010000001111SUB12111100000000100001位8位4位控存容量:(1+8+4)*9117位CPU控制信號值控制信號值A(chǔ)RLOADARPCAIDRPCLOADPCP

溫馨提示

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

評論

0/150

提交評論