




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講教師:李敏計(jì)算機(jī)工程學(xué)院計(jì)算機(jī)組成與體系結(jié)構(gòu)中央處理器一、CPU的基本功能和組成8.1CPU的功能和組成
當(dāng)代主流計(jì)算機(jī)所遵循的仍然是馮.諾依曼的“存儲(chǔ)程序、程序控制”思想
程序告訴計(jì)算機(jī):應(yīng)該逐步執(zhí)行什么操作;在什么地方找到用來(lái)操作的數(shù)據(jù),結(jié)果存到何處等
中央處理器是控制計(jì)算機(jī)自動(dòng)完成取出指令和執(zhí)行指令任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱(chēng)為CPU(CentralProcessingUnit)
控制器完成對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)操作的協(xié)調(diào)與指揮。
(1)控制機(jī)器從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置;
(2)對(duì)指令進(jìn)行譯碼,并產(chǎn)生相應(yīng)的操作控制信號(hào),送往相應(yīng)的部件,啟動(dòng)規(guī)定的動(dòng)作;
(3)指揮并控制CPU、內(nèi)存與輸入/輸出(I/O)設(shè)備之間數(shù)據(jù)流動(dòng)的方向運(yùn)算器是數(shù)據(jù)加工處理部件,所進(jìn)行的全部操作由控制器發(fā)出的控制信號(hào)指揮
(1)執(zhí)行所有的算術(shù)運(yùn)算;
(2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試8.1.1CPU的功能
★指令控制
保證機(jī)器按程序規(guī)定的順序取出執(zhí)行★操作控制
CPU產(chǎn)生每條指令所對(duì)應(yīng)的操作信號(hào),并把各種操作信號(hào)送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作★時(shí)間控制
對(duì)各種操作的實(shí)施時(shí)間進(jìn)行定時(shí)★數(shù)據(jù)加工
對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理
控制器完成對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)操作的協(xié)調(diào)與指揮。
(1)控制機(jī)器從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置;
(2)對(duì)指令進(jìn)行譯碼,并產(chǎn)生相應(yīng)的操作控制信號(hào),送往相應(yīng)的部件,啟動(dòng)規(guī)定的動(dòng)作;
(3)指揮并控制CPU、內(nèi)存與輸入/輸出(I/O)設(shè)備之間數(shù)據(jù)流動(dòng)的方向運(yùn)算器是數(shù)據(jù)加工處理部件,所進(jìn)行的全部操作由控制器發(fā)出的控制信號(hào)指揮
(1)執(zhí)行所有的算術(shù)運(yùn)算;
(2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC存儲(chǔ)器
I/OCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制ccccc緩沖寄存器DRCPU的基本模型8.1.2CPU的基本組成8.1.3
CPU中的主要寄存器
數(shù)據(jù)緩沖寄存器(DR)暫時(shí)存放由內(nèi)存讀出或?qū)懭氲闹噶罨驍?shù)據(jù)字指令寄存器(IR)保存當(dāng)前正在執(zhí)行的一條指令程序計(jì)數(shù)器(PC)確定下一條指令的地址地址寄存器(AR)保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址累加寄存器(AC)最常使用的一個(gè)通用寄存器狀態(tài)條件寄存器(PSW)保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼8.1.4操作控制器與時(shí)序產(chǎn)生器
操作控制器在各寄存器之間建立數(shù)據(jù)通路(傳送信息的通路)操作控制器的功能:就是根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制硬布線控制器微程序控制器時(shí)序產(chǎn)生器產(chǎn)生并發(fā)出計(jì)算機(jī)所需要的時(shí)序控制信號(hào)二、指令周期8.2
指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內(nèi)容送入指定的寄存器—分析指令—按指令規(guī)定內(nèi)容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內(nèi)容差異很大—檢查有無(wú)中斷請(qǐng)求若無(wú),則轉(zhuǎn)入下一條指令的執(zhí)行過(guò)程形成下一條指令地址指令的執(zhí)行過(guò)程取指令執(zhí)行指令8.2.1指令周期的基本概念
指令周期
:
CPU從內(nèi)存取出一條指令并執(zhí)行完這條指令的時(shí)間總和
CPU周期
:
又稱(chēng)機(jī)器周期(總線周期),CPU訪問(wèn)內(nèi)存所花的時(shí)間較長(zhǎng),因此用CPU從內(nèi)存讀取一條指令字的所需的最短時(shí)間來(lái)定義
時(shí)鐘周期
:
通常稱(chēng)為節(jié)拍脈沖或T周期。一個(gè)CPU周期包含若干個(gè)時(shí)鐘周期T
相互關(guān)系:
1個(gè)指令周期=若干個(gè)CPU周期
1個(gè)CPU周期=若干T周期
取指時(shí)間+執(zhí)行指令時(shí)間指令周期·CPU周期
·時(shí)鐘周期020
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)成的簡(jiǎn)單程序一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開(kāi)始取指令PC+1對(duì)指令譯碼執(zhí)行指令取下條指令PC+18.2.2CLA指令的指令周期取出CLA指令算術(shù)邏輯單元狀態(tài)條件寄存器程序計(jì)數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時(shí)序產(chǎn)生器時(shí)鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算術(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指令8.2.3
ADD指令的指令周期
一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開(kāi)始取指令PC+1對(duì)指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)執(zhí)行加操作一個(gè)CPU周期算術(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指令8.2.4
STA指令的指令周期
算術(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指令8.2.5NOP指令和JMP指令的指令周期算術(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指令三、用方框語(yǔ)言表示指令周期8.3用方框圖語(yǔ)言表示的指令周期指令系統(tǒng)(模型機(jī)的五指令系統(tǒng))方框——一個(gè)CPU周期方框內(nèi)內(nèi)容——數(shù)據(jù)通路操作或某種控制操作菱形符號(hào)——判別或測(cè)試~——公操作符號(hào)前邊所講述的5種操作的框圖描述如下:取下一條指令或與外圍設(shè)備交換數(shù)據(jù)。取指執(zhí)行用方框圖語(yǔ)言表示指令周期指存讀指存地址總線數(shù)存讀公操作例1雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路圖微操作信號(hào)微操作信號(hào)注意微操作控制信號(hào)(右邊)ALU0ALU0四、控制器的組成控制器是計(jì)算機(jī)系統(tǒng)的指揮中心,它把運(yùn)算器、存儲(chǔ)器、輸入輸出設(shè)備等部件組成一個(gè)有機(jī)的整體,然后根據(jù)指令的要求指揮全機(jī)的工作??刂破鞯幕窘M成1.指令部件
指令部件的主要任務(wù)是完成取指令并分析指令。指令部件包括:⑴程序計(jì)數(shù)器⑵指令寄存器⑶指令譯碼器暫存在指令寄存器中的指令只有在其操作碼部分經(jīng)過(guò)譯碼之后才能識(shí)別出這是一條什么樣的指令,并產(chǎn)生相應(yīng)的控制信號(hào)提供給微操作信號(hào)發(fā)生器。⑷地址形成部件根據(jù)指令的不同尋址方式,形成操作數(shù)的有效地址??刂破鞯幕窘M成
用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU是怎樣識(shí)別出它們是數(shù)據(jù)還是指令呢?
從時(shí)間上來(lái)說(shuō):取指令事件發(fā)生在指令周期的第一個(gè)CPU周期中,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個(gè)CPU周期中,即發(fā)生在“執(zhí)行指令”階段。
從空間上來(lái)說(shuō):如果取出的代碼是指令,那么一定經(jīng)DR送往指令寄存器IR,如果取出的代碼是數(shù)據(jù),那么一定送往運(yùn)算器。時(shí)間控制對(duì)計(jì)算機(jī)來(lái)說(shuō)是非常重要的![思考]2.時(shí)序部件時(shí)序信號(hào)的作用和體制
計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而且需要采用多級(jí)時(shí)序體制。而時(shí)間標(biāo)志則用時(shí)序信號(hào)來(lái)體現(xiàn)。
硬布線控制器中,時(shí)序信號(hào)往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級(jí)體制。主狀態(tài)周期(指令周期):包含若干個(gè)節(jié)拍周期,可以用一個(gè)觸發(fā)器的狀態(tài)持續(xù)時(shí)間來(lái)表示節(jié)拍電位(機(jī)器周期):表示一個(gè)CPU周期的時(shí)間,包含若干個(gè)節(jié)拍脈沖節(jié)拍脈沖(時(shí)鐘周期):表示較小的時(shí)間單位
3級(jí)時(shí)序信號(hào)
1、周期(1)在一個(gè)控制階段內(nèi)均持續(xù)起作用的信號(hào);(2)通常用周期狀態(tài)寄存器來(lái)標(biāo)志和指明某某周期控制;(3)指令周期可分為取指周期、分析周期、執(zhí)行周期。
2、節(jié)拍(1)把一個(gè)機(jī)器周期分成若干個(gè)相等的時(shí)間段,每一個(gè)時(shí)間段對(duì)應(yīng)一個(gè)電位信號(hào),稱(chēng)節(jié)拍電位;(2)一般都以能保證ALU進(jìn)行一次運(yùn)算操作作為一拍電位的時(shí)間寬度。
3、時(shí)標(biāo)工作脈沖(1)
及時(shí)改變標(biāo)志狀態(tài);(2)
時(shí)標(biāo)脈沖的寬度一般為節(jié)拍電位寬度的1/N,只要能保證所有的觸發(fā)器都能可靠地,穩(wěn)定地翻轉(zhuǎn)即可。節(jié)拍脈沖節(jié)拍電位1主狀態(tài)周期節(jié)拍電位2主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖
IORQMREQRDWET1T2T3T4
IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號(hào)由石英晶體振蕩器組成產(chǎn)生一組有序的間隔相等或不等的脈沖序列啟動(dòng)停機(jī)時(shí)序信號(hào)產(chǎn)生器
啟??刂七壿嫻?jié)拍脈沖和讀寫(xiě)時(shí)序譯碼邏輯環(huán)形脈沖發(fā)生器時(shí)鐘脈沖源時(shí)序部件能產(chǎn)生一定的時(shí)序信號(hào),以保證機(jī)器的各功能部件有節(jié)奏地進(jìn)行信息傳送、加工及信息存儲(chǔ)。包括:⑴脈沖源產(chǎn)生具有一定頻率和寬度的時(shí)鐘脈沖信號(hào),為整個(gè)機(jī)器提供基準(zhǔn)信號(hào)。⑵啟??刂七壿媶⑼?刂七壿嫷淖饔檬歉鶕?jù)計(jì)算機(jī)的需要,可靠地開(kāi)放或封鎖脈沖,控制時(shí)序信號(hào)的發(fā)生或停止,實(shí)現(xiàn)對(duì)整個(gè)機(jī)器的正確啟動(dòng)或停止。⑶節(jié)拍信號(hào)發(fā)生器節(jié)拍信號(hào)發(fā)生器又稱(chēng)脈沖分配器。脈沖源產(chǎn)生的脈沖信號(hào),經(jīng)過(guò)節(jié)拍信號(hào)發(fā)生器后產(chǎn)生出各個(gè)機(jī)器周期中的節(jié)拍信號(hào),用以控制計(jì)算機(jī)完成每一步微操作。一條指令的取出和執(zhí)行可以分解成很多最基本的操作,這種最基本的不可再分割的操作稱(chēng)為微操作。微操作信號(hào)發(fā)生器也稱(chēng)為控制單元(CU)。不同的機(jī)器指令具有不同的微操作序列。4.中斷控制邏輯
中斷控制邏輯是用來(lái)控制中斷處理的硬件邏輯。有關(guān)中斷的問(wèn)題將在中斷章節(jié)中專(zhuān)門(mén)進(jìn)行討論。3.微操作信號(hào)發(fā)生器五、控制器的控制方式1.同步控制方式
同步控制方式即固定時(shí)序控制方式,各項(xiàng)操作都由統(tǒng)一的時(shí)序信號(hào)控制,在每個(gè)機(jī)器周期中產(chǎn)生統(tǒng)一數(shù)目的節(jié)拍電位和工作脈沖。由于不同的指令,操作時(shí)間長(zhǎng)短不一致。同步控制方式應(yīng)以最復(fù)雜指令的操作時(shí)間作為統(tǒng)一的時(shí)間間隔標(biāo)準(zhǔn)??刂品绞紺PU周期取指周期CPU周期取源數(shù)CPU周期取目標(biāo)數(shù)CPU周期執(zhí)行周期P0P1P2W0W1同步控制方式這種控制方式設(shè)計(jì)簡(jiǎn)單,容易實(shí)現(xiàn);但是對(duì)于許多簡(jiǎn)單指令來(lái)說(shuō)會(huì)有較多的空閑時(shí)間,造成較大數(shù)量的時(shí)間浪費(fèi),從而影響了指令的執(zhí)行速度。
在同步控制方式中,各指令所需的時(shí)序由控制器統(tǒng)一發(fā)出,所有微操作都與時(shí)鐘同步,所以又稱(chēng)為集中控制方式或中央控制方式。1.同步控制方式(續(xù))異步控制方式即可變時(shí)序控制方式,各項(xiàng)操作不采用統(tǒng)一的時(shí)序信號(hào)控制,而根據(jù)指令或部件的具體情況決定,需要多少時(shí)間,就占用多少時(shí)間。
這是一種“應(yīng)答”方式,各操作之間的銜接是由“結(jié)束-起始”信號(hào)來(lái)實(shí)現(xiàn)的。由前一項(xiàng)操作已經(jīng)完成的“結(jié)束”信號(hào),或由下一項(xiàng)操作的“準(zhǔn)備好”信號(hào)來(lái)作為下一項(xiàng)操作的起始信號(hào),在未收到“結(jié)束”或“準(zhǔn)備好”信號(hào)之前不開(kāi)始新的操作。2.異步控制方式異步控制采用不同時(shí)序,沒(méi)有時(shí)間上的浪費(fèi),因而提高了機(jī)器的效率,但是控制比較復(fù)雜。
由于這種控制方式?jīng)]有統(tǒng)一的時(shí)鐘,而是由各功能部件本身產(chǎn)生各自的時(shí)序信號(hào)自我控制,故又稱(chēng)為分散控制方式或局部控制方式。2.異步控制方式(續(xù))W0W1…Wi第N條指令結(jié)束應(yīng)答W0W1…Wj第N+1條指令結(jié)束應(yīng)答啟動(dòng)下一條W0W1…Wk第N+2條指令結(jié)束應(yīng)答異步控制方式啟動(dòng)下一條i、j、k不一定相等一般采用兩條定時(shí)控制線:“請(qǐng)求”線和“回答”線演示這是同步控制和異步控制相結(jié)合的方式。實(shí)際上現(xiàn)代計(jì)算機(jī)中幾乎沒(méi)有完全采用同步或完全采用異步的控制方式,大多數(shù)是采用聯(lián)合控制方式。通常的設(shè)計(jì)思想是:在功能部件內(nèi)部采用同步方式或以同步方式為主的控制方式,在功能部件之間采用異步方式。3.聯(lián)合控制方式控制器在實(shí)現(xiàn)一條指令的功能時(shí),總要把每條指令分解成為一系列時(shí)間上先后有序的最基本、最簡(jiǎn)單的微操作,即微操作序列。微操作序列是與CPU的內(nèi)部數(shù)據(jù)通路密切相關(guān)的,不同的數(shù)據(jù)通路就有不同的微操作序列。假設(shè)規(guī)定各部件用大寫(xiě)字母表示,字母加下標(biāo)in表示該部件的接收控制信號(hào),實(shí)際上就是該部件的輸入開(kāi)門(mén)信號(hào);字母加下標(biāo)out表示該部件的發(fā)送控制信號(hào),實(shí)際上就是該部件的輸出開(kāi)門(mén)信號(hào)。復(fù)習(xí):指令的微操作序列六、微程序控制器
微程序控制器它利用軟件方法(微程序設(shè)計(jì)技術(shù))來(lái)設(shè)計(jì)硬件微程序控制的基本思想就是把操作控制信號(hào)編成所謂的“微指令”,存放到一個(gè)只讀存儲(chǔ)器里(控制存儲(chǔ)器CM)。當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地讀出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控制信號(hào),是相應(yīng)部件執(zhí)行所規(guī)定的操作微程序設(shè)計(jì)技術(shù)的實(shí)質(zhì)是將程序設(shè)計(jì)技術(shù)和存儲(chǔ)技術(shù)相結(jié)合,即用程序設(shè)計(jì)的思想方法來(lái)組織操作控制邏輯,將微操作控制信號(hào)按一定規(guī)則進(jìn)行信息編碼(代碼化),形成控制字(微指令),再把這些微指令按時(shí)間先后排列起來(lái)構(gòu)成微程序,存放在一個(gè)只讀的控制存儲(chǔ)器中。微命令→指令系統(tǒng)處理器內(nèi)部可以分為:控制部件和執(zhí)行部件微命令:控制部件向執(zhí)行部件發(fā)出的控制命令微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作 (微操作在執(zhí)行部件中是最基本的操作)微指令:實(shí)現(xiàn)一定操作功能的一組微命令微程序:實(shí)現(xiàn)一條機(jī)器指令功能的微指令序列指令系統(tǒng)=所有指令,指令=微程序微程序=若干微指令,微指令=一組微命令微命令→微操作⑴微命令和微操作一條機(jī)器指令可以分解成一個(gè)微操作序列,這些微操作是計(jì)算機(jī)中最基本的、不可再分解的操作。在微程序控制的計(jì)算機(jī)中,將控制部件向執(zhí)行部件發(fā)出的各種控制命令叫做微命令,它是構(gòu)成控制序列的最小單位。例如:打開(kāi)或關(guān)閉某個(gè)控制門(mén)的電位信號(hào)、某個(gè)寄存器的打入脈沖等。因此,微命令是控制計(jì)算機(jī)各部件完成某個(gè)基本微操作的命令?;拘g(shù)語(yǔ)微命令和微操作是一一對(duì)應(yīng)的。微命令是微操作的控制信號(hào),微操作是微命令的操作過(guò)程。
微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同時(shí)產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機(jī)器中不允許同時(shí)出現(xiàn)的微命令。兼容和互斥都是相對(duì)的,一個(gè)微命令可以和一些微命令兼容,和另一些微命令互斥。對(duì)于單獨(dú)一個(gè)微命令,談?wù)撈浼嫒莺突コ舛际菦](méi)有意義的。機(jī)器指令與微指令程序機(jī)器指令1機(jī)器指令2機(jī)器指令i機(jī)器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序⑵微指令、微地址
微指令是指控制存儲(chǔ)器中的一個(gè)單元的內(nèi)容,即控制字,是若干個(gè)微命令的集合。存放控制字的控制存儲(chǔ)器的單元地址就稱(chēng)為微地址。
一條微指令通常包含兩部分:
①操作控制字段,又稱(chēng)微操作碼字段,用以產(chǎn)生某一步操作所需的各微操作控制信號(hào);
②順序控制字段,又稱(chēng)微地址碼字段,用以控制產(chǎn)生下一條要執(zhí)行的微指令地址。基本術(shù)語(yǔ)⑶微周期
從控制存儲(chǔ)器中讀取一條微指令并執(zhí)行相應(yīng)的微命令所需的全部時(shí)間稱(chēng)為微周期。⑷微程序
一系列微指令的有序集合就是微程序。每一條機(jī)器指令都對(duì)應(yīng)一個(gè)微程序?;拘g(shù)語(yǔ)(續(xù))微程序和程序是兩個(gè)不同的概念。微程序是由微指令組成的,用于描述機(jī)器指令,微程序?qū)嶋H上是機(jī)器指令的實(shí)時(shí)解釋器,是由計(jì)算機(jī)的設(shè)計(jì)者事先編制好并存放在控制存儲(chǔ)器中的,一般不提供給用戶(hù)。對(duì)于程序員來(lái)說(shuō),計(jì)算機(jī)系統(tǒng)中微程序一級(jí)的結(jié)構(gòu)和功能是透明的,無(wú)須知道。而程序最終由機(jī)器指令組成,是由軟件設(shè)計(jì)人員事先編制好并存放在主存或輔存中的。所以說(shuō),微程序控制的計(jì)算機(jī)涉及到兩個(gè)層次:一個(gè)是機(jī)器語(yǔ)言或匯編語(yǔ)言程序員所看到的傳統(tǒng)機(jī)器層,包括:機(jī)器指令、工作程序、主存儲(chǔ)器;另一個(gè)是機(jī)器設(shè)計(jì)者看到的微程序?qū)?,包括:微指令、微程序和控制存?chǔ)器。
2.基本術(shù)語(yǔ)(續(xù))通常,一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。由于任何一條機(jī)器指令的取指令操作都是相同的,因此將取指令操作的微命令統(tǒng)一編成一個(gè)微程序,這個(gè)微程序只負(fù)責(zé)將指令從主存單元中取出送至指令寄存器中。此外,也可以編出對(duì)應(yīng)間址周期的微程序和中斷周期的微程序。這樣,控制存儲(chǔ)器中的微程序個(gè)數(shù)應(yīng)為機(jī)器指令數(shù)再加上對(duì)應(yīng)取指、間址和中斷周期等公用的微程序數(shù)。機(jī)器指令對(duì)應(yīng)的微程序程序計(jì)數(shù)器PC地址寄存器AR緩沖寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存儲(chǔ)器控制存儲(chǔ)器CM微命令地址譯碼器地址譯碼機(jī)器指令級(jí)微指令級(jí)1.微程序控制器的基本組成
如圖給出了一個(gè)微程序控制器基本結(jié)構(gòu)的簡(jiǎn)化框圖,在圖中主要畫(huà)出了微程序控制器比組合邏輯控制器多出的部件,包括以下幾個(gè)部分:控制存儲(chǔ)器、微指令寄存器、微地址形成部件、微地址寄存器等。微程序控制器的組成和工作過(guò)程微程序控制器的基本結(jié)構(gòu)微程序控制器的基本結(jié)構(gòu)⑴控制存儲(chǔ)器(CM)
這是微程序控制器的核心部件,用來(lái)存放微程序。⑵微指令寄存器(IR)
用來(lái)存放從CM中取出的微指令。⑶微地址形成部件
用來(lái)產(chǎn)生初始微地址和后繼微地址。⑷微地址寄存器(MAR)
接受微地址形成部件送來(lái)的微地址,為在CM中讀取微指令做準(zhǔn)備。1.微程序控制器的基本組成①執(zhí)行取指令公共操作。取指令的公共操作通常由一個(gè)取指微程序來(lái)完成,這個(gè)取指微程序也可能僅由一條微指令組成。具體的執(zhí)行是:在機(jī)器開(kāi)始運(yùn)行時(shí),自動(dòng)將取指微程序的入口微地址送MAR,并從CM中讀出相應(yīng)的微指令送入IR。微指令的操作控制字段產(chǎn)生有關(guān)的微命令,用來(lái)控制計(jì)算機(jī)實(shí)現(xiàn)取機(jī)器指令的公共操作。取指微程序的入口地址一般為CM的0號(hào)單元,當(dāng)取指微程序執(zhí)行完后,從主存中取出的機(jī)器指令就已存入指令寄存器IR中了。2.微程序控制器的工作過(guò)程②由機(jī)器指令的操作碼字段通過(guò)微地址形成部件產(chǎn)生該機(jī)器指令所對(duì)應(yīng)的微程序的入口地址,并送入MAR。
③從CM中逐條取出對(duì)應(yīng)的微指令并執(zhí)行之。
④執(zhí)行完對(duì)應(yīng)于一條機(jī)器指令的一個(gè)微程序后又回到取指微程序的入口地址,繼續(xù)第①步,以完成取下一條機(jī)器指令的公共操作。以上是一條機(jī)器指令的執(zhí)行過(guò)程,如此周而復(fù)始,直到整個(gè)程序執(zhí)行完畢為止。2.微程序控制器的工作過(guò)程(續(xù))微程序設(shè)計(jì)控制單元的主要任務(wù)是編寫(xiě)對(duì)應(yīng)各條機(jī)器指令的微程序,具體步驟是首先寫(xiě)出對(duì)應(yīng)機(jī)器指令的全部微操作節(jié)拍安排,然后確定微指令格式,最后編寫(xiě)出每條微指令的二進(jìn)制代碼。微程序控制單元設(shè)計(jì)⑴確定微程序控制方式
根據(jù)計(jì)算機(jī)系統(tǒng)的性能指標(biāo)(主要是速度)確定微程序控制方式。⑵擬定微命令系統(tǒng)
初步擬定微命令系統(tǒng),并同時(shí)進(jìn)行微指令格式的設(shè)計(jì),包括微指令字段的劃分、編碼方式的選擇、初始微地址和后繼微地址的形成等等。1.微程序控制單元的設(shè)計(jì)步驟⑶編制微程序
對(duì)微命令系統(tǒng)、微指令格式進(jìn)行反復(fù)的核對(duì)和審查,并進(jìn)行適當(dāng)?shù)男薷?;?duì)重復(fù)和多余的微指令進(jìn)行合并和精簡(jiǎn),直至編制出全部機(jī)器指令的微程序?yàn)橹?。⑷微程序代碼化
將修改完善的微程序轉(zhuǎn)換成二進(jìn)制代碼,這一過(guò)程稱(chēng)為代碼化或代真。⑸寫(xiě)入控制存儲(chǔ)器最后將一串串二進(jìn)制代碼按地址寫(xiě)入控制存儲(chǔ)器的對(duì)應(yīng)單元。1.微程序控制單元的設(shè)計(jì)步驟(續(xù))微指令可以分成操作控制字段和順序控制字段兩大部分。這里所說(shuō)的微指令編碼法指的就是操作控制字段的編碼方法。各類(lèi)計(jì)算機(jī)從各自的特點(diǎn)出發(fā),設(shè)計(jì)了各種各樣的微指令編碼法。
例如:大型機(jī)強(qiáng)調(diào)速度,要求譯碼過(guò)程盡量快;微、小型機(jī)則更多地注意經(jīng)濟(jì)性,要求更大限度地縮短微指令字長(zhǎng);而中型機(jī)介于這兩者之間,兼顧速度和價(jià)格,要求在保證一定速度的情況下,能盡量縮短微指令字長(zhǎng)。微指令編碼法
操作控制字段中的各位分別可以直接控制計(jì)算機(jī),無(wú)須進(jìn)行譯碼。在這種形式的微指令字中,操作控制字段的每一個(gè)獨(dú)立的二進(jìn)制位代表一個(gè)微命令,該位為“1”表示這個(gè)微命令有效,為“0”則表示這個(gè)微命令無(wú)效。每個(gè)微命令對(duì)應(yīng)并控制數(shù)據(jù)通路中的一個(gè)微操作。1.直接控制法(不譯碼法)這種方法結(jié)構(gòu)簡(jiǎn)單,并行性強(qiáng),操作速度快,但是微指令字太長(zhǎng)。若微命令的總數(shù)為N個(gè),則微指令字的操作控制字段就要有N位。在某些計(jì)算機(jī)中,微命令的總數(shù)可能會(huì)多達(dá)三、四百個(gè),甚至更多,這使微指令的長(zhǎng)度達(dá)到難以接受的地步。
另外,在N個(gè)微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無(wú)意義的,只會(huì)使信息的利用率下降。所以這種方法在復(fù)雜的系統(tǒng)中很少單獨(dú)采用,往往與其他編碼方法混合起來(lái)使用。1.直接控制法(續(xù))這種方法將操作控制字段分為若干個(gè)小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。⑴
字段直接編碼法各字段都可以獨(dú)立地定義本字段的微命令,而和其他字段無(wú)關(guān),因此又稱(chēng)為顯式編碼或單重定義編碼方法。這種方法縮短了微指令字,因此得到了廣泛的應(yīng)用。2.字段編碼法字段直接編碼法⑵
字段間接編碼法
字段間接編碼法是在字段直接編碼法的基礎(chǔ)上,用來(lái)進(jìn)一步縮短微指令字長(zhǎng)的方法。間接編碼的含義是,一個(gè)字段的某些編碼不能獨(dú)立地定義某些微命令,而需要與其他字段的編碼來(lái)聯(lián)合定義,因此又稱(chēng)為隱式編碼或多重定義編碼方法。3.字段編碼法(續(xù))字段間接編碼法圖6-11字段間接編碼法
字段編碼法中操作控制字段的分段原則:
①把互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。這樣不僅有助于提高信息的利用率,縮短微指令字長(zhǎng),而且有助于充分利用硬件所具有的并行性,加快執(zhí)行的速度。
②應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。
③每個(gè)小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時(shí)間。
④一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長(zhǎng)度為三位時(shí),最多只能表示七個(gè)互斥的微命令,通常用000表示不操作。3.字段編碼法(續(xù))對(duì)于指令的執(zhí)行,可有幾種控制方式:順序方式、重疊方式、先行控制及流水線控制方式。順序方式指的是各條機(jī)器指令之間順序串行的執(zhí)行,即執(zhí)行完一條指令后,方可取出下一條指令來(lái)執(zhí)行。這種方式控制簡(jiǎn)單,但速度慢,機(jī)器各部件的利用率低。為了加快指令的執(zhí)行速度,充分利用計(jì)算機(jī)系統(tǒng)的硬件資源,提高機(jī)器的吞吐率,計(jì)算機(jī)中常采用重疊方式、先行控制方式,以及流水線控制方式。流水線技術(shù)通常,一條指令的執(zhí)行過(guò)程可以分為3個(gè)階段:取指、分析、執(zhí)行。假定每個(gè)階段所需的時(shí)間為t,采用順序方式執(zhí)行n條指令所需的時(shí)間為T(mén)=3nt
最早出現(xiàn)的重疊是“取指K+1”和“執(zhí)行K”在時(shí)間上的重疊,稱(chēng)為一次重疊,這將使處理機(jī)速度有所提高,所需執(zhí)行時(shí)間減少為T(mén)=3t+(n-1)2t=(2n+1)t重疊控制如果進(jìn)一步增加重疊,使“取指K+2”、“分析K+1”和“執(zhí)行K”重疊起來(lái),稱(chēng)為二次重疊,則處理機(jī)速度還可以進(jìn)一步提高,所需執(zhí)行時(shí)間減少為:T=3t+(n-1)t=(2+n)t為了在“執(zhí)行K”時(shí)同時(shí)完成“分析K+1”和“取指K+2”的工作,應(yīng)把控制器分解為存儲(chǔ)控制器、指令控制器、運(yùn)算控制器。
重疊控制(續(xù))先行控制是重疊控制的一種改進(jìn)方式。在重疊控制中,“執(zhí)行K”和“分析K+1”重疊,如果所有指令的“分析”與“執(zhí)行”的時(shí)間均相等,則重疊的流程是非常流暢的,無(wú)任何阻礙,機(jī)器的指令分析部件和執(zhí)行部件功能充分地發(fā)揮,機(jī)器的速度也能顯著地提高。但是,現(xiàn)代計(jì)算機(jī)的指令系統(tǒng)很復(fù)雜,各種類(lèi)型指令難于做到“分析”與“執(zhí)行”時(shí)間始終相等。此時(shí),各個(gè)階段的控制部件就有可能出現(xiàn)間斷等待的問(wèn)題。這樣,指令的分析部件和執(zhí)行部件都不能連續(xù)地、流暢地工作,從而使機(jī)器的整體速度受到影響。先行控制原理
為了使各部件能連續(xù)地工作,則提出先行控制的方式。圖6-22中“分析”和“執(zhí)行”階段之間有等待的時(shí)間間隔Δt,但它們各自的流程中卻是連續(xù)的。先行控制的主要目的是使各階段的專(zhuān)用控制部件不間斷的工作,以提高設(shè)備的利用率及執(zhí)行速度。先行控制原理(續(xù))流水處理技術(shù)是在重疊、先行控制方式的基礎(chǔ)上發(fā)展起來(lái)的,它基于重疊的原理,但卻是在更高程度上的重疊。1.流水線
流水線是將一個(gè)較復(fù)雜的處理過(guò)程分成m個(gè)復(fù)雜程度相當(dāng)、處理時(shí)間大致相等的子過(guò)程,每個(gè)子過(guò)程由一個(gè)獨(dú)立的功能部件來(lái)完成,處理對(duì)象在各子過(guò)程連成的線路上連續(xù)流動(dòng)。在同一時(shí)間,m個(gè)部件同時(shí)進(jìn)行不同的操作,完成對(duì)不同子過(guò)程的處理。流水工作原理這種方式類(lèi)似于現(xiàn)代工廠的生產(chǎn)流水線,在那里每隔一段時(shí)間(Δt)從流水線上流出一個(gè)產(chǎn)品,而生產(chǎn)這個(gè)產(chǎn)品的總時(shí)間要比Δt大得多。由于流水線上各部件并行工作,同時(shí)對(duì)多條指令進(jìn)行解釋執(zhí)行,機(jī)器的吞吐率將大大提高。
1.流水線(續(xù))
流水CPU洗衣房的流水作業(yè)三個(gè)階段:1.水洗(30)2.烘干(40)3.熨燙(20)ABCD6PM789TaskOrderTime304040404020
流水CPU
指令流水線
IF(InstructionFetch) 取指令階段ID(InstructionDecode) 指令譯碼階段EX(Execute) 執(zhí)行運(yùn)算階段MEM(MemoryAccess) 存儲(chǔ)器訪問(wèn)階段WB(WriteBack) 寫(xiě)回結(jié)果階段WB流水線的時(shí)空?qǐng)D流水線技術(shù):把一個(gè)重復(fù)的過(guò)程分解為若干個(gè)子過(guò)程,每個(gè)子程序可以與其他子過(guò)程同時(shí)進(jìn)行描述流水線的工作,最常用的方法是時(shí)間-空間圖(時(shí)空?qǐng)D)橫坐標(biāo):表示時(shí)間,即各個(gè)任務(wù)在流水線中所經(jīng)過(guò)的時(shí)間縱坐標(biāo):表示空間,即流水線的各個(gè)子過(guò)程,也稱(chēng)為級(jí)、段、流水線深度(Stage)非流水計(jì)算機(jī)的時(shí)空?qǐng)D每4個(gè)機(jī)器周期才有一個(gè)輸出結(jié)果流水計(jì)算機(jī)的時(shí)空?qǐng)D每個(gè)機(jī)器周期可以輸出一個(gè)結(jié)果
并行處理技術(shù)并行性(Parallelism): 在同一時(shí)刻或是同一時(shí)間間隔內(nèi)完成兩種或兩種以上性質(zhì)相同或不相同的工作同時(shí)性(Simultaneity):同一時(shí)刻發(fā)生的并行性并發(fā)性(Concurrency):同一個(gè)時(shí)間間隔內(nèi)發(fā)生的并行性并行性的等級(jí)指令內(nèi)部并行:微操作之間指令級(jí)并行(ILP:InstructionLevelParallel)線程級(jí)并行(TLP:ThreadLevelParallel)程序級(jí)并行系統(tǒng)級(jí)并行:分布式系統(tǒng)、多機(jī)系統(tǒng)、機(jī)群系統(tǒng)提高并行性的技術(shù)途徑時(shí)間重疊(Time-interleaving)=時(shí)間并行
多個(gè)過(guò)程在時(shí)間上相互錯(cuò)開(kāi),輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分資源重復(fù)(Resource-replication)=空間并行 通過(guò)重復(fù)設(shè)置資源(尤其是硬件資源),提高性能資源共享(Resource-sharing)
使多個(gè)任務(wù)按一定時(shí)間順序輪流使用同一套硬件設(shè)備⑴按處理級(jí)別分類(lèi)流水線按處理級(jí)別可分為操作部件級(jí)、指令級(jí)和處理機(jī)級(jí)三種。操作部件級(jí)流水線是將復(fù)雜的算邏運(yùn)算組成流水線工作方式。指令級(jí)流水線則是將指令的整個(gè)執(zhí)行過(guò)程分成多個(gè)子過(guò)程。處理機(jī)級(jí)流水線又稱(chēng)為宏流水線,這種流水線由兩個(gè)或兩個(gè)以上處理機(jī)通過(guò)存儲(chǔ)器串行連接起來(lái),每個(gè)處理機(jī)對(duì)同一數(shù)據(jù)流的不同部分分別進(jìn)行處理。各個(gè)處理機(jī)的輸出結(jié)果存放在與下一個(gè)處理機(jī)所共享的存儲(chǔ)器中。每個(gè)處理機(jī)完成某一專(zhuān)門(mén)任務(wù)。圖6-24為處理機(jī)級(jí)流水線。2.流水線分類(lèi)⑵按功能分類(lèi)
流水線按功能可分成單功能流水線和多功能流水線兩種。單功能流水線只能實(shí)現(xiàn)一種固定的功能。多功能流水線則可有多種連接方式來(lái)實(shí)現(xiàn)多種功能。2.流水線分類(lèi)(續(xù))⑶按工作方式分類(lèi)靜態(tài)流水線在同一時(shí)間內(nèi)只能以一種方式工作。它可以是單功能的,也可以是多功能的。當(dāng)是多功能流水線,且從一種功能方式變?yōu)榱硪环N功能方式時(shí),必須先排空流水線,然后為另一種功能設(shè)置初始條件后方可使用。顯然,不希望這種功能的轉(zhuǎn)換頻繁發(fā)生,否則將嚴(yán)重影響流水線的處理效率。動(dòng)態(tài)流水線則允許在同一時(shí)間內(nèi)將不同的功能段連接成不同的功能子集,以完成不同的功能。顯然,動(dòng)態(tài)流水線必是多功能流水線,而單功能流水線必是靜態(tài)的。2.流水線分類(lèi)(續(xù))⑷按流水線結(jié)構(gòu)分類(lèi)流水線按結(jié)構(gòu)分為線性流水線和非線性流水線兩種。在線性流水線中,從輸入到輸出,每個(gè)功能段只允許經(jīng)過(guò)一次,不存在反饋回路。一般的流水線均屬這一類(lèi)。非線性流水線除有串行連接通路外,還有反饋回路,在流水過(guò)程中,某些功能段要反復(fù)多次使用。非線性流水線常用于遞歸或組成多功能流水線。2.流水線分類(lèi)(續(xù))流水線的特點(diǎn)流水線實(shí)際上是把一個(gè)功能部件分解成多個(gè)獨(dú)立的子功能部件(一個(gè)任務(wù)也就分成了幾個(gè)子任務(wù),每個(gè)子任務(wù)由一個(gè)子功能部件完成),并依靠多個(gè)子功能部件并行工作來(lái)縮短所有任務(wù)的執(zhí)行時(shí)間流水線有助于提高整個(gè)程序(所有任務(wù))的吞吐率,但并沒(méi)有減少每個(gè)指令(任務(wù))的執(zhí)行時(shí)間流水線各個(gè)功能段所需時(shí)間應(yīng)盡量相等。否則,時(shí)間長(zhǎng)的功能段將成為流水線的“瓶頸”,會(huì)造成流水線的“阻塞”(Stall)
流水線中的主要問(wèn)題流水線中存在一些相關(guān)(沖突、冒險(xiǎn)Hazard,相關(guān)、依賴(lài)Dependence,競(jìng)爭(zhēng)Competition)的情況,它使得下一條指令無(wú)法在設(shè)計(jì)的時(shí)鐘周期內(nèi)執(zhí)行。這些相關(guān)將降低流水線性能主要有三種類(lèi)型的相關(guān)(沖突)結(jié)構(gòu)相關(guān)(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓建筑樓梯改造工程安全防護(hù)協(xié)議
- 美容美發(fā)行業(yè)品牌孵化與項(xiàng)目投資合同
- 國(guó)際海運(yùn)貨物保險(xiǎn)理賠服務(wù)合同
- 跨國(guó)公司員工忠誠(chéng)協(xié)議與股權(quán)激勵(lì)及補(bǔ)償合同
- 生物醫(yī)藥數(shù)據(jù)出境安全評(píng)估及國(guó)際合作框架協(xié)議
- 代理服務(wù)雇傭合同范例
- 個(gè)人門(mén)面出租協(xié)議合同范例
- 代理大米合同標(biāo)準(zhǔn)文本
- 儲(chǔ)層室轉(zhuǎn)讓合同范例
- 人三方合同范例
- 高考數(shù)學(xué)總復(fù)習(xí)第九章概率9.1隨機(jī)事件的概率
- 中國(guó)證券金融股份有限公司招聘筆試真題2024
- 鋼琴藝術(shù)培訓(xùn)管理制度
- 深圳市人才集團(tuán)筆試題庫(kù)
- 校園廣播設(shè)備維保合同
- 反詐宣傳課件小學(xué)生版
- 八年級(jí)數(shù)學(xué)上學(xué)期期中期末沖刺卷-特訓(xùn)10 一次函數(shù) 壓軸題(八大母題型歸納)(原卷版)
- 2024年全國(guó)職業(yè)院校技能大賽高職組(環(huán)境檢測(cè)與監(jiān)測(cè)賽項(xiàng))考試題庫(kù)(含答案)
- 舞蹈技巧培訓(xùn)課件
- 胰腺假性囊腫治療
- 2025年形勢(shì)與政策-加快建設(shè)社會(huì)主義文化強(qiáng)國(guó)+第二講中國(guó)經(jīng)濟(jì)行穩(wěn)致遠(yuǎn)
評(píng)論
0/150
提交評(píng)論