




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章中央處理機目錄5.1CPU的功能和組成
——掌握5.2指令周期
——掌握5.3時序產生器和控制方式
——了解5.4微程序控制器
——掌握5.5硬連線控制器
——了解5.6傳統CPU
——了解5.7流水CPU
——掌握5.8RISCCPU
——了解5.9多媒體CPU
——了解2/2/20232考研大綱要求(一)CPU的功能和基本結構(二)指令執行過程(三)數據通路的功能和基本結構(四)控制器的功能和工作原理硬布線控制器微程序控制器微程序、微指令和微命令微指令的編碼方式;微地址的形成方式(五)指令流水線指令流水線的基本概念超標量和動態流水線的基本概念2/2/202335.1CPU的組成和功能5.1.1CPU的功能5.1.2CPU的基本組成5.1.3CPU中的主要寄存器5.1.4操作控制器與時序產生器2/2/202345.1.1CPU的功能CPU(中央處理器)控制程序按設定方式執行;CPU的主要功能:指令控制控制程序的執行順序;操作控制產生和發送各操作信號;時間控制控制指令、或操作的實施時間;數據加工對數據進行算術邏輯運算;順序尋址、跳躍尋址對指令操作碼譯碼后產生控制信號維持各類操作的時序關系由ALU完成具體的運算2/2/202355.1.2CPU的基本組成現代的CPU的組成運算器、控制器控制器的主要功能從內存中取出一條指令,并指出下條指令的存放位置;對指令進行譯碼,產生相應的操作控制信號;控制CPU、內存和輸入/輸出設備之間數據流動;運算器的主要功能:執行所有的算術運算;執行所有的邏輯運算,并進行邏輯測試。馮·諾依曼機的定義、片內Cache;PC、IRALU、通用寄存器組、標志寄存器CU、時序電路、操作控制器2/2/20236CPU模型圖動畫演示:5-1.swf運算器Cache控制器2/2/202375.1.3CPU中的主要寄存器(1/3)數據緩沖寄存器(DR)暫時存放CPU與外界傳送的數據,可以是指令字或數據字。作用:作為CPU和內存、外部設備之間信息傳送的中轉站;補償CPU和內存、外圍設備之間在操作速度上的差別;通用寄存器功能:暫時存放ALU運算的數據或結果。CPU中的通用寄存器可多達16個,32個,甚至更多。2/2/202385.1.3CPU中的主要寄存器(2/3)狀態條件寄存器(PSW)保存各種狀態和條件控制信號;進位標志(C),溢出標志(V),零標志(Z),符號標志(N)每個信號由一個觸發器保存,從而拼成一個寄存器。地址寄存器(AR)保存當前CPU所訪問數據的內存單元地址;主要用于解決主存/外設和CPU之間的速度差異,使地址信息可以保持到主存/外設的讀寫操作完成為止。2/2/202395.1.3CPU中的主要寄存器(3/3)程序計數器(PC)始終存放下一條指令的地址,對應于指令Cache的訪問;其內容變化分兩種情況順序執行:PC+1PC轉移執行:(指令OPR)PC指令寄存器(IR)保存當前正在執行的一條指令。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。寄存功能計數功能2/2/2023105.1.4操作控制器與時序產生器數據通路寄存器之間傳送信息的通路。操作控制器根據指令操作碼和時序信號,產生各種操作控制信號;建立正確地數據通路,從而完成指令的執行。根據設計方法不同,操作控制器可分為硬布線控制器:采用時序邏輯技術實現;微程序控制器:采用存儲邏輯實現;前兩種方式的結合;時序產生器對各種操作實施時間的控制。2/2/202311數據通路的建立增量寫入讀出寫入讀出寫入讀出鎖存鎖存寫入讀出寫入讀出運算類型讀出寫入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執行程序是一個“取指令—執行指令”的循環過程。指令周期CPU從內存中取出一條指令,并執行的時間總和;CPU周期又稱機器周期,一般為從內存讀取一條指令字的最短時間;一個CPU周期可以完成CPU的一個基本操作。時鐘周期也叫節拍脈沖或T周期,是計算機處理操作的基本時間單位。動畫演示:5-2.swf2/2/202314關于指令周期一個完整的指令周期由若干機器周期:取指周期——間址周期——執行周期——中斷周期所有指令的第一個機器周期必為取指周期;一個基本的CPU周期包含4個時鐘周期,對于某些CPU周期可以包含更多的時鐘周期。不同指令的指令周期所包含的時鐘周期個數不一定相同。求操作數有效地址本教材上,間址周期和執行周期統稱為執行周期!2/2/202315一個簡單的程序地址指令說明100程序執行前設置(R0)=00,(R1)=10;(R2)=20,(R3)=30101MOVR0,R1傳送指令MOV執行(R1)R0102LADR1,6取數指令LAD從6號單元中取數100R1103ADDR1,R2加法指令ADD執行(R1)+(R2)R2,結果為(R2)=120104STOR2,(R3)存數指令STO用(R3)間接尋址,(R2)=120寫入30號單元105JMP101轉移指令JMP改變程序執行順序,轉到101號單元106ANDR1,R3邏輯與指令AND執行(R1)·(R2)R3地址數據57061007661077……3040(120)2/2/2023165.2.2MOVR0,R1指令的指令周期MOV是一條RR型指令,它需要兩個CPU周期:取指周期從存儲器中取出指令;程序計數器PC加1;譯碼或測試指令操作碼,發出控制信號;執行周期在控制信號的作用下,將R1中的數據經過ALU送入R0;2/2/202317MOVR0,R1指令的執行過程演示101①MOVR0,R1102②MOV③④10動畫演示2/2/202318MOVR0,R1指令周期中的控制信號取指周期PCABUS指令Cache,譯碼并啟動;指令CacheIR;PCPC+1,為取下條指令做好準備;IR中的操作碼被譯碼或測試,CPU識別出是指令MOV。執行指令階段R1ALU,R1中數據通過ALU傳送;ALUDBUSDRR0;PC讀指令Cache啟動指令Cache讀IR寫PC增量R1讀ALU傳送控制ALU輸出DR鎖存R0寫2/2/2023195.2.3LADR1,6指令的指令周期LAD指令是RS型指令,需要訪存獲取操作數,共包含三個CPU周期:取值周期間址周期從IR的地址碼字段獲取操作數地址;(或者通過計算獲得EA)執行周期訪存獲取操作數送入通用寄存器R1;2/2/202320LADR1,6指令的執行過程演示102①LADR1,6103②LAD③6100動畫演示2/2/202321LADR1,6指令周期中的控制信號LAD取指周期CPU動作與取MOV指令的取值周期中一樣。LAD指令的執行周期IRDBUSAR;該過程為尋址周期;ARABUS數據Cache,譯碼并啟動;數據CacheDBUS
DRR1;IR讀AR鎖存數據Cache啟動數據Cache讀DR鎖存R1寫2/2/2023225.2.4ADDR1,R2指令的指令周期ADD指令的指令周期由兩個CPU周期組成。取指周期(略)執行周期從寄存器R1、R2中取出數據,作為源操作數;將兩數據送往ALU,并使ALU進行加運算;結果保存到R1中。2/2/202323ADDR1,R2指令的執行過程演示103①ADDR1,R2104②ADD③10020120動畫演示2/2/202324ADDR1,R2指令周期中的控制信號取指周期(略)CPU動作與取MOV指令的取值周期中一樣。執行周期R1、R2ALU;ALU做加運算,將兩數相加;ALUDBUSDRR1,保存結果;R1讀R2讀ALU加ALU輸出DR鎖存R1寫2/2/2023255.2.5STOR2,(R3)指令的指令周期STO指令是RS型指令,需要3個CPU周期。取指周期(略)間址周期根據R3中的地址尋址所要訪問的存儲單元;執行周期將寄存器R2中的數據送入指定的存儲單元;2/2/202326STOR2,(R3)指令的執行過程演示104①STOR2,(R3)105②STO③動畫演示30
1202/2/202327STOR2,(R3)指令周期中的控制信號取指周期(略)執行周期R3DBUSAR,發出地址啟動數據Cache;該過程為間址周期;R2DBUS數據Cache;R3讀AR鎖存R2讀數據Cache寫2/2/2023285.2.6JMP101指令的指令周期JMP指令是一條無條件轉移指令,用來改變程序的執行順序;JMP指令的執行需要兩個CPU周期:取指周期(略)執行周期使用JMP指令中的直接地址為PC賦值;2/2/202329JMP101指令的執行過程演示105①JMP101106②JMP③動畫演示1012/2/202330JMP101指令周期中的控制信號取指周期(略)執行周期IRDBUSPC;IR讀PC寫2/2/2023315.2.7用方框圖語言表示指令周期方框代表一個CPU周期;方框中的內容表示數據通路的操作或某種控制操作。菱形通常用來表示某種判別或測試;時間上依附于之前一個方框的CPU周期,而不單獨占用一個CPU周期;~(公操作符號)表示一條指令已經執行完畢,轉入公操作。所謂公操作就是一條指令執行完畢后,CPU所開始的一些操作,比如對外圍設備請求的處理等。動畫演示5.14.swf2/2/202332P139圖5.14方框圖語言表示的指令周期MOVR0,R1LADR1,6
ADDR1,R2
STOR2,(R3)
JMP1012/2/202333課本P139【例1】圖5.15所示為雙總線結構機器的數據通路,各構成部件如圖,線上標注有小圈表示有控制信號,未標字符的線為直通線。“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,畫出其指令周期流程圖,并列出相應的微操作控制信號序列。“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,畫出其指令期流程圖,并列出相應的微操作控制信號序列。2/2/202334指令周期應包括取指周期和執行周期;執行周期中應首先將R0、R2兩寄存器的內容送入ALU的操作數緩沖器中,再執行加法運算;(1)“ADDR2,R0”→(R0)+(R2)→R0(PC)AR(M)DR(DR)IR譯碼(R2)Y(R0)X(R0)+(R2)R0取指周期執行周期PC0GARiR/W=1DR0GIRiR20GYiR00GXi+GR0i2/2/202335指令ADDR2,R0的執行過程指令地址指令R2R0和2/2/202336指令周期應包括取指周期和執行周期;取指周期與ADD指令完全相同;執行周期與ADD指令不同之處在于ALU的控制信號為“-”(2)“SUBR1,R3”→(R3)-(R1)→R3(PC)AR(M)DR(DR)IR譯碼(R3)Y(R1)X(R3)-(R1)R3取指周期執行周期PC0GARiR/W=1DR0GIRiR30GYiR10GXi—GR3i2/2/202337參考上例試寫出下列指令的微操作序列指令STOR1,(R2)功能:R1→(R2),將R1的數據送入R2指向的單元中;指令LAD(R3),R0功能:將R3指向單元中的數據送入R0中;指令ADDR0,(R1)功能:將R1指向單元中的數據和R0的內容相加,并將結果存入R0寄存器中。指令ADD(R1),R0功能:(R0)+((R1))→(R1),將R0中的數據與R1指向單元中的數據相加,并將結果送入R1指向的單元中;2/2/202338計算機的性能指標主頻/時鐘周期主時鐘的頻率(f)叫CPU的主頻;主頻的倒數稱為CPU時鐘周期(T),T=1/f。CPI執行一條指令所需的平均時鐘周期數。MIPS每秒百萬指令數,即單位時間內執行的指令數。2/2/202339【例1】某CPU的主頻為8MHz,設每個CPU周期平均包括4個時鐘周期,且該機平均指令執行速度為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個主頻周期。該機平均指令執行速度為多少MIPS?執行一條指令的時間=2.5×2×時鐘周期 =2.5×2×平均指令執行速度=1/平均指令周期若主頻不變,但每條指令平均包括5個CPU周期,每個CPU周期又包含4個主頻周期,平均指令執行速度為多少MIPS?執行一條指令的時間=2.5×2×時鐘周期 =5×4×平均指令執行速度=1/平均指令周期1200MHz=40MIPS1200MHz=10MIPS140M=110M=2/2/2023415.3
時序產生器和控制方式5.3.1時序信號的作用和體制5.3.2時序信號產生器5.3.3控制方式2/2/2023425.3.1時序信號的作用和體制時序信號的作用使計算機準確、迅速、有條不紊地工作;CPU通過時序控制來識別指令和數據:指令周期的第一個CPU周期——取指周期;從存儲單元中取出的一定是指令,需要送往IR指令寄存器;指令周期的其他CPU周期——執行周期;從存儲單元中取出的一定是數據,需要送往運算器。時序信號的體制:電位—脈沖制脈沖到達之前,電平信號必須要穩定;CPU的時間表2/2/202343控制器的時序信號硬布線控制器的時序信號常采用主狀態周期-節拍電位-節拍脈沖三級體制。微程序控制器的時序信號一般采用節拍電位-節拍脈沖二級體制。節拍脈沖節拍電位1主狀態周期節拍電位2節拍電位可表示一個CPU周期主狀態周期可包含若干個節拍電位,是最大的時間單位時鐘周期2/2/2023445.3.2時序信號產生器時序信號產生器:用邏輯電路實現時序的控制;微程序控制器中時序信號產生器的組成:P142圖5.17時鐘源
提供穩定的基本方波時鐘信號;環形脈沖發生器
產生一組有序的間隔相等或不等的脈沖序列;節拍脈沖和讀寫時序譯碼邏輯
環形脈沖與節拍脈沖共同作用產生各控制信號的時序;啟停控制邏輯
2/2/2023455.3.3控制方式控制器的控制方式控制不同操作序列的時序信號的方法。同步控制方式在任何情況下,已定的指令在執行時所需的機器周期數和時鐘周期數都固定不變。異步控制方式每條指令、每個操作控制信號需要多少時間就占用多少時間。聯合控制方式大部分操作序列為固定的機器周期,對某些時間難以確定的操作則以執行部件的“回答”信號作為本次操作的結束。機器周期的節拍脈沖數固定,但是各條指令周期的機器周期數不固定。2/2/2023465.4微程序控制器5.4.1微程序控制原理5.4.2微程序設計技術2/2/2023475.4.1微程序控制原理微程序設計技術是利用軟件方法來設計硬件的一門技術。具有規整性、靈活性、可維護性等一系列優點;逐漸取代了早期的組合邏輯控制器,已被廣泛地應用。基本思想仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里;當機器運行時,一條一條地讀出這些微指令,從而產生全機所需要的各種操作控制信號,使部件執行規定的操作。2/2/2023481、微命令和微操作控制部件與執行部件之間的聯系控制部件向執行部件發出控制信號;執行部件向控制部件返回狀態信息;微命令控制部件通過控制線向執行部件發出的各種控制命令;微操作執行部件接受微命令后所執行的操作;狀態測試執行部件通過反饋線向控制部件反映當前操作狀態,以使控制部件決定下一步的微命令;控制線執行部件的最基本的操作2/2/202349微操作的分類相容性微操作在同時或同一個CPU周期內可以并行執行的微操作;相斥性微操作不能在同時或不能在同一個CPU周期內并行執行的微操作。2/2/202350簡單運算器數據通路相斥性微操作相斥性微操作相斥性微操作相容性微操作動畫演示:5-20.swf2/2/2023512、微指令和微程序微指令一個CPU周期中,實現一定操作功能的一組微命令的組合。微指令一般包含操作控制和順序控制兩大部分操作控制:用于發出管理和指揮全機工作的控制信號;順序控制:用于決定產生下一條微指令的地址;所有的微指令都存放于控制存儲器中,使用地址訪問;微程序能實現一條機器指令功能的多條微指令序列;每條機器指令都對應著一段微程序;微地址2/2/202352順序控制部分的P1、P2為判別測試標志;若為00,則順序尋址微指令;若為01、10,則跳躍尋址微指令。直接地址20~23位順序尋址時,直接地址即為下一條微指令地址;跳躍尋址時,則要對直接地址修改,得到下條微指令地址;微指令基本格式節拍脈沖信號節拍電位信號2/2/2023533、微程序控制器原理框圖微程序控制器主要構成部件:P147圖5.23控制存儲器(CM)存放實現全部指令系統的微指令;由只讀存儲器構成,要求速度快,讀出周期短。微指令寄存器存放由控制存儲器讀出的一條微指令信息;微地址寄存器:決定將要訪問的下一條微指令的地址;微命令寄存器:保存一條微指令的操作控制字段和判別測試字段的信息。地址轉移邏輯用于跳躍尋址微指令時,承擔自動完成修改微地址的任務。2/2/202354P147圖5.23微程序控制器原理框圖動畫演示:5-23.swf2/2/202355微程序控制器的工作過程“取指微指令”為所有指令的公用微指令;通常放在控制存儲器中的“0”地址單元;所有機器指令的最后一條微指令的直接地址都指向0地址單元,用以取下一條微指令。取得機器指令后,經過P1測試,即操作碼測試,產生對應的微程序入口地址,并送入微地址寄存器。指令執行過程中,通過P2測試,修正下一條微指令的地址,逐條讀取微指令執行。執行完對應于一條機器指令的微程序后,返回到取指微指令,不斷重復,直至程序執行完畢。2/2/2023564、微程序舉例“十進制加法”指令是用BCD碼來完成十進制數的加法運算。當兩數位相加小于等于9時,結果正確;當兩數位相加大于9時,必須對和數位進行加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十進制加法指令的微指令執行流程假定(R1)=a,(R2)=b,(R3)=6;第一條微指令——取指微指令從內存中取出該指令,并修改PC的值;對操作碼進行P1測試,確定下一條微指令的地址;第二條微指令——兩數相加微指令第三條微指令——和數修正微指令P2測試,根據進位標志決定下一條微指令的地址第四條微指令——和數逆修正微指令取指令P1測試(R1)+(R2)
R2(R2)+(R3)
R2P2測試Cy=1Cy=02/2/202358十進制加法指令的微指令第一條微指令(取微指令)00000000000011111
10
0000第二條微指令(兩數相加)0101001001000000000
1001第三條微指令(和數加6)010001001
1000000001
0000第四條微指令(和數減6)0100010010010000000
0000取微指令和數減6……和數加6兩數相加……00000001……10011010……控制存儲器LDAR’RD’LDDR’LDIR’PC+1R1XR2Y+LDR2’R2XR3Y+LDR2’R2XR3Y—LDR2’動畫演示:
十進制加法指令微程序.swf2/2/2023595、CPU周期與微指令周期的關系微指令周期讀出微指令的時間加上執行該條微指令的時間;串行方式的微程序控制器中的概念;一般來講,一個微指令周期時間設計得恰好和CPU周期時間相等。2/2/202360CPU周期與微指令周期關系的例子CPU周期為0.8us,包括4個節拍脈沖T1~T4,每個脈沖200ns;T1—T3的600ns為執行微指令的時間;T4的200ns為取微指令的時間;T1的上升沿,將讀出的微指令存入微指令寄存器;T4的上升沿保存微指令的執行結果,T4期間取微指令。T1T2T3T4T1T2T3T4T4T4執行微指令
微指令周期CPU周期CPU周期
讀微指令2/2/2023616、機器指令與微指令的關系一條機器指令對應一個微程序,一個微程序由若干條微指令序列組成的;一條機器指令所完成的操作劃分成若干條微指令來完成,由微指令進行解釋和執行。從指令與微指令,程序與微程序,地址與微地址的一一對應關系來看,前者與內存有關,后者與控制存儲器有關。每一個CPU周期對應一條微指令。動畫演示:
5.27.swf2/2/202362【例】設某16位計算機運算器框圖如下圖(a)所示,其中ALU為16位的加法器(高電平工作),SA、SB為16位暫存器。4個通用寄存器,其讀、寫控制功能見下表。讀控制RRA0RA1選中100R0101R1110R2111R30××不讀寫控制WWA0WA1選中100R0101R1110R2111R30××不寫2/2/202363控制信號說明RA0RA1/WA0WA1:讀寫通用寄存器時,選擇所讀寫的寄存器;
R/W:寄存器讀/寫命令;LDSA/LDSB:將數據打入SA/SB的控制信號;SB→ALU:將SB中數據送入ALU的控制信號;→ALU:傳送SB的控制信號,并使加法器最低位加1;Reset:清暫存器SB為零的信號;~:一段微程序結束,轉入取機器指令的控制信號;要求:用二進制代碼寫出如下指令的微程序:“ADDR0,R1”指令,即(R0)+(R1)→R1“SUBR2,R3”指令,即(R3)-(R2)→R3“MOVR2,R3”指令,即(R2)→(R3)【例】微指令字長12位,微指令格式如下所示(未考慮順序控制字段)。WA1RA1RA0WA0RWLDSALDSBSB→ALUSB→ALUReset~
SB2/2/202364【例】解答三條指令的微指令的微程序流程圖三條指令的微程序代碼如下表:未考慮“取指周期”和順序控制問題,僅考慮“執行周期”;每一個方框表示一條微指令,用數字序號標明微指令序列的順序。指令微程序代碼ADD1.00**101000002.01**100100003.**0101001001SUB4.11**101000005.10**100100006.**1101000101MOV7.10**101000008.**11010010112/2/2023655.4.2微程序設計技術微命令編碼微地址的形成方法微指令格式動態微程序設計2/2/2023661、微命令編碼微指令中操作控制字段的編碼表示方法,以及如何把編碼翻譯成相應的微指令。微命令編碼主要考慮的問題:如何有效縮短微指令字長;如何有利于縮短微程序,減少所需的控存空間;如何有利于提高微程序執行速度;微命令編碼表示方法直接表示法、編碼表示法、混合表示法2/2/202367直接表示法操作控制字段中的每一位代表一個微命令;優點簡單直觀,其輸出可直接用于控制,執行速度快;缺點微指令字較長,因而使控制存儲器容量較大。.......................1234567891011121314151617181920212223LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制2/2/202368編碼表示法(1/2)編碼方法將微指令操作控制字段劃分為若干個子字段;每個子字段的所有微命令進行統一編碼;每個子字段的不同編碼表示不同的微命令;例如,某機器指令系統總共需要256個微命令采用直接編碼法微指令的操作控制字段需256位;采用編碼表示法若4個微命令劃分一個子字段,則每個子字段可編碼16個微命令;256個微命令需16個子字段,即微指令的操作控制字段僅64位。2/2/202369編碼表示法(2/2)遵循原則:把相斥的微命令劃分在同一個字段中,相容的微命令劃分在不同字段;字段的劃分應與數據通路結構相適應;每個子字段應留出一個空操作狀態;每個子字段所定義的微命令不宜太多;優點可大大縮短微指令字長;缺點需要微命令譯碼,故微程序的執行速度稍稍減慢。2/2/2023702、微地址的形成方法微程序的入口地址微程序的第一條微指令所在控存單元的地址;現行微指令執行微程序過程中,當前正在執行的微指令;現行微指令的地址稱為現行微地址。后繼微指令現行微指令執行完畢后,下一條要執行的微指令;后繼微指令的地址稱為后繼微地址。微指令中確定下一條微指令地址的方法;計數器方式、多路轉移方式;2/2/202371計數器方式同CPU中程序計數器產生機器指令地址的方法相類似。優點微指令的順序控制字段較短,微地址產生機構簡單。缺點多路并行轉移功能較弱,速度較慢,靈活性較差。2/2/202372多路轉移方式可根據“判別測試”標志和“狀態條件”信息選定某一個候選微地址的方法。特點能以較短的順序控制字段配合,實現多路并行轉移,靈活性好,速度較快;但轉移地址邏輯需要用組合邏輯方法設計。2/2/202373【例】已知某計算機采用微程序控制方式,其控存容量為512×32位,微程序可以在控存中實現轉移,可控制微程序轉移的條件有6個,采用直接編碼方式,后繼微指令地址采用多路轉移方式。微指令字長32位,格式如下,請說明微指令中3個字段分別應為多少位。由控存單元數可知共512個,則每個控存單元地址位為9位,則微指令中的后繼微指令地址位數為9位;可控制微程序轉移的條件為6個,且按照直接控制編碼,則測試條件位數為6位;剩下的為操作控制字段可用位數32-9-6=17位;微操作編碼測試指令下址2/2/2023743、微指令格式水平型微指令一次能定義并執行多個并行操作微命令的微指令;一般由操作控制字段、判別測試字段、下地址字段三部分構成;根據控制字段編碼方式的不同,可分為全水平型、字段譯碼法水平型、直接和譯碼相混合的水平型三種微指令。垂直型微指令微指令中設置微操作碼字段,采用微操作碼編譯法,由微操作碼規定微指令的功能;垂直型微指令的結構類似于機器指令的結構。課本P153四個垂直型微指令的例子2/2/202375水平型微指令與垂直型微指令比較水平型微指令并行操作能力強,效率高,靈活性強。垂直型微指令則較差。水平型微指令執行一條指令的時間短,垂直型微指令執行時間長。由水平型微指令解釋指令的微程序,具有微指令字比較長,但微程序短的特點。
垂直型微指令則相反,微指令字比較短而微程序長。水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。2/2/2023764、動態微程序設計靜態微程序設計對應于一臺計算機的機器指令只有一組微程序,而且這一組微程序設計好之后,一般無需改變而且也不容易改變。動態微程序設計可通過改變微指令和微程序來改變機器的指令系統的微程序設計技術。2/2/2023775.5硬連線控制器硬布線控制器是一種由門電路和觸發器構成的復雜樹形網絡。硬布線控制器是早期設計計算機的一種方法;隨著新一代機器及VLSI技術的發展,硬布線邏輯設計思想又得到了重視。與微程序控制相比,硬布線控制的速度較快;微程序控制中每條微指令都要從控制存儲器中讀取一次,影響了速度,而硬布線控制主要取決于電路延遲;近年來在某些超高速新型計算機結構中,又選用了硬布線控制,或與微程序控制器混合使用。2/2/202378硬連線控制器結構方框圖2/2/2023795.7流水CPU5.7.1并行處理技術5.7.2流水CPU的結構5.7.3流水線中的主要問題2/2/2023805.7.1并行處理技術標準的馮·諾依曼體系結構,采用的是串行處理,即一個時刻只能進行一個操作。并行性的兩種含義:同時性:兩個以上事件在同一時刻發生;如多機系統中,同一時刻多個進程在運行。并發行:兩個以上事件在同一間隔內發生。如并發程序,某一時刻CPU中只有一個進程在運行,而在一個時間段內,多個進程同時運行。并行性的三種形式:時間并行:即使用流水處理部件,時間重疊。空間并行:設置重復資源,同時工作。時間并行+空間并行:時間重疊和資源重復的綜合應用。2/2/202381微指令的執行方式串行執行方式并行執行方式取第i條微指令執行第i條微指令取第i+1條微指令執行第i+1條微指令微周期微周期取第i條微指令執行第i條微指令取第i+1條微指令執行第i+1條微指令取第i+2條微指令執行第i+2條微指令2/2/2023825.7.2流水CPU的結構1、流水計算機的系統組成流水CPU的組成指令部件指令部件本身構成一個流水線,由取指令、指令譯碼、計算操作數地址、取操作數等過程段組成。指令隊列指令隊列是一個先進先出的寄存器棧,用于存放經過譯碼的指令和取來的操作數。執行部件執行部件可以具有多個算術邏輯運算部件,這些部件本身又用流水線方式構成。主存采用多體交叉存儲器,以提高訪問速度。P162頁圖5.32流水線技術是Intel在486芯片中首次使用的2/2/202383流水計算機系統組成原理示意圖2/2/202384執行段的速度匹配問題的解決將執行部件分為定點執行部件和浮點執行部件兩個可并行執行的部分,分別處理定點運算指令和浮點運算指令;在浮點執行部件中,又有浮點加法部件和浮點乘/除部件,它們也可以同時執行不同的指令;浮點運算部件都以流水線方式工作。2/2/2023852、流水CPU的時空圖流水線基本原理順序方式的串行指令執行過程:將一條指令的執行過程分成4段,并行執行過程:取指1譯碼1取操作數1運算并保存結果1取指2譯碼2取操作數2…取指譯碼取操作數運算并保存結果取指譯碼取操作數運算并保存結果取指譯碼取操作數運算并保存結果取指譯碼取操作數運算并保存結果一般流水線時鐘周期應選取4段中最長的時間2/2/202386流水CPU的加速比非流水線CPU處理n個任務時,所需時鐘周期數 T1=n×k一個具有k級過程段的流水CPU處理這n個任務時,需要的時鐘周期數 Tk=k+(n-1)k個時鐘周期用于處理第一個任務;k個周期后,流水線被裝滿,剩余的n-1個任務只需n-1個周期即可完成。將T1和Tk的比率定義為k級線性流水處理器的加速比:Ck=T1/Tk2/2/202387動畫演示:5.33.swf一般流水線(pipeline)只有一條指令流水線超流水線(superpipeline)多級流水線每個階段內部再劃分步驟奔騰Pro的流水線長達14步超標量(superscale)流水線具有兩條以上的指令流水線奔騰以上CPU才具有這種結構流水計算機的時空圖2/2/2023883、流水線分類指令流水線指令執行的并行處理;指令流劃分為取指、譯碼、取操作數、執行、寫回等過程;算術流水線運算操作步驟的并行處理;現代微機中大多采用流水的算術運算器;處理機流水線程序步驟的并行處理將每一階段的處理分散在不同的機器上,應用于多級系統中;2/2/202389【例1】假設一條指令按取指、分析和執行三步解釋執行,請計算下列幾種情況下執行完100條指令所需的時間。順序方式若T取=T分=2,T執=1t=100×(2+2+1)=500若T取=T執=5,T分=2t=100×(5+5+2)=1200僅(K+1)取指與K執行重疊;(K+2)取指、(K+1)分析、K執行重疊。2/2/202390②僅(K+1)取指與K執行重疊取指分析執行取指分析執行取指分析執行…取指分析執行第2條第3條第100條第1條若T取=T分=2,T執=1t=6+98×(2+2)+3=401若T取=T執=5,T分=2t=12+99×(2+5)=7052/2/202391③(K+2)取指、(K+1)分析、K執行重疊取指分析執行取指分析執行取指分析執行…取指分析執行第2條第1條第3條第100條若T取=T分=2,T執=1t=6+98×2+1=203若T取=T執=5,T分=2t=15+98×5+5=5102/2/202392【例2】指令流水線有取指(IF)、譯碼(ID)、執行(EX)、訪存(MEM)、寫回寄存器堆(WB)五個過程段,共有7條指令連續輸入此流水線,時鐘周期為100ns。請畫出流水處理的時空圖;IFIDEXMEMWB第1條IFIDEXMEMWB第2條IFIDEXMEM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 育嬰知識培訓
- 小學校本課程教學
- 鉆石交易合同
- 【名校密卷】人教版數學四年級下冊期中測試卷(三)及答案
- 江西省上饒市橫峰縣2024-2025學年六年級下學期小升初真題數學試卷含解析
- 廣西自然資源職業技術學院《康養保健與按摩》2023-2024學年第二學期期末試卷
- 閩江學院《醫療器械研發管理與產品認證》2023-2024學年第二學期期末試卷
- 哈爾濱城市職業學院《動物生物學》2023-2024學年第二學期期末試卷
- 人教PEP版英語五年級下冊教學課件Unit 6 Part B 第三課時
- 2025年張家界市小升初全真模擬數學檢測卷含解析
- 分層過程審核培訓-課后測試附有答案
- 急性腎損傷護理查房
- 江蘇省南京市鼓樓區2022-2023學年五年級下學期期中語文試卷
- 第1課+古代亞非【中職專用】《世界歷史》(高教版2023基礎模塊)
- 報價單模板完
- 膠原蛋白注射知情同意書
- 幼兒園優質公開課:小班綜合《小雞過生日》課件
- 《新媒體推廣》項目二圖文推廣-課前自學
- 掛籃檢查驗收記錄表
- (完整版)好撒瑪利亞人
- PCB的DFM評審報告模板
評論
0/150
提交評論