計算機(jī)組成原理(白中英)第五章中央處理器.ppt
《計算機(jī)組成原理(白中英)第五章中央處理器.ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機(jī)組成原理(白中英)第五章中央處理器.ppt(101頁珍藏版)》請在裝配圖網(wǎng)上搜索。
計算機(jī)組成原理,任課教師:石磊 鄭州大學(xué)信息工程學(xué)院計算機(jī)系 Email: shilei@ Tel: 13676986863,第一章 計算機(jī)系統(tǒng)概論 第二章 運(yùn)算方法和運(yùn)算器 第三章 存儲系統(tǒng) 第四章 指令系統(tǒng) 第五章 中央處理器 第六章 總線系統(tǒng) 第七章 外圍設(shè)備 第八章 輸入輸出系統(tǒng) 第九章 并行組織,目錄,教材 白中英,計算機(jī)組成原理網(wǎng)絡(luò)版,科學(xué)出版社,2002 參考書 石磊,計算機(jī)組成原理第2版, 清華大學(xué)出版社,2006 錢曉捷,微型計算機(jī)原理及應(yīng)用, 清華大學(xué)出版社,2006 王愛英,計算機(jī)組成與結(jié)構(gòu)第3版, 清華大學(xué)出版社,2001 白中英 鄺堅,計算機(jī)組織與結(jié)構(gòu)網(wǎng)絡(luò)版,科學(xué)出版社,2003,計算機(jī)組成原理,第5章 中央處理器,5.1 CPU的組成和功能 5.8 流水CPU 5.2 指令周期 5.9 RISC CPU 5.3 時序產(chǎn)生器和控制方式 5.10 多媒體CPU 5.4 微程序控制器 5.11 CPU性能評價 5.5 微程序設(shè)計技術(shù) 5.6 硬布線控制器 5.7 傳統(tǒng)CPU,,5.1 CPU的功能和組成,當(dāng)代主流計算機(jī)所遵循的仍然是馮.諾依曼的“存儲程序、程序控制”思想 程序告訴計算機(jī):應(yīng)該逐步執(zhí)行什么操作;在什么地方找到用來操作的數(shù)據(jù),結(jié)果存到何處等 中央處理器是控制計算機(jī)自動完成取出指令和執(zhí)行指令任務(wù)的部件。它是計算機(jī)的核心部件,通常簡稱為CPU(Central Processing Unit),5.1.1 CPU的功能,★ 指令控制 保證機(jī)器按程序規(guī)定的順序取出執(zhí)行,★ 操作控制 CPU產(chǎn)生每條指令所對應(yīng)的操作信號,并把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動作,★ 時間控制 對各種操作的實施時間進(jìn)行定時,★ 數(shù)據(jù)加工 對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理,5.1.2 CPU的基本組成,控制器完成對整個計算機(jī)系統(tǒng)操作的協(xié)調(diào)與指揮。 (1) 控制機(jī)器從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置; (2) 對指令進(jìn)行譯碼,并產(chǎn)生相應(yīng)的操作控制信號,送往相應(yīng)的部件,啟動規(guī)定的動作; (3) 指揮并控制CPU、內(nèi)存與輸入/輸出(I/O)設(shè)備之間數(shù)據(jù)流動的方向 運(yùn)算器是數(shù)據(jù)加工處理部件,所進(jìn)行的全部操作由控制器發(fā)出的控制信號指揮 (1)執(zhí)行所有的算術(shù)運(yùn)算; (2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測試,CPU的基本模型,5.1.3 CPU中的主要寄存器,數(shù)據(jù)緩沖寄存器(DR) 暫時存放由內(nèi)存讀出或?qū)懭氲闹噶罨驍?shù)據(jù)字 指令寄存器(IR) 保存當(dāng)前正在執(zhí)行的一條指令 程序計數(shù)器(PC) 確定下一條指令的地址 地址寄存器(AR) 保存當(dāng)前CPU所訪問的內(nèi)存單元的地址 累加寄存器(AC) 最常使用的一個通用寄存器 狀態(tài)條件寄存器(PSW) 保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼,5.1.4 操作控制器與時序產(chǎn)生器,操作控制器在各寄存器之間建立數(shù)據(jù)通路(傳送信息的通路) 操作控制器的功能: 就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制 硬布線控制器 微程序控制器 時序產(chǎn)生器產(chǎn)生并發(fā)出計算機(jī)所需要的時序控制信號,5.2 指令周期,—讀取指令 指令地址送入主存地址寄存器 讀主存,讀出內(nèi)容送入指定的寄存器 —分析指令 —按指令規(guī)定內(nèi)容執(zhí)行指令 不同指令的操作步驟數(shù) 和具體操作內(nèi)容差異很大 —檢查有無中斷請求 若無,則轉(zhuǎn)入下一條指令的執(zhí)行過程,形成下一條指令地址,,,,,,,指令的執(zhí)行過程,5.2.1 指令周期的基本概念,指令周期 : CPU從內(nèi)存取出一條指令并執(zhí)行完這條指令的時間總和,CPU周期 : 又稱機(jī)器周期(總線周期),CPU訪問內(nèi)存所花的時間較長,因此用CPU從內(nèi)存讀取一條指令字的所需的最短時間來定義,時鐘周期 : 通常稱為節(jié)拍脈沖或T周期。一個CPU周期包含若干個時鐘周期T,相互關(guān)系: 1個指令周期 = 若干個CPU周期 1個CPU周期 = 若干T周期,取指時間+執(zhí)行指令時間,指令周期 CPU周期 時鐘周期,020 CLA ;累加器清0 021 ADD 30 ;(AC)+(30)→AC 022 STA 40 ;(AC)→(40) 023 NOP ; 空操作 024 JMP 21 ; 21 → PC … 030 000 006 ; 數(shù)據(jù) … 040 存和數(shù) ; 數(shù)據(jù),5條典型指令構(gòu)成的簡單程序,5.2.2 CLA指令的指令周期,取出CLA指令,,,,,,,,,,,,,,,,,算術(shù)邏輯單元,狀態(tài)條件寄存器,程序計數(shù)器PC,地址寄存器AR,地址總線ABUS,數(shù)據(jù)總線DBUS,累加器AC,緩沖寄存器DR,CPU,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ALU,指令寄存器IR,指令譯碼器,操作控制器 時序產(chǎn)生器,時鐘,狀態(tài)反饋,取指控制,執(zhí)行控制,c,c,c,c,+1,000 020,,,,,,,,,,20,21,22,23,24,,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,,000 020,,,,,,,,,,CLA,,CLA,,000 021,,,,,,,,,,,,,,,,,,算術(shù)邏輯單元,狀態(tài)條件寄存器,程序計數(shù)器PC,地址寄存器AR,地址總線ABUS,數(shù)據(jù)總線DBUS,累加器AC,緩沖寄存器DR,CPU,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ALU,指令寄存器IR,指令譯碼器,操作控制器 時序產(chǎn)生器,時鐘,狀態(tài)反饋,取指控制,執(zhí)行控制,c,c,c,c,+1,,,,,,,,,,20,21,22,23,24,,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,,000 020,,,,,,,,,,CLA,,CLA,,000 021,,,,,,000 000,執(zhí)行CLA指令,5.2.3 ADD指令的指令周期,,,,,,,,,,,,,,,,,算術(shù)邏輯單元,狀態(tài)條件寄存器,程序計數(shù)器PC,地址寄存器AR,地址總線ABUS,數(shù)據(jù)總線DBUS,累加器AC,緩沖寄存器DR,CPU,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ALU,指令寄存器IR,指令譯碼器,操作控制器 時序產(chǎn)生器,時鐘,狀態(tài)反饋,取指控制,執(zhí)行控制,c,c,c,c,+1,,,,,,,,,,20,21,22,23,24,,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,,000 021,,,,,,,,,,ADD,,ADD 30,,000 021,,000 022,,,,,,,,000 030,,,,,,,,,,000 006,,,,0+6=6,,000 006,,,,,取出并執(zhí)行ADD指令,5.2.4 STA指令的指令周期,,,,,,,,,,,,,,,,,算術(shù)邏輯單元,狀態(tài)條件寄存器,程序計數(shù)器PC,地址寄存器AR,地址總線ABUS,數(shù)據(jù)總線DBUS,累加器AC,緩沖寄存器DR,CPU,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ALU,指令寄存器IR,指令譯碼器,操作控制器 時序產(chǎn)生器,時鐘,狀態(tài)反饋,取指控制,執(zhí)行控制,c,c,c,c,+1,,,,,,,,,,20,21,22,23,24,,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,,000 022,,,,,,,,,STA,,STA 40,,000 022,,000 023,,,,,,,,000 040,,,,,,,,,000 006,000 006,,000 006,取出并執(zhí)行STA指令,,5.2.5 NOP指令和JMP指令的指令周期,,,,,,,,,,,,,,,,,算術(shù)邏輯單元,狀態(tài)條件寄存器,程序計數(shù)器PC,地址寄存器AR,地址總線ABUS,數(shù)據(jù)總線DBUS,累加器AC,緩沖寄存器DR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ALU,指令寄存器IR,指令譯碼器,操作控制器 時序產(chǎn)生器,時鐘,狀態(tài)反饋,取指控制,執(zhí)行控制,c,c,c,c,+1,,,,,,,,,,20,21,22,23,24,,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,,000 024,,,,,,,,,JMP 21,,JMP 21,,000 024,,,,,,000 021,,000 006,,000 006,,,000 025,,000 021,,,取出并執(zhí)行JMP指令,5.3 時序產(chǎn)生器和控制方式,用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU是怎樣識別出它們是數(shù)據(jù)還是指令呢?,從時間上來說: 取指令事件發(fā)生在指令周期的第一個CPU周期中,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個CPU周期中,即發(fā)生在“執(zhí)行指令”階段。,從空間上來說: 如果取出的代碼是指令,那么一定經(jīng)DR送往指令寄存器IR,如果取出的代碼是數(shù)據(jù),那么一定送往運(yùn)算器。,時間控制對計算機(jī)來說是非常重要的!,[思考],5.3.1 時序信號的作用和體制,計算機(jī)的協(xié)調(diào)動作需要時間標(biāo)志,而且需要采用多級時序體制。而時間標(biāo)志則用時序信號來體現(xiàn)。 硬布線控制器中,時序信號往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級體制。 主狀態(tài)周期(指令周期):包含若干個節(jié)拍周期,可以用一個觸發(fā)器的狀態(tài)持續(xù)時間來表示 節(jié)拍電位(機(jī)器周期):表示一個CPU 周期的時間,包含若干個節(jié)拍脈沖 節(jié)拍脈沖(時鐘周期):表示較小的時間單位 微程序控制器中,時序信號則一般采用節(jié)拍電位-節(jié)拍脈沖二級體制。,,,,,,,,,,,,節(jié)拍脈沖,節(jié)拍電位1,主狀態(tài)周期,,,,,,節(jié)拍電位2,主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖,數(shù)據(jù)準(zhǔn)備好后,以電位的方式送觸發(fā)器 控制信號來到后,用一個脈沖信號把數(shù)據(jù)裝入觸發(fā)器,數(shù)據(jù):電位,控制信號:脈沖,節(jié)拍電位-節(jié)拍脈沖,,,,,,,,,,,,,,,,,,,,,,,,,IORQ MREQ RD WE T1 T2 T3 T4,IORQ MREQ RD WE T1 T2 T3 T4,,,MERQ’,IORQ’,,,RD’,WR’,,Φ,提供頻率穩(wěn)定且電平匹配的方波時鐘脈沖信號 由石英晶體振蕩器組成,產(chǎn)生一組有序的間隔相等或不等的脈沖序列,,,啟動,停機(jī),5.3.2 時序信號產(chǎn)生器,啟停控制邏輯,節(jié)拍脈沖和讀寫時序譯碼邏輯,環(huán)形脈沖發(fā)生器,時鐘脈沖源,時序產(chǎn)生器 (1/4),一、 概念 1、時序部件:計算機(jī)的機(jī)內(nèi)時鐘。它用其產(chǎn)生的周期狀態(tài),節(jié)拍電位及時標(biāo)脈沖去對指令周期進(jìn)行時間劃分,刻度和標(biāo)定。 2、指令周期:在計算機(jī)中從指令的讀取到指令的執(zhí)行完成,執(zhí)行一條指令所需要的時間,稱為指令周期。 指令周期通常由若干個CPU周期來表示,CPU周期也稱為機(jī)器周期。由于CPU內(nèi)部的操作速度較快,而CPU訪問一次內(nèi)存所花的時間較長,通常用存儲周期為基礎(chǔ)來規(guī)定CPU周期。,時序產(chǎn)生器 (2/4),二、3級時序信號 1、周期 (1)在一個控制階段內(nèi)均持續(xù)起作用的信號; (2)通常用周期狀態(tài)寄存器來標(biāo)志和指明某某周期控制; (3)指令周期可分為取指周期、分析周期、執(zhí)行周期。 2、節(jié)拍 (1)把一個機(jī)器周期分成若干個相等的時間段,每一個時間段對應(yīng)一個電位信號,稱節(jié)拍電位; (2)一般都以能保證ALU進(jìn)行一次運(yùn)算操作作為一拍電位的時間寬度。 3、時標(biāo)工作脈沖 (1) 及時改變標(biāo)志狀態(tài); (2) 時標(biāo)脈沖的寬度一般為節(jié)拍電位寬度的1/N,只要能保證所有的觸發(fā)器都能可靠地,穩(wěn)定地翻轉(zhuǎn)即可。,時序產(chǎn)生器 (3/4),三、3級時序信號的關(guān)系 1、一臺計算機(jī)機(jī)內(nèi)的控制信號一般均由若干個周期狀態(tài),若干個節(jié)拍電位及若干個時標(biāo)脈沖這樣3級控制時序信號定時完成。 2、3級控制時序信號的寬度均成正整數(shù)倍同步關(guān)系。周期狀態(tài)之間,節(jié)拍電位之間,時標(biāo)脈沖之間既不容許有重疊交叉,又不容許有空白間隙,應(yīng)該是能一個接一個地準(zhǔn)確連接,一個降落另一個升起而準(zhǔn)確切換的同步信號。,時序產(chǎn)生器 (4/4),,CPU的控制方式 (1/4),控制器的控制方式:形成控制不同微操作序列的時序控制信號的方法。 控制方式的分類: 同步控制方式 異步控制方式 同異步聯(lián)合控制方式,CPU的控制方式 (2/4),一、同步控制方式 1、含義:又稱為固定時序控制方式或無應(yīng)答控制方式。任何指令的執(zhí)行或指令中每個微操作的執(zhí)行都受事先安排好的時序信號的控制。 2、每個周期狀態(tài)中產(chǎn)生統(tǒng)一數(shù)目的節(jié)拍電位及時標(biāo)工作脈沖。 3、以最復(fù)雜指令的實現(xiàn)需要為基準(zhǔn)。 4、優(yōu)點(diǎn):設(shè)計簡單,操作控制容易實現(xiàn)。 缺點(diǎn):效率低。,CPU的控制方式 (3/4),二、異步控制方式 1、 含義:可變時序控制方式或應(yīng)答控制方式。執(zhí)行一條指令需要多少節(jié)拍,不作統(tǒng)一的規(guī)定,而是根據(jù)每條指令的具體情況而定,需要多少,控制器就產(chǎn)生多少時標(biāo)信號。 2、特點(diǎn):每一條指令執(zhí)行完畢后都必須向控制時序部件發(fā)回一個回答信號,控制器收到回答信號后,才開始下一條指令的執(zhí)行。 3、優(yōu)點(diǎn):指令的運(yùn)行效率高; 缺點(diǎn):控制線路比較復(fù)雜。 4、異步工作方式一般采用兩條定時控制線來實現(xiàn)。我們把這兩條線稱為“請求”線和“回答”線。當(dāng)系統(tǒng)中兩個部件A和B進(jìn)行數(shù)據(jù)交換時,若A發(fā)出“請求”信號,則必須有B的“回答”信號進(jìn)行應(yīng)答,這次操作才是有效的,否則無效。,CPU的控制方式 (4/4),三、同步,異步聯(lián)合控制方式 1、含義:同步控制和異步控制相結(jié)合的方式即聯(lián)合控制方式,區(qū)別對待不同指令。 2、一般的設(shè)計思想是,在功能部件內(nèi)部采用同步式,而在功能部件之間采用異步式,并且在硬件實現(xiàn)允許的情況下,盡可能多地采用異步控制。,5.3.3 控制方式,控制不同操作序列時序信號的方法,,,,,,,,,,,,1. 同步控制方式 已定的指令在執(zhí)行時所需的CPU周期(機(jī)器周期)數(shù)和時鐘周期數(shù)都固定不變。例如采用完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令 2. 異步控制方式 控制器發(fā)出某一操作控制信號后,等待執(zhí)行部件完成操作后發(fā)“回答”信號,再開始新的操作 3. 聯(lián)合控制方式 同步控制和異步控制相結(jié)合的方式,,,CPU周期 取指周期,CPU周期 取源數(shù),CPU周期 取目標(biāo)數(shù),,,,,CPU周期 執(zhí)行周期,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,P0,P1,P2,W0,W1,完全同步控制方式,W0,W1,…,,,,Wi,,,,,,,,,,,第N條指令,結(jié)束應(yīng)答,,W0,W1,…,,,,Wj,,,,,,,,,第N+1條指令,結(jié)束應(yīng)答,,,啟動 下一條,,,W0,W1,…,,,,Wk,,,,,,,,,第N+2條指令,結(jié)束應(yīng)答,,,異步控制方式,啟動 下一條,i、j、k不一定相等,一般采用兩條定時控制線:“請求”線和“回答”線,演示,5.4 微程序控制器,微程序控制器同硬布線控制器相比較,具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點(diǎn) 它利用軟件方法(微程序設(shè)計技術(shù))來設(shè)計硬件 微程序控制的基本思想就是把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里(控制存儲器CM)。當(dāng)機(jī)器運(yùn)行時,一條又一條地讀出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控制信號,是相應(yīng)部件執(zhí)行所規(guī)定的操作,微命令 → 指令系統(tǒng),處理器內(nèi)部可以分為:控制部件和執(zhí)行部件 微命令:控制部件向執(zhí)行部件發(fā)出的控制命令 微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作 (微操作在執(zhí)行部件中是最基本的操作) 微指令:實現(xiàn)一定操作功能的一組微命令 微程序:實現(xiàn)一條機(jī)器指令功能的微指令序列,,,,,,,,,,,,指令系統(tǒng)=所有指令,指令=微程序 微程序=若干微指令,微指令=一組微命令 微命令→微操作,機(jī)器指令與微指令,,,,,,,,,,,,,程序,機(jī)器指令1,,,機(jī)器指令2,機(jī)器指令i,機(jī)器指令n,……,………,微指令2,微指令1,微指令i,微指令n,,,……,……,,,,微程序,程序計數(shù)器PC,地址寄存器AR,緩沖寄存器DR,指令寄存器IR,微地址寄存器μAR,微指令寄存器μIR,主存儲器,控制存儲器CM,,,,,,,,,,,,,,,,,,,微命令,地址譯碼器,地址譯碼,機(jī)器指令級,微指令級,,,,,,,,,,,,,5.5 微程序設(shè)計技術(shù),1.靜態(tài)微程序設(shè)計 對應(yīng)于一臺計算機(jī)的機(jī)器指令只有一組微程序,而且這一組微程序設(shè)計好之后,一般無須改變而且也不好改變 2.動態(tài)微程序設(shè)計 采用EPROM作為控制存儲器,可以通過改變微指令和微程序來改變機(jī)器的指令系統(tǒng) 采用動態(tài)微程序設(shè)計,微指令和微程序可以根據(jù)需要加以改變,因而可在一臺機(jī)器上仿真其它機(jī)器指令系統(tǒng),5.6 硬布線控制器,硬布線控制器把控制部件看作為產(chǎn)生專門固定時序控制信號的邏輯電路(以使用最少元件和取得最高操作速度為設(shè)計目標(biāo)) 硬布線控制的優(yōu)點(diǎn):速度較快;缺點(diǎn):不容易修改添加新功能 微程序控制的優(yōu)點(diǎn):具有規(guī)整性、靈活性、可維護(hù)性等;缺點(diǎn):采用存儲程序原理,需要執(zhí)行多條微指令,速度較慢,5.7 傳統(tǒng)CPU,M6800CPU 是一個比較典型的單總線結(jié)構(gòu)的微處理器 M6800CPU是一種8位微處理器,采用單一的5V電源。時鐘脈沖采用兩相(φ1,φ2),主頻為1MHz,由外面加入CPU。 M6800的CPU主要包括8位的ALU,16位的程序計數(shù)器、16位的堆棧指示器和16位的變址寄存器,兩個8位的累加器和一個8位的狀態(tài)條件碼寄存器,一個8位的指令寄存器以及指令譯碼與控制部件(即操作控制器)。此外還有一個8位的數(shù)據(jù)緩沖寄存器和一個16位的地址緩沖寄存器。 ALU部件執(zhí)行算術(shù)運(yùn)算和邏輯操作,它們包括邏輯“與”、邏輯“或”、邏輯“異或”、求補(bǔ)、比較、加法、減法、十進(jìn)制調(diào)整等。 在M6800中,主存地址和外設(shè)地址是統(tǒng)一編址的,因此,在65536個地址中有一部分是為外圍設(shè)備使用的。,傳統(tǒng)CPU舉例,Intel 8088CPU Intel 8088是一種通用的準(zhǔn)16位微處理器,其內(nèi)部結(jié)構(gòu)為16位,與外部交換的數(shù)據(jù)為8位。它可以處理16位數(shù)據(jù)(具有16位運(yùn)算指令,包括乘除法指令),也可處理8位數(shù)據(jù)。它有20條地址線,直接尋址能力達(dá)到1M字節(jié)。 CPU 從功能上來說分成總線接口單元BIU和執(zhí)行單元EU兩大部分。 BIU負(fù)責(zé)與存儲器和外圍設(shè)備接口,即8088 CPU與存儲器和外圍設(shè)備之間的信息傳送,都是由BIU進(jìn)行的。 EU 部分負(fù)責(zé)指令的執(zhí)行。取指部分與執(zhí)行指令部分是獨(dú)立并行工作的,在一條指令的執(zhí)行過程中,可取出下一條(或多條)指令,在指令流隊列寄存器中排隊。在一條指令執(zhí)行完以后就可以立即執(zhí)行下一條指令,減少了CPU為取指令而等待的時間,提高了系統(tǒng)的運(yùn)行速度。,傳統(tǒng)CPU舉例,IBM 370CPU 32位CPU ALU部件按功能不同分為如下三個子部件:(1)定點(diǎn)運(yùn)算,包括整數(shù)計算和有效地址的計算;(2)浮點(diǎn)運(yùn)算;(3)可變長運(yùn)算,包括十進(jìn)制算術(shù)運(yùn)算和字符串操作。 為了存放地址和數(shù)據(jù),使用了兩組獨(dú)立的可編址寄存器,16個通用寄存器用來存放操作數(shù)和運(yùn)算結(jié)果,且可用作變址寄存器。4個浮點(diǎn)寄存器用于浮點(diǎn)運(yùn)算。數(shù)據(jù)寄存器DR、地址寄存器AR、指令寄存器IR是標(biāo)準(zhǔn)化的。 Intel 80486CPU 32位CPU 通過采用流水技術(shù),以及微程序控制和硬布線邏輯控制相結(jié)合的方式,進(jìn)一步縮短可變長指令的譯碼時間,達(dá)到基本指令可以在一個時鐘周期內(nèi)完成。,傳統(tǒng)CPU舉例,486芯片內(nèi)部包含一個8KB的數(shù)據(jù)和指令混合性cache,為頻繁訪問的指令和數(shù)據(jù)提供快速的內(nèi)部存儲,從而使系統(tǒng)總線有更多的時間用于其他控制。 486芯片內(nèi)部包含了增強(qiáng)性80387協(xié)處理器,稱為浮點(diǎn)運(yùn)算部件(FPU)。由于FPU功能擴(kuò)充,且放在CPU內(nèi)部,使引線縮短,故速度比80387提高了3—5倍。 486 CPU的內(nèi)部數(shù)據(jù)總線寬度為64位,這也是它縮短指令周期的一個原因。而外部數(shù)據(jù)總線的寬度也可以自動轉(zhuǎn)換。 地址信號線擴(kuò)充到32位,可以處理4GB(232字節(jié))的物理存儲空間。如果利用虛擬存儲器,其存儲空間達(dá)64TB(246字節(jié))。,5.8 流水CPU,洗衣房的流水作業(yè) 三個階段: 1. 水洗(30) 2. 烘干(40) 3. 熨燙(20),演示,5.8.1 并行處理技術(shù),并行性(Parallelism): 在同一時刻或是同一時間間隔內(nèi)完成兩種或兩種以上性質(zhì)相同或不相同的工作 同時性(Simultaneity):同一時刻發(fā)生的并行性 并發(fā)性(Concurrency):同一個時間間隔內(nèi)發(fā)生的并行性 并行性的等級 指令內(nèi)部并行:微操作之間 指令級并行(ILP:Instruction Level Parallel) 線程級并行(TLP:Thread Level Parallel ) 程序級并行 系統(tǒng)級并行:分布式系統(tǒng)、多機(jī)系統(tǒng)、機(jī)群系統(tǒng),提高并行性的技術(shù)途徑,時間重疊(Time-interleaving)=時間并行 多個過程在時間上相互錯開,輪流重疊地使用同一套硬件設(shè)備的各個部分 資源重復(fù)(Resource-replication)=空間并行 通過重復(fù)設(shè)置資源(尤其是硬件資源),提高性能 資源共享(Resource-sharing) 使多個任務(wù)按一定時間順序輪流使用同一套硬件設(shè)備 單機(jī)系統(tǒng)中并行性的發(fā)展→9.1.3 指令流水線,部件冗余,分時系統(tǒng) 多機(jī)系統(tǒng)中并行性的發(fā)展→9.1.4 多機(jī)系統(tǒng) 耦合度:松散耦合、緊密耦合,,5.8.2 流水CPU的結(jié)構(gòu),指令流水線 IF(Instruction Fetch) 取指令階段 ID(Instruction Decode) 指令譯碼階段 EX(Execute) 執(zhí)行運(yùn)算階段 MEM(Memory Access) 存儲器訪問階段 WB(Write Back) 寫回結(jié)果階段,WB,流水線的時空圖,流水線技術(shù):把一個重復(fù)的過程分解為若干個子過程,每個子程序可以與其他子過程同時進(jìn)行 描述流水線的工作,最常用的方法是時間-空間圖(時空圖) 橫坐標(biāo):表示時間,即各個任務(wù)在流水線中所經(jīng)過的時間 縱坐標(biāo):表示空間,即流水線的各個子過程,也稱為級、段、流水線深度(Stage),非流水計算機(jī)的時空圖,每4個機(jī)器周期才有一個輸出結(jié)果,流水計算機(jī)的時空圖,每個機(jī)器周期可以輸出一個結(jié)果,演示,流水線的特點(diǎn),流水線實際上是把一個功能部件分解成多個獨(dú)立的子功能部件(一個任務(wù)也就分成了幾個子任務(wù),每個子任務(wù)由一個子功能部件完成),并依靠多個子功能部件并行工作來縮短所有任務(wù)的執(zhí)行時間 流水線有助于提高整個程序(所有任務(wù))的吞吐率,但并沒有減少每個指令(任務(wù))的執(zhí)行時間 流水線各個功能段所需時間應(yīng)盡量相等。否則,時間長的功能段將成為流水線的“瓶頸”,會造成流水線的“阻塞”(Stall) 流水線開始需要“通過時間” (Fill)和最后需要“排空時間”(Drain)。流水線只有處理連續(xù)不斷的任務(wù)才能發(fā)揮其效率,5.8.3 流水線中的主要問題,流水線中存在一些相關(guān)(沖突、冒險Hazard,相關(guān)、依賴Dependence,競爭Competition)的情況,它使得下一條指令無法在設(shè)計的時鐘周期內(nèi)執(zhí)行。這些相關(guān)將降低流水線性能 主要有三種類型的相關(guān)(沖突) 結(jié)構(gòu)相關(guān)(資源沖突):當(dāng)指令重疊執(zhí)行過程中,硬件資源滿足不了指令重疊執(zhí)行的要求 數(shù)據(jù)相關(guān)(數(shù)據(jù)沖突) :在同時執(zhí)行的多條指令中,一條指令依賴前一條指令的執(zhí)行結(jié)果(數(shù)據(jù))卻無法得到 控制相關(guān)(控制沖突):流水線遇到分支指令或其他改變PC值的指令,1. 資源相關(guān),資源相關(guān)是指多條指令進(jìn)入流水線后,在同一機(jī)器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生的沖突 例:假定一條指令流水線由五段組成,且僅有IF過程和MEM過程需要訪問存儲器,I1與I4兩條指令在時鐘4爭用存儲器資源的相關(guān)沖突,2. 數(shù)據(jù)相關(guān),ADD R1, R2, R3 ; R2+R3→R1 SUB R4, R1, R5 ; R1-R5→R4 AND R6, R1, R7 ; R1∧R7→R0,指令發(fā)生數(shù)據(jù)相關(guān)沖突,3. 控制相關(guān),控制相關(guān)沖突由轉(zhuǎn)移指令(分支指令)引起 執(zhí)行轉(zhuǎn)移指令時,依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果 可能為順序取下條指令 也可能轉(zhuǎn)移到新的目標(biāo)地址取指令 地址不定,流水線需要暫停、發(fā)生斷流 轉(zhuǎn)移指令主要有: 無條件轉(zhuǎn)移指令:跳轉(zhuǎn)、過程調(diào)用和返回 條件分支指令,【例5】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀(RAW)相關(guān);讀后寫(WAR)相關(guān);寫后寫(WAW)相關(guān) ⑴ I1: ADD R1, R2, R3 ;R2+R3→R1 I2: SUB R4, R1, R5 ;R1-R5→R4 ⑵ I3: STA M(x), R3 ;R3→M(x) I4: ADD R3, R4, R5 ;R4+R5→R3 ⑶ I5: MUL R3, R1, R2 ;R1R2→R3 I6: ADD R3, R4, R5 ;R4+R5→R3,RAW,WAR,WAW,指令動態(tài)調(diào)度策略,簡單指令流水線技術(shù)的一個主要局限 指令順序發(fā)射(in-order issue)=按序發(fā)射 指令順序執(zhí)行(in-order execution) 如果一條指令在流水線中,與之相關(guān)的指令及其后面的指令都不能進(jìn)行處理 改進(jìn)指令流水線,只要指令操作數(shù)就緒就執(zhí)行, 指令亂序執(zhí)行(out-of-order execution) 指令亂序結(jié)束(out-of-order completion),MUL R0, R2, R4 ADD R6, R0, R8 SUB R7, R3, R1,多指令流出技術(shù),進(jìn)一步改進(jìn)指令流水線,實現(xiàn)一個時鐘周期發(fā)射(流出issue)多條指令 超標(biāo)量(Superscalar)處理器:每個時鐘周期發(fā)射多條指令(1~8) 超長指令字(VLIW: Very Long Instruction Word):通過編譯器調(diào)度無關(guān)的多條指令(4~16)形成一條長指令,每個時鐘周期發(fā)射一條長指令 超級流水線(Super pipelining):將每個功能部件進(jìn)一步流水化,使得一個功能部件在一個時鐘周期中可以處理多條指令(可以簡單地理解為很長的流水線),多發(fā)射流水線,80486的整數(shù)指令流水線,5級指令流水線,每級1個時鐘周期 ? PF??指令預(yù)?。╬refetch) ? D1??指令譯碼1(decode stage 1) 對所有操作碼和尋址方式信息進(jìn)行譯碼 ? D2??指令譯碼2(decode stage 2) 將操作碼擴(kuò)展為ALU的控制信號,存儲器地址計算 ?EX??指令執(zhí)行(execute) 完成ALU操作和Cache存取 ?WB??回寫(write back) 更新在EX步驟得到的寄存器數(shù)據(jù)和狀態(tài)標(biāo)志,Pentium的超標(biāo)量流水線,類似80486的5級流水線,后3級可以在兩個流水線同時進(jìn)行 指令預(yù)取PF和指令譯碼D1步驟可以并行取出、譯碼2條簡單指令,然后分別發(fā)向U和V流水線 在滿足指令配對的條件下,Pentium可以每個時鐘周期執(zhí)行完2條指令,Pentium的超標(biāo)量結(jié)構(gòu),,Pentium III的動態(tài)執(zhí)行結(jié)構(gòu),5.9 RISC CPU,RISC的三個要素 (1)一個有限的簡單的指令集 (2)CPU配備大量的通用寄存器 (3)強(qiáng)調(diào)對指令流水線的優(yōu)化,5.9.1 RISC機(jī)器的特點(diǎn),⑴ 等長指令,典型長度是4個字節(jié)(32位) ⑵ 尋址方式少且簡單,一般為2~3種 ⑶ 只有取數(shù)指令和存數(shù)指令訪問存儲器 ⑷ 指令數(shù)目一般少于100種,指令格式一般少于4種 ⑸ 指令功能簡單,控制器多采用硬布線方式 ⑹ 指令的執(zhí)行時間為一個處理時鐘周期 ⑺ 整數(shù)寄存器的個數(shù)不少于32個 ⑻ 強(qiáng)調(diào)通用寄存器資源的優(yōu)化使用 ⑼ 支持指令流水并強(qiáng)調(diào)指令流水的優(yōu)化使用 ⑽ RlSC技術(shù)的編譯程序復(fù)雜,RISC與CISC的主要特征對比,,,,,,,,,,,,5.10 多媒體CPU,,,,,,,,,,,,5.10.1 多媒體技術(shù)的主要問題,,,,,,,,,,,媒體(media):傳遞信息的媒介 包括存儲信息的實體與傳遞信息的載體 多媒體(multimedia)技術(shù):計算機(jī)把各種不同的電子媒質(zhì)集成起來,統(tǒng)一進(jìn)行存儲、處理和傳輸 多媒體技術(shù):將多媒體信息,經(jīng)計算機(jī)設(shè)備獲取、編輯、存儲等處理后,以多媒體形式表現(xiàn)出來的技術(shù) 多媒體技術(shù)解決的主要問題 1.圖像與聲音的壓縮技術(shù) 2.適應(yīng)多媒體技術(shù)的軟件技術(shù) 3.計算機(jī)系統(tǒng)結(jié)構(gòu)方面的技術(shù),,計算機(jī)體系結(jié)構(gòu)的分類,根據(jù)指令流和數(shù)據(jù)流的并行情況,F(xiàn)lynn[1966]提出了對所有計算機(jī)進(jìn)行分類的簡單模型 單指令流、單數(shù)據(jù)流SISD:單處理器系統(tǒng) 單指令流、多數(shù)據(jù)流SIMD: 多媒體指令和向量計算機(jī) 多指令流、單數(shù)據(jù)流MISD:尚無商用 多指令流、多數(shù)據(jù)流MIMD: 每個處理器取用自己的指令并對自己的數(shù)據(jù)進(jìn)行操作。通常使用現(xiàn)有的微處理器實現(xiàn),SIMD stands for Single Instruction Multiple Data,SIMD指令,SIMD指令是能夠同時處理多個數(shù)據(jù)的指令,用于擴(kuò)展通用處理器對多媒體數(shù)據(jù)的處理能力 許多應(yīng)用需要多媒體處理能力 桌面應(yīng)用 3D 圖形,語音識別,視頻/音頻解碼 服務(wù)器 視頻/音頻編碼,數(shù)字圖書館和媒體挖掘,計算機(jī)動畫,3D建模和著色 嵌入系統(tǒng) 3D 圖形,視頻/音頻解碼編碼,圖像處理、信號處理,MMX數(shù)據(jù)類型,MMX (multimedia extensions),SSE/SSE2/SSE3數(shù)據(jù)類型,SSE(Streaming SIMD Extensions),SIMD指令-飽和運(yùn)算,a2+b2,a2+b2,a1+b1,a1+b1,a0+b0,a0+b0,SIMD指令-乘加運(yùn)算,SIMD指令-比較指令,SIMD指令-類型轉(zhuǎn)換,SIMD指令-操作模式,SSE指令 128位操作模式,SSE指令 32位操作模式,5.11 CPU性能評價,CPU性能與3個要素有關(guān) 時鐘頻率f 每條指令需要的時鐘周期數(shù)CPI 指令條數(shù)IN 時鐘周期長度t=1/f CPU時鐘周期數(shù)Nc=CPIIN,5.11.1 CPU性能公式,補(bǔ)充例題,假設(shè)在一般程序中浮點(diǎn)開平方操作FPSQR所占的比例為2%,它的CPI為100;其他浮點(diǎn)操作FP所占的比例為23%,它的CPI=4.0;其余75%指令的CPI=1.33,計算該處理機(jī)的CPI。如果FPSQR操作的CPI也為4.0,重新計算CPI。 解答: CPI1=1002%+423%+1.3375%=3.92 CPI2=425%+1.3375%=2.00,〔例題7〕,有兩種條件分支指令的設(shè)計方案: ① CPUA:比較指令設(shè)置條件碼,條件分支指令測試條件碼進(jìn)行分支 ② CPUB:條件分支指令包括比較、并進(jìn)行分支 兩種方案中,條件分支指令占用2個時鐘周期、其他指令占用1個時鐘周期 CPUA的條件分支指令占20%,比較指令也占20% CPUB的時鐘周期比CPUA慢25% 哪個CPU更快?,例題7解答,CPIA=0.22+0.81=1.2 CPU時間A=INA1.2tA CPUB沒有獨(dú)立的比較指令:INB= 0.8INA CPUB條件分支指令所占比例: 20%80%=25%=0.25 CPIB=0.252+0.751=1.25 CPU時間B=INB CPIBtB =0.8INA1.25tB =INAtB tB=tA+0.25tA = 1.25tA CPU時間B=INA1.25tA > CPU時間A,5.11.2 性能評價標(biāo)準(zhǔn),最初: 執(zhí)行單項操作的時間,例如:加法操作時間 改進(jìn)為: 平均指令執(zhí)行時間= 進(jìn)一步成為容易理解的: 每秒百萬條指令(Million Instructions Per Second) 同時出現(xiàn): MFLOPS(每秒百萬浮點(diǎn)操作) 最終形成: 測試程序(Benchmarks),測試程序,實際應(yīng)用程序 修正的(或者腳本化)應(yīng)用程序 核心測試程序 Livermore Loops和Linpack 小型測試程序 Quicksort,Puzzle和Sieve 合成測試程序 Whetstone和Dhrystone,基準(zhǔn)測試程序組件,SPEC (Standard Performance Evaluation Corporation) http://www.spec.org SPEC89→SPEC92→SPEC95→SPEC2000 11個整數(shù)基準(zhǔn)程序(CINT2000) 14個浮點(diǎn)基準(zhǔn)程序(CFP2000) WinBench 99 and Winstone 2004 WinBench 99:measures the performance of a PCs graphics, disk, processor, and video subsystems Business Winstone 2004:application-based benchmark that measures a PCs overall performance,CPU時間與CPU性能,衡量性能最可靠的標(biāo)準(zhǔn):真實程序的執(zhí)行時間 真實程序的執(zhí)行時間 =CPU時間+I(xiàn)/O操作等時間 CPU時間 =用戶CPU時間+系統(tǒng)CPU時間 CPU性能對應(yīng)用戶CPU時間 CPU時間還可細(xì)分為用戶CPU時間及系統(tǒng)CPU時間,前者表示用戶程序所花費(fèi)的CPU時間,后者表示用戶程序運(yùn)行期間操作系統(tǒng)花費(fèi)的CPU時間。,〔例題8〕,一臺40MHz處理器執(zhí)行標(biāo)準(zhǔn)測試程序 求:CPI,MIPS和執(zhí)行時間T,例題8解答,CPI=(450001+320002+150002+80002)(45000+32000+15000+8000) =1.55(時鐘周期/指令) MIPS=f/(CPI106)=40106/(1.55106) =25.81 (百萬條指令/秒) T=(450001+320002+150002+80002)(40106) = 3.8710-3(秒),第5章習(xí)題,1. 在CPU基本模型中,主要有哪些寄存器? 2. 區(qū)別如下兩組概念 ⑴ 指令周期、CPU周期、時鐘周期 ⑵ 微命令、微指令、指令 3. 什么是計算機(jī)體系結(jié)構(gòu)中的并行性,它包括哪兩種含義?有哪些提高并行性的基本技術(shù)方法? 4. 什么是指令流水線技術(shù),它有什么特點(diǎn)?主要有哪些問題影響流水線效率? 5. SIMD,MMX和SSE各表示什么含義? 6. 說明CPI和MIPS的含義,給出它們的計算公式。,第5章教學(xué)要求-1,熟悉CPU的基本模型和主要寄存器的作用 理解指令周期、CPU周期(機(jī)器周期、總線周期)和時鐘周期(T周期)的概念和區(qū)別 了解CLA、ADD、STA和JMP指令在CPU基本模型的執(zhí)行過程 理解微程序控制器和硬布線控制器的實現(xiàn)特點(diǎn),了解微命令、微操作、微指令和微程序的概念 熟悉并行性的概念和提高并行性的技術(shù)途徑 掌握指令流水線的思想,理解流水CPU的時空圖 掌握資源相關(guān)、數(shù)據(jù)相關(guān)和控制相關(guān)的概念,第5章教學(xué)要求-2,掌握SISD、SIMD、MIMD的分類概念,理解多媒體指令的并行處理特點(diǎn) 掌握CPU性能公式以及CPI、MIPS的計算方法,第五章 小結(jié),,? 本章小結(jié),CPU是計算機(jī)的中央處理部件,具有指令控制、操作控制、時間控制、數(shù)據(jù)加工等基本功能。 早期的CPU由運(yùn)算器和控制器兩大部分組成。隨著高密度集成電路技術(shù)的發(fā)展,當(dāng)今的CPU芯片變成運(yùn)算器、cache和控制器三大部分,其中還包括浮點(diǎn)運(yùn)算器、存儲管理部件等。CPU中至少要有如下六類寄存器:指令寄存器、程序計數(shù)器、地址寄存器、緩沖寄存器、通用寄存器、狀態(tài)條件寄存器。 CPU從存儲器取出一條指令并執(zhí)行這條指令的時間和稱為指令周期。由于各種指令的操作功能不同,各種指令的指令周期是不盡相同的。劃分指令周期,是設(shè)計操作控制器的重要依據(jù)。 時序信號產(chǎn)生器提供CPU周期(也稱機(jī)器周期)所需的時序信號。操作控制器利用這些時序信號進(jìn)行定時,有條不紊地取出一條指令并執(zhí)行這條指令。時序部件是計算機(jī)的機(jī)內(nèi)時鐘,它用其產(chǎn)生的周期狀態(tài)、節(jié)拍電位及時標(biāo)脈沖去對指令周期進(jìn)行時間劃分,刻度和標(biāo)定。,? 本章小結(jié),微程序設(shè)計技術(shù)是利用軟件方法設(shè)計操作控制器的一門技術(shù),具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點(diǎn),因而在計算機(jī)設(shè)計中得到了廣泛應(yīng)用,并取代了早期采用的硬布線控制器設(shè)計技術(shù)。但是隨著VLSI技術(shù)的發(fā)展和對機(jī)器速度的要求,硬布線邏輯設(shè)計思想又得到了重視。 硬布線控制器的基本思想是:某一微操作控制信號是指令操作碼譯碼輸出、時序信號和狀態(tài)條件信號的邏輯函數(shù),即用布爾代數(shù)寫出邏輯表達(dá)式,然后用門電路,觸發(fā)器等器件實現(xiàn)。 不論微型機(jī)還是巨型機(jī),并行處理技術(shù)已成為計算機(jī)技術(shù)發(fā)展的主流。并行處理技術(shù)可貫穿于信息加工的各個步驟和階段。概括起來,主要有三種形式:(1)時間并行,(2)空間并行,(3)時間并行+空間并行。 流水CPU是以時間并行性為原理構(gòu)造的處理器,是一種非常經(jīng)濟(jì)而實用的并行技術(shù)。目前的高性能微處理器幾乎無一例外地使用了流水技術(shù)。流水中的主要問題是資源相關(guān)、數(shù)據(jù)相關(guān)和控制相關(guān),為此需要采取相應(yīng)的技術(shù)對策,才能保證流水線暢通而不斷流。,? 本章小結(jié),RISC CPU是繼承CISC的成功技術(shù),并在克服CISC機(jī)器缺點(diǎn)的基礎(chǔ)上發(fā)展起來的。RISC機(jī)器的三個基本要素是:(1)一個有限的簡單指令集,(2)CPU配備大量的通用寄存器,(3)強(qiáng)調(diào)的指令流水線的優(yōu)化。注意,RISC機(jī)器一定是流水CPU,但流水CPU不一定是RISC機(jī)器。如奔騰CPU是流水CPU,但奔騰機(jī)是CISC機(jī)器。 多媒體CPU是帶有MMX技術(shù)的處理器。MMX是一種多媒體擴(kuò)展結(jié)構(gòu)技術(shù),特別適合于圖像數(shù)據(jù)處理,極大地提高了計算機(jī)在多媒體和通信應(yīng)用方面的功能。多媒體CPU以新一代奔騰CPU為代表。,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計算機(jī) 組成 原理 白中英 第五 中央處理器
鏈接地址:http://www.820124.com/p-2883016.html