




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章CPU組織與結(jié)構(gòu)本章結(jié)構(gòu)17.1CPU的功能和組成37.3時(shí)序產(chǎn)生器和控制方式57.5微程序控制器77.7典型CPU及主要技術(shù)27.2指令周期47.4控制部件的硬布線實(shí)現(xiàn)67.6微程序設(shè)計(jì)技術(shù)7.1CPU的功能和組成CPU-CentralProcessUnit,中央處理器,是計(jì)算機(jī)中最核心的部件。 本節(jié)主要講述CPU的主要功能和基本組成結(jié)構(gòu)。1、CPU的功能計(jì)算機(jī)是通過(guò)完成人們編制的程序來(lái)實(shí)現(xiàn)相應(yīng)的功能的程序是由指令和數(shù)據(jù)構(gòu)成的并且事先存放在存儲(chǔ)器中指令又可分解為若干操作步總的講,CPU需完成從取指令到執(zhí)行指令的全過(guò)程的控制。具體講,包括以下幾個(gè)方面:指令控制操作控制時(shí)間控制數(shù)據(jù)處理2、CPU的基本組成在早期的計(jì)算機(jī)當(dāng)中,CPU被分成運(yùn)算器和控制器兩個(gè)部分
。隨著超大規(guī)模集成電路技術(shù)的發(fā)展,許多早期放在CPU外部的邏輯功能部件(如:Cache,浮點(diǎn)運(yùn)算器等)被集成到CPU內(nèi)部,使得CPU的內(nèi)部結(jié)構(gòu)越來(lái)越復(fù)雜。通常,我們認(rèn)為目前的CPU由運(yùn)算器、控制器和Cache三大部分組成。運(yùn)算器由算術(shù)邏輯單元(ALU)、累加寄存器、數(shù)據(jù)寄存器和狀態(tài)條件寄存器等組成,通常還包括一個(gè)寄存器組。相對(duì)控制器而言,運(yùn)算器是執(zhí)行部件,它接受控制器的命令進(jìn)行數(shù)據(jù)加工處理等工作。運(yùn)算器有兩個(gè)主要功能:執(zhí)行所有的算術(shù)運(yùn)算;執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試,如零值測(cè)試或兩個(gè)值的比較??刂破饔沙绦蛴?jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器等組成,它完成協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作。主要功能有:從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置;對(duì)指令進(jìn)行譯碼或測(cè)試,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便啟動(dòng)規(guī)定的動(dòng)作;指揮并控制CPU、內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流動(dòng)的方向??刂破骱诵牟考?
操作控制時(shí)序產(chǎn)生器功能:根據(jù)指令譯碼的結(jié)果和程序及機(jī)器當(dāng)前的狀態(tài),按照一定的時(shí)序要求產(chǎn)生指令執(zhí)行過(guò)程中所需的所有操作控制信號(hào)。Cache為了進(jìn)一步提高CPU的運(yùn)行效率,目前的CPU內(nèi)部通常會(huì)內(nèi)置高速緩沖存儲(chǔ)器。內(nèi)置Cache的容量和結(jié)構(gòu)對(duì)CPU的性能影響較大,一般容量越大越好。在許多高性能處理器內(nèi)部,一級(jí)緩存通常設(shè)置為兩個(gè),一個(gè)指令Cache,一個(gè)數(shù)據(jù)Cache,以減少取指令和讀操作數(shù)的訪問(wèn)沖突,這種結(jié)構(gòu)也叫哈佛結(jié)構(gòu)。
兩種設(shè)計(jì)方法:硬布線設(shè)計(jì)法(又稱組合邏輯設(shè)計(jì)法),采用組合邏輯思想設(shè)計(jì);微程序設(shè)計(jì)法,采用存儲(chǔ)邏輯思想設(shè)計(jì)。7.2指令周期本節(jié)首先介紹幾個(gè)時(shí)間概念,然后通過(guò)幾條典型指令的流程講述計(jì)算機(jī)指令的執(zhí)行過(guò)程。1、幾個(gè)時(shí)間概念指令周期-CPU從內(nèi)存取出一條指令并執(zhí)行這條指令的時(shí)間總和。CPU周期-又稱總線周期、機(jī)器周期,是指CPU進(jìn)行一次總線操作所需要的時(shí)間。包括CPU訪存、訪I/O和中斷響應(yīng)等。時(shí)鐘周期-又稱為T(mén)周期,是指CPU工作時(shí)鐘的一個(gè)周期時(shí)間。幾個(gè)時(shí)間之間的關(guān)系一個(gè)指令周期由若干個(gè)總線周期組成;一個(gè)總線周期由若干個(gè)T周期組成。2、典型指令的指令周期下面通過(guò)幾條常用的典型指令的指令周期構(gòu)成進(jìn)一步講述指令周期的概念和指令的執(zhí)行過(guò)程。典型指令組成的一個(gè)簡(jiǎn)單程序十六進(jìn)制數(shù)地址十六進(jìn)制數(shù)代碼助記符指令功能說(shuō)明00103E00LDA00HAC←00H001118E0ADD[E0H]AC←(AC)+(00E0H)001210F0STR[F0H]00F0H←(AC)00136011JMP11HPC←0011H…………00E00005數(shù)據(jù)00E10020……00F0存放和數(shù)LDA指令的指令周期LDA00H是一條數(shù)據(jù)傳送指令,將0傳送給AC內(nèi)容清。它需要兩個(gè)CPU周期,其中取指令階段需要一個(gè)CPU周期,執(zhí)行指令階段需要一個(gè)CPU周期。 如圖示:取指令周期
(1)程序計(jì)數(shù)器PC的內(nèi)容0010H被裝入地址寄存器AR; (2)程序計(jì)數(shù)器內(nèi)容加1,變成0011H,為取下一條指令做好準(zhǔn)備
; (3)地址寄存器的內(nèi)容被放到地址總線上; (4)所選存儲(chǔ)器單元0010H的內(nèi)容經(jīng)過(guò)數(shù)據(jù)總線,傳送到數(shù)據(jù)緩沖寄存器DR
; (5)數(shù)據(jù)緩沖寄存器的內(nèi)容傳送到指令寄存器IR; (6)指令寄存器中的操作碼被譯碼或測(cè)試; (7)CPU識(shí)別出是指令LDA,至此,取指令階段即告結(jié)束。圖7-7LDA
00H的取指周期操作執(zhí)行指令周期
(1)經(jīng)譯碼后知道LDA00H指令采用立即尋址方式,操作數(shù)跟在操作碼之后,已經(jīng)存放在指令寄存器IR中,操作控制器送出控制信號(hào),在IR與數(shù)據(jù)緩沖寄存器DR之間建立數(shù)據(jù)通路,把立即數(shù)打入DR;(2)操作控制器再送出控制信號(hào)在DR與ALU之間建立數(shù)據(jù)通路,把立即數(shù)送到ALU的輸入端;(3)ALU響應(yīng)傳送操作控制信號(hào),將輸入ALU的數(shù)據(jù)送到累加寄存器AC,從而執(zhí)行了LDA00H指令。①圖7-8LDA指令執(zhí)行階段ADD指令的指令周期ADD是一條加法指令,將AC的內(nèi)容與一個(gè)存儲(chǔ)器操作數(shù)相加,結(jié)果送AC。它需要三個(gè)CPU周期:取指令周期、取操作數(shù)周期和執(zhí)行加法周期。 如圖示:取指令PC+1指令譯碼開(kāi)始送操作數(shù)地址取操作數(shù)執(zhí)行加法一個(gè)CPU周期一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行階段取指令周期 同LDA指令取操作數(shù)周期 (1)IR中的操作數(shù)地址00E0H送地址寄存器AR; (2)AR中的內(nèi)容00E0H送地址總線,讀存; (3)00E0H單元的內(nèi)容0005經(jīng)數(shù)據(jù)總線讀取到數(shù)據(jù)緩沖寄存器DR中。
圖7-10ADD指令的取操作數(shù)階段
執(zhí)行加法周期 (1)DR和AC中的內(nèi)容分別送運(yùn)算器的兩個(gè)輸入端; (2)ALU執(zhí)行加法運(yùn)算,結(jié)果0005送AC。圖7-11ADD指令的加法操作階段STR指令的指令周期STR指令是將AC的內(nèi)容存入存儲(chǔ)器單元(F0H)中。STR指令需兩個(gè)CPU周期:取指令周期和存數(shù)周期。 如圖示:
取指令PC+1指令譯碼開(kāi)始送操作數(shù)地址存操作數(shù)一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行階段取指令周期 同LDA指令執(zhí)行存操作數(shù)周期 (1)AC中的內(nèi)容0005送數(shù)據(jù)寄存器DR;
(2)IR中的存儲(chǔ)單元地址00F0H送地址寄存器AR (3)AR中的內(nèi)容00F0H送地址總線,DR中的內(nèi)容送數(shù)據(jù)總線; (4)執(zhí)行寫(xiě)操作,則將AC中的內(nèi)容0005寫(xiě)入內(nèi)存單元00F0H中。圖7-13STR[F0H]指令的執(zhí)行階段
JMP指令的指令周期JMP是一條跳轉(zhuǎn)指令。它由兩個(gè)CPU周期組成:取指令周期和執(zhí)行跳轉(zhuǎn)周期。如圖示:取指令PC+1指令譯碼開(kāi)始送轉(zhuǎn)移數(shù)地址一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行階段取指令周期 同LDA指令執(zhí)行轉(zhuǎn)移周期
CPU把指令寄存器IR中地址碼部分0011H送到程序計(jì)數(shù)器,從而用新內(nèi)容0011H代替PC原先的內(nèi)容0014H。這樣,下一條指令將不從0014H單元讀出,而是從內(nèi)存0011H單元開(kāi)始讀出并執(zhí)行,從而改變了程序原先的執(zhí)行順序。JMP指令執(zhí)行階段的操作如圖7-15所示。圖7-15JMP11H的執(zhí)行階段3、用方框圖語(yǔ)言描述指令周期在進(jìn)行CPU的操作控制和時(shí)序產(chǎn)生器的設(shè)計(jì)時(shí),常采用一種方框圖語(yǔ)言對(duì)全部指令的指令周期進(jìn)行描述,以此按時(shí)序關(guān)系產(chǎn)生每條指令的操作控制信號(hào)。將以上5條指令用方框圖語(yǔ)言描述如下:x舉例 【例1】如圖為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR、PC、AR、DR分別為指令寄存器、程序計(jì)數(shù)器、地址寄存器和數(shù)據(jù)緩沖寄存器,M為主存,G控制一個(gè)門(mén)電路的打開(kāi)。另外,線上標(biāo)注的小圈表示有控制信號(hào)。 (1)“ADDR2,R0”指令完成(R0)+(R2)→R0的操作,畫(huà)出其指令周期流程圖,并列出相應(yīng)的微操作控制信號(hào)。 (2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,畫(huà)出其指令周期流程圖,并列出相應(yīng)的微操作控制信號(hào)。IRPCARDRR0R1R2R3MXYALUIRiIRoPCiARiR/WDRiR0iR3iPC0DR0R00R30XiYi+-GA總線B總線(1)“ADDR2,R0”P(pán)C→ARM→DRDR→IRR2→YR0→XR0+R2→R0PC0,G,ARiR/W=RDR0,G,IRiR20,G,YiR0O,G,Xi+,G,R0i(2)“SUBR1,R3”P(pán)C→ARM→DRDR→IRR3→YR1→XR3-R1→R3PC0,G,ARiR/W=RDR0,G,IRiR30,G,YiR1O,G,Xi-,G,R3i7.3時(shí)序產(chǎn)生器和控制方式
由于執(zhí)行指令的各步操作是有先后次序的,并且許多控制信號(hào)的長(zhǎng)短也有嚴(yán)格的時(shí)間限制,這就需要引入時(shí)序信號(hào)對(duì)它們進(jìn)行定時(shí)控制。時(shí)序系統(tǒng)是控制器的心臟,其功能是為指令的執(zhí)行提供各種定時(shí)信號(hào)。
一、時(shí)序系統(tǒng)
一個(gè)機(jī)器周期內(nèi)要完成若干微操作,其中有的可并行執(zhí)行,有的要求順序操作。因此,需要把一個(gè)機(jī)器周期分為若干個(gè)相等的時(shí)間段,每一時(shí)間段對(duì)應(yīng)一個(gè)節(jié)拍信號(hào),稱為節(jié)拍脈沖信號(hào)。節(jié)拍的寬度取決于CPU完成一次基本操作的時(shí)間,如ALU完成一次正確的運(yùn)算,寄存器間的一次傳送等。定長(zhǎng)機(jī)器周期以最復(fù)雜的機(jī)器周期為準(zhǔn)來(lái)定出節(jié)拍數(shù),每一節(jié)拍時(shí)間的長(zhǎng)短也以最繁的微操作為準(zhǔn)。不定長(zhǎng)機(jī)器周期按照實(shí)際的需要安排節(jié)拍數(shù),需要多少個(gè)節(jié)拍就提供多少個(gè)節(jié)拍,這種方式的時(shí)間利用率高。
1.節(jié)拍2.工作脈沖通常,在一個(gè)節(jié)拍內(nèi)還設(shè)置一個(gè)或幾個(gè)具有一定寬度的工作脈沖。一般小型機(jī)中常采用如圖7-18所示的周期-節(jié)拍-工作脈沖三級(jí)時(shí)序系統(tǒng)。圖7-18
周期-節(jié)拍-工作脈沖三級(jí)時(shí)序系統(tǒng)3.節(jié)拍脈沖和工作脈沖的時(shí)間配合節(jié)拍脈沖信號(hào)在數(shù)據(jù)通路傳輸中起開(kāi)、關(guān)門(mén)的控制作用,是信息的載體。而工作脈沖則作為打入脈沖,起定時(shí)觸發(fā)作用
二、時(shí)序信號(hào)產(chǎn)生器
時(shí)序信號(hào)產(chǎn)生器就是用來(lái)產(chǎn)生時(shí)序信號(hào),它是由邏輯電路組成的。圖7-20時(shí)鐘信號(hào)產(chǎn)生器結(jié)構(gòu)圖圖7-21一種典型的時(shí)序信號(hào)產(chǎn)生器三、控制器的控制方式
形成微操作序列的時(shí)序方式稱為控制方式??刂品绞讲粌H直接決定著微操作控制信號(hào)的產(chǎn)生,也影響到控制器及其他部件的組成以及指令的執(zhí)行速度等。常用的控制方式有同步控制方式、異步控制方式和聯(lián)合控制方式等
。1、同步控制方式同步控制方式是指系統(tǒng)有一個(gè)統(tǒng)一的時(shí)鐘,所有的控制信號(hào)均來(lái)自這個(gè)統(tǒng)一的時(shí)鐘信號(hào)。根據(jù)指令周期、機(jī)器周期和節(jié)拍的長(zhǎng)度固定與否,同步控制方式又可分為以下幾種:(1)定長(zhǎng)指令周期:即所有指令的執(zhí)行時(shí)間都相等。控制簡(jiǎn)單,浪費(fèi)時(shí)間。(2)定長(zhǎng)機(jī)器周期:這種方式中各個(gè)機(jī)器周期都相等,一般都等于主存的存取周期。而指令周期不固定,等于機(jī)器周期的整數(shù)倍。(3)變長(zhǎng)機(jī)器周期、定長(zhǎng)節(jié)拍:效率較高,但時(shí)序系統(tǒng)的控制比較復(fù)雜。CPU內(nèi)部操作均采用同步控制,其原因是同一芯片的材料相同、工作速度相同,片內(nèi)傳輸線短,又有共同的脈沖源,所以采用同步控制方式。2、異步控制方式異步控制方式即可變時(shí)序控制方式,各項(xiàng)操作不采用統(tǒng)一的時(shí)序信號(hào)控制,而根據(jù)指令或部件的具體情況決定,需要多少時(shí)間,就占用多少時(shí)間。異步控制方式采用不同時(shí)序,沒(méi)有時(shí)間上的浪費(fèi),因而提高了機(jī)器的效率,但是控制比較復(fù)雜。采用“應(yīng)答通信”實(shí)現(xiàn)的控制方式
3、聯(lián)合控制方式聯(lián)合控制方式是同步控制和異步控制相結(jié)合的方式?,F(xiàn)代計(jì)算機(jī)中幾乎沒(méi)有完全采用同步或異步的控制方式,多數(shù)是采用聯(lián)合控制方式。通常的設(shè)計(jì)思想是在功能部件內(nèi)部采用同步方式或以同步方式為主的控制方式,在功能部件之間采用異步方式。7.4控制部件的硬布線實(shí)現(xiàn)硬布線控制器又稱為組合邏輯控制器,是早期計(jì)算機(jī)控制器的一種主要設(shè)計(jì)方法,且隨著近些年RISC機(jī)的出現(xiàn),再次被采用。1、基本思想右圖是控制器的基本組成結(jié)構(gòu)圖。除指令寄存器、指令譯碼器、程序計(jì)數(shù)器等外,其核心部件是操作控制信號(hào)產(chǎn)生器。組合邏輯設(shè)計(jì)法是將操作控制信號(hào)產(chǎn)生器用組合邏輯網(wǎng)絡(luò)設(shè)計(jì)實(shí)現(xiàn),它根據(jù)指令譯碼的結(jié)果,在一定的時(shí)序控制下由組合邏輯電路產(chǎn)生所有指令執(zhí)行時(shí)所需的全部控制信號(hào)。組合邏輯網(wǎng)絡(luò)指令譯碼器OP節(jié)拍/脈沖發(fā)生器A指令寄存器…………操作控制信號(hào)C機(jī)器狀態(tài)程序狀態(tài)BM/TIC=f(I,M,T,B)M—節(jié)拍電位,寬度為一個(gè)CPU周期時(shí)間T—節(jié)拍脈沖,寬度為一個(gè)時(shí)鐘周期時(shí)間CPM1M2M3(1)畫(huà)出指令流程2、設(shè)計(jì)方法(2)進(jìn)行邏輯綜合根據(jù)上述指令流程圖,即可寫(xiě)出各操作控制信號(hào)的邏輯表達(dá)方式式。例:AR←PC=M1·T1;PC+1=M1·T1;ABUS←AR=M1·T2+M2(ADD·T2+STR·T3)(3)邏輯設(shè)計(jì)根據(jù)各信號(hào)的邏輯表達(dá)式即可設(shè)計(jì)出各信號(hào)的邏輯電路,將它們?nèi)烤C合在一起,即構(gòu)成了一個(gè)龐大的組合邏輯網(wǎng)絡(luò)。圖7-27產(chǎn)生微操作控制信號(hào)ABUS←AR組合邏輯電路7.5微程序控制器微程序控制器的基本思想:把每條指令執(zhí)行過(guò)程中應(yīng)產(chǎn)生的操作控制信號(hào)編成二進(jìn)制微碼,事先存放在一個(gè)只讀存儲(chǔ)器中,一條機(jī)器指令對(duì)應(yīng)一段這種微碼。執(zhí)行指令時(shí),則將該指令對(duì)應(yīng)的這段微碼取出,由相應(yīng)位產(chǎn)生操作控制信號(hào)。1、微程序的基本概念微命令:由操作控制信號(hào)產(chǎn)生部件向其它執(zhí)行部件發(fā)出的控制信號(hào)。微操作:由微命令控制產(chǎn)生的執(zhí)行部件所進(jìn)行的基本操作,這些操作可以看成是計(jì)算機(jī)中所執(zhí)行的最小操作單位,如一些門(mén)控信號(hào)等。微操作分為相容性和互斥性微操作。微指令:由若干個(gè)微命令組合成的二進(jìn)制微碼序列,這些微命令通常在一個(gè)CPU周期執(zhí)行。微程序:微指令的集合。微操作等概念舉例如圖是一個(gè)簡(jiǎn)化CPU的內(nèi)部數(shù)據(jù)通路圖。圖7-28簡(jiǎn)化的CPU微操作有:
圖中每個(gè)開(kāi)關(guān)由控制器中相應(yīng)的微命令來(lái)控制。假定ALU只有加、減、傳送三種操作,分別由C1、C2、C3微命令來(lái)控制,這三種操作在同一個(gè)CPU周期中只能選擇一種,不能并行,所以加、減、傳送三個(gè)微操作是相斥性的微操作。AC=0為零標(biāo)志觸發(fā)器,運(yùn)算結(jié)果為零時(shí)該觸發(fā)器狀態(tài)為“1”。類似地,C4、C5分別是存儲(chǔ)器讀、寫(xiě)微命令,它們控制的存儲(chǔ)器讀、寫(xiě)微操作是相斥性的,C6、C7控制的微操作也是相斥性。C11、C12、C13控制的微操作可以在同一個(gè)微指令周期中進(jìn)行,所以是相容性的微操作。
微指令格式:圖7-29微指令的基本格式2、微程序控制器原理微程序的概念是首先由英國(guó)劍橋大學(xué)的Wilkes于1951年提出的,1964年IBM公司首先將微程序技術(shù)用在IBM360機(jī)器上,從70年代開(kāi)始,微程序技術(shù)得以普遍采用?;谝陨衔⒊绦蚩刂扑枷氲奈⒊绦蚩刂破鹘M成原理框圖如下圖示:
微程序控制器原理框圖如圖7-30所示。它主要由控制存儲(chǔ)器(CM)、微指令寄存器(μIR)、微地址寄存器(μAR)和微地址形成邏輯四部分組成。圖7-30微程序控制器組成原理框圖它主要由以下三大部分組成:控制存儲(chǔ)器--用來(lái)存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀存儲(chǔ)器。微指令寄存器--用來(lái)存放由控制存儲(chǔ)器讀出的一條微指令。地址轉(zhuǎn)移邏輯--用于產(chǎn)生下條要執(zhí)行的微指令的地址(稱為微地址)。3、微程序設(shè)計(jì)舉例現(xiàn)在我們以表7-5所示的模型機(jī)指令系統(tǒng)為例,具體看一看微程序控制的過(guò)程。表7-5模型機(jī)指令系統(tǒng)指令助記符操作描述與功能說(shuō)明LDAnAC←n,把立即數(shù)n傳送給累加寄存器AC。ADD
[X]AC←(AC)+(X),AC的內(nèi)容與存儲(chǔ)單元X的內(nèi)容相加送AC。SUB[X]AC←(AC)-(X),AC的內(nèi)容減存儲(chǔ)單元X的內(nèi)容送AC。STR[X]X←(AC),AC的內(nèi)容存入存儲(chǔ)單元X。JZX當(dāng)AC=0時(shí),PC←X;否則,PC不變。(1)分析機(jī)器指令的功能模型機(jī)指令系統(tǒng)共有5種的指令,采用兩種尋址方式。LDAn,數(shù)據(jù)傳送指令,采用立即尋址方式,把立即數(shù)n傳送給累加寄存器AC,給寄存器賦初值。ADD[X],加法指令,采用直接尋址方式,指令執(zhí)行時(shí),先根據(jù)有效地址X訪問(wèn)存儲(chǔ)器取操作數(shù),然后與累加寄存器AC的內(nèi)容相加,結(jié)果送AC。SUB[X],減法指令,采用直接尋址方式,指令執(zhí)行時(shí),先根據(jù)有效地址X訪問(wèn)存儲(chǔ)器取操作數(shù),然后用AC的內(nèi)容減去從存儲(chǔ)器取的操作數(shù),結(jié)果送AC。STR[X],存操作數(shù)指令,采用直接尋址方式,指令執(zhí)行時(shí),AC的內(nèi)容存入存儲(chǔ)單元X。JZX,條件轉(zhuǎn)移指令,當(dāng)AC=0時(shí),條件滿足,用X修改PC的內(nèi)容,實(shí)現(xiàn)程序轉(zhuǎn)移;否則,PC不變,繼續(xù)執(zhí)行下一條指令。(2)設(shè)計(jì)微程序流程圖圖7-31模型機(jī)指令系統(tǒng)的微程序流程圖
微指令格式:(3)編寫(xiě)微程序表7-6模型機(jī)指令系統(tǒng)的微程序段控存地址控制字段C1C2C3……C13測(cè)試字段P后繼微地址字段00000001000000111100000001000100001000000000000100000100001000000010101011000000000000000000011000010000100000001110111010000000000000000010000000110010000000000101000000000
00000010000101100000000010000000004、CPU周期與微指令周期關(guān)系微指令周期=微指令讀出時(shí)間+微指令執(zhí)行時(shí)間為控制設(shè)計(jì)的簡(jiǎn)單,可將一個(gè)微指令周期設(shè)計(jì)得等于一個(gè)CPU周期。x例如:某機(jī)器的CPU周期由四個(gè)節(jié)拍脈沖T1—T4組成,用T4作為讀取下條微指令的時(shí)間,用T1+T2+T3時(shí)間作為執(zhí)行微指令的時(shí)間。舉例SASB4個(gè)通用寄存器ALU16位16位16位16位F5:LDALUF6:LDALUF3F4RWRA0F1RA1WA0F2WA1F7:RESET。運(yùn)算器結(jié)構(gòu)F1F2RWF4F3F5F8F7F6123456789101112F1(RA0,RA1):R0-R3的讀選擇F2(WA0,WA1):R0-R3的寫(xiě)選擇R:寄存器讀W:寄存器寫(xiě)F3:R送SAF4:R送SBF5:SB送ALUF6:SB的非送ALUF7:0→SBF8:一段微程序結(jié)束,轉(zhuǎn)公操作取下一條微指令微指令格式:微指令周期時(shí)序讀R-500ns寫(xiě)R-100ns微指令流程和編碼F1F2RWF4F3F5F8F7F61234567891011127.6微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)的目標(biāo):有利于縮短微指令字長(zhǎng)度有利于減小控存容量有利于提高微程序的執(zhí)行速度有利于對(duì)微指令的修改有利于提高微程序設(shè)計(jì)的靈活性一、微命令編碼微指令從格式上講類似與機(jī)器指令,通常由微操作碼字段(uOP)和微地址(uA)兩部分組成:微命令編碼是指對(duì)uOP字段的編碼方法。uOPuA操作控制順序控制1、直接表示法又稱直接控制編碼,其特點(diǎn)是操作控制字段中的每一位代表一個(gè)微命令。優(yōu)點(diǎn):并行性好,速度快; 缺點(diǎn):微指令字較長(zhǎng)。圖7-34微指令結(jié)構(gòu)——直接表示法2、字段直接譯碼法對(duì)所有微命令進(jìn)行分組(分段),將同類的、互斥的微命令分在同一組,用字段的不同代碼表示不同的微命令,然后通過(guò)字段譯碼器對(duì)每一個(gè)微命令進(jìn)行譯碼,譯碼輸出作為微操作控制信號(hào)
,組間采用直接表示。其微指令結(jié)構(gòu)如圖7-35所示。。優(yōu)點(diǎn):以上兩種方法的結(jié)合,既保證了并行性,又有效縮短了uOP字段的長(zhǎng)度。圖7-35微指令結(jié)構(gòu)——字段直接譯碼法
3、混合表示法混合表示法是把直接表示法與字段直接譯碼法混合使用,即部分微命令用分段編碼表示,將一些速度要求高,或與其它微命令都相容的用直接方式表示,其微指令結(jié)構(gòu)如圖7-36所示。混合表示法能綜合考慮微指令字長(zhǎng)、靈活性和執(zhí)行微程序速度等方面的要求。
圖7–36微指令結(jié)構(gòu)——混合表示法舉例【例7.2】表7-7中給出了8條微指令I(lǐng)-1~I8所包含的微命令控制信號(hào)。試設(shè)計(jì)微指令操作控制字段的格式,要求所用的控制位最少,而且保持微指令本身內(nèi)在的并行性。解:要使操作控制位最少,則應(yīng)利用字段譯碼法對(duì)相斥性微命令進(jìn)行編碼;要保持并行性,則盡量對(duì)可并行的微命令進(jìn)行直接編碼,不在一條指令中出現(xiàn)的微命令即可認(rèn)為它們可并行。因此可采用圖7-36所示的混合表示法微指令結(jié)構(gòu)。
解:要使操作控制位最少,則應(yīng)利用字段譯碼法對(duì)相斥性微命令進(jìn)行編碼;要保持并行性,則盡量對(duì)可并行的微命令進(jìn)行直接編碼,不在一條指令中出現(xiàn)的微命令即可認(rèn)為它們可并行。因此可采用圖7-36所示的混合表示法微指令結(jié)構(gòu)。圖7-37I1~I88條微指令的結(jié)構(gòu)二、微地址的形成方法微地址的設(shè)計(jì)關(guān)系到微指令執(zhí)行順序的控制問(wèn)題,即如何確定下一條微指令的地址問(wèn)題。通常,產(chǎn)生后繼微地址有兩種方法:1、計(jì)數(shù)器方式當(dāng)順序執(zhí)行微指令時(shí),后繼微地址由現(xiàn)行微地址加上一個(gè)增量來(lái)產(chǎn)生;當(dāng)發(fā)生轉(zhuǎn)移時(shí),由現(xiàn)行微指令直接或經(jīng)一定控制邏輯產(chǎn)生后繼微地址。這種方法類似于機(jī)器指令執(zhí)行順序的控制方法,順序執(zhí)行的微指令序列必須安排在控制存儲(chǔ)器的連續(xù)單元中,由一個(gè)微程序計(jì)數(shù)器(uPC)指出下條要執(zhí)行的微指令地址。優(yōu)點(diǎn):微地址產(chǎn)生控制簡(jiǎn)單; 缺點(diǎn):多路并行轉(zhuǎn)移功能較弱,靈活性較差。2、多路轉(zhuǎn)移方式采用這種方式的微指令格式為:當(dāng)順序執(zhí)行時(shí),后繼微地址直接由微指令的轉(zhuǎn)移地址字段BAF給出;當(dāng)出現(xiàn)分支時(shí),由轉(zhuǎn)移控制字段BCF控制對(duì)一定條件進(jìn)行測(cè)試,并結(jié)合BAF字段共同形成后繼微指令地址。優(yōu)點(diǎn):能實(shí)現(xiàn)多路轉(zhuǎn)移,靈活性好,微指令在控存中的存儲(chǔ)不受順序的限制。uOPBCFBAF三、微指令格式微指令的格式主要分成兩類:水平型微指令和垂直型微指令。1、水平型微指令特點(diǎn):一次能定義并執(zhí)行多個(gè)并行微命令,微指令字長(zhǎng)較長(zhǎng),uOP字段常采用直接控制編碼或分段控制編碼。其一般格式如下:控制字段(uOP)判別測(cè)試字段下址字段2、垂直型微指令特點(diǎn):一次能定義或執(zhí)行1-2個(gè)微命令,微指令字長(zhǎng)較短,uOP字段按控制類型進(jìn)行編碼,一般采用最短字長(zhǎng)編碼。一些典型的垂直微指令如下示:寄存器-寄存器傳送型微指令運(yùn)算控制型微指令訪問(wèn)主存微指令條件轉(zhuǎn)移微指令水平型微指令與垂直型微指令的比較水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。水平型微指令執(zhí)行一條指令的時(shí)間短,垂直型微指令執(zhí)行時(shí)間長(zhǎng)。由水平型微指令解釋指令的微程序,有微指令字較長(zhǎng)而微程序短的特點(diǎn)。垂直型微指令則相反。水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對(duì)來(lái)說(shuō),比較容易掌握。7.7典型CPU及主要技術(shù)前面的幾節(jié)中,我們已經(jīng)介紹了CPU的基本組成部分、工作原理及設(shè)計(jì)原理。下面我們以InteI公司的CPU為主線,主要以Pentium,Pentium4CPU為例,簡(jiǎn)要介紹它們的結(jié)構(gòu)、技術(shù)和原理:1、80X86CPU1978年至1989年,Intel公司相繼8086、80286、80386、80486的CPU,字長(zhǎng)從16位增加到32位,時(shí)鐘頻率從8086的4.77MHz提高到80486的100MHz,集成度突破了100萬(wàn)個(gè)晶體管的界限,80486集成了120萬(wàn)個(gè)晶體管。隨著CPU技術(shù)的不斷發(fā)展,Intel公司陸續(xù)研制出新型多款CPU,為了保證計(jì)算機(jī)能繼續(xù)運(yùn)行以往開(kāi)發(fā)的各類應(yīng)用程序,保護(hù)和繼承豐富的軟件資源,后續(xù)的CPU仍繼續(xù)使用x86的基本指令集,從而形成了今天龐大的兼容CPU系列。INTEL8088CPUIntel8088是一種通用的準(zhǔn)16位微處理器,其內(nèi)部結(jié)構(gòu)為16位,與外部交換的數(shù)據(jù)為8位。它可以處理16位數(shù)據(jù)(具有16位運(yùn)算指令,包括乘除法指令),也可以處理8位數(shù)據(jù)。它有20條地址線,所以直接尋址能力達(dá)到1M字節(jié)。CPU從功能上來(lái)說(shuō)分成兩大部分:總線接口單元BIU:負(fù)責(zé)與存儲(chǔ)器和外圍設(shè)備接口;執(zhí)行單元EU:負(fù)責(zé)指令的執(zhí)行。4321操作控制器∑ESCSDSSSIPAHALBHBLCHCLDHDLSPBPSIDIALU狀態(tài)標(biāo)志總線接口C-BUSA-BUSB-BUSBIUEUINTEL80486CPUIntel80486是32位的CPU。其內(nèi)部結(jié)構(gòu)包含如下九個(gè)功能部件: 總線接口部件、小容量cache、指令預(yù)取部件、指令譯碼器、段管理部件、頁(yè)管理部件、定點(diǎn)運(yùn)算部件ALU、浮點(diǎn)運(yùn)算部件FPU及操作控制部件??偩€接口部件主要用來(lái)產(chǎn)生訪問(wèn)外部存儲(chǔ)器和I/O口所需要的地址、數(shù)據(jù)、命令信號(hào)。段管理部件用來(lái)把指令指定的邏輯地址(程序中指定的虛擬地址)變成線性地址。頁(yè)管理部件的功能是把線性地址換算成物理地址。指令預(yù)取部件實(shí)現(xiàn)指令預(yù)取。ALU完成各種算術(shù)邏輯運(yùn)算操作。FPU則完成浮點(diǎn)數(shù)運(yùn)算、二進(jìn)制整數(shù)運(yùn)算、十進(jìn)制數(shù)串運(yùn)算等。操作控制部件采用微程序控制和硬布線控制相結(jié)合的方式,因而較好地發(fā)揮了效率。2、PentiumCPU1993年,Intel公司繼80486之后推出一種新的高速微處理器——Pentium,也就是我們所熟悉的“奔騰”處理器,它內(nèi)含晶體管320萬(wàn)只,主頻100/133/166MHz。為了提高CPU的性能,在PentiumCPU采用了下列技術(shù):(1)超標(biāo)量流水線;
(2)智能動(dòng)態(tài)分支預(yù)測(cè);
(3)數(shù)據(jù)和指令分離的一級(jí)Cache;(4)總線吞吐能力的增強(qiáng);(5)處理器性能的增強(qiáng)。3、Pentium4
繼Pentium之后,Intel公司又相繼推出PentiumPro、PentiumMMX、PentiumII、PentiumIII、Pentium4。下面重點(diǎn)介紹Pentium4CPU:Pentium4是Intel推出的一款I(lǐng)A-32體系結(jié)構(gòu)的32位微處理器,也是第一款基于IntelNetBurst(IntelMicro-architecture)微處理器,其邏輯功能圖如下圖所示。(1)在Pentium4中采用了一項(xiàng)非常重要的技術(shù):流式SIMD擴(kuò)展2技術(shù)(SSE2)。(2)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度診所執(zhí)業(yè)醫(yī)師醫(yī)療風(fēng)險(xiǎn)防控聘用合同
- 二零二五年度手車轉(zhuǎn)讓與綠色出行推廣合同
- 二零二五年度投資分紅股收益分配協(xié)議
- 二零二五年度汽車展覽會(huì)參展商展位電力合同
- 2025年度道路破碎修復(fù)與再生利用合同
- 2025年度青貯收割作業(yè)與農(nóng)業(yè)物聯(lián)網(wǎng)平臺(tái)合作協(xié)議
- 二零二五年度口腔診所醫(yī)生培訓(xùn)與薪酬管理合同
- 二零二五年度商業(yè)秘密保護(hù)與員工保密義務(wù)合同
- 二零二五年度多功能辦公場(chǎng)所租賃服務(wù)協(xié)議
- 2025年度蔬菜大棚承包與品牌授權(quán)合作協(xié)議
- 談心談話記錄100條范文(6篇)
- 中學(xué)生心理輔導(dǎo)-第一章-緒論
- 工業(yè)品買賣合同(樣表)
- (完整)消化性潰瘍PPT課件ppt
- 《教育學(xué)原理》馬工程教材第二章教育與社會(huì)發(fā)展
- 《常見(jiàn)疾病康復(fù)》期中考試試卷含答案
- 地球使用者地樸門(mén)設(shè)計(jì)手冊(cè)
- 筑基功法精選
- 歐洲電力市場(chǎng)深度報(bào)告:歐洲電力市場(chǎng)供需格局和電價(jià)分析
- 2023年考研考博-考博英語(yǔ)-煤炭科學(xué)研究總院考試歷年高頻考點(diǎn)真題薈萃帶答案
- 塔式起重機(jī)操作使用安全專項(xiàng)方案
評(píng)論
0/150
提交評(píng)論