計算機組成原理 第6章課件_第1頁
計算機組成原理 第6章課件_第2頁
計算機組成原理 第6章課件_第3頁
計算機組成原理 第6章課件_第4頁
計算機組成原理 第6章課件_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章中央處理器主要內(nèi)容本章主要討論控制器。內(nèi)容主要包括控制器的基本結(jié)構(gòu)和功能、時序控制方式、微程序控制器、微程序控制器的設(shè)計等,最后介紹超標(biāo)量流水技術(shù)以及典型的CPU器件。6.1中央處理器的基本組成CPU的功能:(1)指令控制:按指令要求控制取下一條指令。程序中大部分指令是順序執(zhí)行,小部分指令是轉(zhuǎn)移指令.如果計算機的指令中沒有無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、循環(huán)轉(zhuǎn)移指令、轉(zhuǎn)子指令和返回指令等,那么就編不出高質(zhì)量的程序。(2)操作控制:完成指令所規(guī)定的各功能操作,包括算術(shù)邏輯運算等操作,也包括CPU和主存、I/O設(shè)備之間信息傳送及控制等,協(xié)調(diào)CPU和主存、I/O設(shè)備之間的操作。一、功能:(3)時間控制:計算機有很多操作,對某條指令來說,某個操作信號在T1時刻可能是需要的,但在T2時刻可能又不需要了。因此CPU需根據(jù)指令要求,在T1時刻,只對某些操作信號適時地發(fā)出規(guī)定的操作。在計算機系統(tǒng)中,不僅要提供各種基本操作(微操作),更重要的是控制計算機何時發(fā)出所需要的操作,才能使計算機有條不紊地工作,這是CPU具有的最重要功能。(4)數(shù)據(jù)加工:對數(shù)據(jù)進(jìn)行算術(shù)運算和邏輯運算。完成數(shù)據(jù)的加工處理,這是CPU的根本任務(wù)。二、組成傳統(tǒng)的CPU由運算器和控制器兩大部分組成。但是隨著高密度集成電路技術(shù)的發(fā)展,早期放在CPU芯片外的一些邏輯功能部件,如浮點運算器、cache等紛紛移入CPU內(nèi)部,因而使CPU的內(nèi)部組成越來越復(fù)雜。這樣,CPU的基本部分變成了運算器、cache和控制器三大部分。1、控制器是計算機的控制中心,是發(fā)布命令的“決策機構(gòu)”,即完成協(xié)調(diào)和指揮整個計算機系統(tǒng)的操作。主要由程序計數(shù)器、指令寄存器、指令譯碼器、時序產(chǎn)生器和操作控制器組成。功能:(1)從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。(2)對指令進(jìn)行譯碼或測試,并產(chǎn)生相應(yīng)的操作控制信號,以便啟動規(guī)定的動作。比如一次內(nèi)存讀/寫操作,一個算術(shù)邏輯運算操作,或一個輸入輸出操作。(3)指揮并控制CPU,內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流動的方向。2、運算器是計算機對數(shù)據(jù)加工處理的中心,計算機指令功能的實現(xiàn),就是通過運算器完成的。它主要由多功能算術(shù)邏輯運算部件(ALU)、累加寄存器(AC)、數(shù)據(jù)緩沖寄存器(DR)和狀態(tài)條件寄存器(PSW)組成,ALU輸入端的多路選擇器、通用寄存器、移位器、總線等功能部件等構(gòu)成。運算器的功能(1)執(zhí)行所有的算術(shù)運算(2)執(zhí)行所有的邏輯運算,并進(jìn)行邏輯測試。通常,一個算術(shù)操作產(chǎn)生一個運算結(jié)果,而一個邏輯操作產(chǎn)生一個判決。3、CPU的寄存器數(shù)據(jù)緩沖寄存器(DR):用來暫時存放由內(nèi)存儲器讀出的一條指令或一個數(shù)據(jù)字;反之,當(dāng)向內(nèi)存中存入一條指令或一個數(shù)據(jù)字時,也暫時將它們存放在數(shù)據(jù)緩沖寄存器中。指令寄存器(DR):用來保存當(dāng)前正在執(zhí)行的一條指令。程序計數(shù)器(PC):為了保證程序能夠連續(xù)地執(zhí)行下去,CPU必須具有某些手段來確定下一條指令的地址。而程序計數(shù)器(PC)正是起到這種作用地址寄存器(AR):用來保證當(dāng)前CPU所訪問的內(nèi)存單元的地址。3、CPU的寄存器累加寄存器(AC):當(dāng)運算器的算術(shù)邏輯單元(ALU)執(zhí)行算術(shù)或邏輯運算時,為ALU提供一個工作區(qū)。狀態(tài)條件寄存器(PSW):保存由算術(shù)和邏輯指令運行或測試的結(jié)果建立的各種條件碼內(nèi)容。4、操作控制器 數(shù)據(jù)通路:許多寄存器之間傳送信息的通路。信息從什么地方開始,中間通過哪個寄存器或多路開關(guān),最后傳送到哪個寄存器,都要加以控制。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是由稱為操作控制器的部件來完成的。操作控制器的功能,就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。根據(jù)設(shè)計方法的不同,操作控制器可分為時序邏輯型、存儲邏輯型、時序邏輯與存儲邏輯結(jié)合型三種,第一種稱為硬布線控制器,它采用時序邏輯技術(shù)實現(xiàn);第二種稱為微程序控制器,它是采用存儲邏輯來實現(xiàn)的。第三種是前兩種的組合。4、操作控制器 操作控制器產(chǎn)生的控制信號必須定時,還必須有時序產(chǎn)生器。因為計算機高速地進(jìn)行工作,每一個動作的時間是非常有限的,不能有任何差錯。時序產(chǎn)生器的作用,就是對各種操作實施時間上的控制。CPU中除了上述組成部分以外,還有中斷系統(tǒng)、總線接口等其他功能部件。6.2指令周期6.2.1指令周期的基本概念:CPU每取出并執(zhí)行一條指令,都要完成一系列的操作,這一系列操作所需的時間通常叫做一個指令周期。即,指令周期是取出并執(zhí)行一條指令的時間。各種指令的指令周期是不盡相同的。指令周期通常用若干個CPU周期來表示,CPU周期也稱為機器周期。由于CPU內(nèi)部的操作速度較快,而CPU訪問一次內(nèi)存所花的時間較長,因此通常用內(nèi)存中讀取一個指令字的最段短時間來規(guī)定CPU周期,即,一條指令的取出階段需要一個CPU周期。而一個CPU周期時間又包含若干個時鐘周期(節(jié)拍脈沖或T周期,它是處理操作的基本單位)。這些時鐘周期的總和則規(guī)定了一個CPU周期的時間寬度。(P157)6.2指令周期五條典型指令組成的一個程序八進(jìn)制地址八進(jìn)制內(nèi)容指令助記符040250000CLA041030060ADD60042021061STAI61043000000NOP044140055JMP55………………055…………………………060000006

061000080

……

080存和數(shù)單元

6.2.1非訪內(nèi)指令的指令周期

CLA是一條非訪內(nèi)指令,它需要兩個CPU周期,其中取指令階段需要一個CPU周期,執(zhí)行指令階段需要一個CPU周期。取指令階段:1、從內(nèi)存中取出指令;2、對程序計數(shù)器PC加1,以便為取下一條指令做好準(zhǔn)備;3、對指令操作碼進(jìn)行譯碼或測試,以便進(jìn)行什么操作。執(zhí)行指令階段:CPU根據(jù)對指令操作碼的譯碼或測試,進(jìn)行指令所要求的操作。對非訪內(nèi)指令來說,執(zhí)行階段通常涉及到累加器的內(nèi)容,如累加器內(nèi)容清零、累加器內(nèi)容求反等操作。其他一些零地址格式的指令,執(zhí)行階段一般也僅需要一個CPU周期。具體操作見教材P159圖5.56.2.2直接訪內(nèi)指令的指令周期

ADD指令是一條訪問內(nèi)存取數(shù)并執(zhí)行加法的指令;其指令周期由三個CPU周期組成,其中,第一個周期為取值指令階段,其過程完全與CLA指令相同。執(zhí)行指令階段由兩個CPU周期組成:在第二個CPU周期中將操作數(shù)的地址送往地址寄存器并完成地址譯碼,在第三個CPU周期從內(nèi)存中取出操作數(shù)并執(zhí)行相加的操作。6.2.3間接訪內(nèi)指令的指令周期

程序的第三條指令是“STA40”指令,這是一條訪問內(nèi)存的指令。STA指令的指令周期由三個CPU周期組成,如圖,其中第一個CPU周期仍然是取指令階段,其過程與CLA指令、ADD指令完全一樣,不同的是此階段中程序計數(shù)器加1后變?yōu)?3,因而為取第四條指令做好了準(zhǔn)備。6.2.4空操作指令的指令周期

NOP是一條空操作指令,由2個CPU周期組成,第一個CPU周期中取指令,CPU把23號單元的“NOP”指令取出并放到指令寄存器,第二個CPU周期中執(zhí)行該指令。因譯碼器譯出是“NOP”指令,第二個CPU周期中操作控制器不發(fā)出任何控制信號。NOP指令可用來調(diào)機使用。6.2.5程序轉(zhuǎn)移指令的指令周期JMP指令指令周期僅由兩個CPU周期組成。第一個CPU周期把24單元的“JMP21”指令取出并放至占領(lǐng)寄存器,同時程序計數(shù)器內(nèi)容加1,變?yōu)?5,從而為下一條指令做好準(zhǔn)備。第二個CPU周期為執(zhí)行階段。此階段中,CPU把指令寄存器中的地址碼部分21送到程序計數(shù)器,從而用新內(nèi)容21代替PC原先的內(nèi)容25。這樣,下一條指令將不從25單元讀出,而是從內(nèi)存21單元開始讀出并執(zhí)行,從而改變了程序原先的順序。5.2.6用方框圖表示指令周期進(jìn)行計算機設(shè)計時,可以采用方框圖語言來表示一條指令的指令周期。一個方框圖代表一個CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。除了方框圖外,還需要一個菱形符號,它通常用來表示某種判別或測試,不過時間上它依附于緊接它的前面一個方框的CPU周期,而不單獨占用一個CPU周期。由方框圖可以看出,所有指令的取指令階段都是相同的,而且是一個CPU周期。但是指令的執(zhí)行階段,由于各條指令的功能不同,所用的CPU周期是各不相同的,其中CLA,NOP,JMP指令是一個CPU周期;ADD,STA指令是兩個CPU周期。框圖中DBUS代表數(shù)據(jù)總線,ABUS代表地址總線,RD代表內(nèi)存讀命令,WE代表內(nèi)存寫命令。“”稱為公操作符號,表示一條指令執(zhí)行完畢,轉(zhuǎn)入公操作。所謂公操作,就是一條指令執(zhí)行完畢后,CPU所開始進(jìn)行的一些操作,這些操作主要是CPU對外設(shè)請求的處理,如中斷處理,通道處理等。6.3時序控制方式6.3.1時序信號的作用和體制:

計算機的協(xié)調(diào)動作需要時間標(biāo)志,而時間標(biāo)志則是用時序信號來體現(xiàn)的,一般來說,操作控制器發(fā)出的各種控制信號都是時間因素(時序信號)和空間因素(部件位置)的函數(shù)。如果忽略了時間因素,那么我們學(xué)習(xí)計算機硬件時就回感到困難。組成計算機硬件的器件特性決定了時序信號最基本的體制是電位-脈沖制,這種體制最明顯的一個例子,就是當(dāng)實現(xiàn)寄存器之間的數(shù)據(jù)傳送時,數(shù)據(jù)加在觸發(fā)器的電位輸入端,而打入數(shù)據(jù)的控制信號加在觸發(fā)器的時鐘輸入端。電位的高低,標(biāo)號數(shù)據(jù)是1還是0,而且要求打入數(shù)據(jù)的控制信號到來之前,電位信號已經(jīng)穩(wěn)定。6.3時序控制方式硬布線控制器中(組合邏輯控制器),時序信號往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級體制。一個節(jié)拍電位表示CPU周期的時間,它表示了一個較大的時間單位;在一個節(jié)拍電位中又包含若干個節(jié)拍脈沖,以表示較小的時間單位;而主狀態(tài)周期可包含若干個節(jié)拍電位,所以它是最大的時間單位。主狀態(tài)周期可以用一個觸發(fā)器的狀態(tài)持續(xù)時間來表示。微程序控制器中,時序信號比較簡單,一般采用節(jié)拍電位節(jié)拍脈沖二級體制。即:它只有一個節(jié)拍電位,在節(jié)拍電位中又包含若干個節(jié)拍脈沖(始終周期)。節(jié)拍電位表示一個CPU周期的時間,而節(jié)拍脈沖把一個CPU周期劃分成幾個較小的時間間隔。根據(jù)需要,這些時間間隔可以相等,也可以不相等。6.3.2時序信號產(chǎn)生器功能:用邏輯電路產(chǎn)生指令周期所需的時序。大、中形計算機的時序電路比較復(fù)雜,而小、微型機的時序電路比較簡單,因為前者涉及的動作較多,而后者涉及的操作動作較少。另一方面,從設(shè)計操作控制器的方法來講,硬布線控制器的時序電路比較復(fù)雜,而微程序控制器的時序電路比較簡單。不管哪一類,時序信號產(chǎn)生器的最基本的構(gòu)成是一樣的。6.3.3多級時序系統(tǒng)

6.3.3多級時序系統(tǒng)多級時序

6.3.3控制器的控制方式

控制器控制一條指令運行的過程是依次執(zhí)行一個確定的微操作序列的過程,無論在微程序控制或硬布線控制計算機中都是這樣。由于不同指令所對應(yīng)的微操作數(shù)及其繁簡程度很不一樣,因此每條指令和每個微操作所需的執(zhí)行時間也不相同,如何形成控制不同微操作序列的時序控制信號就有多種方法,稱為控制器的控制方式,常用的有同步控制方式、異步控制方式和聯(lián)合控制方式。1.同步控制方式

在任何情況下,已定的指令在執(zhí)行時所需的機器周期數(shù)和節(jié)拍數(shù)都是固定不變的,稱為同步控制方式。根據(jù)不同情況,同步控制方式可以選取如下方案:(1)采用完全統(tǒng)一的機器周期(或節(jié)拍)執(zhí)行各種不同的指令,即不管微操作的繁簡,以最繁的微操作為標(biāo)準(zhǔn),采取統(tǒng)一的,具有相同時間間隔和相同數(shù)目的節(jié)拍作為機器周期。這對于那些比較簡單的微操作,將造成時間浪費。(2)采用不定長的機器周期,以解決微操作執(zhí)行所需時間不統(tǒng)一的問題。通常把大多數(shù)微操作安排在一個較短時間的機器周期內(nèi)完成,而對某些較繁的微操作,則采取延長機器周期或增加節(jié)拍的辦法解決。(3)采用中央控制和局部控制相結(jié)合的方法。將機器的大部分指令安排在一個統(tǒng)一的較短的機器周期內(nèi)完成,稱為中央控制。對少數(shù)復(fù)雜的指令(如乘法操作、除法操作或浮點運算等)則采用另外的時序進(jìn)行定時,稱為局部控制。2.異步控制方式

異步控制方式的特點是:根據(jù)每條指令、每個微操作的具體需要決定其占用的時間。這意味著每條指令的指令周期可以由多少不等的機器周期組成;也可以是當(dāng)控制器發(fā)出進(jìn)行某一微操作控制信號后,等待執(zhí)行部件完成該操作后發(fā)回的“回答”信號或“結(jié)束”信號,再開始新的微操作。用這種控制方式形成的微操作序列沒有固定的周期節(jié)拍和嚴(yán)格的時鐘同步。

3.聯(lián)合控制方式

聯(lián)合控制方式將同步控制和異步控制方式相結(jié)合。對不同指令的各個微操作實行大部分統(tǒng)一、小部分區(qū)別對待的方式。即大部分微操作安排在一個固定機器周期中,并在同步時序信號控制下進(jìn)行;而對某些時間難以確定的微操作則以執(zhí)行部件送回的“回答”信號作為本次微操作的結(jié)束。

6.4微程序控制器

微程序控制器同硬布線控制器相比較,具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點,因而在計算機設(shè)計中逐漸取代了早期采用的硬布線控制器,并已被廣泛使用。在計算機系統(tǒng)中,微程序設(shè)計技術(shù)是利用軟件方法來設(shè)計硬件的一門技術(shù)。微程序控制的基本思想,就是仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里。當(dāng)機器運行時,一條又一條地讀出這些微指令,從而產(chǎn)生全機所需要的各種操作控制信號,使相應(yīng)部件執(zhí)行所規(guī)定的操作。1.微程序概念的提出與發(fā)展

1951年,英國劍橋大學(xué)的MauriceVincentWilkes教授便提出了微程序(microprogram)的概念。

利用微程序設(shè)計技術(shù),可以將計算機中的為操作控制信號按照一定的規(guī)則進(jìn)行信息編碼,形成控制字(稱為微指令),在把這些微指令按時間先后順序排列起來,存放到一個只讀存儲器中。

Wilkes微程序控制器

2.基本概念和術(shù)語1、微命令和微操作控制部件(如控制器)與執(zhí)行部件(如運算器、存儲器、外圍設(shè)備等)的一種聯(lián)系,就是通過控制線??刂撇考ㄟ^控制線向執(zhí)行部件發(fā)出各種控制命令,通常把這種控制命令叫做微命令,而執(zhí)行部件接受微命令后所進(jìn)行的操作,叫做微操作??刂撇考c執(zhí)行部件之間的另一種聯(lián)系是反饋信息。執(zhí)行部件通過反饋線向控制部件反映操作情況,以便使控制部件根據(jù)執(zhí)行部件的“狀態(tài)”來下達(dá)新的微命令,這也叫“狀態(tài)測試”2、微指令和微地址在微程序控制的計算機中,同時發(fā)出的控制信號所執(zhí)行的一組微操作稱為微指令,所以微指令就是把同時發(fā)出的控制信號的有關(guān)信息匯集起來而形成的。將一條指令分成若干條微指令,按次序執(zhí)行這些微指令,就可以實現(xiàn)指令的功能。組成微指令的微操作就是微命令。一條微指令通常至少包含兩個方面的信息:(1)操作控制字段,也稱為操作碼字段,用于產(chǎn)生某一步微操作所需的各種微操作控制信號;(2)順序控制字段,也稱為微地址碼字段,用于控制產(chǎn)生下一條要執(zhí)行的微指令地址。

2.基本概念和術(shù)語3).微指令周期從控制存儲器中讀出一條微指令并執(zhí)行相應(yīng)的微命令所需的全部時間稱為微周期。4).微程序計算機的程序由指令序列構(gòu)成,而計算機每條指令的功能均由微指令序列解釋完成,這些微指令序列的集合就叫微程序。一段微程序?qū)?yīng)一條機器指令。

6.4.2微程序控制器

1.微程序控制器的基本組成

控制存儲器

微指令寄存器

地址轉(zhuǎn)移邏輯

2.微程序控制器的工作過程

微程序控制器計算機的結(jié)構(gòu)簡圖

6.4.3微指令的編碼方式

微指令的編碼方式是決定微指令格式的主要因素。微指令格式設(shè)計是以機器系統(tǒng)要求、指令級功能部件與數(shù)據(jù)通路設(shè)計為依據(jù)的。不同機器具有不同的微指令格式。如大型機強調(diào)速度,要求譯碼過程盡量快;微型機和小型機則更重視經(jīng)濟性,要求最大限度地縮短指令字長;中型機則介于兩者之間,兼顧速度和價格,要求在保證一定速度情況下,盡量縮短字長。

1.直接控制編碼法(不譯碼法)

2.最短編碼法

3.分段編譯法

1.直接控制編碼法(不譯碼法)

直接控制編碼法是指操作控制字段中的每一位都代表一個微命令。各位分別可以直接控制計算機,設(shè)計微指令時,只要根據(jù)需要將該微命令的對應(yīng)位設(shè)置為1或0即可,不需要進(jìn)行譯碼。這種編碼的優(yōu)點是結(jié)構(gòu)簡單、直觀,執(zhí)行速度快,操作并行性最好。其缺點是微指令字長過長。如果機器的微命令數(shù)為n個,就要求微指令字的操作控制字段為n位。但實際的機器中微命令都在幾百個以上,采用此方法單是微命令字段就達(dá)到幾百位。這會使控制存儲器單元的位數(shù)過多。2.最短編碼法

最短編碼法是不譯法的另一個極端情況。不譯法的微指令字過長,而最短編碼法獲得的微指令長度最短。在這種方法中,所有的微命令統(tǒng)一進(jìn)行編碼,每條微指令只定義一個微命令。設(shè)微命令的總數(shù)為N個,操作控制字段的長度為L位,則最短編碼法滿足以下關(guān)系式:

最短編碼法的優(yōu)點是指令字可以達(dá)到最短。但這同時帶來了一個不利的問題:必須對微指令進(jìn)行譯碼后才能得到真正的微命令。微命令數(shù)目越多,譯碼器越復(fù)雜。

3.分段編譯法

分段編碼法融合了前兩種方法,它既具有前兩種方法的優(yōu)點,如縮短指令字長度,利用硬件的并行性等,又盡量克服了前兩種方法的缺點,因此使用較多。

1).分段直接編碼法

2).分段間接編碼法

2).分段間接編碼法分段編碼方法的中微操作控制字段的分段必須遵循以下原則:①將互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同的段內(nèi)。這樣不但有利于提高信息的利用率,縮短微指令字長,也有利于充分利用硬件具有的并行性,加快執(zhí)行的速度。②分段應(yīng)用數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。③每個小段內(nèi)包含的信息位不能太多,否則會增加譯碼線路的復(fù)雜性,使譯碼時間變長。④一般要求每個小段要留出一個狀態(tài),表示本字段不發(fā)出任何微命令。因此,n位長的字段最多只能表示2n個互斥的微命令,一般用00…0來表示不操作。3).常數(shù)源字段E的設(shè)置

在微指令中,一般設(shè)有一個常數(shù)源字段E,就如同機器指令中的立即操作數(shù)一樣,用來提供微指令所使用的常數(shù)(由設(shè)計者填寫),如提供計數(shù)器初值、通用寄存器地址、轉(zhuǎn)移地址等。字段E也可用來參與其它控制字段的間接編碼,以減少微指令字長,增加微指令的靈活性,字段E在微指令中的形式為:

6.4.4微程序的順序控制

1.微程序入口地址的形成由于每條機器指令都需要取指操作,所以將取指操作編制成一段公用微程序,通常安排在控制存儲器的0號或1號單元開始的一段控制存儲器空間。當(dāng)用公用的“取機器指令”微程序從內(nèi)存中取出機器指令后,首先由“取機器指令”微程序取出一條機器指令到指令寄存器IR中,然后根據(jù)機器指令操作碼轉(zhuǎn)換成該指令對應(yīng)的微程序入口地址。

2.后繼微地址的形成

微指令的執(zhí)行是一個連續(xù)的過程,一條微指令執(zhí)行完后即開始執(zhí)行下一條微指令,直到所有的微指令都執(zhí)行完畢為止。因此,要連續(xù)執(zhí)行微指令,必須在一條微指令執(zhí)行結(jié)束后就已知下一條要執(zhí)行的微指令的地址。一般是根據(jù)前一條微指令中的順序控制字段的要求形成后繼微指令地址。

1).增量方式(順序—轉(zhuǎn)移型微地址)2).斷定方式

6.4.5微指令格式

微指令的編碼方式是決定微指令格式的主要因素。微指令格式設(shè)計是以機器系統(tǒng)要求、指令級功能部件與數(shù)據(jù)通路設(shè)計為依據(jù)的。不同機器具有不同的微指令格式。水平型微指令垂直型微指令

1.水平型微指令

水平型微指令是指一次能定義并執(zhí)行多個并行操作微命令的微指令,一般來說它有如下特征:①微指令較長,通常為幾十位到上百位左右。如VAX一11/780的微指令字長96位。機器規(guī)模越大,速度越快,其微指令字越長。②微指令中的微操作具有高度并行性,這種并行操作能力是以數(shù)據(jù)通路中各部件間的并行操作結(jié)構(gòu)為基礎(chǔ)的。例如,執(zhí)行一條水平型微指令就能控制信息從若干源部件同時傳送到若干目的部件。③微指令編碼簡單,一般采用直接控制編碼和分段直接編碼,以減少微命令的譯碼時間。

1.水平型微指令水平型微指令的優(yōu)點是并行操作能力強、執(zhí)行效率高、靈活性好,微程序條數(shù)少,因此廣泛應(yīng)用于速度較快的機器中。但由于微指令字較長,增加了控制存儲器的橫向容量,同時微指令和機器指令的差別很大,設(shè)計者只有足夠熟悉數(shù)據(jù)通路,才能編制出理想的微程序。其復(fù)雜程度高,難以實現(xiàn)微程序設(shè)計自動化。2.垂直型微指令

垂直型微指令的特征是微指令較短,微指令的并行操作能力有限,一般一條微指令只能控制數(shù)據(jù)通路的一二種信息傳送操作。另外,執(zhí)行一條機器指令所需要的微指令數(shù)目較多,執(zhí)行時間長。這是它與水平型微指令相比不足的地方。但是,垂直型微指令與機器指令很相似,設(shè)計者只需注意微指令的功能,而對數(shù)據(jù)通路結(jié)構(gòu)則不用過多考慮,因此便于編制微程序。編制的微程序規(guī)整、直觀,有利于設(shè)計的自動化。

3.水平型微指令與垂直型微指令的比較

水平型微指令垂直型微指令并行操作能力強弱效率高低靈活性強弱指令執(zhí)行時間短長復(fù)雜度高低與機器指令的差別大小6.4.6微指令的執(zhí)行方式

執(zhí)行微指令的過程與執(zhí)行機器指令有些類似。首先要從控制存儲器中取出微指令,如果是垂直型微指令,還需要包括微操作碼的譯碼過程;然后執(zhí)行微指令所規(guī)定的操作。具體說來,微指令分為串行執(zhí)行方式和并行執(zhí)行方式兩種。1.串行執(zhí)行在串行微程序控制器中,執(zhí)行現(xiàn)行微指令的操作與取下一條微指令的操作在時間上是串行的。只有在一條微指令取出并執(zhí)行完后,才能取下一條微指令。

1.串行執(zhí)行在串行執(zhí)行方式中,微指令周期等于取微指令的時間與執(zhí)行微操作時間的和。串行方式的微周期較長,但控制簡單,形成后繼微地址所用的硬件設(shè)備少。微指令的串行執(zhí)行與并行執(zhí)行

2.并行方式

并行執(zhí)行方式是將取微指令與執(zhí)行微指令的操作重疊起來執(zhí)行。即并行執(zhí)行方式下,在執(zhí)行當(dāng)前微指令的同時,預(yù)取下一條微指令,從而節(jié)省了取微指令的時間。對于并行執(zhí)行方式,由于執(zhí)行本條微指令與預(yù)取下一條微指令是同時進(jìn)行的,所以,如果遇到某些需要根據(jù)本條微指令的處理結(jié)果而進(jìn)行條件轉(zhuǎn)移的微指令,先前預(yù)取的微指令就無用。此時可以通過延遲一個微周期再取微指令的方法解決。除了上述兩種方式外,還有串行和并行混合執(zhí)行方式。

6.4.7微程序舉例

6.4.7微程序舉例6.5流水線技術(shù)

加快機器指令執(zhí)行速度的其中一種重要方法。同時解釋執(zhí)行兩條、多條以至整段程序。流水(pipeline)線技術(shù)是目前廣泛應(yīng)用于CPU中的一項關(guān)鍵技術(shù)。20世紀(jì)90年代以后出現(xiàn)的處理器,無論是RISC還是CISC,無一不采用“指令流水”技術(shù)。6.5.1流水線技術(shù)的基本原理1、流水線原理:計算機的流水處理過程同工廠中的流水裝配線類似。為了實現(xiàn)流水,首先必須把輸入的任務(wù)(或過程)分割為一系列子任務(wù)。使各子任務(wù)能在流水線的各個階段并發(fā)地執(zhí)行。將任務(wù)連續(xù)不斷地輸入流水線,從而實現(xiàn)了子任務(wù)級的并行。因此流水處理大幅度地改善了計算機的系統(tǒng)性能,是在計算機上實現(xiàn)時間并行性的一種非常經(jīng)濟的方法。在流水線中,原則上要求各個階段的處理時間相同。若某一階段處理時間較長,勢必造成其他階段的空轉(zhuǎn)等等。因此對子任務(wù)的劃分,是決定流水線性能的一個關(guān)鍵因素,它取決于操作部件的效率,所期望的處理速度,以及成本價格等等。2、并行處理技術(shù)并行性的含義:

一是同時性,指兩個以上事件在同一時刻發(fā)生;二是并發(fā)性,指兩個以上事件在同一時間間隔內(nèi)發(fā)生。計算機的并行處理技術(shù)可貫穿于信息加工的各個步驟和階段,概括起來,有三種形式:(1)時間并行;(2)空間并行;(3)時間并行+空間并行。(1)時間并行時間并行:指時間重疊,在并行性概念中引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。時間并行概念的實現(xiàn)方式就是采用流水處理部件。這是一種非常經(jīng)濟而實用的并行技術(shù),能保證計算機系統(tǒng)具有高度的性能價格比。目前的高性能微型計算機幾乎無一例外地使用了流水技術(shù)。(2)空間并行指資源重復(fù),在并行性概念中引入空間因素,以“數(shù)量取勝”為原則來大幅度提高計算機的處理速度。大規(guī)模和超大規(guī)模集成電路成為目前實現(xiàn)并行處理的一個重要途徑??臻g并行技術(shù)主要體現(xiàn)在多處理器系統(tǒng)和多計算機系統(tǒng)。但是在但處理器系統(tǒng)中也得到了廣泛應(yīng)用。(3)時間并行+空間并行時間并行+空間并行指時間重疊和資源重復(fù)的綜合應(yīng)用,即采用時間并行性又采用空間并行性。例如,奔騰CPU采用了超標(biāo)量流水技術(shù),在一個機器周期中同時執(zhí)行兩條指令,因而既具有時間并行性,又具有空間并行性。顯然,第三種并行帶來的高速效益是最好的。3、流水CPU的時空圖假設(shè)流水CPU的一個指令周期包括四個字過程:取指令(IF)、指令譯碼(ID)、取操作數(shù)(OF)、進(jìn)行運算(EX),每個子過程稱為過程段(Si),一個流水線由一系列串聯(lián)的過程段組成,各個過程段之間設(shè)有高速緩沖寄存器,以暫時保存上一過程段子任務(wù)處理的結(jié)果。在統(tǒng)一的時鐘信號控制下,數(shù)據(jù)從一個過程流向相鄰的過程段。4、流水CPU的時空圖非流水線時空圖對非流水計算機來說:上一條指令的四個子過程全部執(zhí)行完畢后才能開始下一條指令,因此,每隔四個時鐘周期才有一個輸出結(jié)果。超標(biāo)量流水線時空圖所謂超標(biāo)量流水,是指它具有兩條以上的指令流水線。當(dāng)流水線滿載時,每一個時鐘周期可以執(zhí)行2條指令。顯然,超標(biāo)量流水計算機是時間并行技術(shù)和空間并行技術(shù)的綜合利用。Pentium微型機就是一個超標(biāo)量流水計算機。5、流水線分類指令流水線:實現(xiàn)指令步驟的并行。將指令流的處理過程劃分為取指、譯碼、取操作數(shù)、執(zhí)行等幾個并行處理的過程段。目前,所有高性能計算機都采用了指令流水線。算術(shù)流水線:實現(xiàn)運算操作步驟的并行。如流水加法器、流水乘法器等。處理機流水線(宏流水線):實現(xiàn)程序步驟的并行。由一串處理機構(gòu)成流水線的各個過程段,每臺處理機負(fù)責(zé)某一特定的任務(wù)。數(shù)據(jù)流從第一臺處理機輸入,經(jīng)處理后被送到第二臺處理機相聯(lián)的緩沖存儲器中。第二臺處理機從該存儲器中取出數(shù)據(jù)進(jìn)行處理,然后傳送至第三臺處理機,如此串聯(lián)下去,隨著高檔微處理芯片的出現(xiàn),構(gòu)造處理機流水線變得容易,處理機流水線應(yīng)用在多機系統(tǒng)中6.5.2流水線中的主要問題

1、資源相關(guān)2、數(shù)據(jù)相關(guān)3、控制相關(guān)1、資源相關(guān)當(dāng)多條指令進(jìn)入流水線后,在同一時間內(nèi)對同一硬件發(fā)出請求時,硬件無法同時提供幾項服務(wù),因而造成指令之間的資源沖突,稱為資源相關(guān)。資源相關(guān)的解決2、數(shù)據(jù)相關(guān)前一條指令和后一條指令可能需要同時存取相同的數(shù)據(jù)。例如在程序中,第一條指令寫入數(shù)據(jù),第二條指令讀取數(shù)據(jù)。為了避免數(shù)據(jù)沖突,必須等待第一條指令寫入內(nèi)存后,才能執(zhí)行第二條指令。

2、數(shù)據(jù)相關(guān)根據(jù)數(shù)據(jù)存取方法的不同,有3種可能的數(shù)據(jù)相關(guān)沖突

溫馨提示

  • 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

提交評論