版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理第5章中央處理器
5.1CPU的組成和功能 5.7流水CPU5.2
指令周期 5.8RISCCPU5.3時(shí)序產(chǎn)生器和控制方式 5.9多媒體CPU5.4微程序控制器5.5硬連線線控制器5.6傳統(tǒng)CPU☆☆☆☆5.1CPU的組成和功能
5.1.1CPU的功能5.1.2CPU的基本組成5.1.3CPU中的主要寄存器5.1.4操作控制器與時(shí)序產(chǎn)生器中央處理器是控制計(jì)算機(jī)自動(dòng)完成取出指令和執(zhí)行指令任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱為CPU(CentralProcessingUnit)5.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)算處理控制器運(yùn)算器5.1.2CPU的基本組成
控制器:完成對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)操作的協(xié)調(diào)與指揮。
(1)取出一條指令,并指出下一條指令的地址;
(2)指令譯碼,產(chǎn)生操作控制信號(hào)送往相應(yī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è)試CPU由運(yùn)算器、cache和控制器三大部分組成。
暫時(shí)存放由內(nèi)存讀出或?qū)懭氲臄?shù)據(jù)保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼確定下一條指令的地址保存當(dāng)前正在執(zhí)行的一條指令對(duì)IR中的指令操作碼進(jìn)行譯碼分析控制數(shù)據(jù)通路、啟停部件操作保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址為ALU提供一個(gè)工作區(qū)。即存放ALU運(yùn)算的操作數(shù)和結(jié)果信息。保存數(shù)據(jù)保存指令5.1.3CPU中的主要寄存器
數(shù)據(jù)緩沖寄存器(DR)暫時(shí)存放由內(nèi)存讀出或?qū)懭氲臄?shù)據(jù)指令寄存器(IR)保存當(dāng)前正在執(zhí)行的一條指令程序計(jì)數(shù)器(PC)確定下一條指令的地址地址寄存器(AR)保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址通用寄存器(R0~R3)為ALU提供一個(gè)工作區(qū)。即存放ALU運(yùn)算的操作數(shù)和結(jié)果信息。狀態(tài)條件寄存器(PSW)保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼,如運(yùn)算結(jié)果進(jìn)位標(biāo)志C,運(yùn)算結(jié)果溢出標(biāo)志V等等。5.1.4操作控制器與時(shí)序產(chǎn)生器
數(shù)據(jù)通路:是許多寄存器之間傳送信息的通路。操作控制器的功能:根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。根據(jù)設(shè)計(jì)方法不同,操作控制器可分為:
硬布線控制器微程序控制器時(shí)序產(chǎn)生器:產(chǎn)生計(jì)算機(jī)所需要的時(shí)序控制信號(hào)采用時(shí)序邏輯技術(shù)來(lái)實(shí)現(xiàn)
采用存儲(chǔ)邏輯來(lái)實(shí)現(xiàn)
5.2
指令周期
5.2.1
指令周期的基本概念5.2.2
MOV指令的指令周期5.2.3
LAD指令的指令周期5.2.4
ADD指令的指令周期5.2.5
STO指令的指令周期5.2.6
JMP指令的指令周期5.2.7
用方框圖語(yǔ)言表示指令周期5.2
指令周期指令的執(zhí)行過(guò)程取指令執(zhí)行指令開(kāi)始5.2.1指令周期的基本概念
◆
指令周期
:
CPU取出并執(zhí)行一條指令的時(shí)間。取指時(shí)間+執(zhí)行指令時(shí)間◆CPU周期
:
CPU從指存讀取一條指令字所需的最短時(shí)間,又稱機(jī)器周期(總線周期)?!魰r(shí)鐘周期
:
通常稱為節(jié)拍脈沖或T周期。一個(gè)CPU周期包含若干個(gè)T周期。(節(jié)拍的寬度取決于CPU完成一次基本的微操作的時(shí)間)
相互關(guān)系:
1個(gè)指令周期=若干個(gè)CPU周期
1個(gè)CPU周期=若干T周期
101
MOVR0,R1;(R1)→R0102
LADR1,6;(6)→R1
103
ADDR1,R2;(R1)+(R2)→R2104
STOR2,(R3);R2→(R3)105
JMP101;101→PC106ANDR1,R3……61005條典型指令構(gòu)成的簡(jiǎn)單程序指令地址指令助記符5.2.2MOV指令的指令周期MOVR0,R1是一條RR指令MOV指令的指令周期——取指
MOV指令的指令周期——執(zhí)行
play5.2.3LAD指令的指令周期一個(gè)CPU周期一個(gè)CPU周期取指令階段執(zhí)行指令階段開(kāi)始取指令PC+1對(duì)指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)裝入通用寄存器一個(gè)CPU周期LADR1,6是一條RS指令LAD指令的指令周期——執(zhí)行
play5.2.4ADD指令的指令周期ADDR1,R2是一條RR指令A(yù)DD指令的指令周期——執(zhí)行
play5.2.5STO指令的指令周期STOR2,(R3)是一條RS指令play5.2.6
JMP指令的指令周期JMP101play5.2.7用方框圖語(yǔ)言表示指令周期
方框:代表一個(gè)CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。
菱形:通常用來(lái)表示某種判別或測(cè)試。時(shí)間上依附于緊接的前面一個(gè)CPU周期,而不單獨(dú)占用一個(gè)CPU周期。1個(gè)CPU周期1個(gè)CPU周期1個(gè)CPU周期公操作符號(hào)。表示一條指令已執(zhí)行完畢,CPU取下一條指令或處理外設(shè)請(qǐng)求。ABUS:地址總線DBUS:數(shù)據(jù)總線IBUS:指令總線【例1】下圖所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR為指令寄存器,PC為程序計(jì)數(shù)器(具有自增功能),M為主存(受R/W信號(hào)控制)既存放指令又存放數(shù)據(jù),AR為地址寄存器,DR為數(shù)據(jù)緩沖寄存器,ALU由加、減控制信號(hào)決定完成何種操作,控制信號(hào)G控制的是一個(gè)門(mén)電路。另外,線上標(biāo)注有小圈表示有控制信號(hào),例中yi表示y寄存器的輸入控制信號(hào),R1o為寄存器R1的輸出控制信號(hào),未標(biāo)字符的線為直通線,不受控制。(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能,畫(huà)出其指令周期流程圖(設(shè)指令地址已放入PC中),并列出相應(yīng)的微操作控制信號(hào)序列。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,畫(huà)出其指令期流程圖,并列出相應(yīng)的微操作控制信號(hào)序列。
PCo,G,ARiPC→ARM→DRDR→IRR2→YR0→XY+X→R0R/W=RDRo,G,IRiR2o,G,YiR0o,G,Xi+,G,R0i取指(1)加法“ADDR2,R0”P(pán)Co,G,ARiPC→ARM→DRDR→IRR3→YR1→XY-X→R3R/W=RDRo,G,IRiR3o,G,YiR1o,G,Xi-,G,R3i(2)減法“SUBR1,R3”5.3
時(shí)序產(chǎn)生器和控制方式
5.3.1
時(shí)序信號(hào)的作用和體制5.3.2
時(shí)序信號(hào)產(chǎn)生器5.3.3
控制方式5.3
時(shí)序產(chǎn)生器和控制方式
用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU是怎樣識(shí)別出它們是數(shù)據(jù)還是指令呢?
從時(shí)間上來(lái)說(shuō):◆
取指發(fā)生在指令周期的第一個(gè)CPU周期;◆取數(shù)發(fā)生在后面幾個(gè)CPU周期,即“執(zhí)行指令”階段。
從空間上來(lái)說(shuō):◆送指令寄存器IR—指令◆
送運(yùn)算器—數(shù)據(jù)。
[思考]5.3時(shí)序產(chǎn)生器和控制方式
5.3.1時(shí)序信號(hào)的作用和體制時(shí)序信號(hào)
CPU中一個(gè)類似“作息時(shí)間”的東西,使計(jì)算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作。機(jī)器一旦被啟動(dòng),即CPU開(kāi)始取指令并執(zhí)行指令時(shí),操作控制器就利用定時(shí)脈沖的順序和不同的脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動(dòng)作. 規(guī)定在這個(gè)脈沖到來(lái)時(shí)做什么,在那個(gè)脈沖到來(lái)時(shí)又做什么,給計(jì)算機(jī)各部分提供工作所需的時(shí)間標(biāo)志。5.3.1時(shí)序信號(hào)的作用和體制
計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)志則用時(shí)序信號(hào)來(lái)體現(xiàn)。
主狀態(tài)周期(指令周期):包含若干個(gè)節(jié)拍周期,節(jié)拍電位(機(jī)器周期、cpu周期):表示一個(gè)CPU周期的時(shí)間,包含若干個(gè)節(jié)拍脈沖。節(jié)拍脈沖(時(shí)鐘周期):表示較小的時(shí)間單位?!粲膊季€控制器時(shí)序信號(hào)采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級(jí)體制?!粑⒊绦蚩刂破鲿r(shí)序信號(hào)一般采用節(jié)拍電位-節(jié)拍脈沖二級(jí)體制。
IORQMREQRDWET1T2T3T4
IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ
▲
提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號(hào)
▲由石英晶體振蕩器組成產(chǎn)生一組有序的間隔相等或不等的脈沖序列啟動(dòng)停機(jī)5.3.2時(shí)序信號(hào)產(chǎn)生器
啟??刂七壿嫻?jié)拍脈沖和讀寫(xiě)時(shí)序譯碼邏輯環(huán)形脈沖發(fā)生器時(shí)鐘脈沖源微程序控制器的時(shí)序信號(hào)產(chǎn)生器(節(jié)拍電位-節(jié)拍脈沖)譯碼產(chǎn)生原始的節(jié)拍脈沖和讀寫(xiě)時(shí)序信號(hào)控制節(jié)拍脈沖和讀寫(xiě)時(shí)序信號(hào)的發(fā)送。啟動(dòng)狀態(tài),輸出CPU真正需要的節(jié)拍脈沖和讀寫(xiě)時(shí)序信號(hào)CPU周期CPU周期節(jié)拍脈沖信號(hào)啟停控制邏輯
運(yùn)行標(biāo)志觸發(fā)器Cr◆當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),一定要從第1個(gè)節(jié)拍脈沖前沿開(kāi)始工作。
◆停機(jī)時(shí)一定要在第4個(gè)節(jié)拍脈沖結(jié)束后關(guān)閉時(shí)序產(chǎn)生器。5.3.3控制方式
控制器的控制方式:控制不同操作序列時(shí)序信號(hào)的方法。1.同步控制方式
已定的指令在執(zhí)行時(shí)所需的CPU周期(機(jī)器周期)數(shù)和時(shí)鐘周期數(shù)都固定不變。2.異步控制方式
控制器發(fā)出某一操作控制信號(hào)后,等待執(zhí)行部件完成操作后發(fā)“回答”信號(hào),再開(kāi)始新的操作。3.聯(lián)合控制方式同步控制和異步控制相結(jié)合的方式。(1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令。(2)采用不定長(zhǎng)機(jī)器周期。(3)中央控制與局部控制結(jié)合。情況(1):大部分操作序列安排在固定的機(jī)器周期中,對(duì)某些時(shí)間難以確定的操作則以執(zhí)行“回答”信號(hào)作為本次操作的結(jié)束;情況(2):機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器周期數(shù)不固定。5.4微程序控制器發(fā)展微程序的概念和原理是由英國(guó)劍橋大學(xué)的M·V·Wilkes教授于1951年在曼徹斯特大學(xué)計(jì)算機(jī)會(huì)議上首先提出來(lái)的。到1964年,IBM公司在IBM360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù)。20世紀(jì)70年代以來(lái),由于VLSI技術(shù)的發(fā)展,推動(dòng)了微程序設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用。目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)計(jì)技術(shù)。5.4微程序控制器
利用軟件方法(微程序設(shè)計(jì)技術(shù))來(lái)設(shè)計(jì)硬件微程序控制的基本思想:*把操作控制信號(hào)編成“微指令”,存放到控制存儲(chǔ)器CM中。*當(dāng)機(jī)器運(yùn)行時(shí),逐條讀出微指令,產(chǎn)生全機(jī)所需要的各種操作控制信號(hào),啟停相應(yīng)部件。5.4微程序控制器5.4.1微程序控制原理5.4.2微程序設(shè)計(jì)技術(shù)控制器運(yùn)算器、存儲(chǔ)器、外圍設(shè)備(IO設(shè)備)1微命令和微操作
數(shù)字計(jì)算機(jī)可以分為:控制部件和執(zhí)行部件控制器IO設(shè)備主存運(yùn)算器+﹣WRReadyV控制線狀態(tài)線控制部件與執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系。
微命令微操作微操作微操作5.4.1微命令和微操作
▲微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制命令?!⒉僮鳎簣?zhí)行部件接受微命令后所進(jìn)行的操作?!⒉僮骺煞譃橄嗳菪院拖喑庑詢煞N。在同時(shí)或同一個(gè)CPU周期內(nèi)可以并行執(zhí)行的微操作不能在同時(shí)或同一個(gè)CPU周期內(nèi)并行執(zhí)行的微操作◆ALU的“+”、“﹣”、“M”(傳送)為互斥微操作。◆通常,只有不同部件上的微操作,才可能相容!5.4.1微命令和微操作相斥性進(jìn)位觸發(fā)器多路開(kāi)關(guān)的控制信號(hào)相斥性時(shí)鐘輸入相容性play2微指令和微程序
微指令:在一個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合。
微程序:實(shí)現(xiàn)一條機(jī)器指令功能的許多條微指令組成的序列。
指令系統(tǒng)=所有指令;指令=微程序;微程序=若干微指令;微指令=一組微命令;微命令→微操作微指令的格式*發(fā)出控制全機(jī)工作的控制信號(hào)。*每一位表示一個(gè)微命令。*“1”—發(fā)出微命令;
“0”—不發(fā)出微命令。用來(lái)決定產(chǎn)生下一條微指令的地址。判別測(cè)試標(biāo)志微命令信號(hào)都是節(jié)拍電位信號(hào)′′′微程序控制器原理框圖
微程序控制器主要由控制存儲(chǔ)器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。
play◆只讀存儲(chǔ)器◆存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序。決定將要訪問(wèn)的下一條微指令的地址
保存一條微指令的操作控制字段和判別測(cè)試字段的信息
存放由控制存儲(chǔ)器讀出的一條微指令信息。分為微地址寄存器和微命令寄存器兩部分。
通過(guò)判別測(cè)試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,修改微地址寄存器的內(nèi)容
微程序舉例——十進(jìn)制加法
在十進(jìn)制運(yùn)算時(shí),當(dāng)相加二數(shù)之和大于9時(shí),便產(chǎn)生進(jìn)位。而采用BCD碼后,當(dāng)相加的和數(shù)大于9時(shí),結(jié)果不正確,必須加6修正后才能得出正確的結(jié)果。算法:先將和數(shù)加6,然后判別結(jié)果有無(wú)進(jìn)位:當(dāng)Cy=1,結(jié)果不變;當(dāng)Cy=0,結(jié)果減6。取指判別測(cè)試,修改微地址寄存器內(nèi)容a+ba+b+6測(cè)試進(jìn)位標(biāo)志Cya+b+6-6
第一條微指令的二進(jìn)制編碼是00000000000011110100000為取加法機(jī)器指令的微指令有5個(gè)微命令構(gòu)成:第16位發(fā)出PC-》AR第13位發(fā)出指存讀命令RD第14位將讀取的指令打入DR第15位將DR數(shù)據(jù)打入IR第18位發(fā)出P1測(cè)試(測(cè)試結(jié)果下一條地址為1010)5.4.4微程序舉例第二條微指令的二進(jìn)制編碼是01010010010000000001001為完成R1+R2-》R2微指令有4個(gè)微命令構(gòu)成:第4位發(fā)出R1-》X第7位發(fā)出R2-》Y第10位發(fā)出R1+R2第2位發(fā)出結(jié)果寫(xiě)回R2下一條微指令地址為1001第三條微指令的二進(jìn)制編碼是01000100110000000010000為完成R2+R3-》R2微指令有5個(gè)微命令構(gòu)成:第6位發(fā)出R2-》X第9位發(fā)出R3-》Y第10位發(fā)出R2+R3第2位發(fā)出結(jié)果寫(xiě)回R2第19位表明進(jìn)行P2測(cè)試,測(cè)試條件為進(jìn)位標(biāo)識(shí)Cy,如果Cy=1下一條微指令地址為0000,如果Cy=0,下一條地址為0001.Cy=0執(zhí)行第四條微指令01000100100100000000000為完成R2-R3-》R2微指令有5個(gè)微命令構(gòu)成:第6位發(fā)出R2-》X第9位發(fā)出R3-》Y第12位發(fā)出R2-R3第2位發(fā)出結(jié)果寫(xiě)回R2下一條微指令地址為0000CPU周期與微指令周期的關(guān)系
微指令周期=讀出微指令的時(shí)間+執(zhí)行該條微指令的時(shí)間=1個(gè)cpu周期圖5.26CPU周期與微指令周期的關(guān)系T4T3T2T1微指令機(jī)器指令與微指令的關(guān)系
(1)一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,這個(gè)微程序由若干條微指令序列組成。(2)從指令與微指令、程序與微程序、地址與微地址的對(duì)應(yīng)關(guān)系看,前者與內(nèi)存有關(guān),后者與控制存儲(chǔ)器有關(guān)。(3)每一個(gè)CPU周期對(duì)應(yīng)一條微指令。程序計(jì)數(shù)器PC地址寄存器AR緩沖寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存儲(chǔ)器控制存儲(chǔ)器CM微命令地址譯碼器地址譯碼機(jī)器指令級(jí)微指令級(jí)OP5.4.2微程序設(shè)計(jì)技術(shù)一、設(shè)計(jì)微指令應(yīng)當(dāng)追求的目標(biāo)有利于縮短微指令的長(zhǎng)度有利于縮小CM的容量有利于提高微程序的執(zhí)行速度有利于對(duì)微指令的修改有利于提高微程序設(shè)計(jì)的靈活性5.4.2微程序設(shè)計(jì)技術(shù)
直接表示法編碼表示法混合表示法*操作控制字段的每一位代表一個(gè)微命令?。獌?yōu)點(diǎn):簡(jiǎn)單、直觀、微指令執(zhí)行速度快。*缺點(diǎn):控存容量需求大。*n位,最多代表2n-1個(gè)微命令。*優(yōu)點(diǎn):縮短了微指令字的長(zhǎng)度。*缺點(diǎn):字段需譯碼,才得到微命令信號(hào)字段1字段2……P字段下地址譯碼…譯碼…譯碼…微命令微命令P1Pn直接表示和編碼表示相結(jié)合1.微命令編碼—操作控制字段采用的表示方法2微地址的形成方法計(jì)數(shù)器方式多路轉(zhuǎn)移方式*微地址寄存器有計(jì)數(shù)器功能。*順序執(zhí)行的微指令序列必須在控制存儲(chǔ)器的連續(xù)單元中。*微指令的P字段中,某位為1,就要修改“下地址”字段,產(chǎn)生正確的下地址。*P字段有n位,可產(chǎn)生2n路轉(zhuǎn)移。3微指令格式水平型微指令垂直型微指令控制字段判別測(cè)試字段下地址字段*全水平型微指令*字段譯碼法水平型微指令*直接和譯碼相混合的水平型微指令一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令類似機(jī)器指令的格式,例RR傳送型微指令:微操作碼經(jīng)譯碼,得到微命令。000源寄存器編址目標(biāo)寄存器編址其他151312873203.水平型微指令與垂直型微指令的比較(1)水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時(shí)間短,垂直型微指令執(zhí)行時(shí)間長(zhǎng)。(3)由水平型微指令解釋指令的微程序,有微指令字較長(zhǎng)而微程序短的特點(diǎn)。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對(duì)來(lái)說(shuō),比較容易掌握。4動(dòng)態(tài)微程序設(shè)計(jì)
微程序設(shè)計(jì)技術(shù)有靜態(tài)微程序設(shè)計(jì)和動(dòng)態(tài)微程序設(shè)計(jì)之分。1.靜態(tài)微程序設(shè)計(jì)對(duì)應(yīng)于一臺(tái)計(jì)算機(jī)的機(jī)器指令只有一組微程序,而且這一組微程序設(shè)計(jì)好之后,一般無(wú)須改變而且也不好改變,這種微程序設(shè)計(jì)技術(shù)稱為靜態(tài)微程序設(shè)計(jì)。當(dāng)采用E2PROM作為控制存儲(chǔ)器時(shí),還可以通過(guò)改變微指令和微程序來(lái)改變機(jī)器的指令系統(tǒng),這種微程序設(shè)計(jì)技術(shù)稱為動(dòng)態(tài)微程序設(shè)計(jì)。采用動(dòng)態(tài)微程序設(shè)計(jì)時(shí),微指令和微程序可以根據(jù)需要加以改變,因而可在一臺(tái)機(jī)器上實(shí)現(xiàn)不同類型的指令系統(tǒng)。這種技術(shù)又稱為仿真其他機(jī)器指令系統(tǒng),以便擴(kuò)大機(jī)器的功能。4動(dòng)態(tài)微程序設(shè)計(jì)
5.5硬布線控制器電子計(jì)算機(jī)誕生后,控制器采用硬布線實(shí)現(xiàn)?;舅枷耄耗骋晃⒉僮骺刂菩盘?hào)是指令操作碼譯碼輸出、時(shí)序信號(hào)和狀態(tài)條件信號(hào)的邏輯函數(shù),即用布爾代數(shù)寫(xiě)出邏輯表達(dá)式,然后用門(mén)電路和觸發(fā)器等器件實(shí)現(xiàn)。
非常復(fù)雜!增加一條指令,需要重新設(shè)計(jì)整個(gè)硬布線邏輯電路。硬布線控制器的結(jié)構(gòu)方框圖C=f(Im,Bi,Tk,Mi)
硬布線,需要很強(qiáng)的數(shù)理邏輯電路設(shè)計(jì)技術(shù)!圖5.31硬布線控制器結(jié)構(gòu)方框圖…………5.7流水CPU5.7.1并行處理技術(shù)5.7.2流水CPU的結(jié)構(gòu)5.7.3流水線中的主要問(wèn)題5.7.4奔騰CPU并行性的兩種含義同時(shí)性兩個(gè)或多個(gè)事件同時(shí)發(fā)生。并發(fā)性兩個(gè)或多個(gè)事件在同一時(shí)段內(nèi)先后發(fā)生。事件1事件2事件1事件2△t并行處理的三種形式時(shí)間并行空間并行時(shí)間并行+空間并行流水CPU是以時(shí)間并行性為原理構(gòu)造的處理器1.時(shí)間并行時(shí)間并行指時(shí)間重疊,在并行性概念中引入時(shí)間因素,讓多個(gè)處理過(guò)程在時(shí)間上相互錯(cuò)開(kāi),輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。時(shí)間并行性概念的實(shí)現(xiàn)方式就是采用流水處理部件。這是一種非常經(jīng)濟(jì)而實(shí)用的并行技術(shù),能保證計(jì)算機(jī)系統(tǒng)具有較高的性能價(jià)格比。目前的高性能微型機(jī)幾乎無(wú)一例外地使用了流水技術(shù)。2.空間并行空間并行指資源重復(fù),在并行性概念中引入空間因素,以“數(shù)量取勝”為原則來(lái)大幅度提高計(jì)算機(jī)的處理速度。空間并行技術(shù)主要體現(xiàn)在多處理器系統(tǒng)和多計(jì)算機(jī)系統(tǒng)。但是在單處理器系統(tǒng)中也得到了廣泛應(yīng)用。3.時(shí)間并行+空間并行指時(shí)間重疊和資源重復(fù)的綜合應(yīng)用,既采用時(shí)間并行性又采用空間并行性。顯然,第三種并行技術(shù)帶來(lái)的高速效益是最好的。Pentium中采用了超標(biāo)量流水線技術(shù)流水計(jì)算機(jī)的系統(tǒng)組成多體交叉存儲(chǔ)器cache指令部件(指令I(lǐng)+k+1)(指令I(lǐng)+k)…(指令I(lǐng)+2)(指令I(lǐng)+1)執(zhí)行部件(指令I(lǐng))存儲(chǔ)系統(tǒng)流水CPU取指令指令譯碼計(jì)算操作數(shù)地址取操作數(shù)FIFO指令隊(duì)列運(yùn)算流水線用流水線實(shí)現(xiàn)用流水線實(shí)現(xiàn)流水線的表示法——連接圖用方框表示過(guò)程段,箭頭表示段間數(shù)據(jù)傳送。以指令流水線為例,段間有緩沖寄存器,暫存前一段的結(jié)果;一個(gè)流水線由一系列串聯(lián)的過(guò)程段組成。S2S3S4S1IFIDEXWB入出非流水的指令流水線8時(shí)鐘后,完成2條指令。I1I2I1I2I1I2I1I2空間IFIDEXWB時(shí)間12345678時(shí)空?qǐng)D橫軸表示時(shí)間,縱軸表示空間。標(biāo)量流水線假設(shè)連續(xù)5條指令進(jìn)入流水線I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5空間IFIDEXWB時(shí)間123456788時(shí)鐘后,完成5條指令。裝滿時(shí)間排空時(shí)間S2S3S4S1IFIDEXWB入出什么是超標(biāo)量流水處理器標(biāo)量指單個(gè)量;向量指一組標(biāo)量;只有一套指令流水線的CPU稱為標(biāo)量流水CPU;有多套指令流水線的CPU稱為超標(biāo)量流水CPU。超標(biāo)量流水計(jì)算機(jī)是時(shí)間并行與空間并行的結(jié)合。超標(biāo)量流水線CPU裝滿后,每個(gè)時(shí)鐘完成2條指令。I2I4I6I8I10空間IF1時(shí)間12345678I1I3I5I7I9IF2I2I4I6I8I10I1I3I5I7I9I2I4I6I8I10I1I3I5I7I9I2I4I6I8I10I1I3I5I7I9ID1ID2EX1EX2WB1WB2play流水線分類算術(shù)流水線流水加法器、流水乘法器、流水浮點(diǎn)加法器。指令流水線包括“取指”、“譯碼”、“取操作數(shù)”、“執(zhí)行”、“寫(xiě)回”等過(guò)程段。處理機(jī)流水線(宏流水線)出入CPU1CPU2CPUm程序1程序2程序m5.8.3流水線中的主要問(wèn)題流水過(guò)程中通常會(huì)出現(xiàn)以下三種相關(guān)沖突,使流水線斷流。
資源相關(guān)數(shù)據(jù)相關(guān)控制相關(guān)多條指令在同一CPU周期內(nèi)爭(zhēng)用同一個(gè)功能部件等待前面指令完成操作數(shù)的讀或?qū)?。由轉(zhuǎn)移指令引起資源相關(guān)多條指令在同一CPU周期內(nèi)爭(zhēng)用同一個(gè)段。時(shí)鐘12345678I1IFIDEXMEMWBI2IFIDEXMEMWBI3IFIDEXMEMWBI4IFIDEXMEMWBI5IFIDEXMEMI1和I4同時(shí)訪存解決資源相關(guān)沖突的辦法:(1)第I4條指令停頓一拍后再啟動(dòng);(2)增設(shè)一個(gè)存儲(chǔ)器,將指令和數(shù)據(jù)分別放在兩個(gè)存儲(chǔ)器中。數(shù)據(jù)相關(guān)等待前面指令完成操作數(shù)的讀或?qū)?。ADDR1,R2,R3;(R2)﹢(R3)→R1SUBR4,R1,R5;(R1)﹣(R5)→R4ANDR6,R1,R7;(R1)∧(R7)→R6時(shí)鐘12345678ADDIFIDEXMEMWBSUBIFIDEXMEMWBANDIFIDEXMEMWBT3讀R1T4讀R1T5寫(xiě)R1*①寫(xiě)R1之前,②讀R1,錯(cuò)?。賹?xiě)R1之前,③讀R1,錯(cuò)!例4(1):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。ADDR1,R2,R3;(R2)﹢(R3)→R1SUBR4,R1,R5;(R1)﹣(R5)→R4正確:①寫(xiě)R1,然后②讀R1。實(shí)際:②讀R1,然后①寫(xiě)R1。這是寫(xiě)后讀(RAW)相關(guān)。時(shí)鐘T5,寫(xiě)時(shí)鐘T3,讀例4(2):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。STOM(x),R3;(R3)→M(x)ADDR3,R4,R5;(R4)﹢(R5)→R3正確:①讀R3,然后②寫(xiě)R3。實(shí)際:②寫(xiě)R3,然后①讀R3。這是讀后寫(xiě)(WAR)相關(guān)。例4(3):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。MULR3,R1,R2;(R1)×(R2)→R3ADDR3,R4,R5;(R4)﹢(R5)→R3正確:①寫(xiě)R3,然后②寫(xiě)R3。實(shí)際:②寫(xiě)R3,然后①寫(xiě)R3。這是寫(xiě)后寫(xiě)(WAW)相關(guān)。乘法時(shí)間遠(yuǎn)比加法時(shí)間長(zhǎng)!解決辦法:可以推后后繼指令對(duì)相關(guān)單元的操作控制相關(guān)緊跟轉(zhuǎn)移指令的后續(xù)指令要不要執(zhí)行?確定要轉(zhuǎn)移時(shí),后面的一條或多條指令已進(jìn)入流水線;若流水線為k段,轉(zhuǎn)移指令與后面的k-1條指令發(fā)生控制相關(guān)。為了減小轉(zhuǎn)移指令對(duì)流水線性能的影響,常用以下兩種轉(zhuǎn)移處理技術(shù):(1)延遲轉(zhuǎn)移法(2)轉(zhuǎn)移預(yù)測(cè)法延遲轉(zhuǎn)移法如果轉(zhuǎn)移指令之后的指令最終要執(zhí)行,而且它們與轉(zhuǎn)移指令的結(jié)果無(wú)關(guān),則允許它們繼續(xù)前進(jìn)。轉(zhuǎn)移指令S1S2S3S4S5S6S7S8輸入輸出b﹢5b﹢4b﹢3b﹢2b﹢1bb﹣1b﹣2轉(zhuǎn)移的目標(biāo)指令在b+5后送流水線延遲:不是時(shí)間延遲,而是指指令執(zhí)行順序上目標(biāo)指令被推延了。轉(zhuǎn)移預(yù)測(cè)法設(shè)置兩個(gè)指令隊(duì)列(指令cache)。一個(gè)是轉(zhuǎn)移不成功時(shí)順序預(yù)取指令的隊(duì)列;一個(gè)是轉(zhuǎn)移成功時(shí)從目標(biāo)地址預(yù)取指令的隊(duì)列。當(dāng)能確定轉(zhuǎn)移方向時(shí),直接從相應(yīng)隊(duì)列中取指令。1/11/20233:31PMPentium是Intel公司生產(chǎn)的超標(biāo)量流水處理器,早期使用5V工作電壓,后期使用3.3V工作電壓。主要參數(shù)如下:主頻:CPU的主頻時(shí)鐘頻率是CPU內(nèi)部的時(shí)鐘頻率,是CPU進(jìn)行運(yùn)算時(shí)的工作頻率。一般來(lái)說(shuō),主頻越高,單位時(shí)間內(nèi)完成的指令數(shù)也越多,CPU的運(yùn)算速度也就越快。例如﹕PentiumIII667外頻:CPU的外部時(shí)鐘頻率指CPU與周邊設(shè)備傳輸數(shù)據(jù)的基準(zhǔn)頻率,具體是指CPU到芯片組之間的總線速度。例如:60MHz、66MHz。倍頻:CPU的主頻與外頻之間存在著一個(gè)比值關(guān)系,這個(gè)比值就是倍頻系數(shù),簡(jiǎn)稱倍頻。倍頻可以從1.5一直到23以至更高。例如:4X前端總線(FSB)頻率:指的是CPU和北橋芯片間總線的速度(內(nèi)存)也是外頻與倍頻的乘積。例如:1333MHz制作工藝:在生產(chǎn)CPU過(guò)程中,要進(jìn)行加工各種電路和電子元件,制作工藝是指連接各個(gè)元器件電路的間距。通常其生產(chǎn)的精度以微米和納米來(lái)表示,數(shù)值越小,生產(chǎn)工藝越先進(jìn)。集成度越高,CPU的功耗也越小。例如﹕32納米5.7.4PentiumCPU1/11/20233:31PMCPU內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是一個(gè)32位微處理器。但它通向存儲(chǔ)器的外部數(shù)據(jù)總線寬度為64位。CPU支持多種類型的總線周期,其中一種稱猝發(fā)模式,在此模式下,可在一個(gè)總線周期內(nèi)讀出或與入256位(32字節(jié))的數(shù)據(jù)。CPU外部地址總線寬度是36位,但一般使用32位寬,故物理地址空間為4096MB(4GB)。CPU內(nèi)部分別設(shè)置指令cache和數(shù)據(jù)cache,外部還可接L2cache。CPU采用U,V兩條指令流水線,能在一個(gè)時(shí)鐘周期內(nèi)發(fā)射兩條簡(jiǎn)單的整數(shù)指令,也可發(fā)射一條浮點(diǎn)指令。操作控制器采用硬布線控制和微程序控制相結(jié)合的方式。大多數(shù)簡(jiǎn)單指令用硬布線控制實(shí)現(xiàn),在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行完畢。對(duì)微程序?qū)崿F(xiàn)的指令,也在2—3個(gè)時(shí)鐘周期內(nèi)執(zhí)行完畢。1/11/20233:31PM具有非固定長(zhǎng)度的指令格式9種尋址方式,191條指令但是在每個(gè)時(shí)鐘周期又能執(zhí)行兩條指令。因此它具有CISC和RlSC兩者的特性,不過(guò)具有的CISC特性更多一些,因此被看成為一個(gè)CISC結(jié)構(gòu)的處理器。以CISC結(jié)構(gòu)實(shí)現(xiàn)超標(biāo)量流水線.Pentium指令集1/11/20233:31PM(1)超標(biāo)量流水線(2)指令cache和數(shù)據(jù)cache(3)浮點(diǎn)運(yùn)算部件(4)動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)技術(shù)奔騰CPU的結(jié)構(gòu)(請(qǐng)參見(jiàn)教材)。其特點(diǎn):3.pentium4CPU是對(duì)pentiumCPU進(jìn)一步改進(jìn)和發(fā)展。處理器以靜態(tài)程序的順序由存儲(chǔ)器取指令每條指令譯成一個(gè)或多個(gè)定長(zhǎng)的RISC指令,實(shí)際上是微指令采用20段的超標(biāo)量流水線1/11/20233:31PM5.8RISCCPURISC的三個(gè)要素是:(1)一個(gè)有限的簡(jiǎn)單的指令集;(2)CPU配備大量的通用寄存器;(3)強(qiáng)調(diào)對(duì)指令流水線的優(yōu)化。1/11/20233:31PM基于三要素的RISC機(jī)器的特征是:(1)使用等長(zhǎng)指令,目前的典型長(zhǎng)度是4個(gè)字節(jié)。(2)尋址方式少且簡(jiǎn)單,一般為2—3種,最多不超過(guò)4種,絕不出現(xiàn)存儲(chǔ)器間接尋址方式。(3)只有取數(shù)指令、存數(shù)指令訪問(wèn)存儲(chǔ)器。指令中最多出現(xiàn)RS型指令,絕不出現(xiàn)SS型指令。(4)指令集中的指令數(shù)目一般少于100種,指令格式一般少于4種。(5)指令功能簡(jiǎn)單,控制器多采用硬布線方式,以期更快的執(zhí)行速度。1/11/20233:31PM(6)平均而言,所有指令的執(zhí)行時(shí)間為一個(gè)處理時(shí)鐘周期。(7)指令格式中用于指派整數(shù)寄存器的個(gè)數(shù)不少于32個(gè),用于指派浮點(diǎn)數(shù)寄存器的個(gè)數(shù)不少于16個(gè)。(8)強(qiáng)調(diào)通用寄存器資源的優(yōu)化使用。(9)支持指令流水并強(qiáng)調(diào)指令流水的優(yōu)化使用。(10)RlSC技術(shù)的復(fù)雜性于它的編譯程序,因此軟件系統(tǒng)開(kāi)發(fā)時(shí)間比CISC機(jī)器長(zhǎng)。RISC簡(jiǎn)單,精簡(jiǎn)一般小于100一般小于4一般小于4比較內(nèi)容指令系統(tǒng)指令數(shù)目指令格式尋址方式指令字長(zhǎng)CISC復(fù)雜,龐大一般大于200一般大于4一般大于4不固定等長(zhǎng)只有LOAD/STORE指令相差不大絕大多數(shù)在一個(gè)周期內(nèi)完成較容易較長(zhǎng)絕大多數(shù)為硬布線控制可訪存指令各種指令使用頻率各種指令執(zhí)行時(shí)間優(yōu)化編譯實(shí)現(xiàn)程序源代碼長(zhǎng)度控制器實(shí)現(xiàn)方式軟件系統(tǒng)開(kāi)發(fā)時(shí)間不加限制相差很大相差很大很難較短絕大多數(shù)為微程序控制較短較長(zhǎng)RISC與CISC的主要特征對(duì)比5.8.2RISCCPU實(shí)例——MC88110CPU1.MC88110CPU結(jié)構(gòu)框圖MC88110CPU是一個(gè)RISC處理器。處理器有12個(gè)執(zhí)行功能部件,3個(gè)cache和1個(gè)控制部件。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)廚房電器行業(yè)全國(guó)市場(chǎng)開(kāi)拓戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)PC游戲硬件行業(yè)并購(gòu)重組擴(kuò)張戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)藝術(shù)培訓(xùn)服務(wù)行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實(shí)施研究報(bào)告
- 新形勢(shì)下餐飲食材配送行業(yè)轉(zhuǎn)型升級(jí)戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)水上游船觀光服務(wù)行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)男性美容行業(yè)營(yíng)銷創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 建設(shè)銀行同業(yè)調(diào)研報(bào)告
- 罩子溝高羊茅草草坪專項(xiàng)施工方案
- 四川省雅安市2024屆高三下學(xué)期三診英語(yǔ)試題
- 眼科院感知識(shí)培訓(xùn)課件
- (一模)株洲市2025屆高三教學(xué)質(zhì)量統(tǒng)一檢測(cè) 英語(yǔ)試卷
- 社區(qū)意識(shí)形態(tài)工作責(zé)任制實(shí)施細(xì)則模版(2篇)
- 礦業(yè)公司規(guī)章制度匯編
- 介入導(dǎo)管室護(hù)士長(zhǎng)職責(zé)
- 《國(guó)家課程建設(shè)》課件
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 歷史 含解析
- 2024-2025學(xué)年湖北省武漢市華中師大一附中高三上學(xué)期期中英語(yǔ)試題及答案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期1月期末數(shù)學(xué)試題 含解析
- 大學(xué)老師工作述職報(bào)告
- 辦公樓裝飾裝修工程施工組織設(shè)計(jì)方案
- 汽車產(chǎn)業(yè)AIGC技術(shù)應(yīng)用白皮書(shū) 2024
評(píng)論
0/150
提交評(píng)論