




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五章中央處理器學時:14學時重點:掌握CPU的基本結構和基本功能主要內容§5-1§5-2§5-3§5-1CPU的功能和組成一、什么是CPU?
所謂中央處理器是控制計算機來自動完成取出指令和執行指令任務的部件。它是計算機的核心部件,通常簡稱為CPU。§5-1CPU的功能和組成
運算器組成
運算器功能執行所有的算術運算。執行所有的邏輯運算。由算術邏輯單位(ALU)、累加寄存器、數據緩沖寄存器和狀態條件寄存器組成,它是數據加工處理部件。相對控制器而言,運算器接受控制器的命令而進行動作,即運算器所進行的全部操作都是由控制器發出的控制信號來指揮的,所以它是執行部件§5-1CPU的功能和組成
控制器組成
控制器功能由程序計數器、指令寄存器、指令譯碼器、時序產生器和操作控制器組成,它是發布命令的“決策機構”,即完成協調和指揮整個計算機系統的操作1.從內存中取出一條指令,并指出下一條指令在內存中的位置2.對指令進行譯碼或測試,并產生相應的控制信號3.指揮并控制CPU、內存和I/O之間的數據流動的方向。§5-1CPU的功能和組成ALU數據緩沖寄存器狀態字寄存器地址數據57061007661077……304031地址OP碼地址碼101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107地址寄存器程序計數器時序發生器操作控制器指令譯碼器OP碼地址碼R0R1R2R3數存cache指存cacheAR數據地址總線指令地址總線控制信號OCPCIR指令寄存器C1C2C1C2C3Cn§5-1CPU的功能和組成累加寄存器
指令寄存器程序計數器狀態寄存器CPU數據寄存器地址寄存器§5-1CPU的功能和組成§5-1CPU的功能和組成§5-1CPU的功能和組成§5-1CPU的功能和組成五、控制器的組成1.程序計數器用來存放正在執行的指令的地址或接著將要執行的下一條指令的地址。順序執行時,每執行一條指令,PC的值應加1要改變程序執行順序的情況時,一般由轉移類指令將轉移目標地址送往PC,可實現程序的轉移。
2.指令寄存器指令寄存器用來存放從存儲器中取出的待執行的指令。在執行該指令的過程中,指令寄存器的內容不允許發生變化,以保證實現指令的全部功能。3.指令譯碼器暫存在指令寄存器中的指令只有在其操作碼部分經譯碼后才能識別出是一條什么樣的指令。譯碼器經過對指令進行分析和解釋,產生相應的控制信號提供給時序控制信號形成部件。§5-1CPU的功能和組成4.工作節拍、脈沖及啟停控制線路由脈沖源產生一定頻率的脈沖信號作為整個機器的時鐘脈沖5.時序控制信號形成部件時序控制信號形成部件又稱微操作信號發生器,真正控制各部件工作的微操作信號是由指令部件提供的操作信號、時序部件提供的時序信號、被控制功能部件所反饋的狀態及條件綜合形成的。數據通路:通常把許多寄存器之間傳送信息的通路,稱為“數據通路”。操作控制器:根據指令操作碼和時序信號,產生各種操作信號,以便正確建立數據通路,從而完成取指令和執行指令的操作。時序產生器:因為計算機高速地進行工作,每一個動作的時間是非常嚴格的,不能有任何差錯。時序產生器的作用,就是對各種操作實施時間上的控制。§6-2指令周期機器周期指令周期時鐘周期一、指令周期的基本概念§6-2指令周期指令周期:指取指令、分析指令到執行完該指令所需的全部時間請問:不同指令的指令周期相同嗎?§6-2指令周期機器周期:通常又稱CPU周期通常把一條指令周期劃分為若干個機器周期,每個機器周期完成一個基本操作。
主存的工作周期(存取周期)為基礎來規定CPU周期,比如,可以用CPU讀取一個指令字的最短時間來規定CPU周期不同的指令,可能包含不同數目的機器周期一個機器周期中,包含若干個機器周期(節拍脈沖或T脈沖)
CPU周期規定,不同的計算機中規定不同§6-2指令周期時鐘周期在一個機器周期內,要完成若干個微操作。這些微操作有的可以同時執行,有的需要按先后次序串行執行。因而需要把一個機器周期分為若干個相等的時間段,每一個時間段稱為一個節拍。節拍常用具有一定寬度的電位信號表示,稱之為節拍電位。節拍的寬度取決于CPU完成一次基本的微操作的時間,如:ALU完成一次正確的運算,寄存器間的一次數據傳送等。§6-2指令周期指令周期T周期CPU周期CPU周期T1T2T3T4(取指令)(執行指令)§6-2指令周期取指分析執行二、一條指令的執行過程§6-2指令周期開始下一條指令的執行形成下一條指令的地址§6-2指令周期§6-2指令周期§6-2指令周期取指周期§6-2指令周期間址周期中斷周期§6-2指令周期八進制地址指令助記符說明100程序執行前(R0)=00,(R1)=10,(r2)=20,(R3)=30;101MOVR0,R1傳送指令MOV執行(R1)→R0;102LADR1,6取數指令LAD從數存6號單元取數(100)→R1103ADDR1,R2加法指令ADD執行(R1)+(R2)→R2,結果為(R2)=120103STOR2,(R3)存數指令STO用(R3)間接尋址,(R2)=120寫入數存30號單元105JMP101轉移指令JMP改變程序執行順序到101單元106ANDR1,R3邏輯乘AND指令執行(R1)∩(R3)→R3§6-2指令周期指令存儲器八進制地址八進制數據說明5706100執行LAD指令后,數存6號單元的數據100仍保存在其中76610773040(120)執行STO指令后,數存30號單元的數據由40變為120§6-2指令周期數據存儲器§6-2指令周期一個CPU周期一個CPU周期取指令階段執行指令階段開始取指令PC+1對指令譯碼執行指令取下條指令PC+1MOV指令的指令周期:包含兩個CPU周期,取指周期和執行周期。取指周期中CPU完成三件事:(1)從指存中取出指令;(2)對程序計數器PC加1,以便為取下一條指令做好準備;(3)對指令操作碼進行譯碼或測試,以便確定進行什么操作。執行周期中CPU根據對指令操作碼的譯碼或測試,進行指令所要求的操作。§6-2指令周期一個CPU周期一個CPU周期取指令階段執行指令階段一個CPU周期對指令譯碼取指令PC+1送操作數地址取出操作數裝入通用寄存器取下條指令PC+1開始LDA指令的指令周期§6-2指令周期一個CPU周期一個CPU周期取指令階段執行指令階段一個CPU周期對指令譯碼取指令PC+1送操作數地址送操作數寫數存取下條指令PC+1開始STO指令的指令周期§6-2指令周期一個CPU周期一個CPU周期取指令階段執行指令階段開始取指令PC+1對指令譯碼送轉移地址取下條指令PC+1JMP指令的指令周期MOVMOVR0,R1§5-1CPU的功能和組成地址數據57061007661077……304031地址OP碼地址碼101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107地址寄存器R0R1R2R3數存cache指存cacheAR數據地址總線指令地址總線控制信號OCPCIR指令寄存器C1C2C1C2C3Cn101程序計數器OP碼地址碼R0,R1C2102+1指令寄存器時序發生器操作控制器002030數據緩沖寄存器狀態寄存器10ALU101010MOV§5-1CPU的功能和組成ALU數據緩沖寄存器狀態字寄存器地址數據57061007661077……304031地址OP碼地址碼101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107地址寄存器程序計數器時序發生器操作控制器指令譯碼器OP碼地址碼R0R1R2R3數存cache指存cacheAR數據地址總線指令地址總線控制信號OCPCIR指令寄存器C1C2C1C2C3Cn+1指令周期下面以一個簡單的程序來具體認識每一條指令的指令周期和執行過程。
內存地址內存內容助記符所完成的操作020250000CLA將累加器的內容請零021030030ADD30(A)+(30)A022021040STA40(A)(40)023000000NOP024140021JMP2121→PC
030000006
031
040存和數單元
指令周期CLA指令的指令周期非訪內指令需要兩個CPU周期。
在第一個CPU周期,即取指令階段,CPU完成三件事:(1)從內存取出指令;(2)對程序計數器PC加1,以便為取下一條指令做好準備;(3)對指令操作碼進行譯碼或測試,以便確定進行什么操作。在第二個CPU周期,即執行指令階段,將累加器A的內容清零。
一個CPU周期一個CPU周期取指令階段執行指令階段開始取指令PC+1對指令譯碼執行指令取下條指令PC+1指令周期算術邏輯單元狀態條件寄存器程序記數器PC地址寄存器AR地址總線ABUS數據總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產生器時鐘狀態反饋取指控制執行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021指令周期算術邏輯單元狀態條件寄存器程序記數器PC地址寄存器AR地址總線ABUS數據總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產生器時鐘狀態反饋取指控制執行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021指令周期ADD指令的指令周期ADD指令的指令周期由三個CPU周期組成。第一個CPU周期為取指令階段。第二個CPU周期中將操作數的地址送往地址寄存器并完成地址譯碼。在第三個CPU周期中從內存取出操作數并執行相加的操作。
指令周期一個CPU周期一個CPU周期取指令階段執行指令階段開始取指令PC+1對指令譯碼送操作數地址取下條指令PC+1取出操作數執行加操作一個CPU周期指令周期算術邏輯單元狀態條件寄存器程序記數器PC地址寄存器AR地址總線ABUS數據總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產生器時鐘狀態反饋取指控制執行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006指令周期STA指令的指令周期STA指令的指令周期由四個CPU周期組成。其中第一個CPU周期仍然是取指令階段,其過程和CLA指令、ADD指令完全一樣,不同的是此階段中程序計數器加1后變為023,因而為取第四條指令做好了準備。我們假定,第一個CPU周期后結束,“STA40”指令已放入指令寄存器并完成譯碼測試。指令周期算術邏輯單元狀態條件寄存器程序記數器PC地址寄存器AR地址總線ABUS數據總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產生器時鐘狀態反饋取指控制執行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006指令周期NOP指令和JMP指令的指令周期NOP指令是一條空指令,包含兩個CPU周期,第一個周期取指令,第二個周期執行指令,因是空指令,所以操作控制器不發出任何控制信號。JMP指令由兩個CPU周期組成,第一個周期是取指令周期,同其他指令。第二個周期為執行階段,CPU把指令寄存器中的地址碼部分21送到程序計數器,從而用新內容21代替PC原先的內容25,這樣,下一條指令將不從25單元中讀出,而從21電源開始讀出并執行,從而改變了程序原先的執行順序
。指令周期算術邏輯單元狀態條件寄存器程序記數器PC地址寄存器AR地址總線ABUS數據總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時序產生器時鐘狀態反饋取指控制執行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021用方框圖語言表示指令周期在進行計算機設計時,可以采用方框圖語言來表示一條指令的指令周期。一個方框代表一個CPU周期,方框中的內容表示數據通路的操作或某種控制。一個菱形符號代表某種判別或測試,不過時間它依附于它前面一個方框的CPU周期,而不單獨占用一個CPU周期。符號“~”代表一個公操作。指令周期指令周期PC→AR→ABUSDBUS→DR→IRPC+1譯碼或測試0→ACIR→ARIR→ARIR→PCPC→ARAR→ABUSDBUS→DRRD→ALUALU→ACAR→ABUSAC→DRDR→DBUS~~~~~CLAADDSTAJMPNOP小結:各類信息的傳送路徑指令:M-----DR-----DBUS-----IR地址:PC----ABUS----AR-----(取決于尋址方式)數據:寄存器----寄存器總線直接傳送寄存器----存儲器Ri----DBUS----DR-----M存儲器----寄存器M----DR-----BUS-----Ri指令周期例:如圖所示為雙總線結構機器的數據通路,控制信號G控制的是一個門電路。“ADDR2,R0”
指令完成(R0)+(R2)→R0功能操作。假設該指令的地址已放入PC中。“SUBR1,R3”指令完成(R3)-(R1)→R3的功能操作。指令周期指令周期IRPCARDRR0R1R2R3MABALUIRiIRoPCiPCiARiDRiDRoR0iR0oR3iR3oXiYiA總線B總線G+-R/W指令周期PC→ARM→DRDR→IRR2→YR0→XR0+R2→R0~PC→ARM→DRDR→IRR3→YR1→XR3-R1→R3~PC0,G,ARiDR0,G,IRiR2o,G,YiR00,G,Xi+,G,R0I
R/W=RR3o,G,YiR1o,G,Xi-,G,R3i時序信號的作用和體制計算機的協調動作需要時間標志,而時間標志則是用時序信號來體現的。操作控制器發出的各種控制信號都是時間因素(時序信號)和空間因素(部件位置)的函數。組成計算機硬件的器件特性決定了時序信號最基本的體制是電位---脈沖制。時序產生器和控制方式常用的操作控制器有兩種:硬布線控制器微程序控制器時序產生器和控制方式硬布線控制器中時序信號采用主狀態周期——節拍電位——節拍脈沖三級體制微程序控制中時序信號采用節拍電位——節拍脈沖二級體制。時序產生器和控制方式主狀態周期(指令周期):包含若干個節拍周期,可以用一個觸發器的狀態持續時間來表示。節拍電位(機器周期):包含若干個節拍脈沖,表示較大的時間單位。節拍脈沖(時鐘周期):表示較小的時間單位。時序產生器和控制方式時序信號產生器的組成時鐘源環形脈沖發生器節拍脈沖和讀/寫時序的譯碼啟停控制邏輯時序產生器和控制方式時序產生器和控制方式啟停控制邏輯節拍脈沖和對時序譯碼邏輯環形脈沖發生器
IORQMREQRDWET1T2T3T4
IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’時鐘脈沖源Φ時鐘脈沖源環形脈沖發生器節拍脈沖和對時序譯碼邏輯啟停控制邏輯用來位環形脈沖發生器提供頻率穩定且電平匹配的方波時鐘脈沖信號。有石英晶體振蕩器組成。產生一組有序的間隔相等或不等的脈沖序列。通常采用循環移位寄存器。控制方式同步控制方式:在任何情況下,已定的指令在執行時所需的機器周期數和時鐘周期數都是固定不變的。采用完全統一的機器周期執行各種不同的指令。這意味這所有指令周期具有相同的節拍電位和相同的節拍脈沖數。采用不定長的機器周期。中央控制和局部控制相結合。中央控制:就是將大部分指令安排在固定的機器周期完成。局部控制:對少數復雜的指令采用另外的時序進行定時。時序產生器和控制方式時序產生器和控制方式同步控制方式:時鐘微操作信號1微操作信號2異步控制方式:每條指令、每個操作控制信號需要多少時間就占用多少時間。這意味著每條指令的指令周期可由多少不等的機器周期數組成。時序產生器和控制方式異步控制方式時序產生器和控制方式命令1命令2操作信號1回答1操作信號2回答2命令3聯合控制方式:將同步控制方式和異步控制方式相結合的方式。時序產生器和控制方式小結程序計數器PC地址形成部件操作碼地址碼譯碼微操作信號形成節拍發生器時鐘源中斷控制邏輯狀態寄存器微操作信號I/O信息控制臺信息+1送AR基本概念組成工作過程微程序舉例微程序設計技術微程序控制器的設計方法微程序控制器基本概念微命令微操作微指令微程序控制存儲器微地址微程序控制器微程序控制器的基本思想:將微操作控制信號按一定規則進行信息編碼(代碼化)形成控制字(微指令),一條機器指令對應一段“程序”,該程序存放在控制存儲器中,因為“程序”的指令結果是實現一條機器指令的功能,所以稱為“指令的微程序”微程序控制器——基本概念微命令:控制部件通過控制線向執行部件發出各種控制命令,通常把這種控制命令稱為微命令。微操作:執行部件接受微命令后所進行的操作,稱為微操作。微程序控制器——基本概念微指令:在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,構成一條微指令。微程序:微指令序列為微程序。微程序控制器——基本概念微程序控制器——基本概念程序機器指令1機器指令2機器指令i機器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序控制存儲器:用來存放微程序的一高速存儲器。微程序控制器——基本概念微地址:人們常把全部指令的控制字存放在一個高速存儲器中,即控制存儲器中(簡稱控存),控存的一個單元的內容即控制字代表了某一個節拍的一組微操作控制信號的信息,而把控存單元的地址稱為“微地址”。微程序控制器——基本概念控制存儲器:用來存放實現全部指令系統的微程序。微指令寄存器:用來存放由控制存儲器讀出的一條微指令信息。微地址轉移邏輯:自動完成修改微地址的任務。微程序控制器——組成微程序控制器原理框圖微程序控制器——組成控制存儲器地址譯碼微地址寄存器OPP字段控制字段地址轉移邏輯狀態條件指令寄存器微命令信號微程序控制器的工作過程實質上就是在微程序控制器的控制下,計算機執行機器指令的過程。從控存中取出一段“取機器指令”用的微程序,稱為取指微程序,這是一段公用的微操作,其首址通常方在“0”號微地址單元。該微程序完成從主存中讀取機器指令并送往指令寄存器。機器指令操作碼通過微地址形成部件,產生對應的微程序入口地址,并送入微地址寄存器。逐條取出對應的微指令,每一條微指令提供一個微命令序列,控制有關的微操作。執行完對應于一條機器指令的一段微程序后,返回到取指微程序的入口,以便取出下一條機器指令。不斷重復,直至程序執行完畢。微程序控制器——工作過程微程序控制器——微程序舉例ALUR1R2R3Cy+-MDR468975123微程序控制器——微程序舉例.......................1234
567891011121314151617181920212223微指令的格式:LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制舉例:“十進制加法”指令的微程序控制的過程。“十進制加法”指令的功能是用BCD碼來完成十進制數的加法運算。在十進制運算時,當相加二數之和大于9時,便產生進位,要進行加6修正;當相加二數之和小于等于9時,結果是正確的。微程序控制器——微程序舉例假定數a和b已存放在R1和R2兩寄存器中,數6存放在R3寄存器中。算法要求先進行a+b+6運算,然后判斷結果有無進位;當進位標志Cy=1不減6,當Cy=0,減6,從而可以獲得正確的結果。微程序控制器——微程序舉例微程序控制器——微程序舉例PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖微程序控制器——微程序舉例000000000000111111000001234
567891011121314151617181920212223第一條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制微程序控制器——微程序舉例010100100100000000010101234
567891011121314151617181920212223第二條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制微程序控制器——微程序舉例010001001100000000110011234
567891011121314151617181920212223第三條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制微程序控制器——微程序舉例010001001001000000000011234
567891011121314151617181920212223第四條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制T1T2T3T4T1T2T3T4微指令周期:讀出微指令的時間加上指令該條微指令的時間。微程序控制器——微指令周期T4T4執行微指令微指令周期CPU周期CPU周期
讀微指令機器指令和微指令的關系:微程序控制器——微指令周期程序計數器地址寄存器緩沖寄存器指令寄存器微地址寄存器微指令寄存器主存儲器控制存儲器微命令Wilkes控制微程序式控制器微指令執行微命令編碼微地址的形成方法微指令格式微程序控制的設計方法微程序控制器——設計技術微命令編碼直接編碼法字段直接編譯法字段間接編譯法微程序控制器——設計技術直接編碼法在微指令的操作控制字段中每一個微命令都用一位信息表示,對應于一種微操作。設計微指令時,選用或不選用某個微命令,只要將表示該微命令的相應位設置成“1”或“0”就可以了。因此,微命令的產生不必經過譯碼,所需的控制信號直接送到相應的控制點。微程序控制器——設計技術微程序控制器——設計技術LTALULA11000100LT→BUSALU→LTLA→ALUBUS→LA0位:LT→BUS1位:BUS→LA2位:LA→ALU3位:DIV4位:MUL5位:SUB6位:ADD7位:ALU→LT這種方法的優點是簡單、直觀、執行速度快,微命令的并行控制能力強,編制的微程序短;缺點是微指令字長。字段直接編譯法將微指令的控制字段分為若干個小字段,每個字段分別編碼,每種編碼代表一種微命令。微程序控制器——設計技術微程序控制器——設計技術……………….譯碼譯碼譯碼………控制字段地址字段微命令微命令微命令uIR例如,某機器指令系統總共需要256個微命令,采用直接編碼法,微指令的操作控制字段需256位,采用字段直接編譯法,如將控制字段分成4位一段,共16段,每個字段經一個譯碼器輸出,可獲得16個微命令,總共16段就可獲得256個微命令。微指令的操作控制字段僅64位。微程序控制器——設計技術字段直接編碼法的分段原則:相斥性位命令分在同一字段內,相容性命令分在不同的字段內。前者可提高信息位的利用率,縮短微指令字長;后者有利于實現并行操作,加快指令的執行速度。一般將同類操作中互斥的微命令劃分在同一個字段中。每個小字段包含的信息位不能太多,一般不超過6位,否則將增加譯碼線路的復雜性和譯碼時間。微程序控制器——設計技術字段間接編譯法是在字段直接編譯法的基礎上進一步縮短指令字長的一種編譯法。一個字段的微命令編碼要兼由另一字段的編碼或某個標志位加以解釋,以便用較少的信息位表示更多的微命令。微程序控制器——設計技術微地址的形成方法根據機器指令操作碼找到相應機器指令所對應的微程序的入口地址。后繼微地址的產生直接到下一順序地址轉移微程序控制器——設計技術微程序入口地址的確定首先由“取機器指令”微程序完成將一條機器指令從內存中取出送往指令寄存器。這段程序是公用的,一般安排控制存儲器的“0”號單元。然后,應根據機器指令的操作碼轉移到對應的微程序入口地址。一級功能轉移多級功能轉移微程序控制器——設計技術一級功能轉移:如果操作碼的位數與位置固定,則可根據指令操作碼一次轉移到相應的微程序入口。采取的方法是直接使操作碼與微地址碼的部分位相對應。這樣,就可以一次轉移成功。微程序控制器——設計技術多級功能轉移如果每類指令的操作碼位數與位置固定,而各類指令之間的操作碼位數與位置不固定時,可采用分級轉移的辦法。先按指令類型轉移到某條微指令,區分出是哪一大類,然后進一步按機器指令操作轉移,區分出是該類機器指令中的哪一種具體操作。微程序控制器——設計技術采用PLA或PROM實現功能轉移如果操作碼的位數和位置都不固定,通常可以采用PLA可編程邏輯陣列實現。將每條機器指令的操作碼翻譯成相應的微程序入口地址。當一條指令的操作碼確定后,則PLA的輸出就是他的微程序入口地址。也可以用PROM實現,該存儲器以指令的操作碼作為地址的輸入,而相應的存儲單元內容即為該指令的微程序入口地址。微程序控制器——設計技術后繼微地址的產生計數器方式斷定方式(下址字段方式)微程序控制器——設計技術計數器方式:設置一個微程序計數器uPC,在順序執行微指令時,后繼微指令地址由現行微地址加上一個增量來實現。遇到轉移時,由微指令給出轉移微地址。微程序控制器——設計技術微程序控制器——設計技術用計數器方式實現的微程序控制單元結構uOP轉移部分控制存儲器uPC指令寄存器入口地址及轉移地址產生器條件碼
狀態標志第一種方式:將微指令的地址字段(順序控制字段)分成兩部分:轉移控制字段BCF和轉移地址字段BAF。微程序控制器——設計技術UOPBAFBCF其中轉移地址字段給出轉移用部分微地址,轉移控制字段用于規定后繼微地址是順序執行還是非順序執行。微程序控制器——設計技術uOPBAFBCF控制存儲器uPC譯碼器轉移控制網絡1∧&○1返回地址寄存器置初值返回地址BAF指令OP+1+1條件滿足外部條件BCF=101BCF=000,順序執行微指令,后繼微地址為uPC+1。BCF=001,機器指令操作碼產生后繼微地址的微命令,后繼微地址由OP變換后產生。BCF=010,無條件轉移微指令,將BAF送Upc。BCF=011,條件轉移微指令,后繼微指令地址由轉移條件的測試結果確定。BCF=100,測試循環微指令,后繼微地址由測試循環條件確定。BCF=101,轉微子程序微命令,后繼微地址即微子程序入口微地址由uPC與BAF字段組合形成。BCF=110,返回微命令。微程序控制器——設計技術第二種方式:在微指令格式中,將微操作控制字段和轉移地址字段重疊使用。如果順序執行微指令,該微指令只有微操作控制字段和轉移控制字段,沒有轉移地址字段,下一條微指令地址由uPC+1來確定;如果是轉移微指令,因為該位置不執行任何微操作,只是改變微程序的流程,所以可以用微操作控制字段給出下一條要執行的微指令地址。微程序控制器——設計技術計數器方式的優點是微指令字較段,便于編寫微程序,后繼微地址產生機構比較簡單;缺點是執行速度低,原因是計數器方式不易直接實現對應于各個測試條件的多路轉移,而微程序的主要特點是存在大量的分支。微程序控制器——設計技術斷定方式(下址字段法)所謂斷定方式是指后繼微指令地址可由設計者指定或由設計者指定的測試判斷字段控制生產。在這種方式中,當微程序不產生分支時,后繼微指令地址直接由微指令的順序控制字段給出;當微程序出現分支時,按順序控制字段給出的測試判別字段和狀態條件來形成后繼微地址。這種方式因為要在微指令格式中設置一個字段用來指明下一條要執行的微指令地址,所以也稱為下址字段法。微程序控制器——設計技術用斷定方式實現的微程序控制單元結構微程序控制器——設計技術指令寄存器IRPLA微地址修改邏輯+控制存儲器uAR下址uIR測試條件碼狀態標志采用斷定方式的微指令格式如下:微程序控制器——設計技術uOP測試判別下址微程序控制器——設計技術ABCAAFGHIJKLMNOP012I1I0=000110114358697101112131415Z=0Z=1微程序控制器——設計技術uOP測試判別下址2400下址01按地址轉移10按Z轉移11空微程序控制器——設計技術微地址微命令測試下址0000A0000010001B0000100010C0101000011E1010100100D0000110101H0010000110L0010010111P0010011000I0010111001M0011101010F0011001011J0011011100G0000001101K0000001110N0011111111O000000微指令格式水平型微指令垂直型微指令微程序控制器——設計技術水平型微指令:一次能定義并執行多個并行操作微命令的微指令,叫做水平型微指令。基本特征:微指令字較長一條微指令能控制數據通路中多個功能部件并行操作。微命令的編碼簡單,盡可能使微命令與控制門之間具有直接對應關系。微程序控制器——設計技術垂直型微指令:在微指令中設置微操作碼字段,一次只能控制數據通路的一、兩中信息穿的微指令稱為垂直型微指令。基本特征:微指令字短。微指令的并行操作能力有限,一條微指令只能控制數據通路中的一、兩中信息傳送。微指令編碼比較復雜,全部微命令組成一個微操作碼字段,經過完全譯碼,微指令的各個二進制位與數據通路的各個控制點之間完全不存在直接對應關系。微程序控制器——設計技術微指令的執行方式串行執行方式微程序控制器——設計技術取i條執行i條取i+1條執行i+1條微周期微周期并行執行方式微程序控制器——設計技術取i條執行i條取I+1條執行I+1條取I+2條執行I+2條簡單機器的微程序設計假設機器字長16位,采用單總線結構,CPU,主存和外設都掛在總線上。1.CPU
運算器中以ALU為核心,輸入端一個接LA,另一個來自數據總線。共由8個寄存器R0---R7,源操作數寄存器SR,目的操作數寄存器DR,暫存器TEMP。2.主存儲器按字編址,主存容量64K3.總線包括16位數據線,16位地址線和若干控制線。微程序控制器——微程序控制器舉例指令格式微程序控制器——微程序控制器舉例OPMSRSMDRD1512119865320OP:操作碼,4位,可定義16種操作M:尋址方式MS:源操作數尋址方式MD:目的操作數尋址方式RS:源操作數寄存器RD:目的操作數寄存器尋址方式:微程序控制器——微程序控制器舉例M名稱匯編符號含義000寄存器尋址R(R)為操作數001寄存器間址(R)有效地址=(R)010自增型寄存器間址(R)+E=(R)且(R)+1→R011自增型雙間址@(R)+E=((R))且(R)+1→R100變址尋址X(R)E=X+(R)操作類型微程序控制器——微程序控制器舉例
操作碼名稱匯編符號操作雙操作數運算指令0001加法ADD(RD)+(RS)→RD0010減法SUB(RD)-(RS)→RD0011邏輯乘AND(RD)^(RS)→RD單操作數運算指令0100加1INC(RD)+1→RD0101減1DEC(RD)-1→RD0110求補NEC(RD)+1→RD轉移類指令無條件條件0111MR不用1000MRPNZVCLTLAR0R1R7….SRDRTEMPMARMMDRIRuARALU地址譯碼器PLA微地址修改邏輯條件碼狀態+控制存儲器下址uIR譯碼PCLT→BUSALU→LT1→C0BUS→LARS→BUSBUS→RSRD→BUSBUS→RDSR→BUSBUS→TEMPBUS→MARMDR→BUSBUS→MDRBUS→IRPC→BUSBUS→PCREADWRITEMOC微命令ADDINC時序安排采用微程序控制方式后,指令分步操作是根據不同的微指令進行的,因此,時序系統不在按指令執行的不同階段設置不同的工作周期,而代以統一規整的微指令周期。微程序控制器——微程序控制器舉例微指令的編碼:共有19個選通信號,加上ALU的控制信號,假設有16個,及其他控制信號,共40個控制信號,所以采用字段直接編譯法。微程序控制器——微程序控制器舉例微程序控制器——微程序控制器舉例F1F2F3F4F5F6F7F8F90000不送000不送00不送000不送0000ADD00無動作0無動作0無動作00→C00001PC→BUS001BUS→PC01BUS→MAR001BUS→LA0001SUB01READ1CLEARLA1WAIT11→C00010MDR→BUS010BUS→IR10BUS→MDR010BUS→SR0010AND10WRITE
0011LT→BUS011BUS→LT
011BUS→DR
0100RS→BUS100BUS→RS
100BUS→TEMP
0101RD→BUS101BUS→RD
0110SR→BUS
0111DR→BUS
1000TEMP→BUS
1111XOR
表中:F1字段為所有送往總線的控制信號。F2—F4字段為總線送往個寄存器的控制型號。F5字段用于控制ALU的各種運算。F6字段提供存儲器的讀寫控制。F7字段用于暫存器LA的清除控制。F8字段用于存儲器與CPU的同步控制F9字段控制進位操作。微程序控制器——微程序控制器舉例微程序流程分析這是一條雙操作數加法指令的微程序流程。微程序控制器——微程序控制器舉例PC→BUS,CLEARLABUS→MAR,1→C0READADDALU→LTLT→BUSBUS→PCWAITMDR→BUSBUS→IRRS→BUSBUS→SRRS→BUSBUS→MARREADWAITRS→BUS,CLEARLABUS→MAR,1→C0READADDALU→LTPC→BUS,CLEARLABUS→MAR,1→C0READADDALU→LT000001002003B100R102(R)112@(R)+122X(R)142A①④③②微程序控制器——微程序控制器舉例(R)+LT→BUSBUS→RSWAITLT→BUSBUS→PCWAITMDS→BUSBUS→MARREADWAITMDR→BUSBUS→LAMDR→BUSBUS→SRRS→BUSADDALU→LTLT→BUSBUS→MARREADWAIT①④③②143144145146124125直接間接D微程序控制器——微程序控制器舉例C200RD→BUSBUS→LARD→BUSBUS→MARREADWAITRD→BUS,CLEARLABUS→MAR,1→C0READ,ADDALU→LTPC→BUS,CLEARLABUS→MAR,1→C0READ,ADDALU→LTLT→BUSBUS→RDWAITLT→BUSBUS→PCWAITMDR→BUSBUS→MARREADWAITMDR→BUSBUS→LARD→BUSADDALU→LTMDR→BUSBUS→LALT→BUSBUS→MARREADWAIT200243244245246R202(R)212(R)+@(R)222D(R)242224直接B間接225微程序控制器——微程序控制器舉例CSR→BUSADDALU→LTLT→BUSBUS→MDRWRITELT→BUSBUS→RD270271272273微程序控制器——微程序控制器舉例F微指令地址微指令微命令形式
編碼形式F1F2F3F4F5F6F7F8F9000PC→BUS,BUS→MAR,READ,CLEARLA,1→C0,ADD,ALU→LT000101101000000001101001LT→BUS,BUS→PC,WAIT001100100000000000010002MDR→BUS,BUS→IR,001001000000000000000112RS→BUS,BUS→MAR,READ,WAIT010000001000000001010125MDR→BUS,BUS→SR001000000010000000000202RD→BUS,BUS→LA010100000001000000000270SR→BUS,ADD,ALU→LT011001100000000000000273LT→BUS,BUS→RD001110100000000000000微程序控制器——微程序控制器舉例指令“ADD(RS),RD”微程序實例微指令地址的產生(微程序的順序控制)在本例中,微程序的入口地址由PLA產生,PLA的輸入為機器指令操作碼,輸出為該指令對應的微程序入口地址。后繼微指令地址的產生分別采用計數器方式和斷定方式。微程序控制器——微程序控制器舉例計數器方式(第二種方式)其中,轉移控制字段3位,以滿足微程序順序執行和無條件轉移及A、B、C、D、E、F六處分支條件轉移的要求。000順序執行001由PLA根據機器指令操作碼產生微程序入口地址010由源操作數尋址方式決定后繼微指令地址011由目的操作數尋址方式決定后繼微指令地址100由結果方式決定后繼微指令地址101由源間接尋址方式約定后繼微指令地址111無條件轉移微程序控制器——微程序控制器舉例
Uop轉移控制微指令地址.微命令形式
轉移控制000PC→BUS,BUS→MAR,READ,CLEARLA,1→C0,ADD,ALU→LT000001LT→BUS,BUS→PC,WAIT000002MDR→BUS,BUS→IR,000003
001100112010112RS→BUS,BUS→MAR,READ,WAIT000113125111125MDR→BUS,BUS→SR000126200111200202011202RD→BUS,BUS→LA000203270111270SR→BUS,ADD,ALU→LT000271272100273LT→BUS,BUS→RD000274000111微程序控制器——微程序控制器舉例指令“ADD(RS),RD”微程序斷定方式微程序控制器——微程序控制器舉例
Uop測試判別字段下址字段測試字段3位,下址字段8位。微指令地址.微命令形式測試判別字段
轉移控制000PC→BUS,BUS→MAR,READ,CLEARLA,1→C0,ADD,ALU→LT000001001LT→BUS,BUS→PC,WAIT000002002MDR→BUS,BUS→IR,000003003
001000100
010102112RS→BUS,BUS→MAR,READ,WAIT000125125MDR→BUS,BUS→SR000200200
011202202RD→BUS,BUS→LA000270270SR→BUS,ADD,ALU→LT100272273LT→BUS,BUS→RD000000微程序控制器——微程序控制器舉例指令“ADD(RS),RD”微程序實例基本思想:把控制部件看成作為生產專門固定時序控制信號的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設計目標。這種邏輯電路是一種由門電路和觸發器構成的復雜樹形網絡,故稱為硬布線控制器。由于門電路多是組合邏輯電路所以也稱為組合邏輯控制器。硬布線控制器(組合邏輯控制器)硬布線控制器的結構圖硬布線控制器組合邏輯線路指令譯碼器指令寄存器節拍電位/節拍脈沖發生器微操作控制信號結果反饋信息啟動停止時鐘復位IR
M1MiT1Ti設計方法模型機的數據通路全機采用中線結構,分為內部單總線和存儲器總線(系統總線),算邏部件,通用寄存器組等掛在內部總線上,主存儲器M,I/O都掛在系統總線上。R0----R3為四個通用寄存器,Y連在ALU的一個輸入端上,Z是ALU的輸出寄存器,以便將結果輸出到內部總線上。硬布線控制器硬布線控制器MARMDRMYZR0R1R2R3IRPCID邏輯網絡模8計數器ALU系統總線內部總線控制信號尋址方式與指令系統硬布線控制器操作碼OP寄存器號(Ri)地址碼ADDR指令指令編碼操作功能LDRi,ADDR000RiADDRRi←(ADDR)STRRi,ADDR001RiADDRADDR←(Ri)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年證券從業資格證行為規范試題及答案
- 2024年項目管理考試注重的試題及答案
- 項目文檔管理的基礎與發展試題及答案
- 2024年項目管理考試考題解析試題及答案
- 微生物檢驗人才培養試題及答案
- 行政管理師證書在企業中的應用價值及試題及答案
- 2024年項目管理考試知識框架梳理試題及答案
- 亮化工程幕墻施工方案
- 攔截鉆孔考察方案范本
- 海底設施鋪設工程建筑考核試卷
- 公司分布式光伏發電項目工程監理實施細則
- 2023年新高考物理廣東卷試題真題及答案詳解(精校版)
- 《疫苗管理法》法律法規解讀課件
- 自動跟隨行李箱系統設計
- 手動電葫蘆操作規程
- 創新方法論知到章節答案智慧樹2023年西安理工大學
- 《上海市奉賢區小區機動車停放管理工作調查報告》4300字
- 刑偵工作調研報告
- 火力發電廠鍋爐智能燃燒控制技術導則
- 國家開放大學《社會心理學》形考任務1-4參考答案
- 國家開放大學《現代漢語專題》章節自測參考答案
評論
0/150
提交評論