白中英計算機組成原理第5章-中央處理機_第1頁
白中英計算機組成原理第5章-中央處理機_第2頁
白中英計算機組成原理第5章-中央處理機_第3頁
白中英計算機組成原理第5章-中央處理機_第4頁
白中英計算機組成原理第5章-中央處理機_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章中央處理機目錄5.1CPU的功能和組成

——掌握5.2指令周期

——掌握5.3時序產(chǎn)生器和控制方式

——了解5.4微程序控制器

——掌握5.5硬連線控制器

——了解5.6傳統(tǒng)CPU

——了解5.7流水CPU

——掌握5.8RISCCPU

——了解5.9多媒體CPU

——了解2/2/20232考研大綱要求(一)CPU的功能和基本結(jié)構(gòu)(二)指令執(zhí)行過程(三)數(shù)據(jù)通路的功能和基本結(jié)構(gòu)(四)控制器的功能和工作原理硬布線控制器微程序控制器微程序、微指令和微命令微指令的編碼方式;微地址的形成方式(五)指令流水線指令流水線的基本概念超標量和動態(tài)流水線的基本概念2/2/202335.1CPU的組成和功能5.1.1CPU的功能5.1.2CPU的基本組成5.1.3CPU中的主要寄存器5.1.4操作控制器與時序產(chǎn)生器2/2/202345.1.1CPU的功能CPU(中央處理器)控制程序按設(shè)定方式執(zhí)行;CPU的主要功能:指令控制控制程序的執(zhí)行順序;操作控制產(chǎn)生和發(fā)送各操作信號;時間控制控制指令、或操作的實施時間;數(shù)據(jù)加工對數(shù)據(jù)進行算術(shù)邏輯運算;順序?qū)ぶ?、跳躍尋址對指令操作碼譯碼后產(chǎn)生控制信號維持各類操作的時序關(guān)系由ALU完成具體的運算2/2/202355.1.2CPU的基本組成現(xiàn)代的CPU的組成運算器、控制器控制器的主要功能從內(nèi)存中取出一條指令,并指出下條指令的存放位置;對指令進行譯碼,產(chǎn)生相應(yīng)的操作控制信號;控制CPU、內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流動;運算器的主要功能:執(zhí)行所有的算術(shù)運算;執(zhí)行所有的邏輯運算,并進行邏輯測試。馮·諾依曼機的定義、片內(nèi)Cache;PC、IRALU、通用寄存器組、標志寄存器CU、時序電路、操作控制器2/2/20236CPU模型圖動畫演示:5-1.swf運算器Cache控制器2/2/202375.1.3CPU中的主要寄存器(1/3)數(shù)據(jù)緩沖寄存器(DR)暫時存放CPU與外界傳送的數(shù)據(jù),可以是指令字或數(shù)據(jù)字。作用:作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站;補償CPU和內(nèi)存、外圍設(shè)備之間在操作速度上的差別;通用寄存器功能:暫時存放ALU運算的數(shù)據(jù)或結(jié)果。CPU中的通用寄存器可多達16個,32個,甚至更多。2/2/202385.1.3CPU中的主要寄存器(2/3)狀態(tài)條件寄存器(PSW)保存各種狀態(tài)和條件控制信號;進位標志(C),溢出標志(V),零標志(Z),符號標志(N)每個信號由一個觸發(fā)器保存,從而拼成一個寄存器。地址寄存器(AR)保存當前CPU所訪問數(shù)據(jù)的內(nèi)存單元地址;主要用于解決主存/外設(shè)和CPU之間的速度差異,使地址信息可以保持到主存/外設(shè)的讀寫操作完成為止。2/2/202395.1.3CPU中的主要寄存器(3/3)程序計數(shù)器(PC)始終存放下一條指令的地址,對應(yīng)于指令Cache的訪問;其內(nèi)容變化分兩種情況順序執(zhí)行:PC+1PC轉(zhuǎn)移執(zhí)行:(指令OPR)PC指令寄存器(IR)保存當前正在執(zhí)行的一條指令。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。寄存功能計數(shù)功能2/2/2023105.1.4操作控制器與時序產(chǎn)生器數(shù)據(jù)通路寄存器之間傳送信息的通路。操作控制器根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號;建立正確地數(shù)據(jù)通路,從而完成指令的執(zhí)行。根據(jù)設(shè)計方法不同,操作控制器可分為硬布線控制器:采用時序邏輯技術(shù)實現(xiàn);微程序控制器:采用存儲邏輯實現(xiàn);前兩種方式的結(jié)合;時序產(chǎn)生器對各種操作實施時間的控制。2/2/202311數(shù)據(jù)通路的建立增量寫入讀出寫入讀出寫入讀出鎖存鎖存寫入讀出寫入讀出運算類型讀出寫入2/2/2023125.2

指令周期5.2.1

指令周期的基本概念5.2.2MOVR0,R1指令的指令周期5.2.3LADR1,6指令的指令周期5.2.4ADDR1,R2指令的指令周期5.2.5STOR2,(R3)指令的指令周期5.2.6JMP101指令的指令周期5.2.7

用方框圖語言表示指令周期2/2/2023135.2.1指令周期的基本概念CPU執(zhí)行程序是一個“取指令—執(zhí)行指令”的循環(huán)過程。指令周期CPU從內(nèi)存中取出一條指令,并執(zhí)行的時間總和;CPU周期又稱機器周期,一般為從內(nèi)存讀取一條指令字的最短時間;一個CPU周期可以完成CPU的一個基本操作。時鐘周期也叫節(jié)拍脈沖或T周期,是計算機處理操作的基本時間單位。動畫演示:5-2.swf2/2/202314關(guān)于指令周期一個完整的指令周期由若干機器周期:取指周期——間址周期——執(zhí)行周期——中斷周期所有指令的第一個機器周期必為取指周期;一個基本的CPU周期包含4個時鐘周期,對于某些CPU周期可以包含更多的時鐘周期。不同指令的指令周期所包含的時鐘周期個數(shù)不一定相同。求操作數(shù)有效地址本教材上,間址周期和執(zhí)行周期統(tǒng)稱為執(zhí)行周期!2/2/202315一個簡單的程序地址指令說明100程序執(zhí)行前設(shè)置(R0)=00,(R1)=10;(R2)=20,(R3)=30101MOVR0,R1傳送指令MOV執(zhí)行(R1)R0102LADR1,6取數(shù)指令LAD從6號單元中取數(shù)100R1103ADDR1,R2加法指令A(yù)DD執(zhí)行(R1)+(R2)R2,結(jié)果為(R2)=120104STOR2,(R3)存數(shù)指令STO用(R3)間接尋址,(R2)=120寫入30號單元105JMP101轉(zhuǎn)移指令JMP改變程序執(zhí)行順序,轉(zhuǎn)到101號單元106ANDR1,R3邏輯與指令A(yù)ND執(zhí)行(R1)·(R2)R3地址數(shù)據(jù)57061007661077……3040(120)2/2/2023165.2.2MOVR0,R1指令的指令周期MOV是一條RR型指令,它需要兩個CPU周期:取指周期從存儲器中取出指令;程序計數(shù)器PC加1;譯碼或測試指令操作碼,發(fā)出控制信號;執(zhí)行周期在控制信號的作用下,將R1中的數(shù)據(jù)經(jīng)過ALU送入R0;2/2/202317MOVR0,R1指令的執(zhí)行過程演示101①MOVR0,R1102②MOV③④10動畫演示2/2/202318MOVR0,R1指令周期中的控制信號取指周期PCABUS指令Cache,譯碼并啟動;指令CacheIR;PCPC+1,為取下條指令做好準備;IR中的操作碼被譯碼或測試,CPU識別出是指令MOV。執(zhí)行指令階段R1ALU,R1中數(shù)據(jù)通過ALU傳送;ALUDBUSDRR0;PC讀指令Cache啟動指令Cache讀IR寫PC增量R1讀ALU傳送控制ALU輸出DR鎖存R0寫2/2/2023195.2.3LADR1,6指令的指令周期LAD指令是RS型指令,需要訪存獲取操作數(shù),共包含三個CPU周期:取值周期間址周期從IR的地址碼字段獲取操作數(shù)地址;(或者通過計算獲得EA)執(zhí)行周期訪存獲取操作數(shù)送入通用寄存器R1;2/2/202320LADR1,6指令的執(zhí)行過程演示102①LADR1,6103②LAD③6100動畫演示2/2/202321LADR1,6指令周期中的控制信號LAD取指周期CPU動作與取MOV指令的取值周期中一樣。LAD指令的執(zhí)行周期IRDBUSAR;該過程為尋址周期;ARABUS數(shù)據(jù)Cache,譯碼并啟動;數(shù)據(jù)CacheDBUS

DRR1;IR讀AR鎖存數(shù)據(jù)Cache啟動數(shù)據(jù)Cache讀DR鎖存R1寫2/2/2023225.2.4ADDR1,R2指令的指令周期ADD指令的指令周期由兩個CPU周期組成。取指周期(略)執(zhí)行周期從寄存器R1、R2中取出數(shù)據(jù),作為源操作數(shù);將兩數(shù)據(jù)送往ALU,并使ALU進行加運算;結(jié)果保存到R1中。2/2/202323ADDR1,R2指令的執(zhí)行過程演示103①ADDR1,R2104②ADD③10020120動畫演示2/2/202324ADDR1,R2指令周期中的控制信號取指周期(略)CPU動作與取MOV指令的取值周期中一樣。執(zhí)行周期R1、R2ALU;ALU做加運算,將兩數(shù)相加;ALUDBUSDRR1,保存結(jié)果;R1讀R2讀ALU加ALU輸出DR鎖存R1寫2/2/2023255.2.5STOR2,(R3)指令的指令周期STO指令是RS型指令,需要3個CPU周期。取指周期(略)間址周期根據(jù)R3中的地址尋址所要訪問的存儲單元;執(zhí)行周期將寄存器R2中的數(shù)據(jù)送入指定的存儲單元;2/2/202326STOR2,(R3)指令的執(zhí)行過程演示104①STOR2,(R3)105②STO③動畫演示30

1202/2/202327STOR2,(R3)指令周期中的控制信號取指周期(略)執(zhí)行周期R3DBUSAR,發(fā)出地址啟動數(shù)據(jù)Cache;該過程為間址周期;R2DBUS數(shù)據(jù)Cache;R3讀AR鎖存R2讀數(shù)據(jù)Cache寫2/2/2023285.2.6JMP101指令的指令周期JMP指令是一條無條件轉(zhuǎn)移指令,用來改變程序的執(zhí)行順序;JMP指令的執(zhí)行需要兩個CPU周期:取指周期(略)執(zhí)行周期使用JMP指令中的直接地址為PC賦值;2/2/202329JMP101指令的執(zhí)行過程演示105①JMP101106②JMP③動畫演示1012/2/202330JMP101指令周期中的控制信號取指周期(略)執(zhí)行周期IRDBUSPC;IR讀PC寫2/2/2023315.2.7用方框圖語言表示指令周期方框代表一個CPU周期;方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。菱形通常用來表示某種判別或測試;時間上依附于之前一個方框的CPU周期,而不單獨占用一個CPU周期;~(公操作符號)表示一條指令已經(jīng)執(zhí)行完畢,轉(zhuǎn)入公操作。所謂公操作就是一條指令執(zhí)行完畢后,CPU所開始的一些操作,比如對外圍設(shè)備請求的處理等。動畫演示5.14.swf2/2/202332P139圖5.14方框圖語言表示的指令周期MOVR0,R1LADR1,6

ADDR1,R2

STOR2,(R3)

JMP1012/2/202333課本P139【例1】圖5.15所示為雙總線結(jié)構(gòu)機器的數(shù)據(jù)通路,各構(gòu)成部件如圖,線上標注有小圈表示有控制信號,未標字符的線為直通線?!癆DDR2,R0”指令完成(R0)+(R2)→R0的功能操作,畫出其指令周期流程圖,并列出相應(yīng)的微操作控制信號序列?!癝UBR1,R3”指令完成(R3)-(R1)→R3的操作,畫出其指令期流程圖,并列出相應(yīng)的微操作控制信號序列。2/2/202334指令周期應(yīng)包括取指周期和執(zhí)行周期;執(zhí)行周期中應(yīng)首先將R0、R2兩寄存器的內(nèi)容送入ALU的操作數(shù)緩沖器中,再執(zhí)行加法運算;(1)“ADDR2,R0”→(R0)+(R2)→R0(PC)AR(M)DR(DR)IR譯碼(R2)Y(R0)X(R0)+(R2)R0取指周期執(zhí)行周期PC0GARiR/W=1DR0GIRiR20GYiR00GXi+GR0i2/2/202335指令A(yù)DDR2,R0的執(zhí)行過程指令地址指令R2R0和2/2/202336指令周期應(yīng)包括取指周期和執(zhí)行周期;取指周期與ADD指令完全相同;執(zhí)行周期與ADD指令不同之處在于ALU的控制信號為“-”(2)“SUBR1,R3”→(R3)-(R1)→R3(PC)AR(M)DR(DR)IR譯碼(R3)Y(R1)X(R3)-(R1)R3取指周期執(zhí)行周期PC0GARiR/W=1DR0GIRiR30GYiR10GXi—GR3i2/2/202337參考上例試寫出下列指令的微操作序列指令STOR1,(R2)功能:R1→(R2),將R1的數(shù)據(jù)送入R2指向的單元中;指令LAD(R3),R0功能:將R3指向單元中的數(shù)據(jù)送入R0中;指令A(yù)DDR0,(R1)功能:將R1指向單元中的數(shù)據(jù)和R0的內(nèi)容相加,并將結(jié)果存入R0寄存器中。指令A(yù)DD(R1),R0功能:(R0)+((R1))→(R1),將R0中的數(shù)據(jù)與R1指向單元中的數(shù)據(jù)相加,并將結(jié)果送入R1指向的單元中;2/2/202338計算機的性能指標主頻/時鐘周期主時鐘的頻率(f)叫CPU的主頻;主頻的倒數(shù)稱為CPU時鐘周期(T),T=1/f。CPI執(zhí)行一條指令所需的平均時鐘周期數(shù)。MIPS每秒百萬指令數(shù),即單位時間內(nèi)執(zhí)行的指令數(shù)。2/2/202339【例1】某CPU的主頻為8MHz,設(shè)每個CPU周期平均包括4個時鐘周期,且該機平均指令執(zhí)行速度為1MIPS。求該機平均指令周期。平均指令周期=求每個指令周期包含的平均CPU周期。時鐘周期=一個CPU周期為4個時鐘周期,則4×0.125=0.5us;故每個指令周期包含1/0.5=2個平均CPU周期。1秒1百萬條指令1106==1us18MHz=0.125us2/2/202340【例2】若某機主頻為200MHz,每個指令周期平均為2.5個CPU周期,每個CPU周期平均包括2個主頻周期。該機平均指令執(zhí)行速度為多少MIPS?執(zhí)行一條指令的時間=2.5×2×?xí)r鐘周期 =2.5×2×平均指令執(zhí)行速度=1/平均指令周期若主頻不變,但每條指令平均包括5個CPU周期,每個CPU周期又包含4個主頻周期,平均指令執(zhí)行速度為多少MIPS?執(zhí)行一條指令的時間=2.5×2×?xí)r鐘周期 =5×4×平均指令執(zhí)行速度=1/平均指令周期1200MHz=40MIPS1200MHz=10MIPS140M=110M=2/2/2023415.3

時序產(chǎn)生器和控制方式5.3.1時序信號的作用和體制5.3.2時序信號產(chǎn)生器5.3.3控制方式2/2/2023425.3.1時序信號的作用和體制時序信號的作用使計算機準確、迅速、有條不紊地工作;CPU通過時序控制來識別指令和數(shù)據(jù):指令周期的第一個CPU周期——取指周期;從存儲單元中取出的一定是指令,需要送往IR指令寄存器;指令周期的其他CPU周期——執(zhí)行周期;從存儲單元中取出的一定是數(shù)據(jù),需要送往運算器。時序信號的體制:電位—脈沖制脈沖到達之前,電平信號必須要穩(wěn)定;CPU的時間表2/2/202343控制器的時序信號硬布線控制器的時序信號常采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級體制。微程序控制器的時序信號一般采用節(jié)拍電位-節(jié)拍脈沖二級體制。節(jié)拍脈沖節(jié)拍電位1主狀態(tài)周期節(jié)拍電位2節(jié)拍電位可表示一個CPU周期主狀態(tài)周期可包含若干個節(jié)拍電位,是最大的時間單位時鐘周期2/2/2023445.3.2時序信號產(chǎn)生器時序信號產(chǎn)生器:用邏輯電路實現(xiàn)時序的控制;微程序控制器中時序信號產(chǎn)生器的組成:P142圖5.17時鐘源

提供穩(wěn)定的基本方波時鐘信號;環(huán)形脈沖發(fā)生器

產(chǎn)生一組有序的間隔相等或不等的脈沖序列;節(jié)拍脈沖和讀寫時序譯碼邏輯

環(huán)形脈沖與節(jié)拍脈沖共同作用產(chǎn)生各控制信號的時序;啟??刂七壿?/p>

2/2/2023455.3.3控制方式控制器的控制方式控制不同操作序列的時序信號的方法。同步控制方式在任何情況下,已定的指令在執(zhí)行時所需的機器周期數(shù)和時鐘周期數(shù)都固定不變。異步控制方式每條指令、每個操作控制信號需要多少時間就占用多少時間。聯(lián)合控制方式大部分操作序列為固定的機器周期,對某些時間難以確定的操作則以執(zhí)行部件的“回答”信號作為本次操作的結(jié)束。機器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機器周期數(shù)不固定。2/2/2023465.4微程序控制器5.4.1微程序控制原理5.4.2微程序設(shè)計技術(shù)2/2/2023475.4.1微程序控制原理微程序設(shè)計技術(shù)是利用軟件方法來設(shè)計硬件的一門技術(shù)。具有規(guī)整性、靈活性、可維護性等一系列優(yōu)點;逐漸取代了早期的組合邏輯控制器,已被廣泛地應(yīng)用?;舅枷敕抡胀ǔ5慕忸}程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里;當機器運行時,一條一條地讀出這些微指令,從而產(chǎn)生全機所需要的各種操作控制信號,使部件執(zhí)行規(guī)定的操作。2/2/2023481、微命令和微操作控制部件與執(zhí)行部件之間的聯(lián)系控制部件向執(zhí)行部件發(fā)出控制信號;執(zhí)行部件向控制部件返回狀態(tài)信息;微命令控制部件通過控制線向執(zhí)行部件發(fā)出的各種控制命令;微操作執(zhí)行部件接受微命令后所執(zhí)行的操作;狀態(tài)測試執(zhí)行部件通過反饋線向控制部件反映當前操作狀態(tài),以使控制部件決定下一步的微命令;控制線執(zhí)行部件的最基本的操作2/2/202349微操作的分類相容性微操作在同時或同一個CPU周期內(nèi)可以并行執(zhí)行的微操作;相斥性微操作不能在同時或不能在同一個CPU周期內(nèi)并行執(zhí)行的微操作。2/2/202350簡單運算器數(shù)據(jù)通路相斥性微操作相斥性微操作相斥性微操作相容性微操作動畫演示:5-20.swf2/2/2023512、微指令和微程序微指令一個CPU周期中,實現(xiàn)一定操作功能的一組微命令的組合。微指令一般包含操作控制和順序控制兩大部分操作控制:用于發(fā)出管理和指揮全機工作的控制信號;順序控制:用于決定產(chǎn)生下一條微指令的地址;所有的微指令都存放于控制存儲器中,使用地址訪問;微程序能實現(xiàn)一條機器指令功能的多條微指令序列;每條機器指令都對應(yīng)著一段微程序;微地址2/2/202352順序控制部分的P1、P2為判別測試標志;若為00,則順序?qū)ぶ肺⒅噶?;若?1、10,則跳躍尋址微指令。直接地址20~23位順序?qū)ぶ窌r,直接地址即為下一條微指令地址;跳躍尋址時,則要對直接地址修改,得到下條微指令地址;微指令基本格式節(jié)拍脈沖信號節(jié)拍電位信號2/2/2023533、微程序控制器原理框圖微程序控制器主要構(gòu)成部件:P147圖5.23控制存儲器(CM)存放實現(xiàn)全部指令系統(tǒng)的微指令;由只讀存儲器構(gòu)成,要求速度快,讀出周期短。微指令寄存器存放由控制存儲器讀出的一條微指令信息;微地址寄存器:決定將要訪問的下一條微指令的地址;微命令寄存器:保存一條微指令的操作控制字段和判別測試字段的信息。地址轉(zhuǎn)移邏輯用于跳躍尋址微指令時,承擔自動完成修改微地址的任務(wù)。2/2/202354P147圖5.23微程序控制器原理框圖動畫演示:5-23.swf2/2/202355微程序控制器的工作過程“取指微指令”為所有指令的公用微指令;通常放在控制存儲器中的“0”地址單元;所有機器指令的最后一條微指令的直接地址都指向0地址單元,用以取下一條微指令。取得機器指令后,經(jīng)過P1測試,即操作碼測試,產(chǎn)生對應(yīng)的微程序入口地址,并送入微地址寄存器。指令執(zhí)行過程中,通過P2測試,修正下一條微指令的地址,逐條讀取微指令執(zhí)行。執(zhí)行完對應(yīng)于一條機器指令的微程序后,返回到取指微指令,不斷重復(fù),直至程序執(zhí)行完畢。2/2/2023564、微程序舉例“十進制加法”指令是用BCD碼來完成十進制數(shù)的加法運算。當兩數(shù)位相加小于等于9時,結(jié)果正確;當兩數(shù)位相加大于9時,必須對和數(shù)位進行加6的修正。例如:3+4=0011+0100=0111=78+7=1000+0111=111125+36=00100101+00110110=01011011+0110=00010101=15=01100001以“十進制加法”指令為例+01102/2/202357(R2)-(R3)

R2十進制加法指令的微指令執(zhí)行流程假定(R1)=a,(R2)=b,(R3)=6;第一條微指令——取指微指令從內(nèi)存中取出該指令,并修改PC的值;對操作碼進行P1測試,確定下一條微指令的地址;第二條微指令——兩數(shù)相加微指令第三條微指令——和數(shù)修正微指令P2測試,根據(jù)進位標志決定下一條微指令的地址第四條微指令——和數(shù)逆修正微指令取指令P1測試(R1)+(R2)

R2(R2)+(R3)

R2P2測試Cy=1Cy=02/2/202358十進制加法指令的微指令第一條微指令(取微指令)00000000000011111

10

0000第二條微指令(兩數(shù)相加)0101001001000000000

1001第三條微指令(和數(shù)加6)010001001

1000000001

0000第四條微指令(和數(shù)減6)0100010010010000000

0000取微指令和數(shù)減6……和數(shù)加6兩數(shù)相加……00000001……10011010……控制存儲器LDAR’RD’LDDR’LDIR’PC+1R1XR2Y+LDR2’R2XR3Y+LDR2’R2XR3Y—LDR2’動畫演示:

十進制加法指令微程序.swf2/2/2023595、CPU周期與微指令周期的關(guān)系微指令周期讀出微指令的時間加上執(zhí)行該條微指令的時間;串行方式的微程序控制器中的概念;一般來講,一個微指令周期時間設(shè)計得恰好和CPU周期時間相等。2/2/202360CPU周期與微指令周期關(guān)系的例子CPU周期為0.8us,包括4個節(jié)拍脈沖T1~T4,每個脈沖200ns;T1—T3的600ns為執(zhí)行微指令的時間;T4的200ns為取微指令的時間;T1的上升沿,將讀出的微指令存入微指令寄存器;T4的上升沿保存微指令的執(zhí)行結(jié)果,T4期間取微指令。T1T2T3T4T1T2T3T4T4T4執(zhí)行微指令

微指令周期CPU周期CPU周期

讀微指令2/2/2023616、機器指令與微指令的關(guān)系一條機器指令對應(yīng)一個微程序,一個微程序由若干條微指令序列組成的;一條機器指令所完成的操作劃分成若干條微指令來完成,由微指令進行解釋和執(zhí)行。從指令與微指令,程序與微程序,地址與微地址的一一對應(yīng)關(guān)系來看,前者與內(nèi)存有關(guān),后者與控制存儲器有關(guān)。每一個CPU周期對應(yīng)一條微指令。動畫演示:

5.27.swf2/2/202362【例】設(shè)某16位計算機運算器框圖如下圖(a)所示,其中ALU為16位的加法器(高電平工作),SA、SB為16位暫存器。4個通用寄存器,其讀、寫控制功能見下表。讀控制RRA0RA1選中100R0101R1110R2111R30××不讀寫控制WWA0WA1選中100R0101R1110R2111R30××不寫2/2/202363控制信號說明RA0RA1/WA0WA1:讀寫通用寄存器時,選擇所讀寫的寄存器;

R/W:寄存器讀/寫命令;LDSA/LDSB:將數(shù)據(jù)打入SA/SB的控制信號;SB→ALU:將SB中數(shù)據(jù)送入ALU的控制信號;→ALU:傳送SB的控制信號,并使加法器最低位加1;Reset:清暫存器SB為零的信號;~:一段微程序結(jié)束,轉(zhuǎn)入取機器指令的控制信號;要求:用二進制代碼寫出如下指令的微程序:“ADDR0,R1”指令,即(R0)+(R1)→R1“SUBR2,R3”指令,即(R3)-(R2)→R3“MOVR2,R3”指令,即(R2)→(R3)【例】微指令字長12位,微指令格式如下所示(未考慮順序控制字段)。WA1RA1RA0WA0RWLDSALDSBSB→ALUSB→ALUReset~

SB2/2/202364【例】解答三條指令的微指令的微程序流程圖三條指令的微程序代碼如下表:未考慮“取指周期”和順序控制問題,僅考慮“執(zhí)行周期”;每一個方框表示一條微指令,用數(shù)字序號標明微指令序列的順序。指令微程序代碼ADD1.00**101000002.01**100100003.**0101001001SUB4.11**101000005.10**100100006.**1101000101MOV7.10**101000008.**11010010112/2/2023655.4.2微程序設(shè)計技術(shù)微命令編碼微地址的形成方法微指令格式動態(tài)微程序設(shè)計2/2/2023661、微命令編碼微指令中操作控制字段的編碼表示方法,以及如何把編碼翻譯成相應(yīng)的微指令。微命令編碼主要考慮的問題:如何有效縮短微指令字長;如何有利于縮短微程序,減少所需的控存空間;如何有利于提高微程序執(zhí)行速度;微命令編碼表示方法直接表示法、編碼表示法、混合表示法2/2/202367直接表示法操作控制字段中的每一位代表一個微命令;優(yōu)點簡單直觀,其輸出可直接用于控制,執(zhí)行速度快;缺點微指令字較長,因而使控制存儲器容量較大。.......................1234567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制2/2/202368編碼表示法(1/2)編碼方法將微指令操作控制字段劃分為若干個子字段;每個子字段的所有微命令進行統(tǒng)一編碼;每個子字段的不同編碼表示不同的微命令;例如,某機器指令系統(tǒng)總共需要256個微命令采用直接編碼法微指令的操作控制字段需256位;采用編碼表示法若4個微命令劃分一個子字段,則每個子字段可編碼16個微命令;256個微命令需16個子字段,即微指令的操作控制字段僅64位。2/2/202369編碼表示法(2/2)遵循原則:把相斥的微命令劃分在同一個字段中,相容的微命令劃分在不同字段;字段的劃分應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng);每個子字段應(yīng)留出一個空操作狀態(tài);每個子字段所定義的微命令不宜太多;優(yōu)點可大大縮短微指令字長;缺點需要微命令譯碼,故微程序的執(zhí)行速度稍稍減慢。2/2/2023702、微地址的形成方法微程序的入口地址微程序的第一條微指令所在控存單元的地址;現(xiàn)行微指令執(zhí)行微程序過程中,當前正在執(zhí)行的微指令;現(xiàn)行微指令的地址稱為現(xiàn)行微地址。后繼微指令現(xiàn)行微指令執(zhí)行完畢后,下一條要執(zhí)行的微指令;后繼微指令的地址稱為后繼微地址。微指令中確定下一條微指令地址的方法;計數(shù)器方式、多路轉(zhuǎn)移方式;2/2/202371計數(shù)器方式同CPU中程序計數(shù)器產(chǎn)生機器指令地址的方法相類似。優(yōu)點微指令的順序控制字段較短,微地址產(chǎn)生機構(gòu)簡單。缺點多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差。2/2/202372多路轉(zhuǎn)移方式可根據(jù)“判別測試”標志和“狀態(tài)條件”信息選定某一個候選微地址的方法。特點能以較短的順序控制字段配合,實現(xiàn)多路并行轉(zhuǎn)移,靈活性好,速度較快;但轉(zhuǎn)移地址邏輯需要用組合邏輯方法設(shè)計。2/2/202373【例】已知某計算機采用微程序控制方式,其控存容量為512×32位,微程序可以在控存中實現(xiàn)轉(zhuǎn)移,可控制微程序轉(zhuǎn)移的條件有6個,采用直接編碼方式,后繼微指令地址采用多路轉(zhuǎn)移方式。微指令字長32位,格式如下,請說明微指令中3個字段分別應(yīng)為多少位。由控存單元數(shù)可知共512個,則每個控存單元地址位為9位,則微指令中的后繼微指令地址位數(shù)為9位;可控制微程序轉(zhuǎn)移的條件為6個,且按照直接控制編碼,則測試條件位數(shù)為6位;剩下的為操作控制字段可用位數(shù)32-9-6=17位;微操作編碼測試指令下址2/2/2023743、微指令格式水平型微指令一次能定義并執(zhí)行多個并行操作微命令的微指令;一般由操作控制字段、判別測試字段、下地址字段三部分構(gòu)成;根據(jù)控制字段編碼方式的不同,可分為全水平型、字段譯碼法水平型、直接和譯碼相混合的水平型三種微指令。垂直型微指令微指令中設(shè)置微操作碼字段,采用微操作碼編譯法,由微操作碼規(guī)定微指令的功能;垂直型微指令的結(jié)構(gòu)類似于機器指令的結(jié)構(gòu)。課本P153四個垂直型微指令的例子2/2/202375水平型微指令與垂直型微指令比較水平型微指令并行操作能力強,效率高,靈活性強。垂直型微指令則較差。水平型微指令執(zhí)行一條指令的時間短,垂直型微指令執(zhí)行時間長。由水平型微指令解釋指令的微程序,具有微指令字比較長,但微程序短的特點。

垂直型微指令則相反,微指令字比較短而微程序長。水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。2/2/2023764、動態(tài)微程序設(shè)計靜態(tài)微程序設(shè)計對應(yīng)于一臺計算機的機器指令只有一組微程序,而且這一組微程序設(shè)計好之后,一般無需改變而且也不容易改變。動態(tài)微程序設(shè)計可通過改變微指令和微程序來改變機器的指令系統(tǒng)的微程序設(shè)計技術(shù)。2/2/2023775.5硬連線控制器硬布線控制器是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹形網(wǎng)絡(luò)。硬布線控制器是早期設(shè)計計算機的一種方法;隨著新一代機器及VLSI技術(shù)的發(fā)展,硬布線邏輯設(shè)計思想又得到了重視。與微程序控制相比,硬布線控制的速度較快;微程序控制中每條微指令都要從控制存儲器中讀取一次,影響了速度,而硬布線控制主要取決于電路延遲;近年來在某些超高速新型計算機結(jié)構(gòu)中,又選用了硬布線控制,或與微程序控制器混合使用。2/2/202378硬連線控制器結(jié)構(gòu)方框圖2/2/2023795.7流水CPU5.7.1并行處理技術(shù)5.7.2流水CPU的結(jié)構(gòu)5.7.3流水線中的主要問題2/2/2023805.7.1并行處理技術(shù)標準的馮·諾依曼體系結(jié)構(gòu),采用的是串行處理,即一個時刻只能進行一個操作。并行性的兩種含義:同時性:兩個以上事件在同一時刻發(fā)生;如多機系統(tǒng)中,同一時刻多個進程在運行。并發(fā)行:兩個以上事件在同一間隔內(nèi)發(fā)生。如并發(fā)程序,某一時刻CPU中只有一個進程在運行,而在一個時間段內(nèi),多個進程同時運行。并行性的三種形式:時間并行:即使用流水處理部件,時間重疊??臻g并行:設(shè)置重復(fù)資源,同時工作。時間并行+空間并行:時間重疊和資源重復(fù)的綜合應(yīng)用。2/2/202381微指令的執(zhí)行方式串行執(zhí)行方式并行執(zhí)行方式取第i條微指令執(zhí)行第i條微指令取第i+1條微指令執(zhí)行第i+1條微指令微周期微周期取第i條微指令執(zhí)行第i條微指令取第i+1條微指令執(zhí)行第i+1條微指令取第i+2條微指令執(zhí)行第i+2條微指令2/2/2023825.7.2流水CPU的結(jié)構(gòu)1、流水計算機的系統(tǒng)組成流水CPU的組成指令部件指令部件本身構(gòu)成一個流水線,由取指令、指令譯碼、計算操作數(shù)地址、取操作數(shù)等過程段組成。指令隊列指令隊列是一個先進先出的寄存器棧,用于存放經(jīng)過譯碼的指令和取來的操作數(shù)。執(zhí)行部件執(zhí)行部件可以具有多個算術(shù)邏輯運算部件,這些部件本身又用流水線方式構(gòu)成。主存采用多體交叉存儲器,以提高訪問速度。P162頁圖5.32流水線技術(shù)是Intel在486芯片中首次使用的2/2/202383流水計算機系統(tǒng)組成原理示意圖2/2/202384執(zhí)行段的速度匹配問題的解決將執(zhí)行部件分為定點執(zhí)行部件和浮點執(zhí)行部件兩個可并行執(zhí)行的部分,分別處理定點運算指令和浮點運算指令;在浮點執(zhí)行部件中,又有浮點加法部件和浮點乘/除部件,它們也可以同時執(zhí)行不同的指令;浮點運算部件都以流水線方式工作。2/2/2023852、流水CPU的時空圖流水線基本原理順序方式的串行指令執(zhí)行過程:將一條指令的執(zhí)行過程分成4段,并行執(zhí)行過程:取指1譯碼1取操作數(shù)1運算并保存結(jié)果1取指2譯碼2取操作數(shù)2…取指譯碼取操作數(shù)運算并保存結(jié)果取指譯碼取操作數(shù)運算并保存結(jié)果取指譯碼取操作數(shù)運算并保存結(jié)果取指譯碼取操作數(shù)運算并保存結(jié)果一般流水線時鐘周期應(yīng)選取4段中最長的時間2/2/202386流水CPU的加速比非流水線CPU處理n個任務(wù)時,所需時鐘周期數(shù) T1=n×k一個具有k級過程段的流水CPU處理這n個任務(wù)時,需要的時鐘周期數(shù) Tk=k+(n-1)k個時鐘周期用于處理第一個任務(wù);k個周期后,流水線被裝滿,剩余的n-1個任務(wù)只需n-1個周期即可完成。將T1和Tk的比率定義為k級線性流水處理器的加速比:Ck=T1/Tk2/2/202387動畫演示:5.33.swf一般流水線(pipeline)只有一條指令流水線超流水線(superpipeline)多級流水線每個階段內(nèi)部再劃分步驟奔騰Pro的流水線長達14步超標量(superscale)流水線具有兩條以上的指令流水線奔騰以上CPU才具有這種結(jié)構(gòu)流水計算機的時空圖2/2/2023883、流水線分類指令流水線指令執(zhí)行的并行處理;指令流劃分為取指、譯碼、取操作數(shù)、執(zhí)行、寫回等過程;算術(shù)流水線運算操作步驟的并行處理;現(xiàn)代微機中大多采用流水的算術(shù)運算器;處理機流水線程序步驟的并行處理將每一階段的處理分散在不同的機器上,應(yīng)用于多級系統(tǒng)中;2/2/202389【例1】假設(shè)一條指令按取指、分析和執(zhí)行三步解釋執(zhí)行,請計算下列幾種情況下執(zhí)行完100條指令所需的時間。順序方式若T取=T分=2,T執(zhí)=1t=100×(2+2+1)=500若T?。絋執(zhí)=5,T分=2t=100×(5+5+2)=1200僅(K+1)取指與K執(zhí)行重疊;(K+2)取指、(K+1)分析、K執(zhí)行重疊。2/2/202390②僅(K+1)取指與K執(zhí)行重疊取指分析執(zhí)行取指分析執(zhí)行取指分析執(zhí)行…取指分析執(zhí)行第2條第3條第100條第1條若T?。絋分=2,T執(zhí)=1t=6+98×(2+2)+3=401若T?。絋執(zhí)=5,T分=2t=12+99×(2+5)=7052/2/202391③(K+2)取指、(K+1)分析、K執(zhí)行重疊取指分析執(zhí)行取指分析執(zhí)行取指分析執(zhí)行…取指分析執(zhí)行第2條第1條第3條第100條若T?。絋分=2,T執(zhí)=1t=6+98×2+1=203若T取=T執(zhí)=5,T分=2t=15+98×5+5=5102/2/202392【例2】指令流水線有取指(IF)、譯碼(ID)、執(zhí)行(EX)、訪存(MEM)、寫回寄存器堆(WB)五個過程段,共有7條指令連續(xù)輸入此流水線,時鐘周期為100ns。請畫出流水處理的時空圖;IFIDEXMEMWB第1條IFIDEXMEMWB第2條IFIDEXMEM

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論