8位CPU設(shè)計與實現(xiàn)_第1頁
8位CPU設(shè)計與實現(xiàn)_第2頁
8位CPU設(shè)計與實現(xiàn)_第3頁
8位CPU設(shè)計與實現(xiàn)_第4頁
8位CPU設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理論文姓名:某某班級:計科一班學(xué)號:8位CPU的設(shè)計與實現(xiàn)論文 CPU 的主要功能是執(zhí)行指令,控制完成計算機的各項操作,包括運算操作、傳送操作、輸入/輸出操作等。作為模型計算機設(shè)計,將重點放在寄存器組,采取較簡單的組成模式,以盡量簡潔的設(shè)計幫助讀者掌握CPU 的基本原理.此次設(shè)計CPU就是為了了解CPU運行的原理,從而完成從指令系統(tǒng)到CPU的設(shè)計,并且通過仿真對CPU設(shè)計進行正確性評定。關(guān)鍵詞:CPU,設(shè)計指標(biāo),電路原理圖,運算部件,寄存器組,模型機指令系統(tǒng),微命令序列,數(shù)據(jù)通路1。 設(shè)計的任務(wù)與要求1。1設(shè)計指標(biāo) 1. 能實現(xiàn)IN(輸入)、ADD(二進制加法)、STA(存數(shù))、O

2、UT(輸出)、JMP(無條件轉(zhuǎn)移)這五種指令;2。 整個系統(tǒng)能正常穩(wěn)定工作。1。2 設(shè)計要求1. 畫出電路原理圖;2.寫出設(shè)計的全過程,附上有關(guān)資料和圖紙(也可直接寫在相關(guān)章節(jié)中),有心得體會。2。 方案論證與選擇2。1 CPU的系統(tǒng)方案CPU 主要由算術(shù)邏輯單元ALU,數(shù)據(jù)暫存寄存器DR1、DR2,數(shù)據(jù)寄存器R0R2,程序計數(shù)器PC,地址寄存器AR,程序/數(shù)據(jù)存儲器MEMORAY,指令寄存器IR,微控制器uC,輸入單元INPUT 和輸出單元OUTPUT 所組成.圖中虛線框內(nèi)部分包括運算器、控制器、程序存儲器、數(shù)據(jù)存儲器和微程序存儲器等,實測時,它們都可以在單片F(xiàn)PGA 中實現(xiàn)。虛線框外部分主

3、要是輸入/輸出裝置,包括鍵盤、數(shù)碼管、LCD 顯示器等,用于向CPU 輸入數(shù)據(jù),或CPU 向外輸出數(shù)據(jù),以及觀察CPU 內(nèi)部工作情況及運算結(jié)果。1運算部件運算部件的任務(wù)是對操作數(shù)進行加工處理。主要由三部分組成:(1)輸入邏輯。(2)算術(shù)/邏輯運算部件ALU。(3)輸出邏輯2寄存器組計算機工作時,CPU 需要處理大量的控制信息和數(shù)據(jù)信息。例如對指令信息進行譯碼,以便產(chǎn)生相應(yīng)控制命令對操作數(shù)進行算術(shù)或邏輯運算加工,并且根據(jù)運算結(jié)果決定后續(xù)操作等。因此,在CPU 中需要設(shè)置若干寄存器,暫時存放這些信息。在模型CPU中,寄存器組由R0、R1、R2 所組成.3指令寄存器指令寄存器(IR)指令寄存器指令寄

4、存器(IR)用來存放當(dāng)前正在執(zhí)行的指令,它的輸出包括操作碼信息、地址信息等,是產(chǎn)生微命令的主要邏輯依據(jù)。4程序計數(shù)器程序計數(shù)器(PC)程序計數(shù)器程序計數(shù)器也稱指令指針,用來指示指令在存儲器中的存放位置。當(dāng)程序順序執(zhí)行時,每次從主存取出一條指令,PC 內(nèi)容就增量計數(shù),指向下一條指令的地址。增量值取決于現(xiàn)行指令所占的存儲單元數(shù)。如果現(xiàn)行指令只占一個存儲單元,則PC 內(nèi)容加1;若現(xiàn)行指令占了兩個存儲單元,那么PC 內(nèi)容就要加2。當(dāng)程序需要轉(zhuǎn)移時,將轉(zhuǎn)移地址送入PC,使PC 指向新的指令地址。因此,當(dāng)現(xiàn)行指令執(zhí)行完,PC 中存放的總是后續(xù)指令的地址;將該地址送往主存的地址寄存器AR,便可從存儲器讀取下

5、一條指令。5地址寄存器CPU 訪問存儲器,首先要找到需要訪問的存儲單元,因此設(shè)置地址寄存器(AR)來存放被訪單元的地址。當(dāng)需要讀取指令時,CPU 先將PC 的內(nèi)容送入AR,再由AR將指令地址送往存儲器。當(dāng)需要讀取或存放數(shù)據(jù)時,也要先將該數(shù)據(jù)的有效地址送入AR,再對存儲器進行讀寫操作。6標(biāo)志寄存器標(biāo)志寄存器F是用來記錄現(xiàn)行程序的運行狀態(tài)和指示程序的工作方式的,標(biāo)志位則用來反映當(dāng)前程序的執(zhí)行狀態(tài)。一條指令執(zhí)行后,CPU 根據(jù)執(zhí)行結(jié)果設(shè)置相應(yīng)特征位,作為決定程序流向的判斷依據(jù).例如,當(dāng)特征位的狀態(tài)與轉(zhuǎn)移條件符合時,程序就進行轉(zhuǎn)移;如果不符合,則順序執(zhí)行.在后面將要介紹的較復(fù)雜模型計算機設(shè)計中設(shè)置了兩

6、個標(biāo)志位:進位Fc、零位Fz。7。微指令產(chǎn)生部件實現(xiàn)信息傳送要靠微命令的控制,因此在CPU 中設(shè)置微命令產(chǎn)生部件,根據(jù)控制信息產(chǎn)生微命令序列,對指令功能所要求的數(shù)據(jù)傳送進行控制,同時在數(shù)據(jù)傳送至運算部件時控制完成運算處理。微命令產(chǎn)生部件可由若干組合邏輯電路組成,也可以由專門的存儲邏輯組成。產(chǎn)生微命令的方式可分為組合邏輯控制方式和微程序控制方式兩種。在本章所介紹的8 位模型CPU 設(shè)計中,采用微程序控制方式通過微程序控制器和微指令存儲器產(chǎn)生微命令,因此此CPU 屬于復(fù)雜指令CISC CPU。8.時序系統(tǒng)計算機的工作常常是分步執(zhí)行的,那么就需要有一種時間信號作為分步執(zhí)行的標(biāo)志,如周期、節(jié)拍等.節(jié)拍

7、是執(zhí)行一個單步操作所需的時間,一個周期可能包含幾個節(jié)拍。這樣,一條指令在執(zhí)行過程中,根據(jù)不同的周期、節(jié)拍信號,就能在不同的時間發(fā)出不同的微命令完成不同的微操作。周期、節(jié)拍、脈沖等信號稱為時序信號,產(chǎn)生時序信號的部件稱為時序發(fā)生器或時序系統(tǒng),它由一組觸發(fā)器組成。由石英晶體振蕩器輸出頻率穩(wěn)定的脈沖信號,也稱時鐘脈沖,為CPU 提供時鐘基準(zhǔn)。時鐘脈沖經(jīng)過一系列計數(shù)分頻,產(chǎn)生所需的節(jié)拍(時鐘周期)信號。時鐘脈沖與周期、節(jié)拍信號和有關(guān)控制條件相結(jié)合,可以產(chǎn)生所需的各種工作脈沖。2。2 模型機指令系統(tǒng)一條指令必須包含下列信息:操作碼、操作數(shù)的地址、操作結(jié)果的存儲地址、下一條指令的地址.指令的基本格式op-

8、code 為操作碼,rs為源寄存器,rd 為目的寄存器寄存器操作數(shù)模型機指令系統(tǒng),及其指令編碼形式設(shè)模型機指令系統(tǒng)中包含有五條基本指令,分為算術(shù)運算指令、存取指令和控制轉(zhuǎn)移指令等三種類型.五條機器指令分別是:IN(輸入)、ADD(二進制加法)、STA(存數(shù))、OUT(輸出)、JMP(無條件轉(zhuǎn)移).IN 為單字長(8 位二進制),其余為雙字長指令,XX H 為addr對應(yīng)的十六進制地址碼。2。3 擬定指令流程和微命令序列(計算機設(shè)計中最關(guān)鍵步驟)1微程序控制概念(1)微命令和微操作一條機器指令可以分解成一個微操作序列,這些微操作是計算機中最基本的,不可再分解的操作。在微程序控制的計算機中,將控制

9、部件向執(zhí)行部件發(fā)出的各種控制命令叫做微命令,它是構(gòu)成控制序列的最小單位。因此,微命令是控制計算機各部件完成某個基本微操作的命令。微命令和微操作是一一對應(yīng)的.微命令是微操作的控制信號,微操作是微命令的操作過程。微命令有兼容性和互斥性之分.兼容性微命令是指那些可以同時產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機器中不允許同時出現(xiàn)的微命令.兼容和互斥都是相對的,一個微命令可以和一些微命令兼容,和另一些微命令互斥。對于單獨一個微命令,就無所謂兼容性或互斥性了.(2)微指令、微地址微指令是指控制存儲器中的一個單元的內(nèi)容,即控制字,是若干個微命令的集合,存放控制字的控制存儲器的單元地址就稱為

10、微地址.一條微指令通常至少包含兩大部分信息:微操作碼字段,又稱操作控制字段,該字段指出微指令執(zhí)行的微操作;微地址碼字段,又稱順序控制字段,指出下一條要執(zhí)行的微指令的地址。(3)微周期所謂微周期是指從控存中讀取出一條微指令并執(zhí)行規(guī)定的相應(yīng)操作所需的時間。(4)微程序一系列微指令的有序集合就是微程序。若干條有序的微指令構(gòu)成了微程序。微程序可以控制實現(xiàn)一條機器指令的功能?;蛘哒f一條機器指令可以分解為特定的微指令序列。一旦機器的指令系統(tǒng)確定以后,每條指令所對應(yīng)的微程序被設(shè)計好并且存入控存后,控存總是處于只讀的工作狀態(tài),所以控存一般采用只讀存儲器(ROM)存放。重新設(shè)計控存內(nèi)容就能增加、刪除、修改機器指

11、令系統(tǒng).在FPGA 中通常采用嵌入式陣列塊構(gòu)成的LPM_ROM 作為控存,存放微指令。2.微指令格式(1)水平型微指令一次能定義并執(zhí)行多個并行操作微命令的微指令.按照操作控制字段的編碼方法不同,水平型微命令又分為三種:第一種是全水平型(不譯碼法)微指令,第二種是字段譯碼法水平型微指令,第三種是直接和字段譯碼相混合的水平型微指令。(2)垂直型微指令垂直型微指令中設(shè)置操作碼字段,由微操作碼規(guī)定微指令的功能。垂直型微指令的結(jié)構(gòu)類似于機器指令的結(jié)構(gòu)。在一條微指令中只存一二個微命令,每條微指令的功能比較簡單。因此,實現(xiàn)一條機器指令的微程序要比水平型微指令編寫的微程序長得多,它是采用較長的微程序結(jié)構(gòu)去換取

12、較短的微指令結(jié)構(gòu).3。模型機的微指令uA5uA0:微程序控制器的微地址輸出信號,是下一條要執(zhí)行的微指令的微地址。S3、S2、Sl、S0:由微程序控制器輸出的ALU 操作選擇信號,以控制執(zhí)行16 種算術(shù)操作或16 種邏輯操作中的某一種操作。M:微程序控制輸出的ALU 操作方式選擇信號。M0 執(zhí)行算術(shù)操作;Ml執(zhí)行邏輯操作。.Cn:微程序控制器輸出的進位標(biāo)志信號,Cn0 表示ALU 運算時最低位有進位;Cn1 則表示無進位。WE:微程序控制器輸出的RAM 控制信號.當(dāng)CE0 時,如WE0,為存儲器讀;如WE1,為存儲器寫。A9、A8:譯碼后產(chǎn)生CS0、CS1、CS2 信號,分別作為SW_B、RAM

13、、LED 的選通控制信號。A 字段(15、14、13):譯碼后產(chǎn)生與總線相連接的各單元的輸入選通信號。B 字段(12、11、10):譯碼后產(chǎn)生與總線相連接的各單元的輸出選通信號。C 字段(9、8、7):譯碼后產(chǎn)生分支判斷測試信號P(1)P(4)和LDPC 信號。4。微指令的執(zhí)行方式執(zhí)行一條微指令的過程類似于機器指令的執(zhí)行過程.首先,將微指令從控存CM 中取出,稱為取微指令。對于垂直型微指令還應(yīng)包括微操作碼的譯碼時間。然后,執(zhí)行微指令所規(guī)定的各個微操作。根據(jù)微指令的執(zhí)行方式可分為串行執(zhí)行和并行執(zhí)行兩種。5。時序安排由于CPU 的工作是分步進行的,而且需要嚴(yán)格定時控制,因此設(shè)置時序信號,以便在不同

14、的時間發(fā)出不同的微命令,控制完成不同的操作。組合邏輯控制方式和微程序控制方式在時序安排上有區(qū)別,前者多采用三級時序劃分,而后者往往采用兩級時序.6.擬定指令流程和微命令序列這是設(shè)計中最關(guān)鍵的步驟,這是由于需要根據(jù)這一步的設(shè)計結(jié)果形成最后的控制邏輯。擬定指令流程是將指令執(zhí)行過程中的每步傳送操作(寄存器之間的信息傳送),用流程圖的形式描述出來,擬定微命令序列是用操作時間表列出每步操作所需的微命令及其產(chǎn)生條件。7形成控制邏輯設(shè)計的最后一步。采用組合邏輯控制方式或采用程序控制方式,有各自不同的設(shè)計方法。在組合邏輯控制方式中,將產(chǎn)生微命令的條件進行綜合、化簡,形成邏輯式,從而構(gòu)成控制器的核心邏輯電路。在

15、微程序控制方式中,則是根據(jù)微命令來編寫微指令,組成微程序,從而構(gòu)成以控制存儲器為核心的控制邏輯。2.4 微程序設(shè)計1IN指令為了執(zhí)行輸入指令,CPU 要做兩件事情。首先,由INPUT 輸入裝置的數(shù)據(jù)開關(guān)SW輸入數(shù)據(jù)送到數(shù)據(jù)總線上;其次,通過數(shù)據(jù)總線將輸入的數(shù)據(jù)寫入寄存器R0 中。2ADD指令 R0R0+(MEM) 存儲單元的地址是存放在緊跟在操作碼后的字節(jié)中的,因此,首先要以該字節(jié)的內(nèi)容為地址,即將該單元內(nèi)容送地址寄存器AR;然后,從AR 所指向的RAM 存儲單元取出操作數(shù)送給DR2.由于在取指令操作碼時,PC 已經(jīng)自動加1,指向下一字節(jié),該地址就是存放操作數(shù)的存儲單元的地址.3STA指令向存

16、儲器RAM 寫數(shù)據(jù)操作STA,以緊跟在操作碼后的字節(jié)作為存放操作數(shù)地址,將R0 中的數(shù)據(jù)存入該地址單元。首先將緊跟在操作碼后的字節(jié)的內(nèi)容送給地址寄存器AR。4. OUT指令A(yù)RPC,PCPC+1;以PC的內(nèi)容作為存數(shù)據(jù)的地址BUSRAM,ARBUS;AR指向存放操作數(shù)的RAM單元BUSRAM,DR1BUSOUTDR15JMP指令A(yù)RPC,PCPC+1 ;以PC的內(nèi)容作為取數(shù)據(jù)的地址BUSRAM,PCBUS ;將RAM內(nèi)容送PC,實現(xiàn)程序轉(zhuǎn)移3。 CPU設(shè)計及微代碼3.1 原理圖模版3。2取指令和指令1。取指令階段取指令階段完成的任務(wù)是將現(xiàn)行指令從主存中取出來并送至指令寄存器中.具體的操作如下:

17、(1)將程序計數(shù)器(PC)中的內(nèi)容送至存儲器地址寄存器(AR),并送往地址總線(AB)。(2)PC 的內(nèi)容遞增,為取下一條指令做好準(zhǔn)備。(3)由控制單元(CU)經(jīng)控制總線(CB)向存儲器發(fā)讀命令。(4)從主存中取出的指令通過數(shù)據(jù)總線(DB)送到指令寄存器(IR)中.以上這些操作對任何一條指令來說都是必須要執(zhí)行的操作,所以稱為公共操作。完成取指階段任務(wù)的時間稱為取指周期。取出指令后,指令譯碼器ID 可識別和區(qū)分出不同的指令類型。此時計算機進入分析取數(shù)階段,以獲取操作數(shù)。由于各條指令功能不同,尋址方式也不同,所以分析取數(shù)階段的操作是各不相同的。(5)指令寄存器(IR)中的內(nèi)容送指令譯碼器(ID)進

18、行指令譯碼。(6)指令譯碼器(ID)的內(nèi)容送操作控制器。(7)操作控制器產(chǎn)生執(zhí)行指令的微控制。2. 分析取數(shù)階段對于無操作數(shù)指令,只要識別出是哪條具體的指令,即可以直接轉(zhuǎn)至執(zhí)行階段,所以不需進入分析取數(shù)階段.而對于帶操作數(shù)指令,為讀取操作數(shù)首先要計算出操作數(shù)的有效地址。如果操作數(shù)在通用寄存器內(nèi),則不需要再訪問主存;如果操作數(shù)在主存中,則要到主存中去取數(shù)。對于不同的尋址方式,有效地址的計算方法是不同的,有時要多次訪問主存才能取出操作數(shù)(間接尋址)。對于無操作數(shù)指令,只要識別出是哪條具體的指令,即可以直接轉(zhuǎn)至執(zhí)行階段,所以不需進入分析取數(shù)階段。而對于帶操作數(shù)指令,為讀取操作數(shù)首先要計算出操作數(shù)的有

19、效地址。如果操作數(shù)在通用寄存器內(nèi),則不需要再訪問主存;如果操作數(shù)在主存中,則要到主存中去取數(shù)。對于不同的尋址方式,有效地址的計算方法是不同的,有時要多次訪問主存才能取出操作數(shù)(間接尋址)。另外對于單操作數(shù)指令和雙操作數(shù)指令,由于需要的操作數(shù)的個數(shù)不同,分析取數(shù)階段的操作也不同.3。 執(zhí)行階段執(zhí)行指令階段完成指令規(guī)定的各種操作.執(zhí)行階段完成任務(wù)的時間稱為執(zhí)行周期。計算機的基本操作過程就是取指令、取操作數(shù)、執(zhí)行指令,然后再取下一條指令如此周而復(fù)始,直至遇到停機指令或外來的干預(yù)為止。3。3設(shè)計微代碼表 微程序流程圖是根據(jù)每條指令的微操作流程所繪制的,操作框內(nèi)給出的是該微操作要執(zhí)行的動作。當(dāng)擬定“取指

20、”微指令時,該微指令的判別測試字段為P(1)測試,根據(jù)P(1)的測試結(jié)果將出現(xiàn)多路分支.由于操作碼的位數(shù)已確定為4 位,所以可直接將操作碼與微地址碼的部分對應(yīng)。本模型機用指令寄存器(IR7IR0)的高4 位(IR7IR4)與微地址碼的后4 位對應(yīng)。 模型機的微地址碼共有六位,微地址碼的高三位已固定為001,低三位從000111 共有八種狀態(tài),現(xiàn)設(shè)計了五條指令,需要五個分支入口,因此,將低三位中的000B100B 這五個地址分配給這五條指令,就得到五個分支入口微地址.這五個分支入口(以八進制表示)分別是10、11、12、13 和14,占用五個固定的微地址單元.其余的微操作單元的微地址設(shè)置,可以將還未使用的微地址按照從小到大的順序依次分配給這些微操作單元,微地址的分配情況見圖54。微地址標(biāo)注在每個微操作框的左上角,右上角標(biāo)注的是微指令碼。3。4 建立數(shù)據(jù)通路ALU 為運算器;DR0 和DR1 為其輸入端的兩個暫存寄存器;R0 是數(shù)據(jù)寄存器,用來保存數(shù)據(jù)和運算結(jié)果;PC 為程序計數(shù)器;IR 和ID 分別為指令寄存器和指令譯碼器;AR 和MOMERY 分別為存儲地址寄存器和存儲數(shù)據(jù)寄存器;INPUT 為輸入裝

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論