版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第五章中央處理器返回1第五章中央處理器5.1CPU功能和組成5.2指令周期5.3時(shí)序產(chǎn)生器5.4微程序控制器及其設(shè)計(jì)5.5硬布線控制器及其設(shè)計(jì)5.6傳統(tǒng)CPU5.7流水CPU5.8RISC的CPU5.9多媒體CPU25.1CPU的功能和組成1、CPU的功能指令控制(保證程序的順序執(zhí)行)操作控制(管理并產(chǎn)生每條指令的操作信號,控制相應(yīng)部件進(jìn)行動(dòng)作)時(shí)間控制(對指令的各個(gè)操作實(shí)施時(shí)間的定時(shí))數(shù)據(jù)加工(算術(shù)運(yùn)算和邏輯運(yùn)算)3算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC存儲器I/OCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制ccccc緩沖寄存器DR2、CPU的基本模型42、CPU的基本組成運(yùn)算器功能:算術(shù)運(yùn)算、邏輯運(yùn)算組成:ALU、累加器控制器功能:從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。對指令進(jìn)行譯碼或測試,并產(chǎn)生相應(yīng)的操作控制信號,以便啟動(dòng)規(guī)定的動(dòng)作。一次內(nèi)存讀/寫操作,一個(gè)算術(shù)邏輯運(yùn)算操作,或一個(gè)輸入/輸出操作。指揮并控制CPU、內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流動(dòng)的方向。組成:各類寄存器、操作控制器和時(shí)序發(fā)生器52、CPU的基本組成在CPU中至少要有6類寄存器:指令寄存器(IR)程序計(jì)數(shù)器(PC)數(shù)據(jù)地址寄存器(AR)數(shù)據(jù)緩沖寄存器(DR)通用寄存器(R0~R3)狀態(tài)字寄存器(PSW)
62、CPU的基本組成程序計(jì)數(shù)器PC(ProgrammingCounter)用來存放正在執(zhí)行的指令的地址或接著將要執(zhí)行的下一條指令的地址。順序執(zhí)行時(shí),每執(zhí)行一條指令,PC的值應(yīng)加1要改變程序執(zhí)行順序的情況時(shí),一般由轉(zhuǎn)移類指令將轉(zhuǎn)移目標(biāo)地址送往PC,可實(shí)現(xiàn)程序的轉(zhuǎn)移。指令寄存器IR(InstructionRegister)
指令寄存器用來存放從存儲器中取出的待執(zhí)行的指令。在執(zhí)行該指令的過程中,指令寄存器的內(nèi)容不允許發(fā)生變化,以保證實(shí)現(xiàn)指令的全部功能。72、CPU的基本組成指令譯碼器ID(InstructionDecoder)
譯碼器經(jīng)過對指令進(jìn)行分析和解釋,產(chǎn)生相應(yīng)的控制信號提供給時(shí)序控制信號形成部件。數(shù)據(jù)緩沖寄沖器DR(DataRegister)數(shù)據(jù)緩沖寄存器用來暫時(shí)存放由內(nèi)存儲器讀出的一條指令或一個(gè)數(shù)據(jù)字;反之,當(dāng)向內(nèi)存存儲一條指令或一個(gè)數(shù)據(jù)字時(shí),也暫時(shí)將它們存放在數(shù)據(jù)緩沖寄存器中。數(shù)據(jù)地址寄存器AR(AddressRegister)
用來保存當(dāng)前CPU所訪問的數(shù)據(jù)Cache存儲器單元的地址。82、CPU的基本組成通用寄存器R0-R3用來存放操作數(shù)或運(yùn)算結(jié)果狀態(tài)條件寄存器PSW狀態(tài)條件寄存器保存由算術(shù)指令和邏輯指令運(yùn)行或測試的結(jié)果建立的各種條件碼內(nèi)容,如運(yùn)算結(jié)果進(jìn)位標(biāo)志(C),運(yùn)算結(jié)果溢出標(biāo)志(V),運(yùn)算結(jié)果為零標(biāo)志(Z),運(yùn)算結(jié)果為負(fù)標(biāo)志(N)等等。這些標(biāo)志位通常分別由1位觸發(fā)器保存。93、操作控制器數(shù)據(jù)通路通常把許多寄存器之間傳送信息的通路,稱為數(shù)據(jù)通路。操作控制器
根據(jù)指令操作碼和時(shí)序信號,產(chǎn)生各種操作控制信號,以便正確地選擇數(shù)據(jù)通路,把有關(guān)數(shù)據(jù)打入到一個(gè)寄存器,從而完成取指令和執(zhí)行指令的控制。分類時(shí)序邏輯型:硬布線控制器存儲邏輯型:微程序控制器103、操作控制器硬布線控制器硬布線控制器,它是采用組合邏輯技術(shù)來實(shí)現(xiàn)的,其時(shí)序控制信號形成部件是由門電路組成的復(fù)雜樹形網(wǎng)絡(luò)。這種方法是分立元件時(shí)代的產(chǎn)物,以使用最少器件數(shù)和取得最高操作速度為設(shè)計(jì)目標(biāo)。硬布線控制器的最大優(yōu)點(diǎn)是速度快,但是時(shí)序控制信號形成部件的結(jié)構(gòu)不規(guī)整,使得設(shè)計(jì)、調(diào)試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。113、操作控制器微程序控制器
微程序控制器是采用存儲邏輯來實(shí)現(xiàn)的,也就是把微操作信號代碼化,使每條機(jī)器指令轉(zhuǎn)化成為一段微程序并存入一個(gè)專門的存儲器(控制存儲器)中,微操作控制信號由微指令產(chǎn)生。微程序控制器的設(shè)計(jì)思想和組合邏輯設(shè)計(jì)思想截然不同。它具有設(shè)計(jì)規(guī)整、調(diào)試、維修以及更改、擴(kuò)充指令方便的優(yōu)點(diǎn),易于實(shí)現(xiàn)自動(dòng)化設(shè)計(jì),已成為當(dāng)前控制器的主流。124、時(shí)序產(chǎn)生器因?yàn)橛?jì)算機(jī)高速地進(jìn)行工作,每一個(gè)動(dòng)作的時(shí)間是非常嚴(yán)格的,不能太早也不能太遲。操作控制器產(chǎn)生的控制信號必須嚴(yán)格定時(shí),為此必須有時(shí)序產(chǎn)生器。時(shí)序產(chǎn)生器的作用,就是對各種操作信號實(shí)施時(shí)間上的控制。
135.2指令周期5.2.1指令周期的基本概念5.2.2典型指令的指令周期5.2.3用方框圖語言表示指令周期145.2
指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器—分析指令—按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大—檢查有無中斷請求若無,則轉(zhuǎn)入下一條指令的執(zhí)行過程形成下一條指令地址指令的執(zhí)行過程取指令執(zhí)行指令155.2.1指令周期的基本概念概念指令周期:指取指令、分析指令到執(zhí)行完該指令所需的全部時(shí)間。各種指令的指令周期相同嗎?為什么?機(jī)器周期通常又稱CPU周期CPU從內(nèi)存讀取一個(gè)指令字的最短時(shí)間為一個(gè)CPU周期。不同的指令,可能包含不同數(shù)目的機(jī)器周期。在一個(gè)機(jī)器周期內(nèi),要完成若干個(gè)微操作。165.2.1指令周期的基本概念時(shí)鐘周期在一個(gè)機(jī)器周期內(nèi),要完成若干個(gè)微操作。這些微操作有的可以同時(shí)執(zhí)行,有的需要按先后次序串行執(zhí)行。因而需要把一個(gè)機(jī)器周期分為若干個(gè)相等的時(shí)間段,每一個(gè)時(shí)間段稱為一個(gè)時(shí)鐘周期,它是處理操作的最基本單位。
相互關(guān)系:
1個(gè)指令周期=若干個(gè)CPU周期
1個(gè)CPU周期=若干T周期
175.2.1指令周期的基本概念185.2.2典型指令的指令周期下面我們用一個(gè)模型機(jī)來介紹指令周期概念主要包括:取指(令)周期、(指令)執(zhí)行周期19020
CLA ;累加器清0021
ADD30 ;(AC)+(30)→AC
022
STA40 ;(AC)→(40)023
NOP ;空操作
024
JMP21 ;21→PC…030000006 ;數(shù)據(jù)…040存和數(shù) ;數(shù)據(jù)5條典型指令構(gòu)成的簡單程序20一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對指令譯碼執(zhí)行指令取下條指令PC+1CLA指令的指令周期21取出CLA指令算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA00002122算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000執(zhí)行CLA指令23
ADD指令的指令周期
一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)執(zhí)行加操作一個(gè)CPU周期24算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并執(zhí)行ADD指令25
STA指令的指令周期
26算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并執(zhí)行STA指令27NOP指令和JMP指令的指令周期28算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并執(zhí)行JMP指令295.2.7用方框圖語言表示的指令周期方法:用方框圖語言來表示指令的指令周期方框——一個(gè)方框代表一個(gè)CPU周期方框內(nèi)的內(nèi)容——表示數(shù)據(jù)通路的操作或控制操作菱形符號——代表某種判別或測試,不獨(dú)占CPU周期~——公操作所有指令的取指周期都是相同的,占一個(gè)CPU周期不同指令的執(zhí)行周期不同305.2.7方框圖表示指令周期取指執(zhí)行315.2.7方框圖表示指令周期P139例1雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路圖微操作信號微操作信號32注意微操作控制信號(右邊)ALU0ALU033總結(jié):一條指令包括一個(gè)取指令周期和一個(gè)及一個(gè)以上的執(zhí)行周期組成在每個(gè)CPU周期中數(shù)據(jù)通路是明確的數(shù)據(jù)通路的建立及操作受到操作控制器的控制,當(dāng)然決定于是什么指令。345.3時(shí)序產(chǎn)生器和控制方式5.3.1時(shí)序產(chǎn)生器作用和體制5.3.2時(shí)序信號產(chǎn)生器5.3.3控制方式355.3.1時(shí)序信號的作用和體制
計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而且需要采用多級時(shí)序體制。而時(shí)間標(biāo)志則用時(shí)序信號來體現(xiàn)。
硬布線控制器中,時(shí)序信號采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級體制。主狀態(tài)周期(指令周期):包含若干個(gè)節(jié)拍電位節(jié)拍電位(機(jī)器周期):表示一個(gè)CPU周期的時(shí)間,包含若干個(gè)節(jié)拍脈沖節(jié)拍脈沖(時(shí)鐘周期):表示較小的時(shí)間單位
微程序控制器中,時(shí)序信號采用節(jié)拍電位-節(jié)拍脈沖二級體制。36節(jié)拍脈沖節(jié)拍電位1主狀態(tài)周期節(jié)拍電位2主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖37數(shù)據(jù)準(zhǔn)備好后,以電位的方式送觸發(fā)器控制信號來到后,用一個(gè)脈沖信號把數(shù)據(jù)裝入觸發(fā)器數(shù)據(jù):電位控制信號:脈沖節(jié)拍電位-節(jié)拍脈沖38
IORQMREQRDWET1T2T3T4
IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號由石英晶體振蕩器組成產(chǎn)生一組有序的間隔相等或不等的脈沖序列啟動(dòng)停機(jī)5.3.2時(shí)序信號產(chǎn)生器
啟停控制邏輯節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯環(huán)形脈沖發(fā)生器時(shí)鐘脈沖源395.3.3控制方式機(jī)器指令所包含的CPU周期數(shù)反映了指令的復(fù)雜程度,不同CPU周期的操作信號的數(shù)目和出現(xiàn)的先后次序也不相同??刂破鞯目刂品绞剑嚎刂撇煌僮餍蛄袝r(shí)序信號的方法。同步控制方式異步控制方式聯(lián)合控制方式405.3.3控制方式1.同步控制方式已定的指令在執(zhí)行時(shí)所需的CPU周期(機(jī)器周期)數(shù)和時(shí)鐘周期數(shù)都固定不變。例如采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令2.異步控制方式控制器發(fā)出某一操作控制信號后,等待執(zhí)行部件完成操作后發(fā)“回答”信號,再開始新的操作3.聯(lián)合控制方式同步控制和異步控制相結(jié)合的方式415.4微程序控制器發(fā)展微程序的概念和原理是由英國劍橋大學(xué)的M·V·Wilkes教授于1951年在曼徹斯特大學(xué)計(jì)算機(jī)會議上首先提出來的,當(dāng)時(shí)還沒有合適的存放微程序的控制存儲器的元件。到1964年,IBM公司在IBM360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù)。20世紀(jì)70年代以來,由于VLSI技術(shù)的發(fā)展,推動(dòng)了微程序設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用。目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)計(jì)技術(shù)。425.4微程序控制器基本思想:仿照解題的方法,把操作控制信號編制成微指令,存放到控制存儲器里,運(yùn)行時(shí),從控存中取出微指令,產(chǎn)生指令運(yùn)行所需的操作控制信號。使相應(yīng)部件執(zhí)行所規(guī)定的動(dòng)作。微程序設(shè)計(jì)技術(shù)是用軟件方法來設(shè)計(jì)硬件的技術(shù)。435.4微程序控制器5.4.1微程序控制原理
5.4.2微程序設(shè)計(jì)技術(shù)445.4.1微程序控制原理
1、微命令:控制部件向執(zhí)行部件發(fā)出的各種控制命令叫作微命令。例如:打開或關(guān)閉某個(gè)控制門的電位信號、某個(gè)寄存器的打入脈沖等。微命令是控制計(jì)算機(jī)各部件完成某個(gè)基本微操作的命令。2、微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作。微命令和微操作是一一對應(yīng)的。微命令是微操作的控制信號,微操作是微命令的操作過程。微操作是執(zhí)行部件中最基本的操作。455.4.1微程序控制原理
由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作可分為相容的和互斥的兩種:互斥的微操作,是指不能同時(shí)或不能在同一個(gè)CPU內(nèi)并行執(zhí)行的微操作。相容的微操作,是指能夠同時(shí)或在同一個(gè)CPU內(nèi)并行執(zhí)行的微操作。舉例:見下圖46475.4.1微程序控制原理3、微指令:把在同一CPU周期內(nèi)并行執(zhí)行的微操作控制信息,存儲在控制存儲器里,稱為一條微指令(Microinstruction)。它是微命令的組合一條微指令通常至少包含兩大部分信息:操作控制字段,又稱微操作碼字段,用以產(chǎn)生某一步操作所需的各個(gè)微操作控制信號。某位為1,表明發(fā)微命令。順序控制字段,又稱微地址碼字段,用以控制產(chǎn)生下一條要執(zhí)行的微指令地址。485.4.1微程序控制原理微指令基本格式495.4.1微程序控制原理4、微程序一條機(jī)器指令的功能是用許多條微指令組成的序列來實(shí)現(xiàn)的,這個(gè)微指令序列就是微程序。一段微程序?qū)?yīng)一條機(jī)器指令。微地址
:存放微指令的控制存儲器的單元地址50總結(jié)處理器內(nèi)部可以分為:控制部件和執(zhí)行部件微命令:控制部件向執(zhí)行部件發(fā)出的控制命令微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作 (微操作在執(zhí)行部件中是最基本的操作)微指令:實(shí)現(xiàn)一定操作功能的一組微命令微程序:實(shí)現(xiàn)一條機(jī)器指令功能的微指令序列指令系統(tǒng)=所有指令,指令=微程序微程序=若干微指令,微指令=一組微命令微命令→微操作51機(jī)器指令與微指令
程序機(jī)器指令1機(jī)器指令2機(jī)器指令i機(jī)器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序525.4.1微程序控制原理5、微程序控制器原理框圖535.4.1微程序控制原理控制存儲器(μCM)。這是微程序控制器的核心部件,用來存放全部指令系統(tǒng)的微程序。其容量取決于機(jī)器的指令系統(tǒng)大小。微指令寄存器(μIR)用來存放從μCM取出的正在執(zhí)行的微指令,它的位數(shù)同微指令字長相等。微地址形成部件用來產(chǎn)生初始微地址和后繼微地址,以保證微指令的連續(xù)執(zhí)行。微地址寄存器(μMAR)它接受微地址形成部件送來的微地址,為下一步從μCM中讀取微指令作準(zhǔn)備。545.4.1微程序控制原理微程序控制器的工作過程(1)執(zhí)行取指令的公共操作取指令的公共操作通常由一段取指微程序來完成,在機(jī)器開始運(yùn)行時(shí),自動(dòng)將取指微程序的入口微地址送μMAR,并從μCM中讀出相應(yīng)的微指令送入μIR。微指令的操作控制字段產(chǎn)生有關(guān)的微命令,用來控制實(shí)現(xiàn)取機(jī)器指令的公共操作。取指微程序的入口地址一般為μCM的0號單元,當(dāng)取指微程序執(zhí)行完后,從主存中取出的機(jī)器指令就已存入指令寄存器IR中了。(2)由機(jī)器指令的操作碼字段通過微地址形成部件產(chǎn)生出該機(jī)器指令所對應(yīng)的微程序的入口地址,并送入μMAR555.4.1微程序控制原理(3)從μCM中逐條取出對應(yīng)的微指令并執(zhí)行之,每條微指令都能自動(dòng)產(chǎn)生下一條微指令的地址。(4)一條機(jī)器指令對應(yīng)的微程序的最后一條微指令執(zhí)行完畢后,其下一條微指令地址又回到取指微程序的人口地址,從而繼續(xù)第(1)步,以完成取下條機(jī)器指令的公共操作。以上是一條機(jī)器指令的執(zhí)行過程,如此周而復(fù)始,直到整個(gè)程序的所有機(jī)器指令執(zhí)行完畢。565.4.1微程序控制原理十進(jìn)制加法指令流程數(shù)據(jù)通路圖、操作流程圖575.4.1微程序控制原理四條微指令如下000000000000111111000000000取指令操作信號P1判別010100100100000000010011010存結(jié)果LDR2R1->XR2->Y+58十進(jìn)制加法指令的微程序010001001100000000100001001存結(jié)果LDR2R2->XR3->Y+P2判別P2條件為0,轉(zhuǎn)到取指令的公操作010001001001000000000000001存結(jié)果LDR2R2->XR3->Y-轉(zhuǎn)到取指令的公操作595.4.1微程序控制原理6、CPU周期和微指令周期的關(guān)系60程序計(jì)數(shù)器PC地址寄存器AR緩沖寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存儲器控制存儲器CM微命令地址譯碼器地址譯碼機(jī)器指令級微指令級7、機(jī)器指令與微指令的關(guān)系61
例設(shè)某計(jì)算機(jī)運(yùn)算器框圖如圖所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個(gè)通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見下表。
寫控制讀控制選擇WA1WA0W選擇RA1RA0R不寫入**0不讀出**0R3111R3111R2011R2011R1101R1101R0001R00016263
機(jī)器采用串行微程序控制方式,其微指令周期見上頁圖(b)。其中讀ROM是從控存中讀出一條微指令時(shí)間,為1μs;ALU工作是加法器做加法運(yùn)算,為500ns;m1是讀寄存器時(shí)間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。微指令字長12位,微指令格式如下: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ī)器指令的控制信號RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~64要求:用二進(jìn)制代碼寫出如下指令的微程序:(1)“ADDR0,R1”指令,即(R0)+(R1)→R1(2)“SUBR2,R3”指令,即(R3)-(R2)→R3(3)“MOVR2,R3”指令,即(R2)→(R3)65先畫出三條指令的微指令的微程序流程圖,如下圖所示。其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號標(biāo)在每條微指令的右上角。每一框表示一條微指令。根據(jù)給定的微指令周期時(shí)間關(guān)系,完成ADD,SUB指令的執(zhí)行動(dòng)作需要3條微指令,MOV指令只需2條微指令。用二進(jìn)制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設(shè)置(0或1均可)。66
指令微程序代碼ADD00**1010000001**10010000**0101001001SUB11**1010000010**10010000**1101000101MOV10**10100000**1101001011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~675.4.2微程序設(shè)計(jì)技術(shù)一、設(shè)計(jì)微指令應(yīng)當(dāng)追求的目標(biāo)有利于縮短微指令的長度有利于縮小CM的容量有利于提高微程序的執(zhí)行速度有利于對微指令的修改有利于提高微程序設(shè)計(jì)的靈活性685.4.2微程序設(shè)計(jì)技術(shù)1、微命令的編碼方法編碼有三種方法:直接表示法/編碼表示法/混合表示法直接表示法:操作控制字段中的各位分別可以直接控制計(jì)算機(jī),不需要進(jìn)行譯碼。69直接表示法舉例,操作控制字段的每一個(gè)獨(dú)立的二進(jìn)制位代表一個(gè)微命令,該位為“1”表示這個(gè)微命令有效,為“0”表示這個(gè)微命令無效。5.4.2微程序設(shè)計(jì)技術(shù)后繼微地址判斷條件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334微指令格式舉例35TJ70直接表示法特點(diǎn):簡單直觀,并行性強(qiáng),操作速度快,但是微指令字太長,若微命令的總數(shù)為N個(gè),則微指令字的操作控制字段就要有N位。另外,在N個(gè)微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會使信息的利用率下降。5.4.2微程序設(shè)計(jì)技術(shù)71編碼表示法:將操作控制字段分為若干個(gè)小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。5.4.2微程序設(shè)計(jì)技術(shù)編碼表示法特點(diǎn):可以避免互斥,使指令字大大縮短,但增加了譯碼電路,使微程序的執(zhí)行速度減慢725.4.2微程序設(shè)計(jì)技術(shù)
混合編碼法:將前兩種結(jié)合在一起,兼顧兩者特點(diǎn)。735.4.2微程序設(shè)計(jì)技術(shù)編碼注意幾點(diǎn):字段編碼法中操作控制字段并非是任意的,必須要遵循如下的原則:①把互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。這樣不僅有助于提高信息的利用率,縮短微指令字長,而且有助于充分利用硬件所具有的并行性,加快執(zhí)行的速度。②應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。③每個(gè)小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時(shí)間。④一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長度為三位時(shí),最多只能表示七個(gè)互斥的微命令,通常用000表示不操作。74123456789順序控制4、5:00無操作01R1->X10R2->X11DR->X
6、7:00無操作01R3->Y10R2->Y11R1->Y
8、9:00無操作01+10-11M
混和表示法1、2、3位為直接表示法4、56、7 8、9位為編碼表示法755.4.2微程序設(shè)計(jì)技術(shù)二、微指令地址的形成入口地址:每條機(jī)器指令對應(yīng)一段微程序,當(dāng)公用的取指微程序從主存中取出機(jī)器指令之后,由機(jī)器指令的操作碼字段指出各段微程序的入口地址,這是一種多分支(或多路轉(zhuǎn)移)的情況。機(jī)器指令的操作碼轉(zhuǎn)換成初始微地址的方式主要有兩種。計(jì)數(shù)器的方式多路轉(zhuǎn)移的方式765.4.2微程序設(shè)計(jì)技術(shù)1、入口地址形成:如果機(jī)器指令操作碼字段的位數(shù)和位置固定,可以直接使操作碼與微程序入口地址的部分位相對應(yīng)。775.4.2微程序設(shè)計(jì)技術(shù)2、后繼微地址形成方法(1)計(jì)數(shù)器的方式方法:微程序順序執(zhí)行時(shí),其后繼微地址就是現(xiàn)行微地址加上一個(gè)增量(通常為1);當(dāng)微程序遇到轉(zhuǎn)移或轉(zhuǎn)子程序時(shí),由微指令的轉(zhuǎn)移地址段來形成轉(zhuǎn)移微地址。在微程序控制器中也有一個(gè)微程序計(jì)數(shù)器μPC,一般情況下都是將微地址寄存器μMAR作為μPC特點(diǎn):優(yōu)點(diǎn)是簡單、易于掌握,編制微程序容易缺點(diǎn)是這種方式不能實(shí)現(xiàn)兩路以上的并行微程序轉(zhuǎn)移,因而不利于提高微程序的執(zhí)行速度。785.4.2微程序設(shè)計(jì)技術(shù)(2)多路轉(zhuǎn)移的方式根據(jù)條件轉(zhuǎn)移,如圖條件:狀態(tài)條件/測試/微指令中微地址/操作碼79【例2】微地址寄存器有6位(μA5-μA0),當(dāng)需要修改其內(nèi)容時(shí),可通過某一位觸發(fā)器的強(qiáng)置端S將其置“1”?,F(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í)行控制臺指令微程序時(shí),按IR4,IR5的狀態(tài)進(jìn)行4路分支。請按多路轉(zhuǎn)移方法設(shè)計(jì)微地址轉(zhuǎn)移邏輯。80
按所給設(shè)計(jì)條件,微程序有三種判別測試,分別為P1,P2,P3。由于修改μA5-μA0內(nèi)容具有很大靈活性,現(xiàn)分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5,IR4修改μA5,μA4。另外還要考慮時(shí)間因素T4(假設(shè)CPU周期最后一個(gè)節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達(dá)式如下:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR0·T4+P2·C·T4由于從觸發(fā)器強(qiáng)置端修改,故前5個(gè)表達(dá)式可用“與非”門實(shí)現(xiàn),最后一個(gè)用“與或非”門實(shí)現(xiàn)。下圖僅畫出了μA2、μA1、μA0觸發(fā)器的微地址轉(zhuǎn)移邏輯圖。81825.4.2微程序設(shè)計(jì)技術(shù)3、微指令格式:水平型微指令和垂直型微指令(1)水平型微指令
水平型微指令是指一次能定義并能并行執(zhí)行多個(gè)微命令的微指令。格式如下控制字段判別測試字段下地址字段835.4.2微程序設(shè)計(jì)技術(shù)水平型微指令特點(diǎn):優(yōu)點(diǎn):微指令字較長,速度越快。微指令中的微操作有高度的并行性。微指令譯碼簡單??刂拼鎯ζ鞯目v向容量小,靈活性強(qiáng)。缺點(diǎn):微指令字比較長,明顯地增加了控制存儲器的橫向容量。水平微指令與機(jī)器指令差別很大,一般要熟悉機(jī)器結(jié)構(gòu)、數(shù)據(jù)通路、時(shí)序系統(tǒng)以及指令執(zhí)行過程的人才能進(jìn)行微程序設(shè)計(jì),這對用戶來說是很困難的。845.4.2微程序設(shè)計(jì)技術(shù)(2)垂直型微指令:采用編碼方式。設(shè)置微操作控制字段時(shí),一次只能執(zhí)行一到二個(gè)微命令的微指令稱為垂直型微指令。855.4.2微程序設(shè)計(jì)技術(shù)垂直型微指令的特點(diǎn):優(yōu)點(diǎn):設(shè)計(jì)用戶只需注意微指令的功能,而對微命令及其選擇、數(shù)據(jù)通路的結(jié)構(gòu)則不用過多地考慮,因此,便于用戶編制微程序。垂直微指令字較短,使控制存儲器的橫向容量少。缺點(diǎn):微程序較長,要求控制存儲器的縱向容量大。垂直微指令產(chǎn)生微命令要經(jīng)過譯碼,微程序執(zhí)行速度慢。微指令的并行微操作能力有限,一條微指令一般只包含一個(gè)微操作命令。不能充分利用數(shù)據(jù)通路具有多種并行操作能力865.4.2微程序設(shè)計(jì)技術(shù)水平型微指令和垂直型微指令的比較:(1)水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時(shí)間短,垂直型微指令執(zhí)行時(shí)間長。(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點(diǎn)。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。875.4.2微程序設(shè)計(jì)技術(shù)4、動(dòng)態(tài)微程序設(shè)計(jì)對應(yīng)于一臺計(jì)算機(jī)的機(jī)器指令只有一組微程序,這一組微程序設(shè)計(jì)好之后,一般無須改變而且也不好改變,這種微程序設(shè)計(jì)技術(shù)稱為靜態(tài)微程序設(shè)計(jì)。
采用EEPROM作為控制存儲器,可以通過改變微指令和微程序來改變機(jī)器的指令系統(tǒng),這種微程序設(shè)計(jì)技術(shù)稱為動(dòng)態(tài)微程序設(shè)計(jì)。885.7流水CPU5.7.1并行處理技術(shù)5.7.2流水CPU的結(jié)構(gòu)5.7.3流水線中的主要問題5.7.4PentiumCPU895.7.1并行處理技術(shù)并行性概念問題中具有可以同時(shí)進(jìn)行運(yùn)算或操作的特性例:在相同時(shí)延的條件下,用n位運(yùn)算器進(jìn)行n位并行運(yùn)算速度幾乎是一位運(yùn)算器進(jìn)行n位串行運(yùn)算的n倍(狹義)(廣義)含義只要在同一時(shí)刻(同時(shí)性)或在同一時(shí)間間隔內(nèi)(并發(fā)性)完成兩種或兩種以上性質(zhì)相同或不同的工作,他們在時(shí)間上相互重疊,都體現(xiàn)了并行性905.7.1并行處理技術(shù)三種形式時(shí)間并行(重疊):讓多個(gè)處理過程在時(shí)間上相互錯(cuò)開,輪流使用同一套硬件設(shè)備的各個(gè)部件,以加快硬件周轉(zhuǎn)而贏得速度,實(shí)現(xiàn)方式就是采用流水處理部件空間并行(資源重復(fù)):以數(shù)量取勝它能真正的體現(xiàn)同時(shí)性LSI和VLSI為其提供了技術(shù)保證時(shí)間+空間并行Pentium中采用了超標(biāo)量流水線技術(shù)915.7.2流水CPU的結(jié)構(gòu)流水計(jì)算機(jī)的系統(tǒng)組成存儲器體系:主存采用多體交叉存儲器;Cache流水方式CPU:指令部件、指令隊(duì)列、執(zhí)行部件指令流水線指令隊(duì)列:FIFO執(zhí)行部件:可以有多個(gè)采用流水線方式構(gòu)成的算術(shù)邏輯部件構(gòu)成,可以將定點(diǎn)運(yùn)算部件和浮點(diǎn)運(yùn)算部件分開。92流水線的時(shí)空圖流水線技術(shù):把一個(gè)重復(fù)的過程分解為若干個(gè)子過程,每個(gè)子程序可以與其他子過程同時(shí)進(jìn)行描述流水線的工作,最常用的方法是時(shí)間-空間圖(時(shí)空圖)橫坐標(biāo):表示時(shí)間,即各個(gè)任務(wù)在流水線中所經(jīng)過的時(shí)間縱坐標(biāo):表示空間,即流水線的各個(gè)子過程,也稱為級、段、流水線深度(Stage)935.7.2流水CPU的結(jié)構(gòu)流水線CPU時(shí)空圖IF(InstructionFetch取指)ID(InstructionDecode指令譯碼)EX(Execution執(zhí)行)WB(WriteBack寫回)945.7.2流水CPU的結(jié)構(gòu)流水CPU非流水CPU955.7.2流水CPU的結(jié)構(gòu)具有兩條以上的指令流水線上圖中流水線滿載時(shí),每一個(gè)時(shí)鐘周期可以執(zhí)行2條指令采用時(shí)間和空間并行技術(shù)965.7.2流水CPU的結(jié)構(gòu)流水線(Pipelining)的分類指令流水線將指令流分成取指、譯碼、執(zhí)行和寫回算術(shù)流水線運(yùn)算操作步驟的并行處理機(jī)流水線(宏流水線)由一串級的處理機(jī)構(gòu)成流水線的各個(gè)過程段975.7.3流水線中的主要問題瓶頸問題(流水線中有速度慢的段)再分成幾個(gè)段用資源重復(fù)的方法也可以解決資源相關(guān):多條指令進(jìn)入流水線后在同一時(shí)鐘周期內(nèi)爭用同一功能部件。解決辦法:后邊指令拖一拍再推進(jìn);增設(shè)一個(gè)功能部件985.7.3流水線中的主要問題數(shù)據(jù)相關(guān)RAW(ReadAfterWrite)后面指令用到前面指令所寫的數(shù)據(jù)WAW(WriteAfterWrite)兩條指令寫同一個(gè)單元WAR(WriteAfterRead)后面指令覆蓋前面指令所讀的單元解決辦法:可以推后后繼指令對相關(guān)單元的讀操作設(shè)置相關(guān)的直接通路(Forwarding),在流水CPU的運(yùn)算器中設(shè)置若干運(yùn)算結(jié)果緩沖器,暫時(shí)保存運(yùn)算結(jié)果,以便后繼指令直接使用995.7.3流水線中的主要問題例:兩條指令發(fā)生數(shù)據(jù)相關(guān)沖突RAW(ReadAfterWrite)ADD R1, R2, R3 R2+R3-->R1SUB R4, R1, R5 R1-R5-->R4AND R6, R1, R7 R1^R7-->R61005.7.3流水線中的主要問題控制相關(guān)引起原因:轉(zhuǎn)移指令解決辦法:延遲轉(zhuǎn)移法:先執(zhí)行再轉(zhuǎn)移轉(zhuǎn)移預(yù)測法:通過使用轉(zhuǎn)移取和順序取兩路指令預(yù)取隊(duì)列器,根據(jù)指令過去的行為來預(yù)測將來的行為,將轉(zhuǎn)移預(yù)測提前到取指階段101【例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀(RAW)相關(guān);讀后寫(WAR)相關(guān);寫后寫(WAW)相關(guān)。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關(guān)。(1)I1ADDR1,R2,R3;(R2)+(R3)->R1I2SUBR4,R1,R5;(R1)-(R5)->R4(2)I3STOM(x),R3;(R3)->M(x),M(x)是存儲器元I4ADDR3,R4,R5;(R4)+(R5)->R3(3)I5MULR3,R1,R2;(R1)×(R2)->R3I6ADDR3,R4,R5;(R4)+(R5)->R31025.7.4PentiumCPUPentiumCPU(第一代)1989年初0.8um工藝,310萬晶體管有60M和66MHz外
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流倉庫經(jīng)理年度述職報(bào)告
- 智慧教室裝修方案
- 從業(yè)人員安全生產(chǎn)教育培訓(xùn)
- 孕期糖尿病飲食和護(hù)理
- 老年人糖尿病病人的護(hù)理
- 齲齒病的發(fā)展過程圖解
- 2.3.1物質(zhì)的量的單位-摩爾 課件高一上學(xué)期化學(xué)人教版(2019)必修第一冊
- 吉林省2024七年級數(shù)學(xué)上冊第1章有理數(shù)1.10有理數(shù)的除法課件新版華東師大版
- 吉林省2024七年級數(shù)學(xué)上冊第1章有理數(shù)全章整合與提升課件新版華東師大版
- 深度學(xué)習(xí)及自動(dòng)駕駛應(yīng)用 課件 第9、10章 生成對抗網(wǎng)絡(luò)及自動(dòng)駕駛應(yīng)用、強(qiáng)化學(xué)習(xí)理論及自動(dòng)駕駛應(yīng)用實(shí)踐
- 人教新課標(biāo)四年級上冊數(shù)學(xué)《06用“五入”法求商》說課稿
- 人教版二年級數(shù)學(xué)上冊第六單元《表內(nèi)乘法(二)》說課稿(含14課時(shí))
- CJT 482-2015 城市軌道交通橋梁球型鋼支座
- 我國不銹鋼管行業(yè)現(xiàn)狀分析
- 2024年關(guān)于印發(fā)全國社會心理服務(wù)體系建設(shè)試點(diǎn)5篇
- 維修水池合同協(xié)議書
- 2024年中級經(jīng)濟(jì)師考試題庫含答案(完整版)
- 高效餐飲服務(wù)承諾
- 2024年05月浙江嘉興職業(yè)技術(shù)學(xué)院海鹽學(xué)院招考聘用高層次緊缺人才45人筆試歷年高頻考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 精準(zhǔn)醫(yī)療與個(gè)體化治療
- 職業(yè)技術(shù)學(xué)院計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)
評論
0/150
提交評論