計(jì)算機(jī)組成原理 第6章課件_第1頁(yè)
計(jì)算機(jī)組成原理 第6章課件_第2頁(yè)
計(jì)算機(jī)組成原理 第6章課件_第3頁(yè)
計(jì)算機(jī)組成原理 第6章課件_第4頁(yè)
計(jì)算機(jī)組成原理 第6章課件_第5頁(yè)
已閱讀5頁(yè),還剩88頁(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)介

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

061000080

……

080存和數(shù)單元

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

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

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

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

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

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

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

6.3.3控制器的控制方式

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

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

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

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

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

6.4微程序控制器

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

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

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

Wilkes微程序控制器

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

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

6.4.2微程序控制器

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

控制存儲(chǔ)器

微指令寄存器

地址轉(zhuǎn)移邏輯

2.微程序控制器的工作過(guò)程

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

6.4.3微指令的編碼方式

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

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

2.最短編碼法

3.分段編譯法

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

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

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

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

3.分段編譯法

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

1).分段直接編碼法

2).分段間接編碼法

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

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

6.4.4微程序的順序控制

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

2.后繼微地址的形成

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

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

6.4.5微指令格式

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

1.水平型微指令

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

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

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

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

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

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

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

2.并行方式

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

6.4.7微程序舉例

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

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

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

1、資源相關(guān)2、數(shù)據(jù)相關(guān)3、控制相關(guān)1、資源相關(guān)當(dāng)多條指令進(jìn)入流水線后,在同一時(shí)間內(nèi)對(duì)同一硬件發(fā)出請(qǐng)求時(shí),硬件無(wú)法同時(shí)提供幾項(xiàng)服務(wù),因而造成指令之間的資源沖突,稱為資源相關(guān)。資源相關(guān)的解決2、數(shù)據(jù)相關(guān)前一條指令和后一條指令可能需要同時(shí)存取相同的數(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. 本站所有資源如無(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)論