第五章 中央控制器2015_第1頁(yè)
第五章 中央控制器2015_第2頁(yè)
第五章 中央控制器2015_第3頁(yè)
第五章 中央控制器2015_第4頁(yè)
第五章 中央控制器2015_第5頁(yè)
已閱讀5頁(yè),還剩234頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第五章

中央控制器第五章中央控制器CPU的功能和組成指令周期時(shí)序產(chǎn)生器和控制方式微程序控制器微程序設(shè)計(jì)技術(shù)硬布線控制器流水線CPU5.1CPU的功能和組成什么是CPU?所謂中央處理器是控制計(jì)算機(jī)來(lái)自動(dòng)完成取出指令和執(zhí)行指令任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱為CPU。

5.1CPU的功能和組成CPU的功能

(4)數(shù)據(jù)加工:所謂數(shù)據(jù)加工,就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理。完成數(shù)據(jù)的加工處理,這是CPU的根本的任務(wù)。

(1)指令控制:就是保證機(jī)器按規(guī)定的順序執(zhí)行程序。(2)操作控制:CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號(hào),并把各種操作信號(hào)送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。

(3)時(shí)間控制:對(duì)各種操作實(shí)施時(shí)間上的控制,稱為時(shí)間控制。5.1CPU的功能和組成CPU的基本組成中央處理器由兩個(gè)主要部分控制器和運(yùn)算器組成。

5.1CPU的功能和組成控制器

由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器組成,它是發(fā)布命令的“決策機(jī)構(gòu)”??刂破鞯闹饕δ苡校?.從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。2.對(duì)指令進(jìn)行譯碼或測(cè)試,并產(chǎn)生相應(yīng)的控制信號(hào)。3.指揮并控制CPU,內(nèi)存和I/O之間的數(shù)據(jù)流動(dòng)的方向。5.1CPU的功能和組成運(yùn)算器由算術(shù)邏輯單位(ALU)、累加寄存器、數(shù)據(jù)緩沖寄存器和狀態(tài)條件寄存器組成,它是數(shù)據(jù)加工處理部件。相對(duì)控制器而言,運(yùn)算器接受控制器的命令而進(jìn)行動(dòng)作,所以它是執(zhí)行部件。運(yùn)算器的主要功能:1.執(zhí)行所有的算術(shù)運(yùn)算。2.執(zhí)行所有的邏輯運(yùn)算。5.1CPU的功能和組成算術(shù)邏輯單元狀態(tài)條件寄存器程序記數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DR存儲(chǔ)器I/OCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制ccccc5.1.3CPU中的主要寄存器累加寄存器AC

累加寄存器AC通常簡(jiǎn)稱為累加器,它的功能是:當(dāng)運(yùn)算器的算術(shù)邏輯單元(ALU)執(zhí)行全部算術(shù)和邏輯運(yùn)算時(shí),為ALU提供一個(gè)工作區(qū)。累加寄存器是暫時(shí)存放ALU運(yùn)算的結(jié)果信息。顯然,運(yùn)算器中至少要有一個(gè)累加寄存器。

5.1.3CPU中的主要寄存器2.狀態(tài)條件寄存器PSW

狀態(tài)條件寄存器保存由算術(shù)指令和邏輯指令運(yùn)行或測(cè)試的結(jié)果建立的各種條件碼內(nèi)容,同時(shí)狀態(tài)條件寄存器還保存中斷和系統(tǒng)工作狀態(tài)等信息,以便使CPU和系統(tǒng)能及時(shí)了解機(jī)器運(yùn)行狀態(tài)和程序運(yùn)行狀態(tài)。因此,狀態(tài)條件寄存器是一個(gè)由各種狀態(tài)條件標(biāo)志拼湊而成的寄存器。5.1.3CPU中的主要寄存器3.程序計(jì)數(shù)器PC

程序計(jì)數(shù)器中存放的是下一條指令在內(nèi)存中的地址。

指令寄存器IR

指令寄存器用來(lái)保存當(dāng)前正在執(zhí)行的一條指令。5.1.3CPU中的主要寄存器

地址寄存器AR

地址寄存器用來(lái)保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來(lái)保持地址信息,直到內(nèi)存的讀/寫操作完成為止。

緩沖寄存器DR

緩沖寄存器用來(lái)暫時(shí)存放由內(nèi)存儲(chǔ)器讀出的一條指令或一個(gè)數(shù)據(jù)字;反之,當(dāng)向內(nèi)存存入一條指令或一個(gè)數(shù)據(jù)字時(shí),也暫時(shí)將它們存放在緩沖寄存器中。5.1.4操作控制器和時(shí)序產(chǎn)生器1.數(shù)據(jù)通路:通常把許多寄存器之間傳送信息的通路,稱為“數(shù)據(jù)通路”。2.操作控制器:根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作信號(hào),以便正確建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的操作。3.時(shí)序產(chǎn)生器:就是對(duì)各種操作實(shí)施時(shí)間上的控制。5.2指令周期5.2指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器—分析指令—按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大—檢查有無(wú)中斷請(qǐng)求若無(wú),則轉(zhuǎn)入下一條指令的執(zhí)行過(guò)程指令的執(zhí)行過(guò)程5.2指令周期指令周期的基本概念指令周期:CPU每取出并執(zhí)行一條指令,都要完成一系列的操作,這一系列操作所需花費(fèi)的時(shí)間通常叫做一個(gè)指令周期。

機(jī)器周期:通常用內(nèi)存中讀取一個(gè)指令字的最短時(shí)間來(lái)規(guī)定一個(gè)機(jī)器周期。指令周期常常用若干個(gè)機(jī)器周期數(shù)來(lái)表示,CPU周期也稱為機(jī)器周期時(shí)鐘周期:它是處理操作的最基本單位.而一個(gè)CPU周期時(shí)間又包含有若干個(gè)時(shí)鐘周期。5.2指令周期指令周期T周期CPU周期CPU周期T1T2T3T4(取指令)(執(zhí)行指令)5.2指令周期執(zhí)行周期許多類型主要是涉及到處理器內(nèi)部的寄存器可能的操作有數(shù)據(jù)傳輸ALU控制指令的處理下面以一個(gè)簡(jiǎn)單的程序來(lái)具體認(rèn)識(shí)每一條指令的指令周期和執(zhí)行過(guò)程。

內(nèi)存地址內(nèi)存內(nèi)容助記符所完成的操作020250000CLA將累加器的內(nèi)容清零021030030ADD30(A)+(30)A022021040STA40(A)(40)023000000NOP空操作指令024140021JMP2121→PC

030000006

031

040存和數(shù)單元

5.2指令周期CLA指令的指令周期非訪內(nèi)指令需要兩個(gè)CPU周期。在第一個(gè)CPU周期,即取指令階段,CPU完成三件事:(1)從內(nèi)存取出指令;(2)對(duì)程序計(jì)數(shù)器PC加1,以便為取下一條指令做好準(zhǔn)備;(3)對(duì)指令操作碼進(jìn)行譯碼或測(cè)試,以便確定進(jìn)行什么操作。在第二個(gè)CPU周期,即執(zhí)行指令階段,將累加器A的內(nèi)容清零。

一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對(duì)指令譯碼執(zhí)行指令取下條指令PC+1CLA指令的指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序記數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序記數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021指令周期ADD指令的指令周期ADD指令的指令周期由三個(gè)CPU周期組成。第一個(gè)CPU周期為取指令階段。第二個(gè)CPU周期中將操作數(shù)的地址送往地址寄存器并完成地址譯碼。在第三個(gè)CPU周期中從內(nèi)存取出操作數(shù)并執(zhí)行相加的操作。ADD指令的指令周期一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對(duì)指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)執(zhí)行加操作一個(gè)CPU周期ADD指令的指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序記數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006STA指令的指令周期STA指令的指令周期

STA指令的指令周期由三個(gè)CPU周期組成。其中第一個(gè)CPU周期仍然是取指令階段,其過(guò)程和CLA指令、ADD指令完全一樣,不同的是此階段中程序計(jì)數(shù)器加1后變?yōu)?23,因而為取第四條指令做好了準(zhǔn)備。我們假定,第一個(gè)CPU周期后結(jié)束,“STA40”指令已放入指令寄存器并完成譯碼測(cè)試。STA指令的指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序記數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006指令周期NOP指令和JMP指令的指令周期NOP指令是一條空指令,包含兩個(gè)CPU周期,第一個(gè)周期取指令,第二個(gè)周期執(zhí)行指令,因是空指令,所以操作控制器不發(fā)出任何控制信號(hào)。

JMP指令由兩個(gè)CPU周期組成,第一個(gè)周期是取指令周期,同其他指令。第二個(gè)周期為執(zhí)行階段,CPU把指令寄存器中的地址碼部分21送到程序計(jì)數(shù)器,從而用新內(nèi)容21代替PC原先的內(nèi)容25,這樣,下一條指令將不從25單元中讀出,而從21電源開始讀出并執(zhí)行,從而改變了程序原先的執(zhí)行順序。指令周期算術(shù)邏輯單元狀態(tài)條件寄存器程序記數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP210000240000210000060000060000250000215.2指令周期小結(jié):各類信息的傳送路徑指令:M→DBUS→DR→DBUS→IR

地址:PC→ABUS→AR→

(取決于尋址方式)數(shù)據(jù):寄存器→寄存器:總線直接傳送寄存器→存儲(chǔ)器:

Ri→DBUS→DR→DBUS→M

存儲(chǔ)器→寄存器:

M→DBUS→DR→DBUS→Ri5.2.7用方框圖語(yǔ)言表示指令周期

在進(jìn)行計(jì)算機(jī)設(shè)計(jì)時(shí),可以采用方框圖語(yǔ)言來(lái)表示一條指令的指令周期。一個(gè)方框代表一個(gè)CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制。一個(gè)菱形符號(hào)代表某種判別或測(cè)試,不過(guò)時(shí)間它依附于它前面一個(gè)方框的CPU周期,而不單獨(dú)占用一個(gè)CPU周期。符號(hào)“~”代表一個(gè)公操作。5.2.7用方框圖語(yǔ)言表示指令周期PC→AR→ABUSDBUS→DR→IRPC+1譯碼或測(cè)試0→ACIR→ARIR→ARIR→PCPC→ARAR→ABUSDBUS→DRDR→ALUALU→ACAR→ABUSAC→DRDR→DBUS~~~~~CLAADDSTAJMPNOP5.2.7用方框圖語(yǔ)言表示指令周期例:如圖所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,控制信號(hào)G控制的是一個(gè)門電路。畫出下列的指令周期流程圖,并列出相應(yīng)的微操作控制信號(hào)序列。1.“ADDR2,R0”

指令完成(R0)+(R2)→R0功能操作。假設(shè)該指令的地址已放入PC中。2.“SUBR1,R3”指令完成(R3)-(R1)→R3的功能操作。指令周期IRPCARDRR0R1R2R3MXYALUIRiIRoPCiPCoARiDRiDRoR0iR0oR3iR3oXiYiA總線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,R3i5.3時(shí)序產(chǎn)生器和控制方式時(shí)序信號(hào)的作用和體制計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)志則是用時(shí)序信號(hào)來(lái)體現(xiàn)的。操作控制器發(fā)出的各種控制信號(hào)都是時(shí)間因素(時(shí)序信號(hào))和空間因素(部件位置)的函數(shù)。組成計(jì)算機(jī)硬件的器件特性決定了時(shí)序信號(hào)最基本的體制是電位---脈沖制。5.3時(shí)序產(chǎn)生器和控制方式常用的操作控制器有兩種:硬布線控制器微程序控制器5.3時(shí)序產(chǎn)生器和控制方式硬布線控制器中時(shí)序信號(hào)采用主狀態(tài)周期——節(jié)拍電位——節(jié)拍脈沖三級(jí)體制微程序控制中時(shí)序信號(hào)采用節(jié)拍電位——節(jié)拍脈沖二級(jí)體制。5.3時(shí)序產(chǎn)生器和控制方式主狀態(tài)周期(指令周期):包含若干個(gè)節(jié)拍周期,可以用一個(gè)觸發(fā)器的狀態(tài)持續(xù)時(shí)間來(lái)表示。節(jié)拍電位(機(jī)器周期):包含若干個(gè)節(jié)拍脈沖,表示較大的時(shí)間單位。節(jié)拍脈沖(時(shí)鐘周期):表示較小的時(shí)間單位。5.3時(shí)序產(chǎn)生器和控制方式節(jié)拍電位與節(jié)拍脈沖時(shí)序關(guān)系圖5.3時(shí)序產(chǎn)生器和控制方式時(shí)序信號(hào)產(chǎn)生器的組成時(shí)鐘源環(huán)形脈沖發(fā)生器節(jié)拍脈沖和讀/寫時(shí)序的譯碼啟停控制邏輯

環(huán)形脈沖發(fā)生器四、節(jié)拍脈沖和讀/寫時(shí)序的編碼讀寫時(shí)序信號(hào)的譯碼邏輯表達(dá)式以上帶’的表示信號(hào)來(lái)自微程序控制器,持續(xù)一個(gè)CPU周期

讀寫時(shí)序信號(hào)受到控制的信號(hào),而節(jié)拍脈沖信號(hào)時(shí)計(jì)算機(jī)加上電源后就產(chǎn)生。5.3時(shí)序產(chǎn)生器和控制方式啟停控制邏輯節(jié)拍脈沖和對(duì)時(shí)序譯碼邏輯環(huán)形脈沖發(fā)生器

IORQMREQRDWET1T2T3T4

IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’時(shí)鐘脈沖源Φ時(shí)鐘脈沖源環(huán)形脈沖發(fā)生器節(jié)拍脈沖和對(duì)時(shí)序譯碼邏輯啟??刂七壿嬘脕?lái)位環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號(hào)。有石英晶體振蕩器組成。產(chǎn)生一組有序的間隔相等或不等的脈沖序列。通常采用循環(huán)移位寄存器??刂品绞?/p>

當(dāng)兩個(gè)操作速度不同的部件或執(zhí)行時(shí)間不同的指令在一起工作,怎樣使計(jì)算機(jī)協(xié)調(diào)工作?這就要涉及到部件之間的通信方式及時(shí)序的控制方式方面的問(wèn)題,統(tǒng)稱為控制方式問(wèn)題。

按時(shí)序信號(hào)與操作的關(guān)系進(jìn)行分類,控制方式可以分為同步控制、異步控制和聯(lián)合控制等3種方式。控制方式同步控制方式:其基本思想是選取部件中最長(zhǎng)的操作時(shí)間作為統(tǒng)一的時(shí)間間隔標(biāo)準(zhǔn),使所有的部件都在這個(gè)時(shí)間間隔內(nèi)啟動(dòng)并完成操作。已定的指令在執(zhí)行時(shí)所需的機(jī)器周期數(shù)和時(shí)鐘周期數(shù)都是固定不變的。

優(yōu)點(diǎn)是:時(shí)序關(guān)系比較簡(jiǎn)單,控制器設(shè)計(jì)方便。缺點(diǎn)是:以犧牲速度為代價(jià)??刂品绞疆惒娇刂品绞剑河址Q為可變時(shí)序控制方式,其基本思想是不設(shè)立統(tǒng)一的時(shí)間間隔標(biāo)準(zhǔn),各部件按本身的速度占用時(shí)間。時(shí)間上的銜接通過(guò)應(yīng)答通信方式(又稱握手方式)實(shí)現(xiàn)。每條指令、每個(gè)操作控制信號(hào)需要多少時(shí)間就占用多少時(shí)間。這意味著每條指令的指令周期可由多少不等的機(jī)器周期數(shù)組成。優(yōu)點(diǎn):提高了系統(tǒng)的速度缺點(diǎn):控制器比較復(fù)雜控制方式聯(lián)合控制方式:

其基本思想是將同步控制方式和異步控制方式相結(jié)合,使計(jì)算機(jī)處于同步與異步交替工作方式。

例如,對(duì)大多數(shù)需要節(jié)拍數(shù)相近的指令,用相同的節(jié)拍數(shù)來(lái)完成,即采用同步控制;而對(duì)少數(shù)需要節(jié)拍數(shù)多的指令或節(jié)拍數(shù)不固定的指令,給予必要的延長(zhǎng),即采用異步控制;

因?yàn)槭巧贁?shù)指令,是局部的,所以又稱為局部性異步控制,實(shí)現(xiàn)局部性異步控制的方法有:

1.節(jié)拍數(shù)可變周期法,即不同的機(jī)器周期采用不同的節(jié)拍數(shù),由周期狀態(tài)觸發(fā)器來(lái)控制;

2.節(jié)拍數(shù)周期固定法,即不同的機(jī)器周期采用相同的節(jié)拍數(shù),對(duì)需要延長(zhǎng)的周期,采用節(jié)拍插入法或周期延長(zhǎng)法來(lái)調(diào)整。5.4微程序控制器基本概念組成工作過(guò)程微程序舉例微程序設(shè)計(jì)技術(shù)微程序控制器的設(shè)計(jì)方法5.4微程序控制器基本概念微命令微操作微指令微程序控制存儲(chǔ)器微地址5.4微程序控制器——基本概念微程序控制器的基本思想:將微操作控制信號(hào)按一定規(guī)則進(jìn)行信息編碼(代碼化)形成控制字(微指令),一條機(jī)器指令對(duì)應(yīng)一段“程序”,該程序存放在控制存儲(chǔ)器中,因?yàn)椤俺绦颉钡闹噶罱Y(jié)果是實(shí)現(xiàn)一條機(jī)器指令的功能,所以稱為“指令的微程序”5.4微程序控制器——基本概念微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā)出各種控制命令,通常把這種控制命令稱為微命令。微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作,稱為微操作。5.4微程序控制器——基本概念微指令:在機(jī)器的一個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合,構(gòu)成一條微指令。微程序:微指令序列為微程序。5.4微程序控制器——基本概念程序機(jī)器指令1機(jī)器指令2機(jī)器指令i機(jī)器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序5.4微程序控制器——基本概念控制存儲(chǔ)器:用來(lái)存放微程序的高速存儲(chǔ)器。5.4微程序控制器——基本概念微地址:人們常把全部指令的控制字存放在一個(gè)高速存儲(chǔ)器中,即控制存儲(chǔ)器中(簡(jiǎn)稱控存),控存的一個(gè)單元的內(nèi)容即控制字代表了某一個(gè)節(jié)拍的一組微操作控制信號(hào)的信息,而把控存單元的地址稱為“微地址”。5.4微程序控制器—組成控制存儲(chǔ)器:用來(lái)存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序。微指令寄存器:用來(lái)存放由控制存儲(chǔ)器讀出的一條微指令信息。微地址轉(zhuǎn)移邏輯:自動(dòng)完成修改微地址的任務(wù)。5.4微程序控制器—組成微程序控制器原理框圖控制存儲(chǔ)器地址譯碼微地址寄存器OPP字段控制字段地址轉(zhuǎn)移邏輯狀態(tài)條件指令寄存器微命令信號(hào)5.4微程序控制器—工作過(guò)程微程序控制器的工作過(guò)程實(shí)質(zhì)上就是在微程序控制器的控制下,計(jì)算機(jī)執(zhí)行機(jī)器指令的過(guò)程。從控存中取出一段“取機(jī)器指令”用的微程序,稱為取指微程序,這是一段公用的微操作,其首址通常方在“0”號(hào)微地址單元。該微程序完成從主存中讀取機(jī)器指令并送往指令寄存器。機(jī)器指令操作碼通過(guò)微地址形成部件,產(chǎn)生對(duì)應(yīng)的微程序入口地址,并送入微地址寄存器。逐條取出對(duì)應(yīng)的微指令,每一條微指令提供一個(gè)微命令序列,控制有關(guān)的微操作。執(zhí)行完對(duì)應(yīng)于一條機(jī)器指令的一段微程序后,返回到取指微程序的入口,以便取出下一條機(jī)器指令。不斷重復(fù),直至程序執(zhí)行完畢。5.4微程序控制器—微程序舉例ALUR1R2R3Cy+-MDR4685791235.4微程序控制器—微程序舉例.......................1234

567891011121314151617181920212223微指令的格式:LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制5.4微程序控制器—微程序舉例舉例:“十進(jìn)制加法”指令的微程序控制的過(guò)程?!笆M(jìn)制加法”指令的功能是用BCD碼來(lái)完成十進(jìn)制數(shù)的加法運(yùn)算。在十進(jìn)制運(yùn)算時(shí),當(dāng)相加二數(shù)之和大于9時(shí),便產(chǎn)生進(jìn)位,要進(jìn)行加6修正;當(dāng)相加二數(shù)之和小于等于9時(shí),結(jié)果是正確的。5.4微程序控制器—微程序舉例假定數(shù)a和b已存放在R1和R2兩寄存器中,數(shù)6存放在R3寄存器中。算法要求先進(jìn)行a+b+6運(yùn)算,然后判斷結(jié)果有無(wú)進(jìn)位;當(dāng)進(jìn)位標(biāo)志Cy=1不減6,當(dāng)Cy=0,減6,從而可以獲得正確的結(jié)果。5.4微程序控制器—微程序舉例PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2RD0000000010101001000000010000Cy≠0Cy=0微程序流程圖5.4微程序控制器—微程序舉例000000000000111111000001234

567891011121314151617181920212223第一條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制5.4微程序控制器—微程序舉例010100100100000000010011234

567891011121314151617181920212223第二條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制R1X,R2Y,+,LDR25.4微程序控制器—微程序舉例010001001100000000100001234

567891011121314151617181920212223第三條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制R2X,R3Y,+,LDR25.4微程序控制器—微程序舉例010001001001000000000001234

567891011121314151617181920212223第四條微指令LDR1’LDR2’LDR3’R1→YR2→XR2→YR1→XDR→XR3→Y+M-RD’LDDR’LDIR’LDAR’PC+1P1P2直接地址操作控制順序控制R2X,R3X,-,LDR2T1T2T3T4T1T2T3T45.4微程序控制器—微指令周期微指令周期:讀出微指令的時(shí)間加上執(zhí)行該條微指令的時(shí)間。T4T4執(zhí)行微指令微指令周期CPU周期CPU周期

讀微指令5.4機(jī)器指令和微指令的關(guān)系程序計(jì)數(shù)器地址寄存器緩沖寄存器指令寄存器微地址寄存器微指令寄存器主存儲(chǔ)器控制存儲(chǔ)器微命令

例:

設(shè)某計(jì)算機(jī)運(yùn)算器框圖如圖所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個(gè)通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見(jiàn)下表。寫控制讀控制選擇WA1WA0

W選擇RA1RA0

R不寫入**

0不讀出**

0

R3

1

1

1

R3

1

1

1

R2

0

1

1

R2

0

1

1

R1

1

0

1

R1

1

0

1

R0

0

0

1

R0

0

0

1

機(jī)器采用串行微程序控制方式,其微指令周期見(jiàn)下圖(b)。其中讀ROM是從控存中讀出一條微指令時(shí)間,為1μs;ALU工作是加法器做加法運(yùn)算,為500ns;m1是讀寄存器時(shí)間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。微指令字長(zhǎng)12位,微指令格式如下:RA0RA1:讀R0-R3的選擇控制

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

W:寄存器寫命令LDSA:打入SA的控制信號(hào)LDSB:打入SB的控制信號(hào)SB-ALU:傳送SB的控制信號(hào)____SB-ALU:傳送SB的控制信號(hào),并使加法器最低位加1.Reset:清暫存器SB為零的信號(hào)~:一段微程序結(jié)束,轉(zhuǎn)入取機(jī)器指令的控制信號(hào)RA0RA1WA0WA1RWLDSALDSBSB-ALU__SB-ALUReset~要求:用二進(jìn)制代碼寫出如下指令的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)解:先畫出三條指令的微指令的微程序流程圖,如下圖所示。

其中未考慮“取指周期”和順序控制問(wèn)題,也即微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號(hào)標(biāo)在每條微指令的右上角。每一框表示一條微指令。根據(jù)給定的微指令周期時(shí)間關(guān)系,完成ADD,SUB指令的執(zhí)行動(dòng)作需要3條微指令,MOV指令只需2條微指令。用二進(jìn)制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設(shè)置(0或1均可)。RA0RA1WA0WA1RWLDSALDSBSB-ALU__SB-ALUReset~ADD00**1010000001**10010000**0101001001SUB11**1010000010**10010000**1101000101MOV10**10100000**1101001011

指令微程序代碼

ADD00**1010000001**10010000**0101001001SUB11**1010000010**10010000**1101000101MOV10**10100000**1101001011RA0RA1WA0WA1RWLDSALDSBSB-ALU__SB-ALUReset~5.4.2微程序設(shè)計(jì)技術(shù)設(shè)計(jì)微指令結(jié)構(gòu)應(yīng)當(dāng)追求的目標(biāo):1。有利于縮短微指令字的長(zhǎng)度;2。有利于減少控制存儲(chǔ)器的容量;3。有利于提高微程序的執(zhí)行速度;4。有利于對(duì)微指令的修改;5。有利于提高微程序設(shè)計(jì)的靈活性。5.4.2微程序設(shè)計(jì)技術(shù)微命令編碼微地址的形成方法微指令格式微程序控制的設(shè)計(jì)方法5.4.2微程序設(shè)計(jì)技術(shù)微命令編碼直接表示法編碼表示法混合表示法5.4.2微程序設(shè)計(jì)技術(shù)直接表示法在微指令的操作控制字段中每一個(gè)微命令都用一位信息表示,對(duì)應(yīng)于一種微操作。設(shè)計(jì)微指令時(shí),選用或不選用某個(gè)微命令,只要將表示該微命令的相應(yīng)位設(shè)置成“1”或“0”就可以了。因此,微命令的產(chǎn)生不必經(jīng)過(guò)譯碼,所需的控制信號(hào)直接送到相應(yīng)的控制點(diǎn)。5.4.2微程序設(shè)計(jì)技術(shù)LTALULA11000100LT→BUSALU→LTLA→ALUBUS→LA0位:LT→BUS1位:BUS→LA2位:LA→ALU3位:DIV4位:MUL5位:SUB6位:ADD7位:ALU→LT這種方法的優(yōu)點(diǎn)是簡(jiǎn)單、直觀、執(zhí)行速度快,微命令的并行控制能力強(qiáng),編制的微程序短;缺點(diǎn)是微指令字長(zhǎng)。765432105.4.2微程序設(shè)計(jì)技術(shù)編碼表示法將微指令的控制字段分為若干個(gè)小字段,每個(gè)字段分別編碼,每種編碼代表一種微命令。微程序控制器——設(shè)計(jì)技術(shù)……………….譯碼譯碼譯碼………控制字段地址字段微命令微命令微命令uIR5.4.2微程序設(shè)計(jì)技術(shù)例如,某機(jī)器指令系統(tǒng)總共需要256個(gè)微命令,采用直接表示法,微指令的操作控制字段需256位。采用編碼表示法,如將控制字段分成4位一段,共16段,每個(gè)字段經(jīng)一個(gè)譯碼器輸出,可獲得16個(gè)微命令,總共16段就可獲得256個(gè)微命令。微指令的操作控制字段僅64位。5.4.2微程序設(shè)計(jì)技術(shù)編碼表示法的分段原則:①相斥性微命令分在同一字段內(nèi),相容性微命令分在不同的字段內(nèi)。②一般將同類操作中互斥的微命令劃分在同一個(gè)字段中。③每個(gè)字段包含的信息位不能太多,一般不超過(guò)6位,否則將增加譯碼線路的復(fù)雜性和譯碼時(shí)間。④一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。通常用000表示不操作。5.4.2微程序設(shè)計(jì)技術(shù)混合表示法這種方法把直接表示法和字段編碼表示法混合使用,以便能綜合考慮微指令字長(zhǎng)、靈活性、執(zhí)行微程序速度等方面的要求。5.4.2微程序設(shè)計(jì)技術(shù)微地址的形成方法1.根據(jù)機(jī)器指令操作碼找到相應(yīng)機(jī)器指令所對(duì)應(yīng)的微程序的入口地址。2.后繼微地址的產(chǎn)生

⑴計(jì)數(shù)器方式⑵多路轉(zhuǎn)移方式5.4.2微程序設(shè)計(jì)技術(shù)1.微程序入口地址的確定首先由“取機(jī)器指令”微程序完成將一條機(jī)器指令從內(nèi)存中取出送往指令寄存器。這段程序是公用的,一般安排控制存儲(chǔ)器的“0”號(hào)單元。然后,應(yīng)根據(jù)機(jī)器指令的操作碼轉(zhuǎn)移到對(duì)應(yīng)的微程序入口地址。5.4.2微程序設(shè)計(jì)技術(shù)

2.后繼微地址的產(chǎn)生計(jì)數(shù)器方式多路轉(zhuǎn)移方式(下址字段方式)5.4.2微程序設(shè)計(jì)技術(shù)(1)計(jì)數(shù)器方式設(shè)置一個(gè)微程序計(jì)數(shù)器uPC,在順序執(zhí)行微指令時(shí),后繼微指令地址由uPC+1來(lái)實(shí)現(xiàn)。順序執(zhí)行的微指令在控制存儲(chǔ)器中要求順序存放;5.4.2微程序設(shè)計(jì)技術(shù)(1)計(jì)數(shù)器方式當(dāng)遇到轉(zhuǎn)移執(zhí)行時(shí),在當(dāng)前微指令后面添加一條“轉(zhuǎn)移微指令”實(shí)現(xiàn)微指令的跳轉(zhuǎn)。在微指令中專門添加“轉(zhuǎn)移控制字段”,將“轉(zhuǎn)移微指令”或“轉(zhuǎn)移控制字段”中的控制信息送到微指令地址發(fā)生器,與相應(yīng)的指令操作碼以及條件碼等結(jié)合,生成轉(zhuǎn)移地址送upc中。5.4.2微程序設(shè)計(jì)技術(shù)用計(jì)數(shù)器方式實(shí)現(xiàn)的微程序控制單元結(jié)構(gòu)uPC轉(zhuǎn)移部分控制存儲(chǔ)器uPC指令寄存器入口地址及轉(zhuǎn)移地址產(chǎn)生器條件碼

狀態(tài)標(biāo)志5.4.2微程序設(shè)計(jì)技術(shù)計(jì)數(shù)器方式優(yōu)點(diǎn):是微指令字段較短,便于編寫微程序,后繼微地址產(chǎn)生機(jī)構(gòu)比較簡(jiǎn)單;缺點(diǎn):是必須在不連續(xù)執(zhí)行的微指令之間加入“轉(zhuǎn)移微指令”,這樣既增加了微指令的條數(shù),也嚴(yán)重影響指令執(zhí)行速度。5.4.2微程序設(shè)計(jì)技術(shù)(2)多路轉(zhuǎn)移方式(下址字段法)在這種方式中,當(dāng)微程序不產(chǎn)生分支時(shí),后繼微指令地址直接由微指令的順序控制字段給出;當(dāng)微程序出現(xiàn)分支時(shí),按順序控制字段給出的測(cè)試判別字段和狀態(tài)條件來(lái)形成后繼微地址。這種方式因?yàn)橐谖⒅噶罡袷街性O(shè)置一個(gè)字段用來(lái)指明下一條要執(zhí)行的微指令地址,所以也稱為下址字段法。5.4.2微程序設(shè)計(jì)技術(shù)多路轉(zhuǎn)移方式的微指令格式如下:uOP測(cè)試判別下址5.4.2微程序設(shè)計(jì)技術(shù)用多路轉(zhuǎn)移方式實(shí)現(xiàn)的微程序控制單元結(jié)構(gòu)指令寄存器IRPLA微地址修改邏輯+控制存儲(chǔ)器uAR下址uIR測(cè)試條件碼狀態(tài)標(biāo)志例題

微地址寄存器有6位(uA5—uA0),當(dāng)需要修改其內(nèi)容時(shí),可通過(guò)某一位觸發(fā)器的強(qiáng)置端S將其置“1”。現(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3—IR0)進(jìn)行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令微程序時(shí),按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;(3)執(zhí)行控制臺(tái)指令微程序時(shí),按IR4、IR5的狀態(tài)進(jìn)行4路分支。請(qǐng)按多路轉(zhuǎn)移方法設(shè)計(jì)微地址轉(zhuǎn)移邏輯。

解:依題意可知:微程序有三個(gè)判斷測(cè)試,設(shè)分別為P1,P2,P3。用P1和IR3—IR0修改uA3—uA0;用P2和C修改uA0;用P3和IR5、IR4修改uA5、uA4。另外考慮時(shí)間因素T4(假設(shè)CPU周期最后一個(gè)節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達(dá)式如下:

uA5=P3*IR5*T4uA4=P3*IR4*T4uA3=P1*IR3*T4uA2=P1*IR2*T4uA1=P1*IR1*T4uA0=P1*IR0*T4+P2*C*T45.4.2微程序設(shè)計(jì)技術(shù)(3).微指令格式水平型微指令垂直型微指令5.4.2微程序設(shè)計(jì)技術(shù)水平型微指令:一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令,叫做水平型微指令?;咎卣鳎何⒅噶钭州^長(zhǎng)一條微指令能控制數(shù)據(jù)通路中多個(gè)功能部件并行操作。微命令的編碼簡(jiǎn)單,盡可能使微命令與控制門之間具有直接對(duì)應(yīng)關(guān)系。uOP測(cè)試判別下地址字段5.4.2微程序設(shè)計(jì)技術(shù)

垂直型微指令:在微指令中設(shè)置微操作碼字段,采用微操作碼編譯法,由微操作碼規(guī)定微指令的功能,稱為垂直型微指令。它有操作碼,在一條微指令中只有1-2個(gè)微操作命令,每條微指令的功能簡(jiǎn)單,因此,實(shí)現(xiàn)一條機(jī)器指令的微程序比水平型的要長(zhǎng)。5.4.2微程序設(shè)計(jì)技術(shù)垂直型微指令基本特征:微指令字短。微指令的并行操作能力有限,在一條微指令中只有1-2個(gè)微操作命令。微指令編碼比較復(fù)雜,全部微命令組成一個(gè)微操作碼字段,經(jīng)過(guò)完全譯碼,微指令的各個(gè)二進(jìn)制位與數(shù)據(jù)通路的各個(gè)控制點(diǎn)之間完全不存在直接對(duì)應(yīng)關(guān)系。水平型微指令與垂直型微指令的比較:(1)水平型微指令的并行操作能力較強(qiáng),效率高,靈活性強(qiáng)。垂直型則較差;(2)水平型微指令執(zhí)行一條指令的時(shí)間短,而垂直型則時(shí)間長(zhǎng);(3)水平型的微指令字較長(zhǎng)而微程序短,垂直型則相反,微指令字較短而微程序長(zhǎng)。(4)水平型用戶難以掌握,而垂直型則較容易掌握。5.4.2微程序設(shè)計(jì)技術(shù)微指令的執(zhí)行方式串行執(zhí)行方式取i條執(zhí)行i條取i+1條執(zhí)行i+1條微周期微周期5.4.2微程序設(shè)計(jì)技術(shù)并行執(zhí)行方式取i條執(zhí)行i條取I+1條執(zhí)行I+1條取I+2條執(zhí)行I+2條微程序控制器—微程序控制器舉例**簡(jiǎn)單機(jī)器的微程序設(shè)計(jì)假設(shè)機(jī)器字長(zhǎng)16位,采用單總線結(jié)構(gòu),CPU,主存和外設(shè)都掛在總線上。1.CPU

運(yùn)算器中以ALU為核心,輸入端一個(gè)接LA,另一個(gè)來(lái)自數(shù)據(jù)總線。共由8個(gè)寄存器R0---R7,源操作數(shù)寄存器SR,目的操作數(shù)寄存器DR,暫存器TEMP。2.主存儲(chǔ)器按字編址,主存容量64K3.總線包括16位數(shù)據(jù)線,16位地址線和若干控制線。微程序控制器—微程序控制器舉例**指令格式OPMSRSMDRD1512119865320OP:操作碼,4位,可定義16種操作M:尋址方式MS:源操作數(shù)尋址方式MD:目的操作數(shù)尋址方式RS:源操作數(shù)寄存器RD:目的操作數(shù)寄存器微程序控制器—微程序控制器舉例**尋址方式:M名稱匯編符號(hào)含義000寄存器尋址R(R)為操作數(shù)001寄存器間址(R)有效地址=(R)010自增型寄存器間址(R)+E=(R)且(R)+1→R011自增型雙間址@(R)+E=((R))且(R)+1→R100變址尋址X(R)E=X+(R)微程序控制器—微程序控制器舉例**操作類型

操作碼名稱匯編符號(hào)操作雙操作數(shù)運(yùn)算指令0001加法ADD(RD)+(RS)→RD0010減法SUB(RD)-(RS)→RD0011邏輯乘AND(RD)^(RS)→RD單操作數(shù)運(yùn)算指令0100加1INC(RD)+1→RD0101減1DEC(RD)-1→RD0110求補(bǔ)NEC(RD)+1→RD轉(zhuǎn)移類指令無(wú)條件條件0111MR不用1000MRPNZVCLTLAR0R1R7….SRDRTEMPMARMMDRIRuARALU地址譯碼器PLA微地址修改邏輯條件碼狀態(tài)+控制存儲(chǔ)器下址uIR譯碼PCLT→BUSALU→LT1→C0BUS→LARS→BUSBUS→RSRD→BUSBUS→RDSR→BUSBUS→TEMPBUS→MARMDR→BUSBUS→MDRBUS→IRPC→BUSBUS→PCREADWRITE微命令A(yù)DDINCBUS→DRDR→BUSTEMP→BUSBUS→SRWAITCLEAR微程序控制器—微程序控制器舉例**時(shí)序安排采用微程序控制方式后,指令分步操作是積聚不同的微指令進(jìn)行的,因此,時(shí)序系統(tǒng)不在按指令執(zhí)行的不同階段設(shè)置不同的工作周期,而代以統(tǒng)一規(guī)整的微指令周期。微程序控制器—微程序控制器舉例**微指令的編碼:共有19個(gè)選通信號(hào),加上ALU的控制信號(hào),假設(shè)有16個(gè),及其他控制信號(hào),共40個(gè)控制信號(hào),所以采用字段直接編譯法。微程序控制器—微程序控制器舉例**F1F2F3F4F5F6F7F8F90000不送000不送00不送000不送0000ADD00無(wú)動(dòng)作0無(wú)動(dòng)作0無(wú)動(dòng)作00→C00001PC→BUS001BUS→PC01BUS→MAR001BUS→LA0001SUB01READ1CLEARLA1WAIT11→C00010MDR→BUS010BUS→IR10BUS→MDR010BUS→SR0010AND10WRITE

0011LT→BUS011ALU→LT

011BUS→DR

0100RS→BUS100BUS→RS

100BUS→TEMP

0101RD→BUS101BUS→RD

0110SR→BUS

0111DR→BUS

1000TEMP→BUS

微程序控制器—微程序控制器舉例**表中:F1字段為所有送往總線的控制信號(hào)。F2—F4字段為總線送往各寄存器的控制信號(hào)。F5字段用于控制ALU的各種運(yùn)算。F6字段提供存儲(chǔ)器的讀寫控制。F7字段用于暫存器LA的清除控制。F8字段用于存儲(chǔ)器與CPU的同步控制F9字段控制進(jìn)位操作。微程序控制器—微程序控制器舉例**微程序流程分析這是一條雙操作數(shù)加法指令的微程序流程。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→PCWAITMDR→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”微程序?qū)嵗⒊绦蚩刂破鳌⒊绦蚩刂破髋e例**微指令地址的產(chǎn)生(微程序的順序控制)在本例中,微程序的入口地址由PLA產(chǎn)生,PLA的輸入為機(jī)器指令操作碼,輸出為該指令對(duì)應(yīng)的微程序入口地址。后繼微指令地址的產(chǎn)生分別采用計(jì)數(shù)器方式和斷定方式。微程序控制器—微程序控制器舉例**

1.計(jì)數(shù)器方式(第二種方式)其中,轉(zhuǎn)移控制字段3位,以滿足微程序順序執(zhí)行和無(wú)條件轉(zhuǎn)移及下列分支條件轉(zhuǎn)移的要求。000順序執(zhí)行001由PLA根據(jù)機(jī)器指令操作碼產(chǎn)生微程序入口地址010由源操作數(shù)尋址方式?jīng)Q定后繼微指令地址011由目的操作數(shù)尋址方式?jīng)Q定后繼微指令地址100由結(jié)果方式?jīng)Q定后繼微指令地址101由源間接尋址方式約定后繼微指令地址111無(wú)條件轉(zhuǎn)移Uop轉(zhuǎn)移控制微指令地址.微命令形式

轉(zhuǎn)移控制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→LT000271273100273LT→BUS,BUS→RD000274000111ADD指令計(jì)數(shù)器方式的微指令表指令“ADD(RS),RD”微程序微程序控制器—微程序控制器舉例**

2.多路轉(zhuǎn)移方式(下地址方式)Uop測(cè)試判別字段下址字段測(cè)試字段3位,下址字段8位。微指令地址.微命令形式測(cè)試判別字段下地址000PC→BUS,BUS→MAR,READ,CLEARLA,1→C0,ADD,ALU→LT000001001LT→BUS,BUS→PC,WAIT000002002MDR→BUS,BUS→IR,000003003

001000100

010112112RS→BUS,BUS→MAR,READ,WAIT000125125MDR→BUS,BUS→SR000200200

011202202RD→BUS,BUS→LA000270270SR→BUS,ADD,ALU→LT100273273LT→BUS,BUS→RD000000ADD指令多路轉(zhuǎn)移方式的微指令表指令“ADD(RS),RD”微程序?qū)嵗?.5硬布線控制器基本思想:把控制部件看成作為生產(chǎn)專門固定時(shí)序控制信號(hào)的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設(shè)計(jì)目標(biāo)。這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹形網(wǎng)絡(luò),故稱為硬布線控制器。由于門電路多是組合邏輯電路所以也稱為組合邏輯控制器。5.5硬布線控制器硬布線控制器的結(jié)構(gòu)圖組合邏輯線路指令譯碼器指令寄存器節(jié)拍電位/節(jié)拍脈沖發(fā)生器微操作控制信號(hào)結(jié)果反饋信息啟動(dòng)停止時(shí)鐘復(fù)位IR

M1MiT1Ti5.5硬布線控制器設(shè)計(jì)方法模型機(jī)的數(shù)據(jù)通路全機(jī)采用總線結(jié)構(gòu),分為內(nèi)部單總線和存儲(chǔ)器總線(系統(tǒng)總線),算邏部件,通用寄存器組等掛在內(nèi)部總線上,主存儲(chǔ)器M,I/O都掛在系統(tǒng)總線上。R0----R3為四個(gè)通用寄存器,Y連在ALU的一個(gè)輸入端上,Z是ALU的輸出寄存器,以便將結(jié)果輸出到內(nèi)部總線上。5.5硬布線控制器MARMDRMYZR0R1R2R3IRPCID邏輯網(wǎng)絡(luò)模8計(jì)數(shù)器ALU系統(tǒng)總線內(nèi)部總線控制信號(hào)5.5硬布線控制器尋址方式與指令系統(tǒng)操作碼OP寄存器號(hào)(Ri)地址碼ADDR指令指令編碼操作功能LDRi,ADDR000RiADDRRi←(ADDR)STRRi,ADDR001RiADDRADDR←(Ri)ADDRi,ADDR010RiADDRRi←(Ri)+ADDRANDRi,ADDR011RiADDRRi←(Ri)^ADDRJZADDR100RiADDRZ=1,PC←ADDR5.5硬布線控制器時(shí)序采用三級(jí)時(shí)序,設(shè)置三個(gè)機(jī)器周期,每個(gè)機(jī)器周期可以完成一次主存的讀/寫操作,每個(gè)機(jī)器周期可分為若干個(gè)節(jié)拍,每個(gè)節(jié)拍可分為若干個(gè)脈沖。每個(gè)微操作控制信號(hào)應(yīng)是指令、時(shí)序、結(jié)果特征及狀態(tài)等等的邏輯函數(shù)。

微操作=周期·節(jié)拍·脈沖·指令碼·其他條件5.5硬布線控制器硬布線控制器的設(shè)計(jì)方法繪制指令的流程圖:以指令的執(zhí)行過(guò)程為線索,按指令類型分類,將每條指令歸納為一個(gè)微操作序列,根據(jù)操作的先后順序畫出指令流程圖。列出微操作時(shí)間表:把指令流程圖中的微操作序列合理地安排在各個(gè)機(jī)器周期的相應(yīng)節(jié)拍和脈沖中去,使他們?cè)趫?zhí)行的時(shí)間上不發(fā)生沖突。微操作的邏輯綜合:以每個(gè)微操作為單位進(jìn)行“同類項(xiàng)合并”,就是把不同指令在不同周期狀態(tài),不同節(jié)拍和不同條件下所需要的同一微操作用邏輯關(guān)系式綜合起來(lái),然后加以簡(jiǎn)化使邏輯表達(dá)式更為合理。5.5硬布線控制器PC→MAR,READMDR→IRPC+1→PCADDR→MARREADADDR→MARADDR→MARREADADDR→MARREADZ=1ADDR→PCMDR→RiRi→MDRWRITEMDR→YY+Ri→ZZ→RiMDR→YY^Ri→ZZ→RiLDSTRADDANDJZ指令節(jié)拍微操作控制信號(hào)取指T0PCOUT,MARIN,READ,Y←0,C0←1,ADD,ZINT1MDROUT,IRINT2ZOUT,PCINLDT3ADDROUT,MARIN,READT4MDROUT,RIINSTRT3ADDROUT,MARIN,READT4RIOUT,MDRIN,WRITEADDT3ADDROUT,MARIN,READT4MDROUT,YINT5RIOUT,ADD,ZINT6ZOUT,RIINANDT3ADDROUT,MARIN,READT4MDROUT,YinT5RIOUT,AND,ZINT6ZOUT,RIINJZT3Z=1,ADDROUT,PCINT45.5硬布線控制器PCOUT=T0MARIN=T0+T3

·JZREAD=T0+T3·JZY←0=T0C0←1=T0ADD=T0+T5

·ADDZIN=T0+T5(ADD+AND)ZOUT=T2+T6(ADD+AND)PCIN=T2+T3

·Z·JZMDROUT=T1+T4(ADD+AND+LD)MDRIN=T4

·STRIRIN=T1ADDROUT=T3

·JZ+T3

·Z·JZRIIN=T4

·LD+T6(ADD+AND)RIOUT=T4

·STR+T5(ADD+AND)YIN=T4(ADD+AND)WRITE=T4

·STRAND=T5

·AND5.5硬布線控制器

RIIN=T4

·LD+T6(ADD+AND)RIinT4LDADDANDT6Intel80486CPU1.486CPU的特點(diǎn)(1)通過(guò)采用流水技術(shù),以及微程序控制和硬布線邏輯控制相結(jié)合的方式,進(jìn)一步縮短可變長(zhǎng)指令的譯碼時(shí)間,達(dá)到基本指令可以在一個(gè)時(shí)鐘周期內(nèi)完成。(2)486芯片內(nèi)部包含一個(gè)8KB的數(shù)據(jù)和指令混合性cache,為頻繁訪問(wèn)的指令和數(shù)據(jù)提供快速的內(nèi)部存儲(chǔ)。(3)486芯片內(nèi)部包含了增強(qiáng)性80387協(xié)處理器,稱為浮點(diǎn)運(yùn)算部件(FPU)。(4)486CPU的內(nèi)部數(shù)據(jù)總線寬度為64位。(5)地址信號(hào)線擴(kuò)充到32位,可以處理4GB的物理存儲(chǔ)空間。(6)486CPU采用單倍的時(shí)鐘頻率,而在CLK端加入的時(shí)鐘頻率,就是它內(nèi)部CPU的時(shí)鐘頻率,因此大大增加了電路的穩(wěn)定性。2.486CPU的內(nèi)部結(jié)構(gòu)

486的內(nèi)部結(jié)構(gòu)包含如下九個(gè)功能部件:總線接口部件、小容量cache、指令預(yù)取部件、指令譯碼器、段管理部件、頁(yè)管理部件、定點(diǎn)運(yùn)算部件ALU、浮點(diǎn)運(yùn)算部件FPU及操作控制部件??偩€接口部件主要用來(lái)產(chǎn)生訪問(wèn)外部存儲(chǔ)器和I/O口所需要的地址、數(shù)據(jù)、命令信號(hào)段管理部件用來(lái)把指令指定的邏輯地址(程序中指定的虛擬地址)變成線性地址。頁(yè)管理部件的功能是把線性地址換算成物理地址。指令預(yù)取部件中包含了32字節(jié)的預(yù)取隊(duì)列寄存器,可以存放多條指令,因而是一種流水線結(jié)構(gòu)。ALU中包含了通用寄存器組以及各種算術(shù)邏輯運(yùn)算操作。FPU則完成浮點(diǎn)數(shù)運(yùn)算、二進(jìn)制整數(shù)運(yùn)算、十進(jìn)制數(shù)串運(yùn)算等。操作控制部件采用微程序控制和硬布線控制相結(jié)合的方式,因而較好地發(fā)揮了效率。5.7

流水CPU并行處理技術(shù)時(shí)間并行:輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度??臻g并行:以“數(shù)量取勝”

,主要體現(xiàn)在多處理器系統(tǒng)和多計(jì)算機(jī)系統(tǒng)。時(shí)間并行+空間并行:例如奔騰CPU采用了超標(biāo)量流水線技術(shù),在一個(gè)機(jī)器周期中同時(shí)執(zhí)行兩條指令,因而既有時(shí)間并行又有空間并行。5.7

流水CPU1.流水計(jì)算機(jī)的系統(tǒng)組成5.7

流水CPU2.

.流水CPU的時(shí)空?qǐng)D計(jì)算機(jī)的流水處理過(guò)程非常類似于工廠中的流水裝配線。為了實(shí)現(xiàn)流水,首先把輸入的任務(wù)(或過(guò)程)分割為一系列子任務(wù),并使各子任務(wù)能在流水線的各個(gè)階段并發(fā)地執(zhí)行。當(dāng)任務(wù)連續(xù)不斷地輸入流水線時(shí),在流水線的輸出端便連續(xù)不斷地吐出執(zhí)行結(jié)果,從而實(shí)現(xiàn)了子任務(wù)級(jí)的并行性。下面通過(guò)時(shí)空?qǐng)D來(lái)證明這明這個(gè)結(jié)論。圖(a)表示流水CPU中一個(gè)指令周期的任務(wù)分解。5.7

流水CPU5.7

流水CPU5.7

流水CPU5.7

流水CPU(a)(b)(c)(d)的動(dòng)態(tài)演示請(qǐng)看CAI演示。5.7

流水CPU

從數(shù)學(xué)概念講,標(biāo)量是指單個(gè)量,而向量是指一組標(biāo)量。一般的流水線計(jì)算機(jī)只有一條指令流水線,所以稱為標(biāo)量流水線計(jì)算機(jī)。所謂超標(biāo)量流水線,是指它具有兩條以上的指令流水線。它是時(shí)間并行技術(shù)和空間并行技術(shù)的綜合應(yīng)用。Pentiun微型機(jī)就是一個(gè)超標(biāo)量計(jì)算機(jī)。5.7

流水CPU3

.流水線分類指令流水線

算術(shù)流水線

處理機(jī)流水線

流水線中的主要問(wèn)題1.資源相關(guān)資源相關(guān)是指多條指令進(jìn)入流水線后在同一機(jī)器時(shí)鐘周期內(nèi)爭(zhēng)用同一個(gè)功能部件所發(fā)生的沖突。假定一條指令流水線由五段組成。由下表可以看出,在時(shí)鐘4時(shí),I1與I4兩條指令發(fā)生爭(zhēng)用存儲(chǔ)器資源的相關(guān)沖突。流水線中的主要問(wèn)題兩條指令同時(shí)訪問(wèn)內(nèi)存發(fā)生資源相關(guān)沖突流水線中的主要問(wèn)題解決資源相關(guān)沖突的辦法:第一是第I4條指令停頓一時(shí)鐘周期后再啟動(dòng);第二是增設(shè)一個(gè)存儲(chǔ)器,將指令和數(shù)據(jù)分別放在兩個(gè)存儲(chǔ)器中。流水線中的主要問(wèn)題2.數(shù)據(jù)相關(guān)在一個(gè)程序中,如果必須等前一條指令執(zhí)行完畢后,才能執(zhí)行后一條指令,那么這兩條指令就是數(shù)據(jù)相關(guān)的。在流水計(jì)算機(jī)中,指令的處理是重疊進(jìn)行的,前一條指令還沒(méi)有結(jié)束,第二、三條指令就陸續(xù)地開始工作。由于多條指令的重疊處理,當(dāng)后繼指令所需的操作數(shù),剛好是前一指令的運(yùn)算結(jié)果時(shí),便發(fā)生數(shù)據(jù)相關(guān)沖突。如下表所示,ADD指令與SUB指令發(fā)生了數(shù)據(jù)相關(guān)沖突。流水線中的主要問(wèn)題ADDR1,R2,R3;(R2)+(R3)→R1SUBR4,R1,R5;(R1)-(R5)→R4ANDR6,R1,R7;(R1)∧(R7)→R6流水線中的主要問(wèn)題兩條指令發(fā)生數(shù)據(jù)相關(guān)沖突流水線中的主要問(wèn)題解決數(shù)據(jù)相關(guān)沖突的辦法:在流水CPU的運(yùn)算器中設(shè)置若干運(yùn)算結(jié)果緩沖寄存器,暫時(shí)保留運(yùn)算結(jié)果,以便于后繼指令直接使用,這稱為“向前”或定向傳送技術(shù)。流水線中的主要問(wèn)題3.控制相關(guān)控制相關(guān)沖突是由轉(zhuǎn)移指令引起的。當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),依據(jù)轉(zhuǎn)移條件產(chǎn)生的結(jié)果,可能為順序取下條指令;也可能轉(zhuǎn)移到新的目標(biāo)地址取指令,從而使流水線發(fā)生斷流。為了減小轉(zhuǎn)移指令對(duì)流水線性能的影響,常用以下兩種轉(zhuǎn)移處理技術(shù):延遲轉(zhuǎn)移法

由編譯程序重排指令序列來(lái)實(shí)現(xiàn)?;舅枷胧恰跋葓?zhí)行再轉(zhuǎn)移”,即發(fā)生轉(zhuǎn)移存取時(shí)并不排空指令流水線,而是讓緊跟在轉(zhuǎn)移指令I(lǐng)b之后已進(jìn)入流水線的少數(shù)幾條指令繼續(xù)完成。如果這些指令是與Ib結(jié)果無(wú)關(guān)的有用指令,那么延遲損失時(shí)間片正好得到了有效的利用。流水線中的主要問(wèn)題

轉(zhuǎn)移預(yù)測(cè)法用硬件方法來(lái)實(shí)現(xiàn),依據(jù)指令過(guò)去的行為來(lái)預(yù)測(cè)將來(lái)的行為。通過(guò)使用轉(zhuǎn)移取和順序取兩路指令預(yù)取隊(duì)列器以及目標(biāo)指令cache,可將轉(zhuǎn)移預(yù)測(cè)提前到取指階段進(jìn)行,以獲得良好的效果。流水線中的主要問(wèn)題【例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀相關(guān)(RAW);讀后寫相關(guān)(WAR);寫后寫相關(guān)(WAW)。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關(guān)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論