計算機(jī)組成-第4章中央處理器課件_第1頁
計算機(jī)組成-第4章中央處理器課件_第2頁
計算機(jī)組成-第4章中央處理器課件_第3頁
計算機(jī)組成-第4章中央處理器課件_第4頁
計算機(jī)組成-第4章中央處理器課件_第5頁
已閱讀5頁,還剩207頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章中央處理器(教材第5章)教學(xué)內(nèi)容①CPU功能和組成②指令周期基本概念③硬布線控制器設(shè)計技術(shù)④微程序控制器設(shè)計技術(shù)⑤流水處理器,以及其他技術(shù)教學(xué)重點與難點①分析CPU數(shù)據(jù)通路的,具體操作的微命令的確定和實現(xiàn)過程的流程圖描述②對指令具體字段、相關(guān)寄存器的分析,微程序控制器、組合邏輯控制器的分析、比較、設(shè)計③流水處理器的基本概念第1節(jié)CPU的功能和組成第2節(jié)指令周期第3節(jié)時序信號和控制方式第4節(jié)一個模型計算機(jī)和控制器初步設(shè)計第5節(jié)硬布線控制器第6節(jié)微程序控制器及微程序設(shè)計第7節(jié)傳統(tǒng)CPU介紹第8節(jié)流水CPU第9節(jié)RISCCPU第1節(jié)CPU的功能和組成

一、CPU的功能二、CPU的組成三、CPU中的主要寄存器四、操作控制單元與時序產(chǎn)生器一、CPU的功能1指令控制程序執(zhí)行順序控制2操作控制操作控制單元產(chǎn)生取出的一條指令的各種操作信號和執(zhí)行該指令的所須的各種操作信號.3時間控制

對操作信號進(jìn)行時間上的定時.4數(shù)據(jù)加工

算術(shù)邏輯運算FetchDecodeExec二、CPU的組成1

運算器ALU\寄存器\數(shù)據(jù)緩沖寄存器\狀態(tài)條件寄存器PSW主要功能在第2章中已講2控制器PC\指令寄存器IR\指令譯碼器\時序產(chǎn)生器\操作控制器主要功能:從指令Cache中取指令,確定下一條指令在指令Cache的位置

對指令譯碼\測試產(chǎn)生相應(yīng)的操作控制信號控制CPU與Cache\MEM\輸入\輸出間的數(shù)據(jù)流動3當(dāng)前CPU中新增加的部分浮點運算器\CACHEALUC1R0R1R2R3C2通用寄存器數(shù)據(jù)緩沖寄存器DR狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……304031數(shù)據(jù)CacheAR地址寄存器地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC程序計數(shù)器+1地址總線地址總線DBUS數(shù)據(jù)指令時序發(fā)生器操作控制器指令譯碼OP地址字段C1C2CnCiIR指令寄存器指令集確定后,檢查指令系統(tǒng),根據(jù)指令功能,設(shè)計ALU,確定數(shù)據(jù)通路、控制部件!?。BUSOC三、CPU中的主要寄存器CPU中至少有如下六類寄存器1PC程序計數(shù)器2指令寄存器3地址寄存器4數(shù)據(jù)緩沖器5累加寄存器及通用寄存器6狀態(tài)條件寄存器PSW程序計數(shù)器(PC)指示(指出)下一條指令的內(nèi)存地址.

指令寄存器(IR)

指令寄存器用來保存當(dāng)前正在執(zhí)行的一條指令的內(nèi)容。當(dāng)執(zhí)行一條指令時,先把它從cache(或內(nèi)存)取到緩沖寄存器中,然后再傳送至指令寄存器。指令譯碼IRAddressOP0010010000000001數(shù)據(jù)地址寄存器(AR,MAR)

地址寄存器用來保存當(dāng)前CPU所訪問的Cache或內(nèi)存單元的地址,直到內(nèi)存的讀/寫操作完成為止。數(shù)據(jù)緩沖寄存器(DR)

數(shù)據(jù)緩沖寄存器用來暫時存放由內(nèi)存儲器讀出或要寫入內(nèi)存儲器的一條指令或一個數(shù)據(jù)字緩沖寄存器的作用是:(1)作為ALU運算結(jié)果和通用寄存器之間傳送的緩沖(2)CPU與內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站,起緩沖作用(CPU和內(nèi)存、外圍設(shè)備之間在操作速度上的差別)(3)單累加器結(jié)構(gòu)的運算器中,數(shù)據(jù)緩沖寄存器還可兼作為操作數(shù)寄存器。累加寄存器(ACC)及通用寄存器累加寄存器ACC通常簡稱為累加器,是一個通用寄存器。功能:當(dāng)運算器的算術(shù)邏輯單元ALU)執(zhí)行算術(shù)或邏輯運算時,為ALU提供一個工作區(qū)。累加寄存器暫時存放ALU運算的結(jié)果信息。顯然,運算器中至少要有一個累加寄存器。

當(dāng)使用多個累加器時,就變成通用寄存器堆結(jié)構(gòu)(RegisterFile,RF),其中任何一個可存放源操作數(shù),也可存放結(jié)果操作數(shù)。在這種情況下,需要在指令格式中對寄存器號加以編址。狀態(tài)條件寄存器(PSW)

保存由算術(shù)指令和邏輯指令運行或測試的結(jié)果建立的各種條件碼內(nèi)容:運算結(jié)果進(jìn)位標(biāo)志(C)運算結(jié)果溢出標(biāo)志(V)運算結(jié)果為零標(biāo)志(Z),運算結(jié)果為負(fù)標(biāo)志(N)中斷和系統(tǒng)工作狀態(tài)等信息設(shè)標(biāo)志位四操作控制單元與時序產(chǎn)生器1.微操作與數(shù)據(jù)通路2.操作控制器3.時序發(fā)生器微操作(Microoperation)控制器在實現(xiàn)一條指令的功能時,總是把每一條指令分解成時間上先后有序的一系列最基本、最簡單、不可再分的操作控制動作這種最基本、最簡單、不可再分的操作稱為微操作1.微操作與數(shù)據(jù)通路微操作控制信號數(shù)據(jù)通路(DataPath)通常把許多寄存器之間及ALU與存儲器等各部件間的傳輸信息的通路稱為數(shù)據(jù)通路控制信息從什么地方開始,中間經(jīng)過哪個寄存器或多路開關(guān),最后傳送到哪個寄存器在數(shù)據(jù)通路中,微操作通過自身的控制作用和彼此之間的密切配合,使指令流、數(shù)據(jù)流等信息流按照預(yù)定的路徑流動,以實現(xiàn)指令的功能每一條指令的功能決定了它所需要的一系列帶時序的微操作信號2.操作控制器控制器的基本功能是負(fù)責(zé)指令的讀出、識別和解釋,并指揮協(xié)調(diào)各功能部件執(zhí)行指令操作控制器是CPU中完成取指令和執(zhí)行指令全過程的部件其主要功能是根據(jù)指令操作碼和時序信號的要求,產(chǎn)生各種操作控制信號以便在各寄存器之間正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制根據(jù)設(shè)計方法不同,操作控制器可分為組合邏輯控制器和微程序控制器兩種二者的區(qū)別在于其中的控制信號形成部件不同,進(jìn)而反映出不同的設(shè)計原理和方法根據(jù)使用器件的不同,組合邏輯控制器又可進(jìn)一步細(xì)分為硬連線控制器和門陣列控制器3.時序發(fā)生器CPU中除了操作控制器外,還必須包括時序發(fā)生器由于計算機(jī)的高速工作,每一個動作的時間必須非常嚴(yán)格,不能有任何差錯時序發(fā)生器的作用對操作控制器產(chǎn)生的各種控制信號實施時間上的嚴(yán)格控制產(chǎn)生各功能部件所需要的定時控制信號數(shù)據(jù)通路

是許多寄存器之間、ALU、數(shù)據(jù)存儲器及相關(guān)部件傳送信息的通路。操作控制器的功能:

根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制??刂破鞯脑O(shè)計方法時序邏輯型、存儲邏輯型、時序邏輯與存儲邏輯結(jié)合型三種。硬布線控制器是采用時序邏輯技術(shù)來實現(xiàn)的.微程序控制器是采用存儲邏輯來實現(xiàn)的前兩種方式的組合第2節(jié)指令周期一、指令周期的基本概念二、六條指令的指令執(zhí)行的過程三、用方框圖語言表示指令周期指令周期=CPU取出并執(zhí)行一條指令所需的時間指令周期則由兩部分時間構(gòu)成:取指周期和執(zhí)行周期指令取指周期相同,但對執(zhí)行周期則因指令不同而有差異。指令周期可用更基本的時間單位:CPU周期描述CPU周期:即機(jī)器周期,CPU訪問一次內(nèi)存所花的時間較長,因此用從內(nèi)存讀取一條指令字的最短時間來定義一、指令周期的基本概念CPU的基本工作是執(zhí)行預(yù)先存儲的指令序列(即程序)程序的運行過程實際上是不斷地(取出指令、分析指令)、(執(zhí)行指令)的過程CPU從存放程序的主存儲器里取出一條指令譯碼并執(zhí)行這條指令保存執(zhí)行結(jié)果緊接著又去取指令,譯碼,執(zhí)行指令……如此周而復(fù)始,反復(fù)循環(huán),使得計算機(jī)能夠自動地工作除非遇到停機(jī)指令,否則這個循環(huán)將一直進(jìn)行下去指令周期中的操作:1.取指令階段2.指令譯碼階段3.執(zhí)行指令階段4.訪存取數(shù)階段5.結(jié)果寫回階段取指周期執(zhí)行周期幾乎所有的馮·諾伊曼型計算機(jī)的CPU,其工作都可以分為5個階段取指令指令譯碼執(zhí)行指令訪存取數(shù)結(jié)果寫回指令的執(zhí)行過程1.取指令階段取指令(InstructionFetch,IF)階段是將一條指令從主存中取到指令寄存器的過程程序計數(shù)器PC中的數(shù)值,用來指示當(dāng)前指令在主存中的位置當(dāng)一條指令被取出后,PC中的數(shù)值將根據(jù)指令字長度而自動遞增:若為單字長指令,則(PC)+1PC;若為雙字長指令,則(PC)+2PC,依此類推2.指令譯碼階段取出指令后,計算機(jī)立即進(jìn)入指令譯碼(InstructionDecode,ID)階段在指令譯碼階段,指令譯碼器按照預(yù)定的指令格式,對取回的指令進(jìn)行拆分和解釋,識別區(qū)分出不同的指令類別以及各種獲取操作數(shù)的方法在組合邏輯控制的計算機(jī)中,指令譯碼器對不同的指令操作碼產(chǎn)生不同的控制電位,以形成不同的微操作序列在微程序控制的計算機(jī)中,指令譯碼器用指令操作碼來找到執(zhí)行該指令的微程序的入口,并從此入口開始執(zhí)行在傳統(tǒng)的設(shè)計里,CPU中負(fù)責(zé)指令譯碼的部分是無法改變的在眾多運用微程序控制技術(shù)的新型CPU中,微程序有時是可重寫的,可以通過修改成品CPU來改變CPU的譯碼方式3.執(zhí)行指令階段在取指令和指令譯碼階段之后,接著進(jìn)入執(zhí)行指令(Execute,EX)階段完成指令所規(guī)定的各種操作具體實現(xiàn)指令的功能為此,CPU的不同部分被連接起來,以執(zhí)行所需的操作例如,如果要求完成一個加法運算,算術(shù)邏輯單元ALU將被連接到一組輸入和一組輸出輸入端提供需要相加的數(shù)值輸出端將含有最后的運算結(jié)果4.訪存取數(shù)階段根據(jù)指令需要,有可能要訪問主存,讀取操作數(shù),這樣就進(jìn)入了訪存取數(shù)(Memory,MEM)階段根據(jù)指令地址碼,得到操作數(shù)在主存中的地址從主存中讀取該操作數(shù)用于運算5.結(jié)果寫回階段作為最后一個階段,結(jié)果寫回(Writeback,WB)階段把執(zhí)行指令階段的運行結(jié)果數(shù)據(jù)“寫回”到某種存儲形式:結(jié)果數(shù)據(jù)經(jīng)常被寫到CPU的內(nèi)部寄存器中,以便被后續(xù)的指令快速地存取在有些情況下,結(jié)果數(shù)據(jù)也可被寫入相對較慢、但較廉價且容量較大的主存許多指令還會改變程序狀態(tài)字寄存器中標(biāo)志位的狀態(tài)標(biāo)識不同的操作結(jié)果,可被用來影響程序的動作在指令執(zhí)行完畢、結(jié)果數(shù)據(jù)寫回之后,若無意外事件(如結(jié)果溢出等)發(fā)生,計算機(jī)就接著從程序計數(shù)器PC中取得下一條指令地址,開始新一輪的循環(huán),下一個指令周期將順序取出下一條指令許多新型CPU可以同時取出、譯碼和執(zhí)行多條指令,體現(xiàn)并行處理的特性二、六條指令的指令執(zhí)行的過程(結(jié)合具體數(shù)據(jù)通路)程序執(zhí)行前,R0=00R1=10R2=20R3=30MOVR0,R1LADR1,6ADDR1,R2100101102103104105106指令存儲器八進(jìn)制表示ANDR1,R3JMP101STOR2,(R3)直接地址70100(LAD不影響6號單元內(nèi)的數(shù)據(jù))6640(120,STO后為120)56710….2030八進(jìn)制表示77數(shù)據(jù)存儲1取指令階段

(1)程序計數(shù)器PC被裝入的101(八進(jìn)制)(2)PC內(nèi)容被放到地址總線ABUS上,啟動讀指存命令;(3)將101號地址的單元讀出的MOV指令通過IBUS送IR(4)程序計數(shù)器內(nèi)容加1,變?yōu)?02,為取下一條指令做好準(zhǔn)備;(5)指令寄存器中的操作碼OP被譯碼或測試;(6)CPU識別出是指令MOV,至此,取指令階段即告結(jié)束。非訪內(nèi)指令MOVR0,R1RR型指令。ALUC1R000R110R220R330C2通用寄存器數(shù)據(jù)緩沖寄存器DR狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……304031數(shù)據(jù)CacheAR地址寄存器地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC101+1地址總線地址總線DBUS數(shù)據(jù)指令產(chǎn)生1-5取指操作信號指令譯碼MOVR0,R1C1C2CnCiIR指令集確定后,檢查指令系統(tǒng),根據(jù)指令功能,設(shè)計ALU,確定數(shù)據(jù)通路、控制部件?。?!IBUS1222345操作控制器PC1022執(zhí)行指令階段(1)OC送控制信號,選擇R1為源寄存器,選擇R0為目標(biāo)寄存器;(2)OC送控制信號到ALU,指定ALU做傳數(shù)操作;(3)OC送控制信號,打開與ALU相連的三態(tài)門,將ALU輸出送至DBUS;(4)OC送控制信號,DBUS上的數(shù)據(jù)送至DR(10)(5)OC送控制信號,控制將DR中數(shù)據(jù)送目標(biāo)寄存器R0,R0為10ALUC1R000R110R220R330C2通用寄存器DR狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……304031數(shù)據(jù)CacheAR地址寄存器地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC102+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生1-5取指操作信號指令譯碼MOVR0,R1C1C2CnCiIR3操作控制器oc11R1244MOVR0,R1執(zhí)行周期101010LAD指令的指令周期由三個CPU周期組成。

指令LADR1,6RS指令,6號單元第一個CPU周期為取指周期與MOV相同第二個CPU周期送操作數(shù)地址IR中的地址碼(6)AR第二個CPU周期主要完成送操作數(shù)地址。(1)OC送控制信號,打開IR輸出三態(tài)門,將直接地址6送DBUS(2)OC送控制信號,將DBUS上的地址6送ARALUC1R010R110R220R330C2通用寄存器DR10狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……304031數(shù)據(jù)Cache地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC103+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生1-2取指操作信號指令譯碼LADR1,6C1C2CnCiIR1操作控制器oc1R12LADR1,6執(zhí)行周期(第2周期)AR6第三個CPU周期:取操作數(shù)裝入寄存器(3)OC送讀命令,直接地址選中單元6的數(shù)據(jù)100送DBUS;(4)OC送控制信號,將DBUS上的數(shù)據(jù)100送DR(5)OC送控制信號,DR中的100送R1LADR1,6執(zhí)行周期(第3周期)ALUC1R010R1R220R330C2通用寄存器DR狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……304031數(shù)據(jù)CacheAR6地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC103+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生3-5取指操作信號指令譯碼LADR1,6C1C2CnCiIR1操作控制器oc1R12LAD執(zhí)行周期(第3周期)3345100100ADD指令的指令周期由兩個CPU周期組成。RR型指令

ADDR1,R2第一個CPU周期為取指周期與MOV,LDA相同。執(zhí)行周期如下(第2個CPU周期)(1)OC送控制信號,選擇R1為源寄存器,選擇R2為目標(biāo)寄存器;(2)OC送控制信號到ALU,指定ALU做加法操作;(3)OC送控制信號,打開與ALU相連的三態(tài)門,將ALU運算結(jié)果120輸出送至DBUS;(4)OC送控制信號,DBUS上的數(shù)據(jù)送至DR(120);進(jìn)位標(biāo)志送PSW(5)OC送控制信號,控制將DR中數(shù)據(jù)120送目標(biāo)寄存器R2,R2為120ALUC1R010R1100R2R330C2通用寄存器DR狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……304031數(shù)據(jù)CacheAR6地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC104+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生1-5取指操作信號指令譯碼ADDR1,R2C1C2CnCiIR1操作控制器oc1R12ADD執(zhí)行周期334553120120+20STO指令的指令周期由三個CPU周期組成。RS

型指令

第一個CPU周期為取指周期與MOV相同STO(存儲指令)周期第二個CPU周期送操作數(shù)地址

(R3)=30AR第二個CPU周期主要完成送操作數(shù)地址。(1)OC送控制信號,選擇寄存器(R3)=30,此寄存器內(nèi)容將作為操作數(shù)地址;(2)OC送控制信號,打開寄存器輸出三態(tài)門(不經(jīng)ALU),將地址30(R3之內(nèi)容)送DBUS(3)OC送控制信號,將DBUS上的地址30送ARALUC1R010R1100R2120R330C2通用寄存器DR120狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……3012031數(shù)據(jù)Cache地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC105+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生1-3取指操作信號指令譯碼STOR2,(R3)C1C2CnCiIR操作控制器oc1R1STO執(zhí)行周期(第2周期)322230第三個CPU周期:將寄存器內(nèi)容存入存儲器(4)OC送控制信號,選擇R2,內(nèi)容(120)(5)OC送控制信號,打開寄存器輸出三態(tài)門,把數(shù)據(jù)120送到DBUS總線;(6)OC送控制信號,數(shù)據(jù)總線上的數(shù)據(jù)120寫入到所選中的存儲器單元30中,STO執(zhí)行結(jié)束。ALUC1R010R1100R2120R330C2通用寄存器DR120狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……3031數(shù)據(jù)Cache30地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC105+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生4-6取指操作信號指令譯碼STOR2,(R3)C1C2CnCiIR操作控制器oc1R12STO執(zhí)行周期(第3周期)3224556120JMP指令周期指令周期由兩個CPU周期組成。

第一個CPU周期為取指周期與MOV相同。(1)OC送控制信號,打開IR輸出三態(tài)門,將其中的地址101送DBUS(2)OC送控制信號,將DBUS上的地址101送PC,程序從101開始執(zhí)行其執(zhí)行周期(第2周期)如下:ALUC1R010R1100R2120R330C2通用寄存器DR120狀態(tài)字PSW通往I/O接口地址數(shù)據(jù)57061007661077……3012031數(shù)據(jù)CacheAR30地址OP101MOV102LAD103ADD104STO105JMP106AND107Cache指令地址字段R0,R1R1,6R1,R2R2,(R3)101R1,R3PC106+1地址總線地址總線數(shù)據(jù)指令產(chǎn)生1-2取指操作信號指令譯碼JMP101C1C2CnCiIR操作控制器oc1R1JMP執(zhí)行周期2101101

菱形

通常用來表示某種判別或測試,不過時間上它依附于緊接它的前面一個方框的CPU周期,而不單獨占用一個CPU周期。三、用方框圖語言表示指令周期在進(jìn)行計算機(jī)設(shè)計時,可以采用方框圖語言來表示一條指令的指令周期。方框代表一個CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。(在具體設(shè)計時方框也可表示為時間單位)公操作符號“~”:表示一條指令已經(jīng)執(zhí)行完畢,轉(zhuǎn)入公操作所謂公操作,就是一條指令執(zhí)行完畢后CPU進(jìn)行的一些操作。這些操作主要是CPU對外設(shè)請求的處理如果外設(shè)沒有向CPU請求交換數(shù)據(jù),那么CPU又轉(zhuǎn)向主存取下一條指令

對于一個完整的指令系統(tǒng)中的所有指令都可以用方框圖語言表示指令周期:1)從指令流程圖中我們可以得到每條指令的指令周期中數(shù)據(jù)通路(用到哪些單元、寄存器、信息的流向)2)與之對應(yīng)的其中控制信號的變化,用于指導(dǎo)控制器設(shè)計。PCABUS(I)IBUSIRPC+1譯碼R1R0IRARR1+R2R2R3ARIRPCMOVLADADDSTOJMPDBUSDRDRR1R2DBUSRD(I)RD(D)WE(D)指存讀命令取指階段執(zhí)行階段例1

圖為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR為指令寄存器,PC為程序計數(shù)器(具有自增功能),M為主存(受R/W信號控制),AR為主存地址寄存器,DR為數(shù)據(jù)寄存器,ALU由+、-控制信號決定完成何種操作,控制信號G控制一個門電路。另外,線上標(biāo)注有控制信號,例如Yi表示Y寄存器的輸入控制信號,R1o為寄存器R1的輸出控制信號,未標(biāo)字符的線為直通線,不受控制。 “ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,試畫出其指令周期流程圖(假設(shè)該指令的地址已放入PC中),并列出相應(yīng)的微操作控制信號序列。P139例1雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路圖微操作信號微操作信號注意微操作控制信號(右邊)ALU0ALU0例2(補(bǔ)充例題)某8位模型計算機(jī)的數(shù)據(jù)通路如圖所示。其中主要組成在圖中標(biāo)出。根據(jù)指令集,寫出ADDRD,RS的指令周期流程圖指令功能與格式名稱助記符功能指令格式R7R6R5R4R3R2R1R0加法ADDRd,RsRd+Rs->Rd0000RS1RS0RD1RD0減法SUBRd,RsRd-Rs->Rd0001RS1RS0RD1RD0乘法MULRd,RsRd*Rs->Rd0010RS1RS0RD1RD0邏輯與ANDRd,RsRd&Rs->Rd0011RS1RS0RD1RD0存數(shù)STARd,[Rs]Rd->[Rs]0100RS1RS0RD1RD0取數(shù)LDARd,[Rs][Rs]->Rd0101RS1RS0RD1RD0無條件轉(zhuǎn)移JMP[Rs][Rs]->PC1000RS1RS0XX條件轉(zhuǎn)移JCD若C=1則PC+D->PC1001D3D2D1D0停機(jī)STP暫停運行0110XXXX中斷返回IRET返回斷點1010XXXX開中斷INTS允許中斷1011XXXX關(guān)中斷INTC禁止中斷1100XXXXPCLDAR2M3CERLDIRPC_INCPC+1控制器ADDRD,RS地址OP取指周期W1存儲器運算器執(zhí)行周期W2CER運算器存儲器控制器執(zhí)行周期W3結(jié)果CER運算器存儲器控制器執(zhí)行周期W4結(jié)果RDCER運算器存儲器控制器第3節(jié)時序信號和控制方式一、時序信號的作用和體制二、時序信號產(chǎn)生器三、控制方式*一、時序信號的作用和體制在計算機(jī)高速運行過程中,計算機(jī)內(nèi)各部件的每一個動作都必須嚴(yán)格遵守時間規(guī)定,不能有任何差錯例用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在主存里,那么CPU如何識別出它們是數(shù)據(jù)還是指令呢?從時間上來說,取指令事件發(fā)生在指令周期的第一個CPU周期中,即發(fā)生在取指令階段而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個CPU周期中,即發(fā)生在執(zhí)行指令階段從空間上來說,如果取出的代碼是指令,那么一定送往指令寄存器如果取出的代碼是數(shù)據(jù),那么一定送往運算器從時序上控制操作信號的順序時序信號采用電位-脈沖制硬布線控制器:主狀態(tài)周期-節(jié)拍電位(為一個CPU周期)-節(jié)拍脈沖微程序控制器:節(jié)拍電位-節(jié)拍脈沖

節(jié)拍電位節(jié)拍電位表示一個CPU周期,是一個較大的時間單位.

工作脈沖

在一個機(jī)器周期內(nèi),要完成若干個微操作。這些微操作有的可以同時執(zhí)行,有的需要按先后次序串行執(zhí)行。把一個機(jī)器周期分為若干個相等的時間段,每一個時間段對應(yīng)一個電位信號。

在節(jié)拍中執(zhí)行的有些操作需要同步定時脈沖,為此,在一個節(jié)拍內(nèi)常常設(shè)置一個或幾個工作脈沖,作為各種同步脈沖的來源。節(jié)拍電位與工作脈沖的配合關(guān)系QQ-DCP邏輯電路邏輯電路信息節(jié)拍電位Ti打入條件工作脈沖PiM1(W1)M2(W2)M3(W3)M4(W4)MF1MF2TMF為狀態(tài)周期;(W)為節(jié)拍;T為節(jié)拍脈沖二時序信號產(chǎn)生器計算機(jī)內(nèi)各部件的協(xié)調(diào)動作需要時間標(biāo)志而時間標(biāo)志則是用時序信號來體現(xiàn)的計算機(jī)各部分工作所需的時序信號,在CPU中統(tǒng)一由時序發(fā)生器來產(chǎn)生啟??刂七壿嫻?jié)拍脈沖及讀寫時序環(huán)形脈沖發(fā)生器啟停時鐘源RD°WE°T1°T2°T3°T4°RDWET1T2T3T4RD’WE’CPU中時序發(fā)生器的功能用邏輯電路來發(fā)出時序信號,實現(xiàn)時序控制使計算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作時序發(fā)生器是產(chǎn)生控制指令周期的時序信號的部件當(dāng)CPU開始取指令并執(zhí)行指令時,操作控制器利用時序發(fā)生器產(chǎn)生的定時脈沖的順序和不同的脈沖間隔,提供計算機(jī)各部件工作所需的各種微操作定時控制信號,有條理、有節(jié)奏地指揮機(jī)器各個部件按規(guī)定時間動作2環(huán)行脈沖發(fā)生器和節(jié)拍脈沖

3啟停邏輯1時鐘源

由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成

時鐘脈沖源電路實現(xiàn)不要求,第5版圖5.19

控制方式即控制不同操作序列時序信號的方法。常用的有同步控制、異步控制、聯(lián)合控制三種方式,其實質(zhì)反映了時序信號的定時方式。1.同步控制方式在任何情況下,已定的指令在執(zhí)行時所需的機(jī)器周期數(shù)和時鐘周期數(shù)都固定不變。根據(jù)不同情況,同步控制方式可選取如下方案。三、控制方式*(只了解,不考試,ppt81-84)(1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。

所有指令采用相同的節(jié)拍電位數(shù)、節(jié)拍脈沖數(shù)(2)采用不定長機(jī)器周期。

大多數(shù)操作安排在一個較短的周期內(nèi)完成,對一些操作采用延長機(jī)器周期的辦法解決。(3)中央控制與局部控制結(jié)合。將大部分指令安排在固定的機(jī)器周期內(nèi)完成,稱之中央控制;對復(fù)雜指令(乘、除、浮點運算)則采用另外時序,稱之局部控制。2.異步控制方式

特點:每條指令、每個操作控制信號需要多少時間就占用多少時間;用這種方式形成的操作控制序列沒有固定的CPU周期數(shù)(節(jié)拍電位)或嚴(yán)格的時鐘周期(節(jié)拍脈沖)與之同步。

(1)每條指令的指令周期可由多少不等的機(jī)器周期數(shù)組成;

(2)也可以是當(dāng)控制器發(fā)出某一操作控制信號后,等待執(zhí)行部件完成操作后發(fā)“回答”信號,再開始新的操作。3.聯(lián)合控制方式此為同步控制和異步控制相結(jié)合的方式。

在功能部件內(nèi)部采用同步控制方式,而在功能部件之間采用異步控制方式。在硬件實現(xiàn)允許的情況下,盡可能多地采用異步控制方式聯(lián)合控制方式通常選取以下兩種方案(1)大部分操作序列安排在固定的機(jī)器周期中,對某些時間難以確定的操作則以執(zhí)行部件的“回答”信號作為本次操作的結(jié)束;(2)機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期數(shù)不固定。一個簡化的計算機(jī)模型(補(bǔ)充內(nèi)容)一、模型的指令系統(tǒng)二、計算機(jī)簡化模型的組成(數(shù)據(jù)通路)三、程序設(shè)計四、指令周期(取指和執(zhí)行過程)和指令流程圖五控制器的設(shè)計和實現(xiàn)第4節(jié)一個模型計算機(jī)和控制器初步設(shè)計本模型的指令系統(tǒng)中有5條指令:LDA—將數(shù)據(jù)裝入累加器AADD—加法SUB—減法OUT—輸出結(jié)果HLT—停機(jī)均為

單字長零地址或一地址指令兩個通用R(A,B)助記符操作碼LDA0000ADD0001SUB0010OUT1110HLT1111一、模型的指令系統(tǒng)二、計算機(jī)簡化模型的組成(數(shù)據(jù)通路)CPUPC:計數(shù)范圍0000-1111MAR:存地址碼(地址寄存器)PROM(存儲器):16*8,16字節(jié)內(nèi)存(1個字節(jié)=8位)IR:8位指令寄存器,高4位為OP,低4位為地址碼A:累加器:8位;B:寄存器:8位;O:輸出寄存器ALU:算術(shù)邏輯部件;二進(jìn)制顯示器D控制部件CON(操作控制單元):為組合邏輯電路,輸出12個控制信號,對這12個信號稱為1個控制字CPEPLMERLIEILAEASUEULBLO地址譯碼。。。。。MAR4位0115216*8PROM存儲器內(nèi)部

顏色相同的線相接,并與數(shù)據(jù)總線相連D0D7。。。。。01010000

區(qū)域作用指令區(qū)數(shù)據(jù)區(qū)存儲單元名稱以方便用助記符表示R0-R7R8-RF存儲單元地址二進(jìn)制表示0000-0111如:0000---R01000-1111存儲單元地址十六進(jìn)制表示(0-7)H(8-F)H存儲器分配源程序目的程序存儲單元號LDA

R9

000010010000(R0)ADDRA

000110100001(R1)ADD

RB

000110110010(R2)ADD

RC

000111000011(R3)SUB

RD

001011010100(R4)OUT

1110****0101(R5)HLT

1111****0110(R6)指令區(qū)數(shù)據(jù)十進(jìn)制表示數(shù)據(jù)

存儲單元號16000100001001(R9)20000101001010(RA)24000110001011(RB)28000111001100(RC)32001000001101(RD)數(shù)據(jù)區(qū)四、指令周期(取指和執(zhí)行過程)和指令流程圖

以LDA指令為例分析其指令周期和數(shù)據(jù)通路EpLMERLICP譯碼EILMERLAEILMLBEREILMEALOLAEULBERLAEUSULDAADDSUBOUTHLT五控制器的設(shè)計和實現(xiàn)W1W2EP=ALL*T0*W1LM=ALL*T0*W1+(LDA+ADD+SUB)*T3*W2LI=ALL*T1*W1ER=ALL*T1*W1+(LDA+ADD+SUB)*T4*W2………….操作控制信號實現(xiàn)-以EP\LM為例EpLMERLICpEILMERLAEALOS0S5S4S3S2S1LDAADDSUBOUTHITEILMLBERLAEUEILMLBERLAEUSU指令集指令數(shù)據(jù)通路的有限狀態(tài)機(jī)組合控制邏輯CPEPLMLO……來自IR的OP字段狀態(tài)寄存器數(shù)據(jù)通路控制信號下一狀態(tài)第5節(jié)硬布線控制器一、基本思路二指令的執(zhí)行過程(算法流程圖)三、微操作控制信號的產(chǎn)生設(shè)計目標(biāo)硬布線控制器是把控制部件看作為產(chǎn)生專門固定時序控制信號的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設(shè)計目標(biāo)。實現(xiàn)方法與特點這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹形邏輯網(wǎng)絡(luò),故稱之為硬布線控制器。一旦控制部件構(gòu)成后,除非重新設(shè)計和物理上對它重新布線,否則要想增加新的控制功能是不可能的。一、基本思路邏輯網(wǎng)絡(luò)的輸入信號來源有三個:(1)來自指令操碼譯碼器的輸出Im;(2)來自執(zhí)行部件的反饋信息Bj;(3)來自時序產(chǎn)生器的時序信號,包括節(jié)拍電位信號M和節(jié)拍脈沖信號T。

邏輯網(wǎng)絡(luò)N的輸出信號就是,它用來對執(zhí)行部件進(jìn)行控制。硬布線控制器的基本原理:C=f(Im,Mi,Tk,Bj)微操作控制信號二指令的執(zhí)行過程(算法流程圖)PCABUS(I)IBUSIRPC+1譯碼R1R0IRARR1+R2R2R3ARIRPCMOVLADADDSTOJMPDBUSDRDRR1R2DBUSRD(I)RD(D)WE(D)指存讀命令M1M2M3三、微操作控制信號的產(chǎn)生(結(jié)合第4節(jié)的內(nèi)容)(1)根據(jù)所有機(jī)器指令流程圖,尋找出產(chǎn)生同一個微操作信號的所有條件,并與適當(dāng)?shù)墓?jié)拍電位和節(jié)拍脈沖組合,從而寫出其布爾代數(shù)表達(dá)式并進(jìn)行簡化,然后用門電路或可編程器件來實現(xiàn)。

(2)為了防止遺漏,設(shè)計時可按信號出現(xiàn)在指令流程圖中的先后次序書寫,然后進(jìn)行歸納和簡化。要特別注意控制信號是電位有效還是脈沖有效,如果是脈沖有效,必須加入節(jié)拍脈沖信號進(jìn)行相“與”。

在硬布線控制器中,某一微操作控制信號由布爾代數(shù)表達(dá)式描述的輸出函數(shù)產(chǎn)生。設(shè)計微操作控制信號的方法和過程

例3根據(jù)圖5.29,寫出下列操作控制信號 RD(I)RD(D)WE(D)LDPCLDIRLDARLDDRPC+1LDR2RD(I)—指存讀命令;RD(D)-數(shù)存讀命令;WE(D)--指存寫命令;LDPC—打入PCLDIR—打入IRLDAR---打入數(shù)存地址寄存器LDDR—打入數(shù)據(jù)緩沖器PC+1LDR2---打入R2Mi(i=1,2,3)為節(jié)拍電位信號,Ti(i=1,2,3,4)為節(jié)拍脈沖信號WE(D)=M3·T3·STO第6節(jié)微程序控制器及微程序設(shè)計一、微命令和微操作的概念二、微指令和微程序三、微程序控制器原理框圖(CAI)四、微程序舉例五、CPU周期和微指令周期的關(guān)系六、機(jī)器指令與微指令關(guān)系七、微程序設(shè)計中的概念

按照指令周期中的(取指、執(zhí)行)各階段數(shù)據(jù)通路中每一步(同一個時段內(nèi))順序所產(chǎn)生的控制信號編成所謂的微指令;

將一條一條微指令逐一存放在一個存儲器件中;當(dāng)完成一個指令周期時(取指、執(zhí)行),會按時序逐一將取出這些微指令,從而產(chǎn)生所需的各種控制信號,使數(shù)據(jù)通路上相應(yīng)部件執(zhí)行所規(guī)定的操作。微程序控制器的設(shè)計思想回顧第4節(jié)的例子:控制器可以由這種設(shè)計思想體現(xiàn)微程序控制技術(shù)是利用軟件方法來設(shè)計硬件的一項技術(shù)能使機(jī)器邏輯設(shè)計規(guī)整,同時提高可靠性、可利用性和可維護(hù)性微程序開發(fā)在許多方面類似于軟件開發(fā)軟件工程中行之有效的一系列開發(fā)手段都可應(yīng)用于微程序的開發(fā)上1110.CPEPLMERLIEI

LAEASUEULBIOA3A2A1A0000000000000110000000000000110000000000000001100000000000001取指1100000000000000LDA1100000000000000OUT...............ADDSUB

微命令控制部件通過控制線向執(zhí)行部件發(fā)出的各種控制命令(信號)。例如第4節(jié)模型計算機(jī)的控制信號EP對應(yīng)的命令。

微操作執(zhí)行部件接受微命令后所進(jìn)行的操作。它是執(zhí)行部件中最基本的操作??刂撇考c執(zhí)行部件通過控制線和反饋信息進(jìn)行聯(lián)系。一、微命令和微操作的概念微程序控制器應(yīng)用----指令集指令規(guī)模大的情況同一個CPU周期相容性微操作在同一個CPU周期可以并行執(zhí)行的微操作互斥性微操作在同一個CPU周期不能并行執(zhí)行的微操作圖5-20簡單的數(shù)據(jù)通路(第4版)

二、微指令和微程序

微指令在機(jī)器的一個CPU周期中,一組實現(xiàn)一定操作功能的微命令的組合。

微程序?qū)崿F(xiàn)一條機(jī)器指令功能的許多條微指令組成的序列。微指令的基本格式(圖5.21,基于圖5-20的數(shù)據(jù)通路)判別測試CPU周期T4200ns600nsLDR1LDR1’T4LDR1LDR1’LDR2LDR2’LDR3LDR3’三、微程序控制器原理框圖OP字段機(jī)器指令寄存器IR0001

地址

一條指令執(zhí)行11000….10100….00100….10010….10011….00000…......….取指.....….OPC000000000000000001PA000010

..1111101111110011000P字段控制字段…地址轉(zhuǎn)移邏輯修改uAR微命令信號狀態(tài)條件微地址寄存器微命令寄存器控制存儲器微程序控制器CPEPLM000000LDR’1PC+1微程序控制器OP字段機(jī)器指令寄存器IR0001

地址

一條指令執(zhí)行11000….10100….00100….10010….10011….00000…......….取指.....….OPC000001000000000001PA000010

..1111101111110011000P字段控制字段…地址轉(zhuǎn)移邏輯微命令信號狀態(tài)條件微地址寄存器微命令寄存器控制存儲器CPEPLM0000011.控制存儲器

控制存儲器用來存放實現(xiàn)全部指令系統(tǒng)的微指令(微程序),它是一種只讀存儲器。一旦微程序固化,機(jī)器運行時則只讀不寫。

讀出一條微指令并執(zhí)行微指令的時間總和稱為一個微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只讀存儲器的工作周期。

控制存儲器的字長就是微指令字的長度,其存儲容量視機(jī)器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對控制存儲器的要求是速度快,讀出周期要短。

控制存儲器大小(容量)表示為2n*m

①微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。其中:

微命令寄存器則保存一條微指令的操作控制字段和判別測試字段的信息。

②微地址寄存器用來存放將要訪問的下一條微指令的地址2.微指令寄存器3.地址轉(zhuǎn)移邏輯

在一般情況下,微指令由控制存儲器讀出后直接給出下一條微指令的地址,通常我們簡稱微地址,這個微地址信息就存放在微地址寄存器中。

①如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。②當(dāng)微程序出現(xiàn)分支時,意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過判別測試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動完成修改微地址的任務(wù)。四、微程序舉例

“十進(jìn)制加法”指令為例,顯示微程序控制的過程.“十進(jìn)制加法”指令的功能是用BCD碼完成十進(jìn)制數(shù)的加法運算.用BCD碼運算,當(dāng)相加位和數(shù)大于9時,必須對和數(shù)加6予以修正.aR1bR26R3

注意:先做a+b+6運算,再依據(jù)僅為標(biāo)志cy判斷,cy=1,保持結(jié)果;cy=0,結(jié)果減6.圖5-20簡單的數(shù)據(jù)通路(第4版,145;第5版,156)ab6CAI---動態(tài)演示取指執(zhí)行五、微指令周期和微指令周期的關(guān)系可將微指令周期=CPU周期T1T2T3T4T1T2T3T4CPU周期CPU周期微指令周期微指令周期=讀出微指令的時間

+

執(zhí)行該條微指令的時間六、機(jī)器指令與微指令關(guān)系(CAI)執(zhí)行一條指令=執(zhí)行一段微程序機(jī)器指令與微指令的關(guān)系(1) 機(jī)器指令是提供給使用者編程的基本單位,每一條指令可以完成一個獨立的算術(shù)運算或邏輯運算操作。一條機(jī)器指令對應(yīng)一組微指令組成的微程序??梢?一條機(jī)器指令對應(yīng)多條微指令,而一條微指令可為多個機(jī)器指令服務(wù)。(2) 從指令與微指令,程序與微程序,地址與微地址的一一對應(yīng)關(guān)系來看,前者與主存有關(guān),后者與控存有關(guān)。與此類似,也有相對應(yīng)的硬設(shè)備。(3) 每一個機(jī)器周期對應(yīng)一條微指令。(4)兩個層次:

程序員看到的傳統(tǒng)機(jī)器級:指令、程序、主存;

設(shè)計者看到的微程序級:微指令、微程序、控存

設(shè)某計算機(jī)運算器的數(shù)據(jù)通路框圖如5.28所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見表5.2。機(jī)器采用串行微程序控制方式,其微指令周期見圖(b)。其中讀ROM是從控存中讀出一條微指令時間,為1μs;ALU工作是加法器做加法運算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。例2(第3版,補(bǔ)充例題,雙學(xué)位同學(xué)不要求)某計算機(jī)運算器的數(shù)據(jù)通路框圖RA0RA1:讀R0-R3的選擇控制

WA0WA1:寫R0-R3的選擇控制R:寄存器讀命令

W:寄存器寫命令LDSA:打入SA的控制信號LDSB:打入SB的控制信號SB-ALU:傳送SB的控制信號-SB-ALU:傳送-SB的控制信號,并使加法器最低位加1.Reset:清暫存器SB為零的信號~:一段微程序結(jié)束,轉(zhuǎn)入取機(jī)器指令的控制信號微指令字長12位,微指令格式如下:要求:用二進(jìn)制代碼寫出如下指令的微程序(不考慮取指階段)(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)圖(b)微地址指令微程序代碼ADD1.00**101000002.01**100100003.**0101001001SUB4.11**101000005.10**100100006.**1101000101MOV7.10**101000008.**1101001011取指0.xxxxxxxxxxxx圖(b)指令微程序代碼ADD100**10100000201**100100003**0101001001SUB411**10100000510**100100006**1101000101MOV710**101000108**1101001001取指0.xxxxxxxxxxxx號單元號單元號單元號單元號單元號單元號單元號單元七、微程序設(shè)計中的概念

確定微指令的結(jié)構(gòu)是微程序設(shè)計的關(guān)鍵.設(shè)計微指令結(jié)構(gòu)應(yīng)當(dāng)追求的目標(biāo):較短的微指令長度;有利于減小控存容量;有利于提高微程序執(zhí)行速度;有利于微指令的修改.1、微命令編碼2、微地址的形成3、微指令格式1微命令編碼

微命令編碼對微指令中的操作控制字段采用的表示方法。通常有以下三種方法:1)直接表示法其特點是操作控制字段中的每一位代表一個微命令。這種方法的優(yōu)點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。(典型的例子是圖5.21所標(biāo)示的情況)2)編碼表示法編碼表示法是把一組相斥性的微命令信號組成一個小組(即一個字段),然后通過小組(字段)譯碼器對每一個微命令信號進(jìn)行譯碼,譯碼輸出作為操作控制信號,其微指令結(jié)構(gòu)如下圖所示。3)混合表示法

這種方法是把直接表示法與字段編碼法混合使用,以便能綜合考慮指令字長、靈活性、執(zhí)行微程序速度等方面的要求。

圖5.27編碼表示法2微地址的形成方法

微指令執(zhí)行的順序控制問題,實際上是如何確定下一條微指令的地址問題。通常,產(chǎn)生后繼微地址有兩種方法:1.)計數(shù)器方式

這種方法同用程序器計數(shù)來產(chǎn)生機(jī)器指令地址的方法相類似。在順序執(zhí)行微指令時,后繼微地址現(xiàn)行微地址加上一個增量來產(chǎn)生;在非順序執(zhí)行微指令時,必須通過轉(zhuǎn)移方式,使現(xiàn)行微指令執(zhí)行后,轉(zhuǎn)去執(zhí)行指定后繼微地址的下一條微指令。在這種方法中,微地址寄存器通常改為計數(shù)器。為此,順序執(zhí)行的微指令序列就必須安排在控制存儲器的連續(xù)單元中。計數(shù)器方式的基本特點是:微指令的順序控制字段較短,微地址產(chǎn)生機(jī)構(gòu)簡單。但是多路并行轉(zhuǎn)移功能較弱,速度較慢,靈活性較差。(盡管有多個轉(zhuǎn)移條件或判別測試,但對于一條微指令下面只能有兩路分支)計數(shù)方式原理圖(補(bǔ)充解釋教材內(nèi)容,本圖不考試)OPAdress譯碼器μAR控制存儲器控制字段下址譯碼器轉(zhuǎn)移條件轉(zhuǎn)移地址+1IR微指令寄存器微程序入口2位2.)多路轉(zhuǎn)移方式

一條微指令具有多個轉(zhuǎn)移分支的能力稱為多路轉(zhuǎn)移。在多路轉(zhuǎn)移方式中:

當(dāng)微程序不產(chǎn)生分支時,后繼微地直接由微指令的順序控制字段給出;

當(dāng)微程序出現(xiàn)分支時,有若干“后選”微地址可供選擇:即按順序控制字段的“判別測試”標(biāo)志和“狀態(tài)條件”信息來選擇其中一個微地址?!盃顟B(tài)條件”有n位標(biāo)志,可實現(xiàn)微程序2的n次方路轉(zhuǎn)移,涉及微地址寄存器的n位。多路轉(zhuǎn)移方式的特點是:能以較短的順序控制字段配合,實現(xiàn)多路并行轉(zhuǎn)移,靈活性好,速度較快,但轉(zhuǎn)移地址邏輯需要用組合邏輯方法設(shè)計。例3微地址寄存器有6位(μA5-μA0),當(dāng)需要修改其內(nèi)容時,可通過某一位觸發(fā)器的強(qiáng)置端S將其置“1”。現(xiàn)有三種情況(P1P2P3):(1)執(zhí)行控制臺指令微程序時,按IR4,IR5的狀態(tài)進(jìn)行4路分支。(2)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進(jìn)行16路分支;(3)執(zhí)行條件轉(zhuǎn)移指令微程序時,按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;請按多路轉(zhuǎn)移方法設(shè)計微地址轉(zhuǎn)移邏輯。取指P3?4個分支uA5?IR5uA4?IR4P1?16個分支P2?uA3?IR3uA2?IR2uA1?IR1uA0?IR0cy=1cy=0微指令的格式大體分成兩類:(1)水平型微指令(2)垂直型微指令

一次能定義并執(zhí)行多個并行操作微命令的微指令,叫做水平型微指令。其一般格式如下:控制字段判別測試字段下地址字段

水平型微指令又分為三種:(1)全水平型(不譯法)微指令(2)字段譯碼法水平型微指令(3)直接和譯碼相混合的水平型微指令。3、微指令格式

垂直型微指令微指令中設(shè)置微操作碼字段,由微操作碼規(guī)定微指令的功能,稱為垂直型微指令。其結(jié)構(gòu)類似于機(jī)器指令的結(jié)構(gòu)。它有微操作碼,在一條微指令中只有1—2個微操作命令,每條微指令的功能簡單,因此,實現(xiàn)一條機(jī)器指令的微程序要比水平型微指令編寫的微程序長得多。它是采用較長的微程序結(jié)構(gòu)去換取較短的微指令結(jié)構(gòu)。例如水平型微指令與垂直型微指令的比較(1)水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時間短,垂直型微指令執(zhí)行時間長(譯碼)。(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與機(jī)器指令比較相似,相對來說,比較容易掌握。第7節(jié)傳統(tǒng)CPU本節(jié)為自學(xué)內(nèi)容,請結(jié)合以下題目完成自學(xué)(閱讀時總結(jié))CPU字長為多少位CPU內(nèi)部寄存器設(shè)置的特點CPU如何提供物理地址是否可以完成浮點運算是否采用流水線技術(shù)指令集結(jié)構(gòu)是CISCorRISC本節(jié)查文獻(xiàn)寫課程報告,內(nèi)容提問第8節(jié)流水CPU一、并行處理技術(shù)二、流水CPU的結(jié)構(gòu)三、流水CPU的主要問題并行性:①同時性,兩個以上事件同時刻發(fā)生;②并發(fā)性,兩個以上事件在同一時間間隔內(nèi)發(fā)生(時間并行、空間、時間+空間并行)時間并行:時間重疊、多個過程時間上錯開輪流使用同一套硬件設(shè)備的各個部分(流水部件)空間并行:資源重復(fù),以數(shù)量取勝(多處理機(jī))時間+空間并行:以上兩種方法的綜合利用(PETIUMCPU)一、并行處理技術(shù)2.并行性的等級指令級(指令之間)(指令內(nèi)部)過程級(程序、進(jìn)程)粗粒度主要軟件實現(xiàn)細(xì)粒度主要硬件實現(xiàn)生活中的流水線例子(時間上)洗衣房的例子A,B,C,D每個人都有一包衣服要“洗、烘干、熨平”

洗用30分烘干40分“熨平20分ABCD串行工作方式串行工作這4包衣服處理要6小時但流水作業(yè)可以提高效率ABCD3040203040203040203040206晚7891011午夜任務(wù)順序Time流水方式流水工作這4包衣服處理要3.5小時ABCD6PM7891011Midnight任務(wù)順序Time304040404020流水線的特性流水線不能使單獨一個任務(wù)的效率提高,而是多數(shù)任務(wù)存在時,對平均每條的效率提高流水周期(或者流水速率)由最慢的流水段決定可以適當(dāng)?shù)脑黾恿魉我蕴岣咝什黄胶獾牧魉伍L度將使效率降低ABCD6PM789任務(wù)順序Time304040404020指令流水線——指令級并行(ILP,instructionlevelparallelism)

利用執(zhí)行指令所需的操作之間的并行,實現(xiàn)多條指令重疊執(zhí)行的一種技術(shù)。目前,幾乎所有的高性能計算機(jī)都采用了指令流水線。開發(fā)方法:依賴于硬件,動態(tài)地發(fā)現(xiàn)和開發(fā)指令級并行,可將指令流的處理過程劃分為取指令、譯碼、執(zhí)行、寫回等幾個并行處理的過程段例:Intel的Pentium系列占市場主導(dǎo)地位依賴于軟件技術(shù),在編譯階段靜態(tài)地發(fā)現(xiàn)并行例:Intel的Itanium系列特定應(yīng)用環(huán)境TT0T1T2T3T4T5T6T7T8T9I6I5I4I3指令的流水線執(zhí)行指令1(I1)指令2(I2)···指令3(I3)I2指令的順序執(zhí)行:I1指令的流水線執(zhí)行:取指譯碼運算計數(shù)取指譯碼運算計數(shù)取指譯碼運算計數(shù)取指譯碼運算計數(shù)取指譯碼運算計數(shù)取指譯碼運算計數(shù)取指譯碼運算計數(shù)取指譯碼運算計數(shù)左圖為現(xiàn)代流水計算機(jī)組成示意圖;CPU由3部分組成:指令部件、指令隊列、執(zhí)行部件指令部件:本身是一個流水線指令隊列是寄存器隊,流水線執(zhí)行部件:也可以作成流水線存儲器體系流水CPU二、流水CPU的結(jié)構(gòu)

處理一個子任務(wù)的過程為過程段(Si)。線性流水線由一系列串聯(lián)的過程段組成,各個過程之間設(shè)有高速的緩沖寄存器(L),以暫時保存上一過程子任務(wù)處理的結(jié)果。在一個統(tǒng)一的時鐘(C)控制下,數(shù)據(jù)從一個過程段流向相鄰的過程段。設(shè)過程段Si所需的時間為τi,緩沖寄存器的延時為τl,線性流水線的時鐘周期定義為τ=max{τi}+τl=τm+τl

故流水線處理的頻率為f=1/τ。

在流水線處理中,當(dāng)任務(wù)飽滿時,任務(wù)源源不斷的輸入流水線,不論有多少級過程段,每隔一個時鐘周期都能輸出一個任務(wù)。從理論上說,一個具有k級過程段的流水線處理n個任務(wù)(指令)需要的時鐘周期數(shù)為Tk=k+(n-1)

其中k個時鐘周期用于處理第一個任務(wù)。k個周期后,流水線被裝滿,剩余的n-1個任務(wù)只需n-1個周期就完成了。如果用非流水線的硬件來處理這n個任務(wù),時間上只能串行進(jìn)行,則所需時鐘周期數(shù)為

TL=n·k

將TL和Tk的比值定義為k級線性流水線的加速比:=Ck=TL

Tk

n·k

k+(n-1)

當(dāng)n>>k時,Ck→

k。這就是說,理論上k級線性流水線處理幾乎可以提高k倍速度。但實際上由于存儲器沖突、數(shù)據(jù)相關(guān),這個理想的加速比不一定能達(dá)到。吞吐率流水線的吞吐率H,也稱為流水線的帶寬,它定義為流水線單位時間內(nèi)完成的任務(wù)數(shù):H=n/((k+n-1)*τ)若將mave定義為每個任務(wù)所需的平均時鐘周期數(shù),則吞吐率H可以表示為H=1/( mave*τ)當(dāng)n→

∞,H→f1,f1為最大吞吐率標(biāo)量流水線處理機(jī):一條指令流水線,一個多功能操作部件,每個時鐘周期平均執(zhí)行指令的條數(shù)小于1。超級流水線(Super-pipeline):

將指令的執(zhí)行分解成小的步驟(級),不同指令中不同步驟可并行操作。級數(shù)分的多,并行執(zhí)行的指令也多。超級流水線指的是多級數(shù)的流水線(如8級以上)。超標(biāo)量處理機(jī)典型結(jié)構(gòu):多條并行工作的指令流水線,多個獨立的操作部件。標(biāo)量流水線的時空圖(CAI)可將指令周期的任務(wù)分解并由流水部件分別完成。例如,指令周期分為4個過程:取指(IF)、譯碼(ID)、執(zhí)行(EX)、結(jié)果寫回(WB)段與段之間有高速緩沖寄存器I1I1I1I1I1I1I1I1I2I2I2I2I2I2I2I2超標(biāo)量流水線的時空圖(CAI)I1I2I1I1I1I2I2I2

流水線的分類:指令流水線、算術(shù)流水線、處理機(jī)流水線指令流水線指指令步驟的并行。將指令流的處理過程劃分為取指令、譯碼、執(zhí)行、寫回等幾個并行處理的過程段。目前,幾乎所有的高性能計算機(jī)都采用了指令流水線。算術(shù)流水線指運算

溫馨提示

  • 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

提交評論