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

下載本文檔

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

文檔簡(jiǎn)介

1、1 CPU的用途字長(zhǎng):8位D70尋址范圍:64byte,2 的 6 次方=64, A5 02確定ISA (包括程序員可訪問(wèn)的寄存器)1)程序員可訪問(wèn)的寄存器 AC 8位累加器CPU的指令集(共4條)指令操作碼操作COMOOXXXXXXAC AC'取反)JREL01XXXXXXPC PC+00AAAAAAOR10XXXXXXAC A CV M00AAAAAASUB111AAAAAAAC AC M00AAAAAA 12)其他寄存器ARr地址寄存器6位由A50向存貯提供地址PCr程序計(jì)數(shù)器6位指向下一條指令的地址DR數(shù)據(jù)寄存器8位通過(guò)D70從存貯器接收指令和數(shù)據(jù)IR1指令寄存器2位存放從存貯

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

3、D信號(hào)到器的 RD ( RD RAM,相對(duì)于OE ROM)端上使存貯器將數(shù)據(jù)發(fā)送到 D70上,存入 CPU的DR寄存器中。同時(shí)實(shí)現(xiàn) PC PC+1,為取下一條指令作準(zhǔn)備。FETCH2 : DR M , PC PC+1C) 作為取指令的一部分,CPU還必須完成兩件事。 DR的高2位拷貝到IR,目的是確定指令的功能 DR的低6位拷貝到AR,目的:a. 對(duì)于ORT和SUB1指令這6位包含了指令的一個(gè)操作數(shù)的存貯器 地址(一個(gè)數(shù)已經(jīng)在 AC )b. 對(duì)于COM和JREL,它們不需要再次訪問(wèn)存貯器,一旦它們返回到FETCH1周期,F(xiàn)ETCH1將把PC的值裝到AR,覆蓋無(wú)用的值。FETCH3 : IR D

4、R7,6,AR DR5 0取指令周期的狀態(tài)圖2)指令譯碼(每條指令的操作碼都是唯一的)本CPU有四條指令,因此有四個(gè)不同的執(zhí)行同期,為此用IR中的值來(lái)確定即可。3)指令執(zhí)行(每條指令的執(zhí)行周期都是一樣的)每條指令的執(zhí)行周期的狀態(tài)分析:1. COM指令功能是對(duì)AC的內(nèi)容取反,執(zhí)行周期的狀態(tài)是COM1:AC AC'2. JREL指令代碼為01AAAAAA,即轉(zhuǎn)移的相對(duì)地址由 AAAAAA 確定,而 AAAAAA DR50中,所以有JREL1 : PC PC+ DR5 03. OR指令為了執(zhí)行指令,必須完成兩件事情OR1 : DRM ;從存貯器取出一個(gè)操作數(shù)送到數(shù)據(jù)寄存器OR2 : AC A

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

6、 0COM1:AC AC'JREL1 :PC- PC+ DR5 0OR1 :DR M ;OR2 :AC A CV DRSUB11 : DR M ;SUB12 : AC <- AC + DR'2)建立數(shù)據(jù)通路的原理和方法A .存貯器是通過(guò)引腳 D70將數(shù)據(jù)送給CPU。B.存貯器的地址是通過(guò)地址引腳A50從AR中獲得的。于是CPU與存貯器之間要A50(地址)和 D70(數(shù)據(jù))通路,如下圖676882MD7 0AR666DR88AC22IRCLKA5 0PC3)總線類(lèi)型的確定方法 原理:首先把操作數(shù)重新分組,依據(jù)是指導(dǎo)修改同一個(gè)寄存器的操作分配在同一組。AR : AR PC ,

7、 AR DR5 0PC: PC PC+ DR5 0, PCPC+1DR: DRM,IR: IR DR7,6,AC : AC <- AC + DR' , AC ACV DR AC AC'決定每個(gè)部件應(yīng)完成的功能a> AR , DR, IR, AC總是從其他一些部件中裝入數(shù)據(jù)。若數(shù)據(jù)已在總線上,則需要做的是能夠執(zhí)行并裝入操作。(LD端口分別是 ARLOAD , DRLOAD , IRLOAD , ACLOAD 信號(hào)同步裝 入)b> PC能從其他一些部件中裝入數(shù)據(jù),還有相應(yīng)的自增(INC )當(dāng)前值,所以應(yīng)創(chuàng)建一個(gè)單獨(dú)的硬件使之能自增。(端口有PCINC , PCLO

8、AD )6MEMBUSD7 0ALU16A5 0ARARIOADPCPCLOAD PCINCALU26PCBUS6/1 I8DRBUS8DRDRIOADAC864)把每個(gè)部件都連接到系統(tǒng)總線上三態(tài)緩沖區(qū)一一原有的寄存器部是把結(jié)果輸出到系統(tǒng)總線,使CPU內(nèi)部數(shù)據(jù)沖突,所以應(yīng)增加三態(tài)緩沖區(qū)加以控制,但 AR的輸出還應(yīng)與 A50相接,這是尋址所需。5)根據(jù)實(shí)際需要修改上圖的設(shè)計(jì),并加上適當(dāng)控制信號(hào)名稱(chēng)1. AR :僅向存貯器提供地址,沒(méi)有必要將它的輸出連接到內(nèi)部總線上,加上 ARLOAD實(shí)現(xiàn)從BUS裝入數(shù)據(jù)。2. AR - PC :保留三態(tài)緩沖器由 PCBUS控制同步3. IR :不通過(guò)內(nèi)部總線向任

9、何其他部件提供數(shù)據(jù),而IR的輸出將直接送到控 制器用于確定指令的功能4. AC :本CPU不向其他任何單位提供數(shù)據(jù)5. DR70:不統(tǒng)一,有6位也有2位寬度,必須確定哪些寄存器從總線的哪些位上接收和發(fā)送數(shù)據(jù)。應(yīng)有DRBUS實(shí)現(xiàn)同步。DRLOAD實(shí)現(xiàn)LD6. AC :必須能裝載 AC + DR'的和,以及 ACV DR與 AC'的邏輯與結(jié)果。CPU必須包含一個(gè)能產(chǎn)生這些結(jié)果的ALU,并由ACLOAD實(shí)現(xiàn)裝入。7. PC:必須能裝載PC+ DR50的和。CPU必須包含一個(gè)能產(chǎn)生這些結(jié)果的ALU 并由PCLOAD實(shí)現(xiàn)載入,而 PCINC實(shí)現(xiàn)PC-PC+1READ811lALUS1 A

10、LUS2 ACLOADIRCLKIRLOADALU的設(shè)計(jì)1) ALU1 (與PC相連)的設(shè)計(jì)數(shù)據(jù)通路的分析:功 ALU1必須接收PC和DR作為輸入,然后把運(yùn)算結(jié)果輸出到PC實(shí)現(xiàn) PC J PC+ DR5 0在本CPU中,把PC的導(dǎo)線和ALU的輸入輸出相連起來(lái),并且利用系統(tǒng)總線 把DR和ALU的輸入連接起來(lái)。用計(jì)數(shù)器來(lái)實(shí)現(xiàn) PCJPC+1操作,就可以在 FETCH2內(nèi)完成,因?yàn)橛?jì)數(shù)器不必 占用總線的時(shí)間。TO PCFrom bus6D5 02) ALU2 (與AC相連)的設(shè)計(jì)在本ALU的設(shè)計(jì)中AC和ALU的輸入輸出連接,并且利用系統(tǒng)總線把 DR和ALU 和輸入相連起來(lái)。DRFrom bus(AL

11、US1,ALUS2=0,0, 選 AC J AC',ALUS1,ALUS2=0,1,選 ACACV DRALUS1,ALUS2=1,0,選 AC <- AC + DR',)用硬布線的方法設(shè)計(jì)控制器組成:計(jì)數(shù)器:保存當(dāng)前狀態(tài)共有9個(gè)狀態(tài)(四條指令,共有 9個(gè)狀態(tài))所以需要一個(gè)四一一 16位譯碼器,譯碼器中有 7 個(gè)狀態(tài)沒(méi)用到。譯碼器:接收當(dāng)前狀態(tài)并為每個(gè)狀態(tài)生成單獨(dú)的信號(hào)邏輯組合:接受單獨(dú)的狀態(tài)信號(hào),為每一部件生成控制信號(hào)以及計(jì)數(shù)器的控制信號(hào) 原理圖:計(jì)數(shù)器與譯碼器的設(shè)計(jì):1. FETCH1狀態(tài):規(guī)定計(jì)數(shù)器的 0值,使用計(jì)數(shù)器的 CLR = 1到達(dá)這一狀態(tài)。(指令執(zhí)行完 畢

12、后,轉(zhuǎn)入的取址狀態(tài)。)2. 將順序狀態(tài)設(shè)定為計(jì)數(shù)器的連續(xù)值,用INC實(shí)現(xiàn)。3利用IR映射1 IR0來(lái)確定指令的執(zhí)行 如下表IR;計(jì)數(shù)值狀態(tài)001000COM1011010JREL1101100OR1111110SUB1指令的執(zhí)行FETCH1 0FETCH2 1FETCH3 2COM1: 8JREL1 : 10OR1: 12OR2: 13SUB11 : 14SUB12 : 15OR11IR1.00COUNTERFETCH1FETCH3FETCH2SUB11LD INC CLR0一FETCH11FETCH22FETCH2DECODER8COM110JREL112OR113OR214SUB1115一

13、SUB12COM1JREL1OR2SUB12計(jì)數(shù)器控制信號(hào)的確定LD:在取址周期的FETCH3狀態(tài)中發(fā)出,進(jìn)入執(zhí)行周期的第一個(gè)狀態(tài)(裝載令的正確執(zhí)行周期)FETCH3 : IR DR7,6,AR DR50INC : CLR :如上圖所示1IR0進(jìn)入指根據(jù)譯碼器的輸出信號(hào)組合后產(chǎn)生CPU中寄存器的有關(guān)信號(hào)1ARLOAD (裝載地址寄存器的控制信號(hào) )FETCH1 : AR PCFETCH3 : AR DR5 0PCLOAD PCINCPCLOAD =JREL1 :PC PC+ DR5 0PCINC =FETCH2 : PC PC+1DRLOAD (實(shí)現(xiàn) DR M)FETCH2+OR1+SUB11

14、ACLOAD (實(shí)現(xiàn) AC ACAC AC V DR, AC <- AC + DR')ACLOAD = COM1+ OR2+ SUB12IRLOAD = FETCH3ALUS1,ALUS2與AC相連的ALU有兩個(gè)控制信旦 ALUS1,ALUS2=0,0, ALUS1,ALUS2=0,1 ALUS1,ALUS2=1,0ALUS1= SUB12號(hào)選 COM1:選 0R2 :選 SUB12 :AC AC'AC AC V DR ;AC <- AC + DR'ALUS2= OR2緩沖器控制信號(hào)許多操作需從內(nèi)部總線上獲取數(shù)據(jù),CPU必須能控制緩沖器以便在合適的時(shí)間將正確

15、的數(shù)據(jù)放到總線上,為此應(yīng)滿足如下邏輯關(guān)系。MEMBUS= FETCH2+ 0R1+ SUB11PCBUS= FETCH1READ= FETCH2+ 0R1+ SUB11DRBUS= FETCH3+ JREL1+ OR2+ SUB12部分電路圖如下:FETCH1FETCH3JREL1FETCH2FETCH3FETCH2OR1SUB11COM1OR2SUB12OR2SUB12FETCH2OR1SUB11ARLOADPCINCDRLOADALUS2ALUS1MEMBUSPCLOADIRLOADACLOADOR1SUB11FETCH2READFETCH1PCBUSFETCH3JREL1OR2SUB12

16、DRBUS設(shè)計(jì)驗(yàn)證1. 程序段如下所列存貯單元:指令0: COM1: JREL 02 OR 43: SUB 54 20H5: 30H2. CPU遵循狀態(tài)圖并以合適的狀態(tài)順序取出、譯碼和執(zhí)行每條指令:COM: FETCH1 t FETCH2 宀 FETCH3 宀 COM1JREL 4: FETCH1 tFETCH2 t FETCH3 t JREL1OR 5: FETCH1 t FETCH2 t FETCH3 t OR1 t OR2SUB 6: FETCH1 t FETCH2 t FETCH3 t SUB11 t SUB122.對(duì)這段程序的一次循環(huán)的跟蹤情況(所有寄存器的初始值都是0)指令狀態(tài)有效

17、信號(hào)所執(zhí)行的操作下一個(gè)狀 態(tài)COMFETCH1PCBUS,ARLOADAR 0FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDR 00H , PC 1FETCH3FETCH3DRBUS,ARLOAD, IRLOADIR 00 AR 00HCOM1COM1ACLOADAC 00H 'FFHFETCH1指令狀態(tài)有效信號(hào)所執(zhí)行的操作下一個(gè)狀 態(tài)JREL 0FETCH1PCBUS,ARLOADAR 1FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDR 40HPC2FETCH3FETCH3DRBUS,ARLOAD, IRLOADIR 01,AR

18、 00HJREL1JREL1DRBUS,PCLOADPC02H+00H=02HFETCH1OR 4FETCH1PCBUS,ARLOADAR 2FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDR 84H,PC3FETCH3FETCH3DRBUS,ARLOAD, IRLOADIR 10, AR 04HOR1OR1READ, MEMBUS,DRLOADDR 20H;OR2OR2DRBUS,ALUS2ACLOADAC FFH V 20H=FFHFETCH1SUB 5FETCH1PCBUS,ARLOADAR 3FETCH2FETCH2READ,MEMBUS,DRLOAD,PCI

19、NCDR C5H ,PC4FETCH3FETCH3DRBUS,ARLOAD, IRLOADIR 11,AR 05HSUB11SUB11READ,MEMBUS, DRLOADDR 30HSUB12SUB12DRBUS, ALUS1,ACLOADAC FFH + 30H'=2FHFETCH1用微程序控制器設(shè)計(jì)一微程序控制器的基本框圖兩種可能的下址方式(由 MUX實(shí)現(xiàn)選擇)S= 1操作碼映象(經(jīng)指令譯碼進(jìn)入下一條指令的執(zhí)行周期)S= 0絕對(duì)跳轉(zhuǎn)(下一條要執(zhí)行的微指令在控存內(nèi))工作原理分析描述FETCH3,便MAP輸入來(lái)實(shí)1)確定微子程序的第一條指令入口地址。方法是根據(jù)取批中的最后一個(gè)狀態(tài) 可

20、轉(zhuǎn)入到四條指令中任一條執(zhí)行周期的第一條微指令入口,但必須通過(guò) 現(xiàn)2)下址的確定絕對(duì)跳轉(zhuǎn):可直接跳轉(zhuǎn)到 FETCH1狀態(tài) 當(dāng)前地址加1。3)幾個(gè)參數(shù)的設(shè)定控存中地址的倍數(shù)24= 16>9因共有9條微指令,可用四位MU Xt微地址寄存器,微地址寄存器t控存24= 16>9用四位確定UPOS的位數(shù)二生成正確序列并設(shè)計(jì)映象邏輯1.給有限狀態(tài)機(jī)的每一種狀態(tài)分配一個(gè)控存地址 利用IR映射1 IRO來(lái)確定指令的執(zhí)行如下表IR十?dāng)?shù)值狀態(tài)001000COM1011010JREL1101100OR1111110SUB12其余微指令的地址 微程序控制器的狀態(tài)地址FETCH1 0FETCH2 1FETCH

21、3 2COM1: 8JREL1: 100R1: 120R2: 13SUB11 : 14SUB12 : 153. 確定微指令中的選擇域和地址域,即生成正確的微指令執(zhí)行順序1) 一般狀態(tài)轉(zhuǎn)換設(shè)SEL = 0, ADDR為下一條指令要執(zhí)行的控存號(hào),一個(gè)微指執(zhí)行完后,從ADDR中得到下址,轉(zhuǎn)到ADDR指定的微指令2) 特別狀態(tài)FETCH3下址的確定當(dāng)FETCH3執(zhí)行完后,必須到指令執(zhí)行周期的微子程序入處,根據(jù)1IR0所算出的結(jié)果三 生成正確的微操作及相應(yīng)的控制信號(hào)用水平型微指令生成微操作及用垂直型指令生成微操作本CPU采用水平型微指令生成微操作法微操作及它們的助記符助記符微操作ARPCAR PCDRMDR MPCINPC PC+1IRDRIR DR7,6ARDRAR DR5 0NOACAC AC 'PCPLUSDRPC

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論