




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中央處理部(CPU)5.1計算機的硬件系統5.2控制器的組成5.3微程序控制計算機的基本工作原理5.4微程序設計技術5.5控制器的控制方式5.6流水線工作原理第
5章
CPU的組成原理;
掌握在計算機運行過程中各個硬件部件的作用;了解CPU中各個部件的操作過程及其實現方法的原理。掌握程序是如何執行的;計算機怎樣實現各條指令的功能;又如何保證逐條指令的連續執行過程。教學要求控制器的作用、組成;指令的執行過程;微程序控制器的工作原理、組成、產生控制信號的方法;微程序控制器的基本概念、與機器指令級的比較。教學重點難點第5.1節計算機的硬件系統計算機組成:運算器、控制器、存儲器、輸入設備和輸出設備五大部件。中央處理部件:微處理器將運算器與控制器集成在一個芯片上,通常稱之為CPU。控制器的作用:是協調并控制計算機的各個部件執行程序的指令序列。信息處理過程:首先將數據和程序輸入計算存儲器中,然后從“程序入口”開始執行該程序,得到所需的結果后,結束運行.一、基本理論機器加電時:RAM和寄存器都處于隨機狀態,可能會執行一些不該執行的操作,為保證正常工作,機器利用加電產生一個RESET信號使計算機處于初始狀態,并從ROM的程序入口開始運行;先對各部件進行測試,然而自舉操作系統,等候操作員的命令機器加電方法:可以利用RESET信號將某值置于程序計數器PC中,此即為開機后執行的第一條指令的地址,也就是固定程序入口地址;也可以直接在指令寄存器中置入一條無條件轉移指令(轉移到固定程序入口),然后開始執行程序。計算機的工作過程:
加電→產生reset信號→執行程序→停機→停電
程序執行過程:計算機從程序入口地址開始執行該程序的指令序列,是不斷地取指令、分析指令和執行指令這樣一個周而復始的過程.實現原理:當前正在執行的指令地址是放在控制器的程序計數器(PC)中的。取指令→分析指令→執行指令2.Intel80386結構及外部連線80386包括:指令部件:完成取指及指令譯碼功能;執行部件:包括ALU、乘法部件、寄存器等;存儲管理部件:用來確定存儲器地址80386微處理器芯片通過引出端與計算機的其它部件連接。各引出端的功能(圖2)1.Intel80386微機系統以Intel80386微處理器等器件組成的微機系統為例,80386是32位微處理器。(圖1)圖1Intel80386微機系統框圖是系統中主要的處理、控制部件機器加電時產生reset信號,計算機各個部件處于初始狀態。執行的第1條指令的地址為0FFFFFFF0H,為一條轉移指令,轉到引導程序入口。CLK是CLK2的二分頻時鐘信號80386通過總線與存儲器和I/O設備交換信息。對總線的使用需要總線控制邏輯來管理。快速設備通過DMA方式與主存交換信息。慢速設備通過中斷方式與主存交換信息。CPU與主存交換信息時,由于速度不匹配,CPU需要等待,ready信號是由存儲器發出的,表明CPU需要的讀寫命令已完成。80287/387協處理器與80386并行工作,擴充了80386的指令系統,主要完成浮點運算和高精度整數運算,80386自動將取得的協處理器指令傳給80387。ADS:地址狀態信號,表示地址線、總線周期定義信號已有效,開始總線周期進行讀寫。NA:本次讀/寫操作雖未完成,允許送下一周期的地址和讀寫信息,使兩次操作重疊。ready:當存儲器或I/O設備完成操作后發出的信號。386接到此信號后,結束本周期。BS16:表示被訪問的存儲器或I/O設備的數據傳送寬度為16位。PEREQ:協處理器請求386在存儲器與協處理器之間傳送一個數據。BUSY:協處理器忙,不能接收另一個指令。ERROR:協處理器出現了一個錯誤主設備:占用總線的設備。從設備:與主設備通信的設備。I/O設備作主設備時,發出hold信號申請。當CPU同意總線請求,可以釋放總線,發hlda。其余引出端均呈高阻狀態。INTR為中斷請求信號,NMI不可屏蔽中斷請求信號,RESET為總清或復位信號在80386與存儲器或I/O設備之間傳送(讀寫)一個數據的時間稱為總線周期。W/R#區分是寫周期(當W/R#為1時)還是讀周期(當W/R#為0時)D/C#表示是數據周期還是控制(取指)周期M/IO#表示是訪問存儲器還是I/O設備LOCK#為總線鎖定信號,當它為低電位時,不允許芯片外部的信號打斷當前總線周期的操作,即CPU不允許讓出總線控制權。圖2第5.2節控制器的組成5.2.1控制器的功能1.取指令根據程序入口地址取出第一條指令2.分析指令(或叫解釋指令,指令譯碼)產生相應的操作形成操作數的地址3.執行指令操作命令和操作數地址形成操作控制信號序列。通過CPU或I/O設備執行,還包括對運算結果的處理和下條指令地址的形成。計算機不斷重復順序執行上述三種基本操作直到遇到停機指令或外來的干預為止。4.控制程序和數據的輸入和輸出5.對異常情況和某些請求進行處理:即異常和中斷的處理。“中斷請求”信號。待CPU執行完當前指令后,響應該請求,中止當前執行的程序,轉去執行中斷程序。當處理完畢后,再返回原程序繼續運行下去。DMA請求信號。等CPU完成當前機器周期操作后,暫停工作,讓出總線給I/O設備,在完成I/O設備與存儲器之間的傳送數據操作后,CPU從暫時中止的機器周期開始繼續執行指令。指令周期狀態圖指令的執行過程:取指令,取操作數,操作數運算,存結果操作數,查詢有無中斷請求,中斷處理/不處理,如果不是字符串指令或向量指令則取下一條指令。5.2.2控制器的組成
1.程序計數器(PC):存放將要執行的下一條指令地址.2.指令寄存器(IR):存放當前正在執行的指令.
3.指令譯碼器或操作碼譯碼器:對操作碼進行譯碼,產生相應的控制信號.4.脈沖源及啟停線路:產生時鐘脈沖,是機器周期和工作脈沖的基準信號,啟停線路保證可靠地送出或封鎖時鐘脈沖.5.時序控制信號形成部件:產生相應的時序控制信號,并根據反饋信號調整時序控制信號.
即指令地址寄存器。存放當前正在執行的指令地址或下一條指令地址。指令地址形成:
(PC)+1->PC。或:轉移指令修改其內容用以存放當前正在執行的指令對指令寄存器中的操作碼進行分析解釋,產生相應的控制信號。脈沖源產生一定頻率的脈沖信號作為整個機器的時鐘脈沖,是機器周期和工作脈沖的基準信號。根據當前正在執行的指令的需要,產生相應的時序控制信號返回指令執行返回微程序控制器5.2.3指令執行過程
1.組成控制器的基本電路
計算機中采用的電路,基本上分為兩種類型:一類是具有記憶功能的觸發器以及由它組成的寄存器、計數器和存儲單元等。一類是沒有記憶功能的門電路及由它組成的加法器、算術邏輯運算單元(ALU)和各種邏輯電路等。2.指令執行過程舉例(1)加法指令的執行過程指令格式:
rs,rd,rs1---為通用寄存器地址imm(或disp)---立即數(或位移量)功能:rd←
(rs)+((rs1)+disp)取指令計算地址取數運算送結果操作碼rs,rdrs1Imm(或disp)返回指令執行返回指令執行返回指令執行返回指令執行指令操作:①從M中取指送IR,OP譯碼,PC+1
PC→AB;W/R=0,M/IO=1;DB→IR,PC+1;
②計算操作數地址((rsl)+disP),將有效地址送AR
(rs1)→GR;(rs1)→ALU;disp→ALU;“+”;ALU→AR③取操作數((rsl)+disP):
AR→AB;W/R=0,M/IO=1;DB→DR;④做加法運算,結果送寄存器,設置標志:
(rs)→GR;(rs)→ALU;DR→ALU;“+”;rd→GR;ALU→rd,置狀態位。(2)條件轉移指令的執行過程指令功能:根據狀態位決定是否轉換。條件成立,轉移到本條指令所指定的地址,否則順序執行下一條指令。完成的操作:此處PC是指本條指令的地址,在上一機器周期已執行PC+1操作,因此對運算進行適當修正.本條指令只需要兩個機器周期;如轉移條件成立,在第二機器周期增加一個ALU→PC信號;如為相對轉移,則用PC→ALU信號取代加法指令第二周期中的(rs1)→ALU信號,其他信號與加法指令的前兩個機器周期中的信號相同.控制器的功能:就是按每條指令的要求產生所需的控制信號,系統設計師應提供完整的無二義性的指令系統說明書.返回
其他指令的控制信號也按同樣方法分析,根據每條指令的功能確定所需的機器周期數,并得出每個機器周期所需要的控制信號,最后將所有的控制信號進行綜合簡化。控制器的功能就是按每條指令的要求產生所需的控制信號。因此在設計控制器時要求系統設計師提供一個完整的無二義性的指令系統說明書。產生控制信號一般有微程序控制和硬布線控制兩種方法。第5.3節微程序控制計算機的微操作
完成指令功能的各種基本操作。微指令
由控制器發出的控制信號所執行的一組微操作。
【例如】加法指令的執行可分為:取指、計算地址、取操作數和加法運算四步,每一步都由一組微操作實現。微周期
執行一條微指令所需要的時間。微程序
微指令序列的集合。控制存儲器
存放控制信號和下一地址的存儲器。5.3.1微程序控制的基本概念控制存儲器:存放微程序的存儲器。控制存儲器可以用只讀存儲器實現。控制存儲器的字長比機器字長要長得多。聯系:執行一條機器指令實際上就是執行一段存放在控制存儲器中的微程序。5.3.2實現微程序控制的基本原理1.微程序控制信號的編號和意義返回指令執行返回控制信號【例】加法指令所需的控制信號它由四條微指令解釋執行,一條微指令中的所有控制信號是同時發出的。每條微指令所需的控制信號如下:
微指令最簡單的組成形式:是將每個控制信號用一個控制位來表示,當該位為“1”時,定義為有控制信號,當該位為“0”時,沒有控制信號。微程序指令的組織控制存儲器容量為4K字,則每條微指令還需要12位來表示下址。控制存儲器的容量取決于實現指令系統所需的微程序長度。加法指令的四條微指令編碼,每一小格表示一位(二進制),空格表示0,第24位到第35位為下址。典型運算的微程序流程圖取指
PC+12.微程序控制器控制存儲器和微指令寄存器替代了時序控制信號形成部件.基本工作原理:指令譯碼部件可用只讀存儲器組成,將操作碼作為只讀存儲器的輸入地址,該單元的內容即為相應的微指令在控制存儲器中的地址。當指令取入IR中以后,根據操作碼進行譯碼,得到相應指令的第一條微指令的地址。根據控制存儲器中的地址從控制存儲器取出微指令,并將它存放在微指令寄存器中。控制字段各位的輸出通過連接線直接與受控制的門相連,于是就提供了在本節所提出的控制信號。3.微程序控制計算機的工作過程
機器加電后,RESET信號在PC內置入開機后執行的第一條指令的地址,同時在微指令寄存器內置入一條“取指”微指令,并將其他一些有關的狀態位或寄存器置成初始狀態。當電壓達到穩定值后,自啟動機器工作,產生節拍電位和時鐘脈沖.為保證機器正常工作,開機后的第一個機器周期信號必須完整,該周期的末尾,產生第一個工作脈沖CP。然后機器開始執行程序,不斷的取出指令,分析指令,執行指令。3.微程序控制計算機的工作過程實現各條指令的微程序是存放在微程序控制器中,當前的微指令從微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和數據的傳送,并進行相應的處理。當遇到停機指令或外來停機命令時,應該待當前這條指令執行完,至少在本機器周期結束時再停機.停機后重新啟動要保證機器繼續工作且不出任何錯誤。停機與停電停機時電壓仍正常,因此寄存器與存儲器仍保持信息不變,重新啟動后從程序停頓處繼續執行.停電后,寄存器與存儲器的內已消失,加電后RESET信號重新自舉操作系統.某些機器具有停電后自動再啟動功能.停電時,依靠后備電源將主存儲器內容,PC內容(斷點地址)基層單位器內容以及狀態字(例N,Z,V,C)等調入外存.當交流電源恢復正常時,具有自動再啟動功能的計算機自動將外存的內容調入主存,并從斷點繼續工作.第5.4節微程序設計技術5.4微程序設計技術5.4.1微指令的編譯法5.4.2微程序流的控制5.4.3微指令格式5.4.4微程序控制存儲器和動態微程序設計微程序設計應關心的三個問題:(1)如何縮短微指令字長;(2)如何減少微程序長度;(3)如何提高微程序的執行速度。
5.4.1微指令的編譯法
(編碼譯碼方法)--控制字段1.直接控制法微指令控制字段中的每一位代表一個微命令;設計微指令時,是否發出某個微命令,只要將控制字段中相應位置成“1”或“0”,這樣就可打開或關閉某個控制門.
缺點:
控制字段長,有三四百位控制存儲器容量要大
2.字段直接編譯法
基本概念微周期:一條微指令執行所需要的時間。相容性:同一時刻或同一機器周期內的微指令分在不同組內,以便實行并行操作。互斥性:如果有一組(若干個)微命令,在每次使用它們的微周期內,只有一個微命令起作用則這若干個微命令為互斥。
代價:在微指令寄存器的輸出端,為該字段增加一個譯碼器,該譯碼器的輸出即為原來的微命令。優點:縮短了微指令長度。把互斥的微命令編為一組(即每一組譯碼器輸出的微操作必須為互斥)對微命令編碼要留出一個代碼表示本段不發微命令;增設微命令譯碼器;字段長度n與所能表示的微命令數m的關系:
m=2n-1字段長度互斥微命令數2位2~33位4~74位8~15【例】當字段長度為3位時,最多只能表示7個互斥的微命令,通常代碼000表示不發微命令。3.字段間接編碼一個字段的某些微命令由另一個字段的某些微命令來解釋;字段A受字段B的控制(當A=000時,不產生控制命令)優點:進一步減少了指令長度。缺點:削弱微指令的并行控制能力,譯碼電路較復雜,譯碼時間長。控制字段下址字段5.4.2微程序流的控制現行微指令
當前正在執行的微指令現行微地址
現行微指令所在的控制存儲器單元的地址后繼微指令
現行微指令執行完畢后,下一條要執行的微指令后繼微地址
后繼微指令所在的控制存儲器單元的地址微程序流的控制
當前微指令執行完畢后,如何控制產生后繼微指令的微地址。1.產生后繼微指令地址的幾種方法
(1)以增量方式產生后繼微地址順序執行微指令時,后繼微地址由現行微地址加上一個增量(通常為1);非順序執行時,則要產生一個轉移微地址.機器加電后的微程序入口來自專門的硬件電路,控制實現取指令操作,然后由指令操作碼產生后繼微地址接下去,若順序執行,則現行微地址+1產生后繼微地址;
若遇到轉移類微指令則由μPC與形成轉移微地址的邏輯電路組合成后繼微地址.以增量方式產生后繼地址——順序執行微程序操作碼地址碼譯碼器控制地址寄存器(μPC)控制存儲器控制字段轉移條件后繼地址+1μPC+1微程序入口μLR以增量方式產生后繼地址
——轉移的控制操作碼地址碼譯碼器控制地址寄存器(μPC)控制存儲器控制字段轉移條件后繼地址微程序入口邏輯控制轉移地址μLR以增量方式產生后繼地址—
“計數器”方式的原理圖下址部分很短,只有兩位,起選擇作用,它選擇三個輸入源作為μPC的輸入:①(μPC)+1→μPC②轉移微地址③操作碼譯碼器的輸出.微程序入口是由專門的硬件產生的,不受下址字段控制。(2)增量與下址結合產生后繼地址微指令的下址字段分成兩部分:轉移控制字段BCF和轉移地址字段BAF;微程序要轉移,將BAF送μPC,否則順序執行下一條微指令(μPC+1)。這樣:后繼地址的形成就由轉移控制字段BCF控制,并由BCF的具體長度決定轉移地址形成的方式。若BCF為3位,則最多有8種后繼地址的形成方式BCF定義的8條微操作命令。BCF字段的功能①BCF=0,順序執行微指令,μPC+1為后繼微地址②BCF=1,條件轉移微指令,結果為0時,將BAF送μPC,否則μPC+1→μPC③BCF=2,條件轉移微指令,結果溢出時,將BAF送μPC,否則μPC+1→μPC④BCF=3,無條件轉移微指令,將BAF送μPC⑤BCF=4,測試循環微指令,假如CT≠0,表示需要繼續執行循環微命令,將循環入口微地址從BAF送μPC,且CT-1.假如CT=0,表示循環結束,后繼微地址為μPC+1.⑥BCF=5,轉微子程序微命令,把微子程序入口地址從BAF送μPC,從而實現轉移.但轉移前要把該條微指令的下一地址μPC+1送入返回寄存器RR之中⑦BCF=6,返回微指令,把RR中的返回微地址送入μPC,從而實現微子程序返回到原來的微程序。⑧BCF=7,操作碼產生后繼微地址。產生后繼微地址的微命令下址產生的增量與下址字段方式(3)多路轉移一條微指令存在多個轉移分支的情況稱為多路轉移。根據操作碼產生后繼微地址。不同的操作碼產生不同的微地址。用MapROM實現。根據某些硬件狀態產生后繼微地址①標志位②計數器狀態③數據通路狀態多個測試位,形成不同的后繼地址。【例如】有2個測試位,則可以形成4路轉移地址。4個轉移地址可以用微地址的最低2位實現。(4)微中斷微中斷請求微中斷請求信號是由程序中斷請求信號引起的.微中斷響應出現微中斷請求信號后,一般在完成現行指令的微程序后再響應,取微中斷程序的入口地址送μPC。微中斷處理微中斷處理程序的入口地址是已經事先安排好的.微中斷返回微中斷請求處理完后再返回原來被中斷的程序(新的后繼地址)1.水平型微指令格式控制信號條件字段后繼地址ADS#,W/IO#,C/D#,PA->AB,ALU->PC,PC+1,DB->IR,DB->DR,…...微指令的格式分成兩類:水平型和垂直型微指令。
5.4.3微指令格式1.水平型微指令在一條微指令中定義,并執行多個并行操作微指令。采用直接控制法,字段編譯法(直接或間接)垂直型微指令格式微指令操作碼條件碼地址碼譯碼器ADS#,W/IO#,C/D#,PA->AB,ALU->PC,PC+1,DB->IR,DB->DR,…...2.垂直型微指令特點在微指令中設置微操作碼字段、條件碼和微地址字段。一條微指令只要求能控制實現一/二種操作。格式類似于指令,有微操作碼字段。【舉例】
微指令的字長為16位,一微操作碼字段有3位斗8條微指令。【舉例】垂直微指令⑴RR傳送型
功能:把源寄存器數據送目標寄存器
⑵運算控制型
功能:選擇ALU的左,右兩輸入端的信息,并將結果送入暫存器中。⑶移位控制型功能:將寄存器中的數據按指定的移位方式進行移位⑷訪問主存型功能:將存儲器中一個單元的信息送入寄存器或將寄存器中的數據送往存儲器⑸無條件轉移型
功能:實現無條件轉移或轉微子程序功能
⑹條件轉移型功能:根據測試對象的狀態決定轉移到D所指定的微地址單元,還是順序執行下一條微指令。3.水平型與垂直型微指令的比較水平型微指令并行操作能力強,效率高,靈活性強;垂直型微指令則差.水平型微指令執行一條指令的時間短;垂直型微指令執行時間長.水平型微指令解釋指令的微程序,具有微指令字比較長,但微程序短的特點;垂直型微指令則相反,微指令字比較短而微程序長.水平型微指令用戶難以掌握而垂直型微指令與指令比較相似相對來說比較容易掌握.水平型微指令與機器指令差別很大,一般需要對機器的結構,數據通路,時序系統以及微命令很精通才能進行設計.5.4.4微程序控制存儲器和
動態微程序設計1.微程序控制存儲器構成ROM(只讀方式使用)RAM開機時需從外設將微程序調入RAM中.可以修改微程序可以修改指令系統可重構系統結構.ROM+RAMROM中存放固定的指令RAM中存放需要擴充或修改的指令2.控制存儲器的操作執行一條微指令的基本過程:第一步取微指令,垂直型微指令還應包括微操作碼的譯碼時間;第二步執行微指令所規定的各個操作.操作方式串行方式:取微指令操作與執行微指令操作是串行的并行方式(流水線方式):執行本條微指令操作與取下一條微指令操作在時間上是重疊的流水線微程序控制存儲器控制字段控制字段動態微程序設計動態微程序設計需要可寫控制存儲器(WCS)的支持,這種存儲器或稱為用戶控制存儲器(UCS)設想機器能夠根據用戶的要求改變微程序計算機能更靈活,更有效地適應于各種不同的應用目標可以獲得軟件兼容性實現系統配備多套微程序,它們實現不同的指令系統,需要可寫控制存儲器(WCS)或用戶控制存儲器(UCS)限制用戶必須對計算機的結構和組成非常熟悉3.動態微程序設計第5.5節控制器的控制方式控制方式:形成控制不同微操作的時序控制信號的方法.分類:
同步控制方式;異步控制方式;聯合控制方式;人工控制。5.5控制器的控制方式1.同步控制指令執行所需的機器周期數和節拍數均固定不變[例如]加法指令為4個機器周期,轉移指令為2個機器周期。每個機器周期分成兩拍,在固定頻率的脈沖作用下形成節拍和機器周期。方法一:采用完全統一的機器周期或節拍指令的各個工作步驟所需的時間是確定的
方法二:采用不同節拍的機器周期指令的各個工作步驟所需的時間不確定.可以將大多數微操作安排在較短的機器周期之內完成,較為繁瑣微操作則采用延長機器周期或增加節拍來解決。
[例如]DRAM的刷新操作使得訪存操作的時機不確定方法三:中央控制與局部控制相結合中央控制:將大多數指令安排在一個統一的短周期里完成;局部控制:將少數復雜指令中的某些微操作另行處理.
2.異步控制控制信號發出微操作信號后,等待相關部件發回應答信號后再開始新的微操作;每個指令、每個微操作需要多少時間就占多少時間;這種方式形成的微操作沒有固定的周期節拍和嚴格的時鐘同步。3.聯合控制同步控制和異步控制方式的結合。同步控制:大部分指令操作在一個固定的機器周期內,并在同步時序信號的控制下進行。異步控制:而對那些時間難以確定的少量指令微操作則以執行部件回送“回答”信號作為本次微操作的結束。
4.人工控制用于調機和軟件開發而設置一些開關或按鍵來人工控制。(1)reset鍵當計算機處于死鎖或無法繼續運行的狀態時,可按此鍵。機器正常運行時按此鍵可以破壞機器內的某些狀態.如果沒有此鍵,通過停電再加電的方法重新啟動計算機.(2)連續或單條轉換開關連續運行是指計算機按正常速度執行程序,單條是每執行一條指令后計算機自動停機。機器工作之前將此開關設置好,機器就按照此模式工作。在調試硬件或調試程序可以觀察每條指令的執行結果。(3)符合停機在機器內部設置一組開關,當程序運行時,假如訪問存儲器的地址與所設置的開關值相等時,機器停止運行,稱地址符合停機;假如是指令地址和開關值符合,稱為程序斷點。第5.6節流水線工作原理5.6流水線工作原理【例如】加法指令共有4個機器周期:取指、計算地址、取數、執行。取指、取數機器周期中,訪問M,運算器不工作;計算地址和加法運算周期,運算器工作,M不工作。提高機器處理能力的途徑:1)提高期間的性能:包括速度、集成度、可靠性、價格等;2)改進系統的結構,開發系統的并行性;并行性指多個事件在同一時間段發生,在時間上存在重疊;通過合理調度,讓所有的部件都工作起來,可以提高計算機的運行速度和效率。指令流水是一項重要的技術,流水線結構最先在大型機中采用,如今已經推廣到小型機、微型機中。1.流水線基本工作原理(一)指令的串行執行計算機程序的順序串行執行,是指一條指令執行完后才開始下一條指令,如果一條指令需要4個周期,過程如下:取指1計算地址1取操作數1計算存結果1取指2計算地址2…
下標1--第1條指令,下標2--第2條指令。【例】計算機中只有指令部件I,執行部件E。I完成取指和譯碼,E完成執行和存結果。現代計算機中,譯碼速度很快,尤其是RISC機,指令譯碼的時間忽略了。執行過程如下:I1E1I2E2…程序串行執行,控制簡單,但是機器各部分利用率不高。I1E1I2E2…I3E3指令二級流水可以大大提高CPU的處理速度,但并不是成倍增加。1)指令的執行時間一般大于取指時間;2)當遇到轉移指令時,必須等到本指令執行結束后才能知道下一條指令的地址。(二)指令的重疊執行如果將兩條指令或若干條指令在時間上重疊起來(即指令流水),執行過程如下:兩條指令重疊執行取指1計算地址1取操作數1計算存結果1取指2計算地址2取操作數2計算存結果2取指3計算地址3取操作數3計算存結果3取指4計算地址4取操作數4計算存結果44條指令重疊執行如果每個部件完成操作所需的時間為T,每條指令執行的時間為2T。因此,每隔T時間就能到一條指令的處理結果。相當于處理器的速度提高一倍。4條指令重疊執行時,將一條指令分為4段。若每段的執行時間為t,執行一條指令的時間為4t,每隔t時間就能得到一條指令的處理結果,平均處理速度提高4倍。在多段流水線中,開始流水線為空,最高的處理速率要在流水線裝滿的條件下才能達到。T應該選擇所有部件中執行時間最長的,目的是保證所有的功能段的執行時間差別不要太大。為了使得所有的部件不會等待太長時間而影響效率,可能將較短處理時間的功能段合并成一個長時間的功能段,或者將一個長時間的功能段分解為幾個較短時間的功能段。2.運算操作流水線算術運算也可采用流水線。【例如】浮點加法運算可以分為“對階”、“尾數加”、“結果規格化”三段。每一段設置專門的邏輯電路完成制定操作,輸出結果放在鎖存器中,作為下一段的輸入。操作數輸入對階部件鎖存器尾數加部件鎖存器規格化部件鎖存器結果輸出對階尾數加規格化第一段第二段第三段3.流水線中的數據相關問題流水線要保證高效運行,就需要流水充滿。由于程序編譯原因或者存儲器無法連續提供流動所需的指令和數據時,會出現流水線不能連續工作。【例如】4級流水線中,如果第2條指令的操作數地址是第1條指令的處理結果,那么第2條指令的取操作數比須等待t時間才能進行。否則取得的結果是錯誤的,這種情況稱為數據相關。取指1計算地址1取操作數1計算存結果1取指2計算地址2------取操作數2計算存結果2取指3------計算地址3取操作數3計算存結果3
根據數據存放在寄存器中還是存儲器中,稱為寄存器數據相關或存儲器數據相關。為解決這一問題,設置相關的專用通路。當發生數據相關時,指令2的取操作數不去存儲器中去操作數,而是直接通過專用通路得到操作數。取指1計算地址1取操作數1計算存結果1取指2計算地址2取操作數2計算存結果2
數據不相關時,仍去寄存器或存儲器中取操作數,增加了控制的復雜性。由于計算機中的指令較為復雜,條件各異,執行時間和流水級數不同,相關情況各異,不可避免的條件產生的流水線不能連續的情況,稱為流水線阻塞或產生“空泡”。兩級流水線不會有數據相關問題。4.響應流水線性能的因素
(1)訪存沖突避免方法:設置兩個存儲器系統分別放置指令和數據采用預取指令技術——設置預指令隊列,在執行指令過程中利用存儲器空閑時間取下一條指令,只要預指令隊列有空,就可以取下一條指令。4.響應流水線性能的因素
(2)相關問題指程序中相近指令之間出現某種關聯關系,使得指令流出現停頓。控制相關當一條指令需要等到前一條指令(或前幾條指令)作出轉移方向的決定后才能進入流水線,即產生控制相關。數據相關指幾條指令共用了同一個存儲單元(或寄存器)的內容時所發生的關聯。可以采取旁路技術部分解決。數據相關主要有讀—寫相關、寫—讀相關和寫—寫相關。
5.程序轉移對流水線的影響
(1)轉移指令轉移指令進入流水線后到確定下一條指令地址之前,流水線不能繼續處理后面的指令而處于等待狀態,只有當它流出流水線時,才能知道是否轉移以及需要轉移時下一條指令的地址,從而影響流水線的效率。
解決方法
:“猜測法”
即選擇轉移分支中之一執行,繼續執行后面的指令;如果猜測正確,流水線可以繼續進行下去;如果猜錯,要返回分支點,而且要保證分支后進行的操作不會破壞原有的現場,否則將發生錯誤。
(2)中斷服務轉入中斷服務程序時,流水線中已經存在了幾條指令。如何“斷流”是流水線設計需要考慮的問題。解決方法:如是I/O中斷請求,可以讓流水線中的指令全部完成,新指令按中斷處理程序處取。如果是地址錯、存儲器錯、運算錯而中斷時,假如是由第i條指令發生的,對于已進入流水線的第i+1條、第i+2條、第i+3條、…是不應該再執行的。
流水線機器處理中斷的方法:不精確斷點法:未進入流水線的后續指令不允許進入,已在流水線中的指令執行完畢后,進入中斷處理程序。精確斷點法:不等待流水線中的指令執行完畢就轉入中斷處理程序。練習一、填空題1.目前的CPU包括__1__、__2__和cache.2.中央處理器(CPU)的四個主要功能是:__1__、__2__、__3__、__4__.3.CPU中,保存當前正在執行的指令的寄存器為__1__,保存下一條指令地址的寄存器為__2__,保存CPU訪存地址的寄存器為__3__.4.CPU從主存取出一條指令并執行該指令的時間叫做__1__,他常用若干個__2__來表示,而后者又包含若干個__3__.5.運算器進行的全部操作都是由控制器發出的控制信號來指揮的,所以他是____部件.答案:1.控制器;運算器2.指令控制;操作控制;時間控制;數據加工3.指令寄存器IR;程序計數器;內存地址寄存器4.指令周期;機器周期;時鐘周期5.執行6.在程序執行過程中,控制器控制計算機的運行總是處于__1__、分析指令和__2__的循環之中.7.順序執行的PC的值__1__,遇到轉移和調用指令時,后繼指令的地址(即PC的內容)是從指令寄存器中的__2__取得的.8.CPU中用于存放當前正在執行的指令并為指令譯碼器提供信息的部件是____.9.在微程序控制中,計算機執行一條指令的過程就是執行一個確定的____的過程.10.微程序控制器的核心部件是存儲微程序的__1__,它一般用__2__構成的.答案:6.取指令;執行指令7.自動加1;地址字段8指令寄存器IR9.微指令程序10.控制存儲器;只讀存儲器11.于數據通路之間的結構關系,微操作可以分為__1__和__2__兩種.答案:1.相容性2.互斥性
12.微程序入口地址是__1__根據指令的__2__產生的.答案:1.譯碼器2.操作碼
13.微指令的格式可分為__1__微指令和__2__指令格式.答案:1.水平型2.垂直型14.任何指令周期的第一步必定是____周期.答案:取指
15.計算機執行一條指令的周期可以是__1__,也可以是__2__的,前者指的是在一個周期中含有的節拍數相同.答案:1.相同2.不同16.一條機器指令的執行可以與一段微指令構成的__1__相對應.微指令可由一系列__2__組成.答案:1.微程序2.微命令17.在同一微周期中__1__的微命令,稱之為互斥的微指令;在同一微周期中__2__的微指令,稱之為相容的微命令.顯然,__3__不能放在一起譯碼.答案
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 揚帆起航夢想啟程
- 2023四年級數學下冊 七 三角形、平行四邊形和梯形第4課時 三角形按角分類教學設計 蘇教版
- 認證體系業務培訓
- 《8 包餃子》(教學設計)-2023-2024學年四年級上冊綜合實踐活動皖教版
- 七年級英語下冊 Module 5 Shopping Unit 1 What can I do for you第2課時教學設計(新版)外研版
- 2024-2025學年高中生物 第4章 第2節 基因對性狀的控制教學設計 新人教版必修2
- 過敏性休克的護理措施
- 2024-2025學年高中語文 第六課 語言的藝術 2 第二節 語言表達的十八般武藝-修辭手法教學設計 新人教版選修《語言文字應用》
- Unit7 Integrated Skills教學設計2023-2024學年牛津譯林版英語七年級下冊
- 2023三年級英語上冊 Unit 2 Friends and Colours Lesson 10 Red,Yellow,Blue,Green教學設計 冀教版(三起)
- 深度解讀:綠城代建
- 某工程水池混凝土池壁裂縫原因分析
- 生產建設項目土壤流失量測算導則計算程序
- 明渠均勻流計算公式
- 人教版道德與法治五年級下冊全冊課件【完整版】
- 5G共址基站電磁輻射投訴監測實例分析與討論
- 16-第六章-污染事故應急GIS-資源環境信息系統課件
- 水輪發電機組盤車過程(方仲超)
- 分戶驗收最大偏差、極差自動計算表
- CPK-數據自動生成器
- 《管理會計》全套教案
評論
0/150
提交評論