




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第六章中央處理部件本章要點(diǎn):§6.1控制器的組成§6.2一條指令的執(zhí)行過程§6.3微程序控制技術(shù)§6.4硬布線控制技術(shù)§6.5控制器的控制方式§6.6流水線技術(shù)§6.1控制器的功能和組成當(dāng)用計(jì)算機(jī)解決某個(gè)問題時(shí),我們首先必須為它編寫程序。程序是一個(gè)指令序列,這個(gè)序列明確告訴計(jì)算機(jī)應(yīng)該執(zhí)行什么操作,在什么地方找到用來操作的數(shù)據(jù)。一旦把程序裝入內(nèi)存儲(chǔ)器,就可以由計(jì)算機(jī)來自動(dòng)完成取出指令和執(zhí)行指令的任務(wù)。專門用來完成此項(xiàng)工作的計(jì)算機(jī)部件稱為中央處理器,通常簡稱CPU。
CPU是計(jì)算機(jī)系統(tǒng)的核心組成部件。其功能主要是:
●指令控制:產(chǎn)生下一條指令在內(nèi)存中的地址?!癫僮骺刂疲寒a(chǎn)生各種操作信號(hào)送往相應(yīng)部件,以控制完成指令所要求的動(dòng)作?!駮r(shí)序控制:對(duì)各操作信號(hào)實(shí)施時(shí)間上的控制,以保證計(jì)算機(jī)有條不紊地連續(xù)自動(dòng)工作。CPU的基本功能就是對(duì)指令流和數(shù)據(jù)流在時(shí)間與空間上實(shí)施正確的控制。CPU的組成部分:控制部件運(yùn)算部件寄存器組CPU內(nèi)部數(shù)據(jù)通路在現(xiàn)代計(jì)算機(jī)中還要包括cache。控制器是全機(jī)的指揮中樞。它根據(jù)工作程序的指令序列、外部請(qǐng)求、控制臺(tái)操作去指揮和協(xié)調(diào)全機(jī)的工作。計(jì)算機(jī)系統(tǒng)由硬件和軟件兩大子系統(tǒng)組成。只有硬件沒有軟件的計(jì)算機(jī)稱為“裸機(jī)”,“裸機(jī)”是不能工作的?,F(xiàn)代計(jì)算機(jī)的功能日益強(qiáng)大、結(jié)構(gòu)日益復(fù)雜。不能想象由人來直接管理這樣復(fù)雜的機(jī)器,必須由軟件系統(tǒng)來代替人管理機(jī)器自動(dòng)的工作。這個(gè)軟件就是操作系統(tǒng)?,F(xiàn)代計(jì)算機(jī)的操作系統(tǒng)也是十分龐大復(fù)雜的。這樣龐大的軟件系統(tǒng)不可能全部駐留在內(nèi)存中,只能保存在輔存(磁盤、磁帶)上。在開機(jī)后按需要裝入主存儲(chǔ)器運(yùn)行。操作系統(tǒng)的一小部分內(nèi)核程序(BIOS)必須固化在ROM中,安裝在主板上,保證機(jī)器一上電就可以立即執(zhí)行。機(jī)器一加電,立即開始執(zhí)行BIOS程序。自動(dòng)到系統(tǒng)磁盤的0道裝入引導(dǎo)程序Boot,該程序裝入主存運(yùn)行后把操作系統(tǒng)的常駐內(nèi)存部分裝入內(nèi)存,建立相應(yīng)的環(huán)境,管理計(jì)算機(jī)的資源,等待用戶的命令。機(jī)器加電時(shí),硬件電路自動(dòng)產(chǎn)生一個(gè)Reset信號(hào),將CPU復(fù)位。Reset使程序計(jì)數(shù)器PC清0,使CPU的一些寄存器為規(guī)定的某個(gè)初始狀態(tài)。按程序計(jì)數(shù)器PC的內(nèi)容到主存儲(chǔ)器取指令。計(jì)算機(jī)在上電后要執(zhí)行的第一條指令被安排在主存儲(chǔ)器的0F…FF0H單元。通常在該單元放一條轉(zhuǎn)移指令,轉(zhuǎn)移到操作系統(tǒng)程序的入口地址?!俺绦虼鎯?chǔ)”計(jì)算機(jī),把要解決的問題編制程序,裝入主存,即可由計(jì)算機(jī)自動(dòng)地取指令執(zhí)行程序?!俺绦蚴侵噶畹挠行蚣稀?。在程序運(yùn)行過程中,計(jì)算機(jī)的各部件在控制器的控制下逐條執(zhí)行程序中各指令,有條不紊地工作,在各部件之間流動(dòng)的指令和數(shù)據(jù)形成了指令流和數(shù)據(jù)流。§6.1.1控制器的功能控制器必須具備以下基本功能:①取指令FetchtheInstructionfromMemory
發(fā)出指令地址及訪存控制信號(hào)。將指令從主存取入CPU。②分析指令DecodetheInstruction
對(duì)指令譯碼,分析它要求的操作。形成操作數(shù)有效地址。③執(zhí)行指令ExecutetheInstruction
按照操作數(shù)有效地址取出操作數(shù),并按操作性質(zhì)形成相應(yīng)的操作控制信號(hào)序列,完成指令的各種操作(包括對(duì)運(yùn)算結(jié)果的處理)。形成下一條指令的地址。④控制主機(jī)與I/O設(shè)備交換信息(控制輸入輸出)⑤對(duì)異常情況和某些請(qǐng)求的處理 能響應(yīng)來自外部和內(nèi)部的請(qǐng)求,處理一些異常情況和事件。控制器的基本功能是周而復(fù)始的按一定順序逐條取指令,分析指令,執(zhí)行指令,再取下一條指令,……直至停機(jī)。取指令時(shí),首先把程序計(jì)數(shù)器PC的內(nèi)容送到地址總線,接著發(fā)出存儲(chǔ)器讀命令,等待一段時(shí)間后,從數(shù)據(jù)總線將取出的指令讀入并送到CPU的指令寄存器IR。訪問存儲(chǔ)器取操作數(shù)時(shí),首先把主存地址寄存器AR的內(nèi)容送到地址總線,接著發(fā)出存儲(chǔ)器讀命令,等待一段時(shí)間后,從數(shù)據(jù)總線將讀出的數(shù)據(jù)讀入并送到CPU的數(shù)據(jù)寄存器DR。把數(shù)據(jù)寫到存儲(chǔ)器時(shí),首先把主存地址寄存器AR的內(nèi)容送到地址總線,數(shù)據(jù)寄存器DR的內(nèi)容送到數(shù)據(jù)總線,接著發(fā)出存儲(chǔ)器寫命令,等待一段時(shí)間后存儲(chǔ)器寫周期結(jié)束。參見課件第4章P6參見課件第4章P6§6.1.2控制器的組成1.程序計(jì)數(shù)器PC程序計(jì)數(shù)器是用來存放要取的下一條指令在存儲(chǔ)器的地址的,有自動(dòng)加1功能。程序計(jì)數(shù)器的位數(shù)取決于CPU能夠訪問的程序存儲(chǔ)空間的大小。當(dāng)程序是順序執(zhí)行時(shí),每取一個(gè)指令字,程序計(jì)數(shù)器PC自動(dòng)加1,形成下一條指令的地址。當(dāng)程序發(fā)生轉(zhuǎn)移時(shí),用轉(zhuǎn)移目標(biāo)地址取代PC原來的值作為下一條指令的地址。2.指令寄存器IR指令寄存器IR是用來存放(從存儲(chǔ)器取來)當(dāng)前正在執(zhí)行的指令的,指令寄存器的位數(shù)取決于指令字長。3.指令譯碼器ID指令譯碼器的功能是對(duì)指令寄存器中的指令的操作碼進(jìn)行分析(譯碼),決定應(yīng)該執(zhí)行的基本操作。4.脈沖源及啟停線路產(chǎn)生一定頻率的脈沖信號(hào)作為機(jī)器的時(shí)鐘脈沖。產(chǎn)生Reset信號(hào)。5.時(shí)序信號(hào)形成部件為了保證指令及各個(gè)微操作的執(zhí)行按正確順序完成,需要相應(yīng)的控制指令周期、機(jī)器周期的節(jié)拍電位、節(jié)拍脈沖等。6.微操作控制信號(hào)形成部件根據(jù)指令分析的結(jié)果和時(shí)序信號(hào),產(chǎn)生相應(yīng)的微操作控制信號(hào)。§6.1.2控制器的組成CPU模型演示
程序計(jì)數(shù)器PCOP地址碼指令寄存器指令譯碼器ID微操作控制信號(hào)形成部件脈沖源啟停線路時(shí)序信號(hào)產(chǎn)生部件運(yùn)算器ALU通用寄存器組狀態(tài)寄存器數(shù)據(jù)寄存器DR地址寄存器ARCLK+1ResetReset中斷機(jī)構(gòu)DBABCB主存儲(chǔ)器I/O指令數(shù)據(jù)操作數(shù)地址指令地址轉(zhuǎn)移地址形式地址總線控制圖6.3控制器的基本組成框圖§6.2一條指令的執(zhí)行過程設(shè)指令格式為:Opcoders,rdrs1imm或disprs,rd為源/目的操作數(shù)地址,rs1為另一源操作數(shù)地址,imm/disp為立即數(shù)或位移量。rs,rd和rs1均為通用寄存器的地址。指令周期的基本概念:
計(jì)算機(jī)所以能自動(dòng)地工作,是因?yàn)镃PU能從存放程序的內(nèi)存里取出一條指令并執(zhí)行這條指令;緊接著又是取指令,執(zhí)行指令……,如此周而復(fù)始,構(gòu)成了一個(gè)封閉的循環(huán)。除非遇到停機(jī)指令,否則這個(gè)循環(huán)將一直繼續(xù)下去。具體參看返回指令周期
CPU從內(nèi)存取出一條指令并執(zhí)行這條指令的時(shí)間總和。CPU周期
又稱機(jī)器周期,CPU訪問一次內(nèi)存所花的時(shí)間較長,因此用從內(nèi)存讀取一條指令字的最短時(shí)間來定義。時(shí)鐘周期
通常稱為節(jié)拍脈沖或T周期。一個(gè)CPU周期包含若干個(gè)時(shí)鐘周期。
下圖示出了采用定長CPU周期的指令周期示意圖。指令周期CPT1T2(rs1)→ALUALU→PCPC→ABPC+1PC→ALUALU→GRDB→DRALU→DRDR→ALUDR→DBDB→IRALU→ARAR→ABrs1→GRResetimm/disp→ALUrs,rd→GR程序計(jì)數(shù)器PC指令寄存器IR指令譯碼器ID微操作控制信號(hào)形成部件脈沖源啟停線路時(shí)序信號(hào)產(chǎn)生部件ALU通用寄存器組GRFlag數(shù)據(jù)寄存器DR地址寄存器ARCLK2DBABCB主存儲(chǔ)器(rs)→ALUOPimm/disprs1rs,rdCLK+ADS-(1)加法指令的執(zhí)行過程加法指令的功能:將寄存器rs中的一個(gè)數(shù)與存儲(chǔ)器中的一個(gè)數(shù)(地址為(rs1)+disp)相加,結(jié)果放在寄存器rd中。操作表達(dá)式:(rs)+((rs1)+disp)→rd以上操作需4個(gè)機(jī)器周期。其中:取指令和取數(shù)周期通過總線訪存。計(jì)算地址和運(yùn)送送結(jié)果周期是在CPU內(nèi)部操作,不使用總線?!魪腗中取指=>IR,(PC)+1=>PC;(PC)->AB;ADS#,W/R#,M/IO#,Ready#,DB->IR,C/D#.◆
計(jì)算操作數(shù)地址,將得到的有效地址=>AR;(rs1)->GR,(rs1)->ALU,disp->ALU,”+”,ALU->AR◆
取操作數(shù):AR->AB,ADS#,W/R#,M/IO#,Ready#,DB->DR;◆
做加法:(rs)->GR,(rs)->ALU,DR->ALU;rd->GR,ALU->rd,置運(yùn)算結(jié)果N,Z,V,C。(2)條件轉(zhuǎn)移指令的執(zhí)行過程條件轉(zhuǎn)移指令的功能:根據(jù)狀態(tài)標(biāo)志寄存器中相關(guān)標(biāo)志的狀態(tài)決定是否轉(zhuǎn)移。如果轉(zhuǎn)移條件成立,則轉(zhuǎn)移到指令指定的目標(biāo)地址,否則順序執(zhí)行下一條指令。圖6.7加法指令的操作時(shí)序圖CLK2CLKPC→AB,
DB→DR,PC+1AR→AB,DB→DRADSININT1T2T1T2T1T2T1T2取指令計(jì)算地址取數(shù)據(jù)加法運(yùn)算DBrs1→GR,(rs1)→ALU,disp→ALU+rs→GR,(rs)→ALU,DR→ALUALU→ARrd→GR,ALU→rd,置Flag作業(yè)第6章——1、21閱讀173~176頁,通過對(duì)80386的了解,進(jìn)一步熟悉計(jì)算機(jī)的硬件系統(tǒng)、微處理器和控制信號(hào)?!?.3微程序控制技術(shù)§6.3.1微程序控制計(jì)算機(jī)的基本工作原理微程序控制MicroprogrammedControl的概念和原理最早是由英國劍橋大學(xué)的M.V.Wilkes教授于1951年提出來的。他指出,“一條機(jī)器指令可以分解為許多基本的微命令序列”。并且首先把這種思想用于計(jì)算機(jī)控制器的設(shè)計(jì)。但是,由于當(dāng)時(shí)還制造不了存放微程序的(廉價(jià)、高速、大容量的)控制存儲(chǔ)器,所以,直到1964年才在IBM360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù),解決了指令系統(tǒng)的兼容問題。從二十世紀(jì)六十年代中期到八十年代末,大多數(shù)計(jì)算機(jī)都采用微程序控制技術(shù)。微程序控制器原理框圖請(qǐng)參見演示。
威爾克斯教授返回
微程序控制的基本思想是把機(jī)器指令的每一操作控制步編成一條微指令。每條機(jī)器指令對(duì)應(yīng)一段微程序。執(zhí)行機(jī)器指令時(shí),從控制存儲(chǔ)器中順序取出這些微指令,就可按所要求的次序產(chǎn)生相應(yīng)的操作控制信號(hào)。微程序控制器MicroprogrammedControlUnit的核心部件是控制存儲(chǔ)器。微指令Microinstruction是同時(shí)發(fā)出的控制信號(hào)所執(zhí)行的一組微操作。微命令Microcommand
是微操作的控制信號(hào)。微操作Microoperation
是微命令的操作過程,是執(zhí)行部件接受微命令后所進(jìn)行的最基本的操作。微程序Microprogram
由微指令組成的程序,是微指令的有序集合??刂拼鎯?chǔ)器ControlMemory/Storage用來存放實(shí)現(xiàn)整個(gè)指令系統(tǒng)的全部微程序,它一般用只讀存儲(chǔ)器(ROM)構(gòu)成。一條指令由若干條微指令解釋,按次序執(zhí)行這些微指令實(shí)現(xiàn)指令的功能。
簡單運(yùn)算器數(shù)據(jù)通路演示。5-21
微程序控制器主要由控制存儲(chǔ)器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。1.控制存儲(chǔ)器控制存儲(chǔ)器用來存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀存儲(chǔ)器。一旦微程序固化,機(jī)器運(yùn)行時(shí)則只讀不寫。其工作過程是:每讀出一條微指令,則執(zhí)行這條微指令;接著又讀出下一條微指令,又執(zhí)行這一條微指令……。讀出一條微指令并執(zhí)行微指令的時(shí)間總和稱為一個(gè)微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只讀存儲(chǔ)器的工作周期。控制存儲(chǔ)器的字長就是微指令字的長度,其存儲(chǔ)容量視機(jī)器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對(duì)控制存儲(chǔ)器的要求是速度快,讀出周期要短。
微程序控制器原理框圖演示。
微程序控制器主要由控制存儲(chǔ)器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。2.微指令寄存器
微指令寄存器用來存放由控制存儲(chǔ)器讀出的一條微指令信息。其中微地址寄存器決定將要訪問的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測(cè)試字段的信息。3.地址轉(zhuǎn)移邏輯在一般情況下,微指令由控制存儲(chǔ)器讀出后直接給出下一條微指令的地址,通常我們簡稱微地址,這個(gè)微地址信息就存放在微地址寄存器中。如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。當(dāng)微程序出現(xiàn)分支時(shí),意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過判別測(cè)試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動(dòng)完成修改微地址的任務(wù)??刂谱侄蜗轮纷侄巍?.3.2微程序設(shè)計(jì)技術(shù)Microprogramming微程序設(shè)計(jì)技術(shù)的實(shí)質(zhì)是將程序設(shè)計(jì)技術(shù)和存儲(chǔ)技術(shù)相結(jié)合,用程序設(shè)計(jì)的思想方法來組織操作控制邏輯。將微操作控制信號(hào)按一定規(guī)則進(jìn)行信息編碼,形成控制字(微指令),再把這些微指令按時(shí)間先后排列起來成為微程序,存放在一個(gè)控制存儲(chǔ)器中。
執(zhí)行一條指令實(shí)際上就是執(zhí)行一段存放在控制存儲(chǔ)器中的微程序。§6.3.2.1微指令的格式微指令由(操作)控制字段和下址(順序控制)字段組成。控制字段下址字段控制字段ControlField是微命令的編碼。下址字段AddressField給出下一條微指令在控存的地址。微指令結(jié)構(gòu)演示。
§6.3.2.2微指令的控制字段的編碼方法微指令的控制字段的編碼方法有4種:直接控制法、最短字長編碼、字段編碼法和分組直接控制法。1.直接控制法直接控制法是在微指令的控制字段中,每一位代表一個(gè)微命令,直接對(duì)應(yīng)一種微操作。當(dāng)該位為1時(shí),定義為有該控制信號(hào),為0時(shí),定義為無該控制信號(hào)。某些控制信號(hào)用高低電平表示兩種控制,如等。設(shè)計(jì)微指令時(shí),是否發(fā)出某個(gè)微命令,只要將控制字段中相應(yīng)位置成1或0,就可打開或關(guān)閉某個(gè)控制門。微命令的產(chǎn)生不需經(jīng)過譯碼。直接控制法的優(yōu)點(diǎn)是:控制簡單、直觀,操作并行性最高,可提高速度。但由于機(jī)器的微命令數(shù)可能多達(dá)數(shù)百個(gè),使得微指令字非常長,控存的容量過大。只適用于結(jié)構(gòu)簡單,或速度要求很高的控制部件。【例1
】設(shè)控制器的結(jié)構(gòu)如教材圖6.8所示??偣灿?5個(gè)控制信號(hào)(微命令)。表6.1控制信號(hào)CPT1T2(rs1)→ALUALU→PCPC→ABPC+1PC→ALUALU→GRDB→DRALU→DRDR→ALUDR→DBDB→IRALU→ARAR→ABrs1→GRResetimm/disp→ALUrs,rd→GR程序計(jì)數(shù)器PC指令寄存器IR指令譯碼器ID微操作控制信號(hào)形成部件脈沖源啟停線路時(shí)序信號(hào)產(chǎn)生部件ALU通用寄存器組GRFlag數(shù)據(jù)寄存器DR地址寄存器ARCLK2DBABCB主存儲(chǔ)器(rs)→ALUOPimm/disprs1rs,rdCLK+ADS-如果控制存儲(chǔ)器的容量為4k字,則下址字段需12位。用直接控制法設(shè)計(jì)微指令,控制字段為25位。微指令格式為:控制字段下址字段1225……26……37PC→ABALU→PC2423一條微指令中的所有控制信號(hào)(微命令)是同時(shí)發(fā)出的?!纠?
】設(shè)計(jì)一條加法指令的微指令。這條加法指令的執(zhí)行需要4個(gè)機(jī)器周期,應(yīng)該由4條微指令解釋執(zhí)行。每條微指令發(fā)出的控制信號(hào)(微命令)如下:加法指令的功能:將寄存器rs中的一個(gè)數(shù)與存儲(chǔ)器中的一個(gè)數(shù)(地址為(rs1)+disp)相加,結(jié)果放在寄存器rd中。當(dāng)前正在執(zhí)行的微指令從控制存儲(chǔ)器中取出后放在微指令寄存器中。該寄存器的各個(gè)控制位的輸出直接連到各個(gè)控制門。⑴取指令微指令①指令地址送地址總線PC→AB微指令發(fā)出的控制信號(hào)(微命令)微指令②發(fā)訪存控制命令A(yù)DS,,③指令送指令寄存器DB→IR④程序計(jì)數(shù)器加1PC+1微指令控制字段的代碼為:1010100000000000000011000⑵計(jì)算地址微指令①取兩個(gè)源操作數(shù)rs1→GR,(rs1)→ALU,disp→ALU②加法運(yùn)算+③有效地址送地址寄存器ALU→AR微指令控制字段的代碼為:0001000101001000001000000微指令發(fā)出的控制信號(hào)(微命令)微指令⑶取數(shù)微指令①操作數(shù)地址送地址總線AR→AB②發(fā)訪存控制命令A(yù)DS,,③數(shù)據(jù)送數(shù)據(jù)寄存器DB→DR微指令控制字段的代碼為:0000010000000000000111000⑷加法運(yùn)算和送結(jié)果微指令①兩個(gè)源操作數(shù)送ALUrs→GR,(rs)→ALU,DR→ALU②加法運(yùn)算+③送結(jié)果ALU→GR,置標(biāo)志寄存器F微指令控制字段的代碼為:00000000101110001000000012.最短字長編碼法最短字長編碼是將全部微命令進(jìn)行統(tǒng)一編碼,每個(gè)碼位表示一種微命令,通過譯碼產(chǎn)生微操作控制信號(hào)。N位編碼最多可有2N個(gè)微命令。優(yōu)點(diǎn)是:微指令字長最短。缺點(diǎn)是:必須經(jīng)過完全譯碼。每次只能產(chǎn)生一個(gè)微命令,不能并行執(zhí)行幾個(gè)微命令,效率低,速度慢,因而很少采用。3.字段編碼法字段編碼法是將微操作控制字段劃分為若干個(gè)小字段,每個(gè)小字段是若干個(gè)微命令的編碼,小字段的長度一般為2~4位。各個(gè)小字段之間的微命令可同時(shí)執(zhí)行。字段編碼法吸收了直接控制法和最短字長編碼法的優(yōu)點(diǎn),既能縮短微指令字長,又有較高的并行性,執(zhí)行速度比較快。字段編碼法又分為字段直接編碼法和字段間接編碼法。
字段直接編碼法是每個(gè)小字段單獨(dú)編碼,每個(gè)碼位表示一種微命令。執(zhí)行微指令時(shí),每個(gè)小字段單獨(dú)譯碼,分別產(chǎn)生一個(gè)微操作控制信號(hào)。(見圖6.21)字段i-1字段i字段i+1譯碼器譯碼器譯碼器控制信號(hào)組i-1控制信號(hào)組i控制信號(hào)組i+1微指令字的分段可以按功能分段,也可以按資源分段。按功能分段按功能分段是對(duì)于每一種功能類型分配一個(gè)字段。例如,可以給“傳送數(shù)據(jù)至累加器”這一功能分配一個(gè)字段,該字段的每一個(gè)編碼表示一種數(shù)據(jù)來源。按資源分段按資源分段是把機(jī)器看成是由一組獨(dú)立資源或部件構(gòu)成,給每一種資源部件分配一個(gè)字段。例如,可以給ALU分配一個(gè)字段,該字段的每一個(gè)編碼表示一種ALU操作。實(shí)際設(shè)計(jì)時(shí),可以將兩個(gè)方法結(jié)合使用。在同一個(gè)CPU周期中,可以并行執(zhí)行的微操作是相容性微操作,不可以并行執(zhí)行的微操作是互斥性微操作。一般把互斥的微命令分在同一字段內(nèi),把相容性微操作分在不同字段內(nèi)。例如,向主存發(fā)的讀命令和寫命令是互斥的。又如,ALU的每個(gè)數(shù)據(jù)輸入端有多個(gè)數(shù)據(jù)來源,每個(gè)數(shù)據(jù)輸入端在任一微周期中只能從其中一個(gè)來源輸入一個(gè)數(shù)據(jù),控制該輸入門的微命令是互斥的。本頁和下頁內(nèi)容隱藏,課堂不講例如,可以將6個(gè)互斥的微命令編在一組,用3位二進(jìn)制代碼表示每個(gè)微命令。一般每個(gè)字段要留出一個(gè)代碼00…0,表示本段不發(fā)出任何微命令。2位代碼可表示3個(gè)微命令,3位代碼可以表示4~7個(gè)微命令,4位代碼可以表示8~15個(gè)微命令。
字段間接編碼法是在字段直接編碼法的基礎(chǔ)上進(jìn)一步縮短微指令字長的方法。(見圖6.22)某些參與編碼的微命令不能由一個(gè)控制字段直接定義,而需要2個(gè)或多個(gè)控制字段來定義,一個(gè)字段的某些微操作需要另一個(gè)字段來解釋才能確定。一個(gè)解釋字段要同時(shí)解釋多個(gè)字段才能有效地縮短字長。在局部的微操作控制中采用字段間接編碼法才是有效的。通常,字段間接編碼法只作為字段直接編碼法的一種輔助手段。在實(shí)際應(yīng)用中,一條水平型微指令可同時(shí)采用直接控制法、字段直接編碼法和字段間接編碼法。例如,字段A的微命令受字段B控制。4.分組直接控制法分組直接控制法的思想是把全部微指令分成若干組。在不同組的微指令之間,通過位(bit)的復(fù)用使微指令字長得到縮短。分組直接控制法把微指令的控制字段分成兩部分。第一部分是組選擇字段。第二部分是微命令字段。微指令不需要譯碼。組選擇微命令下址控制字段下址字段微指令的微命令字段中的每一個(gè)bit,在同一個(gè)組的各條微指令中唯一的表示一個(gè)微命令,而在不同組的微指令中則可以表示不同的微命令。由組選擇bit決定微指令發(fā)出的到底是什么微命令。微指令中的操作命令不需要譯碼,在每個(gè)組內(nèi)采用直接控制法,發(fā)出的微命令通過一個(gè)控制門送往執(zhí)行部件。組選擇字段中的每一個(gè)bit是一組控制門的選通信號(hào)。當(dāng)某個(gè)bit為1時(shí),對(duì)應(yīng)的控制門被打開。一條微指令屬于哪個(gè)組,則該微指令的相應(yīng)的組選擇位為1,其他位均為0?!璦bcdefghij0001020304050607080910111213141516171819f00f10f19j00j10j19a00a10a19…………Ga00Ga10Ga19Gf00Gf10Gf19Gj00Gj10Gj19組選擇字段微命令字段…………………………………………在這個(gè)例子中,微指令分10個(gè)組,每組20個(gè)微命令。在控制字段中,a~j是組選擇位,00~19是微命令位。a00~a19,b00……,f00~f19,……,j00~j19是輸出的微操作。當(dāng)組選擇位a=1時(shí)表示該微指令是a組的。a組的微命令a00~a19通過控制門Ga00~Ga19送往執(zhí)行部件。微指令的分組一般可以根據(jù)微指令的操作類型進(jìn)行分組,在一個(gè)組中安排盡可能多的發(fā)出某幾個(gè)微命令的微指令。例如,可把微指令分為算術(shù)邏輯運(yùn)算類,移位操作類,訪存和I/O操作類,寄存器傳送類,程序控制類等。每組包含的全部微命令是該組中所有微指令發(fā)出的微命令集合的并集。分組直接控制法是在直接控制法的基礎(chǔ)上發(fā)展來的。分組直接控制法克服了直接控制法設(shè)計(jì)的微指令字的控制字段太長、空間利用率極低的缺點(diǎn),同時(shí)又避免了字段編碼法需要譯碼增加了時(shí)間延遲的缺點(diǎn)。直接控制法的執(zhí)行速度最快,字段編碼法還需要經(jīng)過譯碼,增加了延遲時(shí)間,分組直接控制法不需要譯碼,因而微指令的執(zhí)行速度比字段直接編碼法的高。分組直接控制法的微指令的長度比字段直接編碼法顯著縮短。本頁內(nèi)容隱藏,課堂不講5.常數(shù)源字段在微指令中,一般還設(shè)有一個(gè)常數(shù)源字段E?;居猛救缤噶钪械牧⒓磾?shù)。E的長度僅幾位,用來給某些部件發(fā)送常數(shù),有時(shí)稱為發(fā)送字段。如,作為計(jì)數(shù)器的初值,或送入ALU運(yùn)算,等。有時(shí)可用于參與其他控制字段的間接編碼?!?.3.2.3微程序流的控制當(dāng)前正在執(zhí)行的微指令稱為現(xiàn)行微指令?,F(xiàn)行微指令所在的控制存儲(chǔ)器單元的地址稱為現(xiàn)行微地址?,F(xiàn)行微指令執(zhí)行完畢后,下一條要執(zhí)行的微指令稱為后繼微指令。后繼微指令所在的控存單元的地址稱為后繼微地址。微程序流的控制是指當(dāng)前微指令執(zhí)行完畢后,怎樣控制產(chǎn)生后繼微指令的微地址。機(jī)器加電后執(zhí)行的第一條微指令(取指令微指令)地址來自專門的硬件電路,控制實(shí)現(xiàn)取第一條指令的操作。產(chǎn)生后繼微指令地址的方法有:由指令操作碼譯碼產(chǎn)生,由微指令的下址字段指出,增量方式,增量與下址字段結(jié)合,多路轉(zhuǎn)移方式和微中斷。1.由指令操作碼譯碼產(chǎn)生后繼微指令地址若把取指令微指令看作是公共操作,則每個(gè)微程序的第一條微指令的微地址(微程序的入口地址)是由指令操作碼譯碼產(chǎn)生的。當(dāng)一條指令取入指令寄存器IR中后,對(duì)操作碼進(jìn)行譯碼,得到該指令的第一條微指令的地址。用此地址從控制存儲(chǔ)器中取出微指令,放入微指令寄存器中。微程序控制器的指令譯碼器可以用只讀存儲(chǔ)器實(shí)現(xiàn)。把指令操作碼作為地址訪問只讀存儲(chǔ)器,從該地址單元讀出的就是微程序的入口地址。2.由微指令的下址字段指出后繼微指令地址(斷定方式)微指令的下址字段的內(nèi)容就是后繼微指令的地址。在每條微指令取到微指令寄存器后,微指令的控制字段發(fā)出該條微指令應(yīng)發(fā)出的微命令,用微指令的下址字段的內(nèi)容作為地址訪問控制存儲(chǔ)器去取下一條微指令。當(dāng)微程序控制器是由指令操作碼譯碼和由微指令的下址字段指出后繼微指令地址時(shí),微程序控制器的簡化框圖如右:操作碼地址碼指令譯碼控制存儲(chǔ)器控制字段下址字段IRμIR圖6-11微程序控制器簡框圖3.以增量方式產(chǎn)生后繼微指令地址如果順序執(zhí)行微指令,則將微程序計(jì)數(shù)器中的現(xiàn)行微地址加1,產(chǎn)生后繼微地址。這種方式可使微指令的下址字段很短,僅起選擇作用。操作碼地址碼指令譯碼控制存儲(chǔ)器控制字段下址字段IRμIRμPC譯碼器+1轉(zhuǎn)移條件入口缺點(diǎn)是微程序轉(zhuǎn)移不靈活。如果遇到轉(zhuǎn)移類微指令,則由μPC與形成轉(zhuǎn)移微地址的邏輯電路組合成后繼微地址。微程序圖6-23“計(jì)數(shù)器”方式的原理圖4.增量與下址字段結(jié)合產(chǎn)生后繼微指令地址將微指令的下址字段分成2部分:轉(zhuǎn)移控制字段BCF,轉(zhuǎn)移地址字段BAF。當(dāng)微程序?qū)崿F(xiàn)轉(zhuǎn)移時(shí),將BAF送μPC,否則順序執(zhí)行下一條微指令(μPC+1)??刂谱侄蜝CFBAF轉(zhuǎn)移地址字段BAF的長度有兩種情況:①與μPC的位數(shù)相等。可從控存的任一單元取微指令。轉(zhuǎn)移靈活,但增加了微指令的長度。②比μPC短。由原來的μPC的若干位與BAF組成轉(zhuǎn)移地址。轉(zhuǎn)移點(diǎn)在μPC值的附近,或在控存的某區(qū)域內(nèi)。轉(zhuǎn)移地址受到限制,可縮短微指令的長度。5.多路轉(zhuǎn)移方式一條微指令存在多個(gè)轉(zhuǎn)移分支。可減少微程序的長度。6.微中斷與程序中斷的概念相似。作業(yè)第6章—2,5,8§6.3.2.4微程序流程圖微程序也可以用流程圖表示。例如:1032103110121011ADD1030JMP1110Load1010取指令PC+1計(jì)算地址1011計(jì)算地址1000加法計(jì)算1000取數(shù)1012送結(jié)果10001000計(jì)算地址1031取數(shù)1032假設(shè),后繼微指令地址是由指令操作碼譯碼和由微指令的下址字段指出。圖6-10微程序流程圖舉例§6.3.2.5水平型微指令與垂直型微指令微指令的格式大體上可分成兩類:HorizontalMicroinstruction水平型微指令和VerticalMicroinstruction垂直型微指令。水平型微指令是在一條微指令中定義并執(zhí)行多個(gè)可并行操作的微命令,控制盡可能多并行信息傳送。垂直型微指令是一次只能執(zhí)行一個(gè)微命令的微指令。在微指令中有微操作碼字段,采用最短字長編碼。水平型微指令與垂直型微指令的比較:1.水平型微指令并行操作能力強(qiáng)、效率高、靈活性強(qiáng)。在一條水平型微指令中設(shè)置有控制機(jī)器中信息傳送通路以及進(jìn)行所有微操作的微命令。在進(jìn)行微程序設(shè)計(jì)時(shí),可以同時(shí)定義比較多的并行操作的微命令,控制盡可能多并行信息傳送,使微指令效率高、靈活性強(qiáng)。在一條垂直型微指令中,一般只能完成1個(gè)操作,控制一、兩個(gè)信息傳送通路,微指令的并行操作能力低,效率低。2.水平型微指令執(zhí)行一條指令的時(shí)間比垂直型微指令短。水平型微指令并行操作能力強(qiáng),可用比較少的微指令數(shù)來實(shí)現(xiàn)一條指令的功能,縮短了指令的執(zhí)行時(shí)間。一條水平型微指令完成的功能相當(dāng)于若干條垂直型微指令。此外,垂直型微指令必須經(jīng)過完全譯碼,影響速度。3.用水平型微指令編制的微程序比較短,但微指令字比較長。垂直型微指令字比較短而微程序長。
4.水平型微指令編程難以掌握。垂直型微指令與機(jī)器指令相似,編程比較容易。水平型微指令與機(jī)器指令差別很大,一般需要對(duì)機(jī)器的結(jié)構(gòu)、數(shù)據(jù)通路、時(shí)序系統(tǒng)以及微命令很精通才能進(jìn)行設(shè)計(jì)。§6.3.2.6控制存儲(chǔ)器的容量控制存儲(chǔ)器的容量取決于微指令的總條數(shù)和微指令字的長度。而微指令的總條數(shù)取決于實(shí)現(xiàn)指令系統(tǒng)的指令條數(shù)、指令的復(fù)雜性和每條指令字的微程序長度。實(shí)際的計(jì)算機(jī)的控制信號(hào)數(shù)量很多,一般為100~300多個(gè)??刂拼鎯?chǔ)器的容量可達(dá)數(shù)十KB以上。例如,微指令字的控制字段的長度為108bit,控制存儲(chǔ)器有4K字(微指令的總條數(shù)≤4K)。要求微程序能夠在整個(gè)控存范圍內(nèi)實(shí)現(xiàn)轉(zhuǎn)移,則微指令的下址字段的長度應(yīng)該為微指令字的長度=控制字段長度+下址字段長度控制存儲(chǔ)器的容量=微指令字的長度×控存字?jǐn)?shù)12bit。=120bit=15Byte。=120bit×4K=60KB。=108+12某微程序控制計(jì)算機(jī)共有65個(gè)微命令,控制存儲(chǔ)器的字?jǐn)?shù)為1K字,微程序可在整個(gè)控制存儲(chǔ)器中實(shí)現(xiàn)轉(zhuǎn)移。①采用直接控制法②采用字段直接編碼,每個(gè)字段為2位。③采用最短字長編碼解:控制存儲(chǔ)器的字?jǐn)?shù)為1K=210字,【例3】所以,微指令字的下址字段長度應(yīng)該為10位分別求以下3種情況下控制存儲(chǔ)器的容量應(yīng)該為多少?①直接控制法共有65個(gè)微命令,所以微指令字的控制字段長度為 65位微指令字長=控制字段長度+下址字段長度= 65+10=75位控制存儲(chǔ)器的容量=微指令字長度×控存字?jǐn)?shù)= 1024×75位②字段直接編碼,每個(gè)字段為2位2位編碼可以表示3種微命令,設(shè)每個(gè)字段都為3種微命令的2位編碼,則控制字段的長度=2×65/3 =44位微指令字長=控制字段長度+下址字段長度= 44+10=54位控制存儲(chǔ)器的容量=1024×54位③最短字長編碼27=128>65微指令字長=控制字段長度+下址字段長度=控制存儲(chǔ)器的容量=7位∴控制字段的長度=7+10=17位1024×17位如果要在控制器設(shè)計(jì)的早期預(yù)先估計(jì)控制存儲(chǔ)器的容量,但又不知道微指令條數(shù),可以根據(jù)機(jī)器指令條數(shù)來估算微指令條數(shù)。例如,某計(jì)算機(jī)有175條指令,若每條機(jī)器指令需6條微指令解釋執(zhí)行,則【例4】指令操作碼為8位,最多可有微指令條數(shù)=175×6=1050條控制存儲(chǔ)器的字?jǐn)?shù)應(yīng)該為2048=211字28=256條機(jī)器指令。所以,微指令字的下址字段長度應(yīng)該為 11位如果機(jī)器指令條數(shù)也不知道,只知道指令操作碼的位數(shù),也可以估算出微指令條數(shù)。例如,某計(jì)算機(jī)采用8位定長指令操作碼,若每條機(jī)器指令需6條微指令解釋執(zhí)行。則微指令條數(shù)=256×6=控制存儲(chǔ)器的字?jǐn)?shù)應(yīng)該為2048=211字1536條本頁內(nèi)容隱藏,課堂不講微程序控制器設(shè)計(jì)方法小結(jié)用存儲(chǔ)程序的思想來形成各條機(jī)器指令的微操作命令。
1.把每條機(jī)器指令所需的微操作命令組合成若干條微指令,再將這些微指令構(gòu)成一個(gè)微程序。2.將全部微程序存入一個(gè)高速的控制存儲(chǔ)器中。3.執(zhí)行機(jī)器指令就變成了執(zhí)行該指令對(duì)應(yīng)的一個(gè)微程序。每條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。機(jī)器指令與微指令的關(guān)系【問】一會(huì)兒取機(jī)器指令,一會(huì)兒取微指令,它們之間到底是什么關(guān)系?【解】1.一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,這個(gè)微程序是由若干條微指令序列組成的。因此,一條機(jī)器指令的功能是由若干條微指令組成的序列來實(shí)現(xiàn)的。簡言之,一條機(jī)器指令所完成的操作劃分成若干條微指令來完成,由微指令進(jìn)行解釋和執(zhí)行。2.從指令與微指令,程序與微程序,地址與微地址的一一對(duì)應(yīng)關(guān)系來看,前者與內(nèi)存儲(chǔ)器有關(guān),后者與控制存儲(chǔ)器有關(guān)。與此相關(guān),也有相對(duì)應(yīng)的硬設(shè)備,請(qǐng)看演示。
§6.4硬布線控制技術(shù)簡介返回在CPU中,由“時(shí)序控制信號(hào)形成部件”產(chǎn)生控制計(jì)算機(jī)各部分操作所需的控制信號(hào)。這個(gè)部件的組成有兩種方式:微程序控制方式:控制存儲(chǔ)器硬布線控制方式:硬布線控制(HardwiredControl)又稱“硬連邏輯控制”或“組合邏輯控制”。
§6.4.1硬布線控制器的實(shí)現(xiàn)方法用邏輯線路替代控制存儲(chǔ)器。控制存儲(chǔ)器中微指令的執(zhí)行采用時(shí)序脈沖信號(hào)控制。硬布線控制器的設(shè)計(jì)方法是:1.列出全部微操作分析并列出各條指令在取指、分析、執(zhí)行中所需的全部微操作。(根據(jù)給定的CPU數(shù)據(jù)通路和指令功能)2.建立操作時(shí)間表根據(jù)各條指令所需的全部微操作,按執(zhí)行的先后順序,再加上必要的控制條件,列出全部指令所需的微操作命令的操作時(shí)間表。確定機(jī)器的狀態(tài)周期、節(jié)拍與工作脈沖?!?.4.2硬布線控制器的設(shè)計(jì)方法3.求微操作命令的邏輯函數(shù)表達(dá)式
根據(jù)微操作時(shí)間表,對(duì)各條指令中所具有的同一種操作(公操作)進(jìn)行集中、合并、化簡,求出每一個(gè)操作的組合邏輯函數(shù)表達(dá)式。4.作組合邏輯框圖根據(jù)求出的組合邏輯函數(shù)表達(dá)式,畫出產(chǎn)生微操作命令序列的組合邏輯框圖。兩級(jí)門電路的實(shí)現(xiàn)PLA(可編程邏輯陣列)PAL(可編程陣列邏輯)GAL(通用陣列邏輯)VLSI直接實(shí)現(xiàn)§6.4.3硬布線邏輯的實(shí)現(xiàn)途徑優(yōu)點(diǎn):當(dāng)機(jī)器的指令集中指令條數(shù)較少且操作碼規(guī)整時(shí),譯碼速度快,硬件邏輯的執(zhí)行速度快。缺點(diǎn):當(dāng)機(jī)器的指令集中指令數(shù)量較大時(shí),控制線路復(fù)雜;控制器的調(diào)試難度增大;自動(dòng)化生產(chǎn)程度將降低。典型機(jī)器:早期的CPURISC機(jī)器§6.4.4硬布線控制器的特點(diǎn)§6.4.5“微程序控制”與“硬布線控制”的比較硬布線控制器與微程序控制器,除了操作控制信號(hào)的形成方法和原理有差別外,其余的組成部分沒有本質(zhì)上的差別。微程序控制器的控制功能是在存放微程序的控制存儲(chǔ)器和存放當(dāng)前正在執(zhí)行的微指令的微指令寄存器直接控制下實(shí)現(xiàn)的。電路比較規(guī)整,各條指令的控制信號(hào)的差別反映在控制存儲(chǔ)器的內(nèi)容上。增加或修改指令只要增加或修改控存內(nèi)容即可。有利于降低設(shè)計(jì)成本和實(shí)現(xiàn)指令兼容。
硬布線控制由邏輯門組合實(shí)現(xiàn),電路比較零亂、復(fù)雜。修改和增加指令極其困難。在同樣的半導(dǎo)體工藝條件下,微程序控制的速度比硬布線控制的速度低。因?yàn)?,?zhí)行每條微指令都要從控存中讀取,影響了速度。而硬布線控制邏輯的速度主要取決于電路延遲,比訪問存儲(chǔ)器的時(shí)間短。所以,RISC機(jī)和一些追求高速的CISC機(jī)都采用或部分采用硬布線控制。§6.5控制器的控制方式控制器控制一條指令運(yùn)行的過程是依次執(zhí)行一系列微操作的過程。微操作嚴(yán)格按照一定的時(shí)序進(jìn)行。不同指令對(duì)應(yīng)的微操作數(shù)及其繁簡程度不同,每條指令和每個(gè)微操作所需的執(zhí)行時(shí)間也不同??刂破鞯目刂品绞绞侵感纬煽刂撇煌⒉僮餍蛄械臅r(shí)序控制信號(hào)的方法。常用的時(shí)序控制方式有:同步控制方式、異步控制方式和聯(lián)合控制方式。
指令周期InstructionCycle是取指令和執(zhí)行指令的時(shí)間總和,它包括若干個(gè)機(jī)器周期MachineCycle。返回§6.5.1同步控制方式SynchronousControlMode同步控制方式是由基準(zhǔn)時(shí)標(biāo)控制微操作序列,每個(gè)微操作出現(xiàn)的時(shí)間與統(tǒng)一的基準(zhǔn)時(shí)鐘保持一致。在程序運(yùn)行時(shí),任何指令的執(zhí)行或指令中每個(gè)微操作的執(zhí)行都受事先確定的時(shí)序信號(hào)所控制。每個(gè)時(shí)序信號(hào)的結(jié)束就標(biāo)志著一個(gè)微操作或一條指令已經(jīng)完成。隨即開始執(zhí)行后續(xù)的微操作,或自動(dòng)轉(zhuǎn)向下一條指令的運(yùn)行。在同步控制方式下,一條機(jī)器指令由確定的機(jī)器周期組成,每個(gè)機(jī)器周期又分成若干個(gè)節(jié)拍。在頻率固定的脈沖作用下形成這些節(jié)拍和周期。在任何情況下,一條指令的執(zhí)行所需的機(jī)器周期和節(jié)拍數(shù)都是不變的。特點(diǎn):控制方式簡單,容易實(shí)現(xiàn),有較大數(shù)量的時(shí)間浪費(fèi)。應(yīng)用:CPU內(nèi)部或設(shè)備內(nèi)部。1.中央控制中央控制采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。指令的功能不同,所需的微操作也不同。以最繁的需時(shí)最多的指令為標(biāo)準(zhǔn)來確定機(jī)器周期的節(jié)拍數(shù)和時(shí)間間隔。顯然,對(duì)于那些比較簡單的微操作將造成時(shí)間浪費(fèi)。優(yōu)點(diǎn)是控制器的邏輯相對(duì)簡單,時(shí)間便于控制。但要求所有的指令都以相同方式進(jìn)行處理,效率和性能上存在不足。如果要提高效率,就必須讓所有指令的處理時(shí)間都相同或相近,因而限制了采用某些功能復(fù)雜、處理時(shí)間長的指令。反之,若采用了功能復(fù)雜、處理時(shí)間長的指令,控制器處理指令的時(shí)序要加長,那些功能簡單的指令就存在時(shí)間浪費(fèi)、處理效率不高等問題。本頁內(nèi)容隱藏,課堂不講機(jī)器周期電平節(jié)拍C0C1C2C3M0M1M2M3T指令周期時(shí)鐘同步控制的時(shí)序圖本頁內(nèi)容隱藏,課堂不講2.局部控制局部控制采用不同節(jié)拍的機(jī)器周期,以解決微操作執(zhí)行時(shí)間不統(tǒng)一的問題。給操作較繁的微操作安排節(jié)拍數(shù)多的機(jī)器周期,較簡單的微操作安排在較短的機(jī)器周期內(nèi)。每條指令都有獨(dú)立的處理方式或時(shí)序分配方式。指令周期取決于所需的微操作序列長度。優(yōu)點(diǎn)是處理效率高。但控制器邏輯復(fù)雜。本頁內(nèi)容隱藏,課堂不講3.中央控制和局部控制相結(jié)合大多數(shù)指令的執(zhí)行過程中包含的微操作個(gè)數(shù)及指令的執(zhí)行時(shí)間比較接近或相等,可以將這樣的指令作為標(biāo)準(zhǔn)建立統(tǒng)一的時(shí)序節(jié)拍,稱為中央節(jié)拍,由中央控制器發(fā)出。少數(shù)指令(如,乘法、除法)執(zhí)行過程中包含的微操作個(gè)數(shù)較多,指令的執(zhí)行時(shí)間比較長,需要增加節(jié)拍。就在中央節(jié)拍中間插入局部節(jié)拍,來完成相應(yīng)的操作。例如,執(zhí)行乘除法指令時(shí),由一組中央節(jié)拍完成取指令操作。取出指令后,暫停中央節(jié)拍,啟動(dòng)局部節(jié)拍,完成N次加法和移位操作。然后結(jié)束局部節(jié)拍,轉(zhuǎn)回中央節(jié)拍,繼續(xù)執(zhí)行指令的操作。J1J2J3J4Jn-1
JnM1M2M3M4M1M2M3M4插入例如:中央節(jié)拍局部節(jié)拍局部節(jié)拍的寬度與中央節(jié)拍的寬度相等。本頁內(nèi)容隱藏,課堂不講中央控制和局部控制相結(jié)合的方式,就是大多數(shù)指令采用相同的中央控制和指令基本周期。少數(shù)在指令周期內(nèi)不能完成的指令,對(duì)其中處理時(shí)間比較長的微操作采用局部控制,暫停中央控制節(jié)拍,啟動(dòng)局部控制節(jié)拍,直到該微操作結(jié)束。為了使中央節(jié)拍能適合各種指令的需要,可將中央節(jié)拍分為若干組,每組節(jié)拍稱為一種機(jī)器周期。一條指令的操作取一種或幾種機(jī)器周期組合而成。一般的計(jì)算機(jī)至少要設(shè)置以下機(jī)器周期:取指令周期讀存儲(chǔ)器周期中斷周期寫存儲(chǔ)器周期此外,還可有“間址周期”,“I/O讀周期”,“I/O寫周期”,等。本頁內(nèi)容隱藏,課堂不講指令操作可以按指令功能的繁簡選用一個(gè)或幾個(gè)機(jī)器周期來實(shí)現(xiàn)。例如,寄存器操作指令,只需1個(gè)取指令周期,寄存器操作在取指令周期的節(jié)拍中完成。直接尋址的指令,需取指令周期+1個(gè)讀/寫存儲(chǔ)器周期。間接尋址的指令,需取指令周期+2個(gè)讀/寫存儲(chǔ)器周期。本頁內(nèi)容隱藏,課堂不講§6.5.2異步控制方式AsynchronousControlMode異步控制方式不用統(tǒng)一的基準(zhǔn)時(shí)標(biāo)信號(hào),而由專用的應(yīng)答線路控制微操作的時(shí)序。前一個(gè)微操作的“終了”信號(hào)可命令后一個(gè)微操作啟動(dòng)。系統(tǒng)各個(gè)部件之間沒有統(tǒng)一的時(shí)鐘,每條指令、每個(gè)微操作需要多少時(shí)間就占用多少時(shí)間。微操作信號(hào)的寬度是由對(duì)應(yīng)微操作的需要來確定,幾乎沒有時(shí)間的浪費(fèi)。當(dāng)控制器發(fā)出進(jìn)行某一微操作控制信號(hào)后,等待執(zhí)行部件在完成該微操作后發(fā)回的“回答“信號(hào),作為本次微操作的結(jié)束信號(hào),再開始新的操作。異步控制方式需采用各種應(yīng)答(握手)電路。微操作序列沒有固定的周期節(jié)拍和嚴(yán)格的時(shí)鐘同步。異步控制方式的缺點(diǎn)是:設(shè)計(jì)比較復(fù)雜,器件多,控制方式比較復(fù)雜,系統(tǒng)調(diào)試難度大,工作可靠性不易保證。AB§6.5.3聯(lián)合控制方式將同步控制方式和異步控制方式結(jié)合起來,指令的微操作序列既有同步控制的,又有異步控制的。
CPU內(nèi)部的數(shù)據(jù)加工、傳送指令的微操作序列的執(zhí)行時(shí)間比較接近,采用同步控制。其中某些執(zhí)行時(shí)間較長的指令采用中央控制和局部控制相結(jié)合的方式。
I/O操作指令,由于I/O設(shè)備的工作速度與CPU的速度難以匹配,時(shí)間難以確定,采用異步控制。以執(zhí)行部件送回的應(yīng)答信號(hào)作為本次微操作的結(jié)束。
CPU與主存儲(chǔ)器之間的數(shù)據(jù)傳送操作,需要的時(shí)間很長,采用異步控制。§6.5.4人工控制為了調(diào)試系統(tǒng)和軟件開發(fā)的需要,計(jì)算機(jī)的控制臺(tái)、面板或內(nèi)部電路板上需設(shè)置一些開關(guān)、按鈕,以進(jìn)行人工控制。如①Reset使計(jì)算機(jī)處于初始狀態(tài)。②連續(xù)或單步轉(zhuǎn)換開關(guān)。③符合停機(jī)控制方式小結(jié)同步控制在任何情況下,一條已定的指令在執(zhí)行時(shí)所需的機(jī)器周期數(shù)和節(jié)拍數(shù)都是固定不變的??刂品绞剑和耆y(tǒng)一的機(jī)器周期(或節(jié)拍)執(zhí)行各種不同的指令。采用不同節(jié)拍的機(jī)器周期。采用中央控制和局部控制相結(jié)合的方法。異步控制每條指令、每個(gè)微操作所需要多少時(shí)間就占用多少時(shí)間。聯(lián)合控制(同步+異步)人工控制為調(diào)試機(jī)器和軟件開發(fā)需要,設(shè)定的人工控制開關(guān)方式。作業(yè)補(bǔ)充:舉出CPU中6個(gè)主要寄存器的名稱及功能。比較水平微指令和垂直微指令的優(yōu)缺點(diǎn)。什么是RISC?RISC指令系統(tǒng)的特點(diǎn)是什么?控制器有哪幾種類型?各有什么特點(diǎn)?什么是指令周期、機(jī)器周期、時(shí)鐘周期?它們之間有何關(guān)系?§6.6流水線工作原理§6.6.1指令的解釋計(jì)算機(jī)的速度可以用每秒執(zhí)行的指令條數(shù)來表示。為了加快單條指令的解釋過程可采用的方法有:選用更高速的器件減少解釋過程所需拍數(shù)使解釋過程的各個(gè)動(dòng)作并行執(zhí)行指令的解釋可以有三種控制方式:順序,重疊,流水。怎樣加快一條指令的解釋過程?返回1.順序方式各條機(jī)器指令間順序串行執(zhí)行。一條指令執(zhí)行完之后,才取下條指令來執(zhí)行。指令內(nèi)的各條微指令也是順序串行執(zhí)行的。例如,把解釋一條機(jī)器指令分為:取指,分析,執(zhí)行,3個(gè)子過程。順序方式的優(yōu)點(diǎn)是控制簡單。缺點(diǎn)是速度上不去,機(jī)器各部件的利用率不高。取指k分析k執(zhí)行k分析k+1執(zhí)行k+1取指k+2……取指k+12.重疊方式Overlap在解釋第k條指令的操作完成之前,就可開始解釋第k+1條指令。例如,把解釋一條機(jī)器指令分為:取指,執(zhí)行,兩個(gè)子過程。重疊解釋不能加快一條指令的實(shí)現(xiàn),但能加快相鄰2條指令以至一段程序的解釋。重疊方式把一條指令的解釋過程分解成“取指”、“執(zhí)行”兩個(gè)子過程。若每個(gè)子過程需Δt時(shí)間,一條指令需2Δt時(shí)間完成。機(jī)器每隔Δt時(shí)間完成一條指令的解釋。吞吐率提高一倍。取指k執(zhí)行k執(zhí)行k+1取指k+1取指k+2執(zhí)行k+2Δt一次重疊取指k執(zhí)行k+1取指k+1執(zhí)行k+2執(zhí)行k取指k+2取指k執(zhí)行k執(zhí)行k+1取指k+1取指k+2執(zhí)行k+2取指k+3執(zhí)行k+3取指k執(zhí)行k執(zhí)行k+1取指k+1取指k+2執(zhí)行k+2取指k+3執(zhí)行k+3重疊方式與順序方式的比較3.流水方式Pipelining將一個(gè)重復(fù)的時(shí)序過程分解成為多個(gè)子過程Subprocess。每個(gè)子過程都可有效地在其專用功能段上與其它子過程同時(shí)執(zhí)行。時(shí)空?qǐng)DSpace-Time-Diagram111122223434343456565656789789789789空間(功能段)取指分析取數(shù)執(zhí)行時(shí)間通過時(shí)間排空時(shí)間斷流t0t1t2t3t4t5t6t7t8t9t10t11t12t13t14入口取指令指令譯碼取操作數(shù)執(zhí)行出口各功能段時(shí)間相等例如,分成4個(gè)功能段Segment:時(shí)空?qǐng)D各功能段時(shí)間不等111122223333空間(功能段)取指分析取數(shù)執(zhí)行時(shí)間t0t1t2t3t4t5t6t7t8t9t10t11t12t13t144444流水線的主要技術(shù)指標(biāo)有:吞吐率,加速比,效率,等。①吞吐率ThroughputRate:單位時(shí)間內(nèi)流水線所能處理的任務(wù)數(shù)(或指令數(shù)),或流水線能輸出的結(jié)果的數(shù)量。②最大吞吐率:當(dāng)流水線在連續(xù)流動(dòng)達(dá)到穩(wěn)定狀態(tài)后的吞吐率。如果各功能段時(shí)間都相等,Δti=Δt0
TPmax=1/Δt0
如果各功能段時(shí)間不相等,TPmax=1/max(Δti)取決于最慢的段。氣泡§6.6.2流水技術(shù)的特點(diǎn)①流水線可分成若干個(gè)互有聯(lián)系的子過程,分別由專用功能段實(shí)現(xiàn)。②實(shí)現(xiàn)子過程的功能段所需時(shí)間盡可能相等,避免因不等而產(chǎn)生處理的瓶頸,形成流水線的斷流。③形成流水處理需要一段準(zhǔn)備時(shí)間,稱為“通過時(shí)間”。此后,流水過程才能穩(wěn)定。④指令流發(fā)生不是順序執(zhí)行時(shí),會(huì)使流水過程中斷。再形成流水過程需“通過時(shí)間”。要提高效率,不應(yīng)常斷流。⑤流水線技術(shù)適用于大量重復(fù)的程序過程。只有在輸入端能連續(xù)地提供任務(wù),流水線效率才能充分發(fā)揮。流水線結(jié)構(gòu)①指令流水線InstructionPipeline在指令流水過程中要不斷訪存,所需時(shí)間不確定,難以用統(tǒng)一的時(shí)鐘控制各段工作。②運(yùn)算操作流水線ArithmeticPipelining按照指令的要求,選擇合適的算法,把運(yùn)算過程分成多個(gè)子過程。使各個(gè)子過程的時(shí)間盡量相等。各段與一個(gè)統(tǒng)一的時(shí)鐘同步。在各段間增加鎖存器?!?.6.3流水線要解決的技術(shù)問題要實(shí)現(xiàn)重疊和流水,還要解決:訪存沖突,相關(guān),等問題。1.訪存沖突ResourceConflicts在同一時(shí)間段,“分析k”在形成操作數(shù)有效地址后要訪存取操作數(shù),而“取指k+1”也需訪存取指令。取指k分析k執(zhí)行k取指k+1分析k+1執(zhí)行k+1取指k+1取指k+1分析k+2執(zhí)行k+2取指k+2解決訪存沖突的方法:①采用“哈佛結(jié)構(gòu)”。指令和操作數(shù)分別存放在2個(gè)獨(dú)立編址且可同時(shí)訪問的存儲(chǔ)器內(nèi)。②采用多體交叉存儲(chǔ)器。使第k條指令的操作數(shù)與第k+1條指令不在同一個(gè)存儲(chǔ)體內(nèi)。③設(shè)置指令緩沖寄存器組。把若干條指令預(yù)先從主存取到指緩。取指令部件從指緩取指令,執(zhí)行部件從主存取操作數(shù),互相不干擾。只要指緩不滿,就自動(dòng)從主存預(yù)取指令。2.流水線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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租賃公寓轉(zhuǎn)租合同協(xié)議書
- 2025合同解除補(bǔ)償協(xié)議書
- 2024-2025學(xué)年度湖南省株洲世紀(jì)星高級(jí)中學(xué)高二下學(xué)期第一次月考?xì)v史試題(含答案)
- 景德鎮(zhèn)市重點(diǎn)中學(xué)2025屆高三下學(xué)期期中數(shù)學(xué)試題理試題
- 25年一月份全屋隔音棉驗(yàn)收補(bǔ)充協(xié)議
- 第5課 隋唐時(shí)期的民族交往與交融(課件)-2024-2025學(xué)年七年級(jí)歷史下冊(cè)同步教學(xué)課件(統(tǒng)編版2024)
- 助殘委托服務(wù)協(xié)議
- 幼兒園常見事故預(yù)防和處理
- 李努生:對(duì)加強(qiáng)廉政建設(shè)的思考
- 2025安全巡查員技能提升合同模板
- 夏暉冷鏈物流公司
- 2025年上半年江西省水務(wù)集團(tuán)限責(zé)任公司招聘60人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 人教版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)第五單元《三角形》作業(yè)設(shè)計(jì)
- 2025年遼寧省能源控股集團(tuán)所屬遼能股份公司招聘筆試參考題庫附帶答案詳解
- 第五課 我國的根本政治制度課件高考政治一輪復(fù)習(xí)統(tǒng)編版必修三政治與法治
- 2024年南通市公安局蘇錫通園區(qū)分局招聘警務(wù)輔助人員考試真題
- 不良資產(chǎn)處置業(yè)務(wù)操作流程與財(cái)務(wù)管理
- 填海石采購合同6篇
- 2025屆山東省青島市高三下學(xué)期一模英語試題(原卷版+解析版)
- 江蘇省蘇州市2022-2023學(xué)年高二下學(xué)期數(shù)學(xué)期中試卷(含答案)
- 2025屆福建省廈門市高三第二次質(zhì)量檢測(cè)地理試題(原卷版+解析版)
評(píng)論
0/150
提交評(píng)論