版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章中央處理器子系統6.1中央處理器的功能與組成6.2指令周期6.3時序產生器和控制方式6.4微程序控制器6.5微程序設計技術下一頁返回第6章中央處理器子系統6.6硬布線控制器6.7并行化及流水線技術6.8RISC的硬件結構特點6.9指令集技術6.10動態執行技術上一頁返回6.1中央處理器的功能與組成6.1.1CPU的功能當用計算機解決某個問題時,我們首先必須為它編寫程序。程序是一個指令序列,這個序列明確告訴計算機應該執行什么操作,在什么地方找到用來操作的數據。一旦把程序裝入內存儲器,就可以由計算機來自動完成取出指令和執行指令的任務。專門用來完成此項工作的計算機部件稱為中央處理器,通常簡稱CPU。CPU對整個計算機系統的運行是極其重要的,它具有如下四方面的基本功能:(1)指令控制程序的順序控制稱為指令控制。下一頁返回6.1中央處理器的功能與組成(2)操作控制一條指令的功能往往是由若干個操作信號的組合來實現的,因此,CPU管理并產生由內存取出的每條指令的操作信號,把各種操作信號送往相應的部件,從而控制這些部件按指令的要求進行動作。(3)時間控制對各種操作實施時間上的定時稱為時間控制。在計算機中,各種指令的操作信號以及一條指令的整個執行過程都受到時間的嚴格定時。(4)數據加工數據加工就是對數據進行算術運算和邏輯運算處理。上一頁下一頁返回6.1中央處理器的功能與組成6.1.2CPU的基本組成CPU的基本部分由運算器、Cache和控制器三大部分組成。控制器由程序計數器、指令寄存器、指令譯碼器、時序產生器和操作控制器組成,它是發布命令的“決策機構”,即完成協調和指揮整個計算機系統的操作。它的主要功能有:①從內存中取出一條指令,并指出下一條指令在內存中的位置;②對指令進行譯碼或測試,并產生相應的操作控制信號,以便啟動規定的動作;③指揮并控制CPU、內存和輸入/輸出設備之間數據流動的方向。上一頁下一頁返回6.1中央處理器的功能與組成運算器由算術邏輯單元(ALU)、累加寄存器、數據緩沖寄存器和狀態條件寄存器組成,它是數據加工處理部件。相對控制器而言,運算器接受控制器的命令而進行動作,即運算器所進行的全部操作都是由控制器發出的控制信號來指揮的,所以它是執行部件。運算器有兩個主要功能:①執行所有的算術運算;②執行所有的邏輯運算,并進行邏輯測試,如零值測試或兩個值的比較。6.1.3CPU中的主要寄存器1.數據緩沖寄存器(DR)上一頁下一頁返回6.1中央處理器的功能與組成數據緩沖寄存器用來暫時存放由內存儲器讀出的一條指令或一個數據字;反之,當向內存存入一條指令或一個數據字時,也暫時將它們存放在數據緩沖寄存器中。緩沖寄存器的作用是:①作為CPU和內存、外部設備之間信息傳送的中轉站;②補償CPU和內存、外圍設備之間在操作速度上的差別;③在單累加器結構的運算器中,數據緩沖寄存器還可兼作操作數寄存器。2.指令寄存器(IR)指令寄存器用來保存當前正在執行的一條指令。上一頁下一頁返回6.1中央處理器的功能與組成當執行一條指令時,先把它從內存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址碼字段,由二進制數字組成。為了執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作,指令譯碼器就是做這項工作的。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經譯碼后,即可向操作控制器發出具體操作的特定信號。3.程序計數器(PC)為了保證程序能夠連續地執行下去,CPU必須具有某些手段來確定下一條指令的地址。而程序計數器正是起到這種作用,所以通常又稱為指令計數器。上一頁下一頁返回6.1中央處理器的功能與組成在程序開始執行前,必須將它的起始地址,即程序的一條指令所在的內存單元地址送入PC,因此PC的內容即是從內存提取的第一條指令的地址。當執行指令時,CPU將自動修改PC的內容,以便使其保持的總是將要執行的下一條指令的地址。由于大多數指令都是按順序來執行的,所以修改的過程通常只是簡單地對PC加1。但是,當遇到轉移指令如JMP指令時,后繼指令的地址(即PC的內容)必須從指令的地址段取得。在這種情況下,下一條從內存取出的指令將由轉移指令來規定,而不是像通常一樣按順序來取得。因此程序計數器的結構應當是具有寄存信息和計數兩種功能的結構。上一頁下一頁返回6.1中央處理器的功能與組成4.地址寄存器(AR)地址寄存器用來保存當前CPU所訪問的內存單元的地址。由于在內存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內存的讀/寫操作完成為止。當CPU和內存進行信息交換,即CPU向內存存/取數據時,或者CPU從內存中讀出指令時,都要使用地址寄存器和數據緩沖寄存器。同樣,如果我們把外圍設備的設備地址作為像內存的地址單元那樣來看待,那么,當CPU和外圍設備交換信息時,我們同樣使用地址寄存器和數據緩沖寄存器。上一頁下一頁返回6.1中央處理器的功能與組成地址寄存器的結構和數據緩沖寄存器、指令寄存器一樣,通常使用單純的寄存器結構。信息的存入一般采用電位-脈沖方式,即電位輸入端對應數據信息位,脈沖輸入端對應控制信號,在控制信號作用下,瞬時地將信息打入寄存器。5.累加寄存器(AC)累加寄存器AC通常簡稱為累加器,它是一個通用寄存器。其功能是:當運算器的算術邏輯單元ALU執行算術或邏輯運算時,為ALU提供一個工作區。累加寄存器暫時存放ALU運算的結果信息。顯然,運算器中至少要有一個累加寄存器。上一頁下一頁返回6.1中央處理器的功能與組成目前CPU中的累加寄存器,多達16個、32個,甚至更多。當使用多個累加器時,就變成通用寄存器堆結構,其中任何一個可存放源操作數,也可存放結果操作數。在這種情況下,需要在指令格式中對寄存器號加以編址。6.狀態條件寄存器(PSW)狀態條件寄存器保存由算術指令和邏輯指令運行或測試的結果建立的各種條件碼內容,如運算結果進位標志(C)、運算結果溢出標志(V)、運算結果為零標志(Z)、運算結果為負標志(N)等。這些標志位通常分別由一位觸發器保存。上一頁下一頁返回6.1中央處理器的功能與組成除此之外,狀態條件寄存器還保存中斷和系統工作狀態等信息,以便使CPU和系統能及時了解機器運行狀態和程序運行狀態。因此,狀態條件寄存器是一個由各種狀態條件標志拼湊而成的寄存器。6.1.4操作控制器與時序產生器通常把許多寄存器之間傳送信息的通路,稱為“數據通路”。信息從什么地方開始,中間經過哪個寄存器或多路開關,最后傳送到哪個寄存器,都要加以控制。在各寄存器之間建立數據通路的任務,是由稱為操作控制器的部件來完成的。操作控制器的功能,就是根據指令操作碼和時序信號,產生各種操作控制信號,以便正確地建立數據通路,從而完成取指令和執行指令的控制。上一頁下一頁返回6.1中央處理器的功能與組成根據設計方法不同,操作控制器可分為時序邏輯型、存儲邏輯型、時序邏輯與存儲邏輯結合型三種。第一種是硬布線控制器,它是采用時序邏輯技術來實現的;第二種是微程序控制器,它是采用存儲邏輯來實現的;第三種是將前兩種方式相結合,從而完成取指令和執行指令的控制。上一頁返回6.2指令周期6.2.1指令周期的基本概念計算機之所以能自動地工作,是因為CPU能從存放程序的內存里取出一條指令并執行這條指令;緊接著又是取指令,執行指令……,如此周而復始,構成了一個封閉的循環。除非遇到停機指令,否則這個循環將一直繼續下去。指令周期是CPU從內存取出一條指令并執行這條指令的時間總和。CPU周期又稱機器周期,CPU訪問一次內存所花的時間較長,因此用從內存讀取一條指令字的最短時間來定義。時鐘周期通常稱為節拍脈沖或T周期。一個CPU周期包含若干個時鐘周期。下一頁返回6.2指令周期6.2.2非訪內指令的指令周期CLA是一條非訪內指令,它需要兩個CPU周期,其中取指令階段需要一個CPU周期,執行指令階段需要一個CPU周期。1.取指令階段①程序計數器PC的內容20(八進制)被裝入地址寄存器AR;②程序計數器內容加1,變成21,為取下一條指令做好準備;③地址寄存器的內容被放到地址總線上;④所選存儲器單元20的內容經過數據總線,傳送到數據緩沖寄存器DR;上一頁下一頁返回6.2指令周期⑤緩沖寄存器的內容傳送到指令寄存器IR;⑥指令寄存器中的操作碼被譯碼或測試;⑦CPU識別出指令CLA,至此,取指令階段即告結束。2.執行指令階段①操作控制器送一控制信號給算術邏輯運算單元ALU;②ALU響應該控制信號,將累加寄存器AC的內容全部清零,從而執行了CLA指令。6.2.3取數指令的指令周期ADD指令的指令周期由三個CPU周期組成。上一頁下一頁返回6.2指令周期1.送操作數地址第二個CPU周期主要完成送操作數地址。在此階段,CPU的動作只有一個,那就是把指令寄存器中的地址碼部分(30)裝入地址寄存器,其中30為內存中存放操作數的地址。2.兩操作數相加第三個CPU周期主要完成取操作數并執行加法操作。在此階段,CPU完成如下動作:①把地址寄存器中的操作數的地址(30)發送到地址總線上。②由存儲器單元30中讀出操作數(6),并經過數據總線傳送到緩沖寄存器。上一頁下一頁返回6.2指令周期③執行加操作:由數據緩沖寄存器來的操作數(6)可送往ALU的一個輸入端,已等候在累加器內的另一個操作數(因為CLA指令執行結束后累加器內容為零)送往ALU的另一輸入端,于是ALU將兩數相加,產生運算結果為0+6=6。這個結果放回累加器,替換了累加器中原先的數0。6.2.4存數指令的指令周期STA指令的指令周期由三個CPU周期組成。1.送操作數地址在執行階段的第一個CPU周期中,CPU完成的動作是把指令寄存器中地址碼部分的形式地址40裝到地址寄存器。上一頁下一頁返回6.2指令周期其中數字40是操作數地址。2.存儲和數執行階段的第二個CPU周期中,累加寄存器的內容傳送到緩沖寄存器,然后再存入到所選定的存儲單元(40)中。CPU完成如下動作:①累加器的內容(6)被傳送到數據緩沖寄存器DR;②把地址寄存器的內容(40)發送到地址總線上,40即為將要存入的數據6的內存單元號;③把緩沖寄存器的內容(6)發送到數據總線上;上一頁下一頁返回6.2指令周期④將數據總線上的數寫入到所選中的存儲器單元中,即將數6寫入存儲器40號單元中。6.2.5空操作指令和轉移指令的指令周期NOP指令是一條空操作指令。其中第一個CPU周期中取指令,CPU把23號單元的NOP指令取出放到指令寄存器,第二個CPU周期中執行該指令。因譯碼器譯出是NOP指令,第二個CPU周期中操作控制器不發出任何控制信號。NOP指令可用來調機。無條件短轉移指令JMP的指令周期由兩個CPU周期組成。1.第一個CPU周期(取指令階段)上一頁下一頁返回6.2指令周期CPU把24號單元的“JMP21”指令取出放至指令寄存器,同時程序計數器內容加1,變為25,從而為取下一條指令做好準備。2.第二個CPU周期(執行階段)CPU把指令寄存器中地址碼部分21送到程序計數器,從而用新內容21代替PC原先的內容25。這樣,下一條指令將不從25單元讀出,而是從內存21單元開始讀出并執行,從而改變了程序原先的執行順序。6.2.6用方框圖語言表示指令周期上一頁下一頁返回6.2指令周期在進行計算機設計時,可以采用方框圖語言來表示一條指令的指令周期。方框代表一個CPU周期,方框中的內容表示數據通路的操作或某種控制操作。菱形通常用來表示某種判別或測試,不過時間上它依附于緊接它的前面一個方框的CPU周期,而不單獨占用一個CPU周期。上一頁返回6.3時序產生器和控制方式6.3.1時序信號的作用和體制CPU中一個類似“作息時間”的東西,使計算機可以準確、迅速、有條不紊地工作。機器一旦被啟動,即CPU開始取指令并執行指令時,操作控制器就利用定時脈沖的順序和不同的脈沖間隔,有條理、有節奏地指揮機器的動作,規定在這個脈沖到來時做什么,在那個脈沖到來時又做什么,給計算機各部分提供工作所需的時間標志。為此,需要采用多級時序體制。從時間上來說,取指令事件發生在指令周期的第一個CPU周期中,即發生在“取指令”階段,而取數據事件發生在指令周期的后面幾個CPU周期中,即發生在“執行指令”階段。下一頁返回6.3時序產生器和控制方式從空間上來說,如果取出的代碼是指令,那么一定送往指令寄存器;如果取出的代碼是數據,那么一定送往運算器。由此可見,時間控制對計算機來說太重要了。總之,計算機的協調動作需要時間標志,而時間標志則是用時序信號來體現的。硬布線控制器中,時序信號往往采用主狀態周期—節拍電位—節拍脈沖三級體制。在微程序控制器中,時序信號比較簡單,一般采用節拍電位—節拍脈沖二級體制。6.3.2時序信號產生器微程序控制器中使用的時序信號產生器由時鐘源、環形脈沖發生器、節拍脈沖和讀寫時序譯碼邏輯、啟停控制邏輯等部分組成。上一頁下一頁返回6.3時序產生器和控制方式1.時鐘源時鐘源用來為環形脈沖發生器提供頻率穩定且電平匹配的方波時鐘脈沖信號。它通常由石英晶體振蕩器和與非門組成的正反饋振蕩電路組成,其輸出送至環形脈沖發生器。2.環形脈沖發生器與時序信號譯碼環形脈沖發生器的作用是產生一組有序的間隔相等或不等的脈沖序列,以便通過譯碼電路來產生最后所需的節拍脈沖。為了在節拍脈沖上不帶干擾毛刺,環形脈沖發生器通常采用循環移位寄存器形式。6.3.3控制方式控制方式即控制不同操作序列時序信號的方法。上一頁下一頁返回6.3時序產生器和控制方式常用的有同步控制、異步控制、聯合控制三種方式,其實質反映了時序信號的定時方式。1.同步控制方式在任何情況下,已定的指令在執行時所需的機器周期數和時鐘周期數都固定不變。根據不同情況,同步控制方式可選取如下方案:①采用完全統一的機器周期執行各種不同的指令。②采用不定長機器周期。③中央控制與局部控制結合。2.異步控制方式上一頁下一頁返回6.3時序產生器和控制方式異步控制方式的特點是:每條指令、每個操作控制信號需要多少時間就占用多少時間。這意味著每條指令的指令周期可由多少不等的機器周期數組成;也可以是當控制器發出某一操作控制信號后,等待執行部件完成操作后發出“回答”信號,再開始新的操作。3.聯合控制方式聯合控制方式是同步控制和異步控制相結合的方式。一種情況是大部分操作序列安排在固定的機器周期中,對某些時間難以確定的操作則以執行部件的“回答”信號作為本次操作的結束;另一種情況是機器周期的節拍脈沖數固定,但是各條指令周期的機器周期數不固定。上一頁返回6.4微程序控制器微程序控制器同組合邏輯控制器相比較,具有規整性、靈活性、可維護性等一系列優點,因而在計算機設計中逐漸取代了早期采用的組合邏輯控制器,并已被廣泛地應用。在計算機系統中,微程序設計技術是利用軟件方法來設計硬件的一門技術。微程序控制的基本思想,就是仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里。當機器運行時,一條又一條地讀出這些微指令,從而產生全機所需要的各種操作控制信號,使相應部件執行所規定的操作。下一頁返回6.4微程序控制器6.4.1微命令和微操作一臺數字計算機基本上可以劃分為兩大部分———控制部件和執行部件。控制器就是控制部件,而運算器、存儲器、外圍設備相對控制器來講,就是執行部件。那么兩者之間是怎樣進行聯系的呢?控制部件與執行部件的一種聯系,就是通過控制線。控制部件通過控制線向執行部件發出各種控制命令,通常把這種控制命令叫作微命令;而執行部件接受微命令后所進行的操作,叫作微操作。控制部件與執行部件之間的另一種聯系是反饋信息。執行部件通過反饋線向控制部件反映操作情況,以便使控制部件根據執行部件的“狀態”來下達新的微命令,這也叫作“狀態測試。”上一頁下一頁返回6.4微程序控制器微操作在執行部件中是最基本的操作。由于數據通路的結構關系,微操作可分為相容性和相斥性兩種。所謂相容性的微操作,是指在同時或同一個CPU周期內可以并行執行的微操作。所謂相斥性的微操作,是指不能在同時或不能在同一個CPU周期內并行執行的微操作。6.4.2微指令和微程序微指令是在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合。微程序是實現一條機器指令功能的許多條微指令組成的序列。控制部件與執行部件通過控制線和反饋信息進行聯系。上一頁下一頁返回6.4微程序控制器6.4.3微程序控制器結構微程序控制器結構主要由控制存儲器、微指令寄存器和地址轉移邏輯三大部分組成。1.控制存儲器控制存儲器用來存放實現全部指令系統的微程序,它是一種只讀存儲器。一旦微程序固化,機器運行時則只讀不寫。其工作過程是:每讀出一條微指令,則執行這條微指令;接著又讀出下一條微指令,又執行這一條微指令……。讀出一條微指令并執行微指令的時間總和稱為一個微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只讀存儲器的工作周期。上一頁下一頁返回6.4微程序控制器控制存儲器的字長就是微指令字的長度,其存儲容量視機器指令系統而定,即取決于微程序的數量。對控制存儲器的要求是速度快,讀出周期要短。2.微指令寄存器微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。其中微地址寄存器決定將要訪問的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測試字段的信息。3.地址轉移邏輯在一般情況下,微指令由控制存儲器讀出后直接給出下一條微指令的地址,通常簡稱為微地址,這個微地址信息就存放在微地址寄存器中。上一頁下一頁返回6.4微程序控制器如果微程序不出現分支,那么下一條微指令的地址就直接由微地址寄存器給出。當微程序出現分支時,意味著微程序出現條件轉移。在這種情況下,通過判別測試字段P和執行部件的“狀態條件”反饋信息,去修改微地址寄存器的內容,并按改好的內容去讀下一條微指令。地址轉移邏輯就承擔自動完成修改微地址的任務。上一頁返回6.5微程序設計技術我們已經了解了微程序控制器的基本原理,這使我們認識到,確定微指令的結構乃是微程序設計的關鍵。設計微指令結構應當追求的目的是:①有利于縮短微指令字長度;②有利于減小控制存儲器的容量;③有利于提高微程序的執行速度;④有利于對微指令的修改;⑤有利于微程序設計的靈活性。下一頁返回6.5微程序設計技術6.5.1微命令編碼微命令編碼,即對微指令中的操作控制字段采用的表示方法,通常有以下三種方法。1.直接表示法直接表示法的特點是操作控制字段中的每一位代表一個微命令。這種方法的優點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。2.編碼表示法編碼表示法是把一組相斥性的微命令信號組成一個小組(即一個字段),然后通過小組(字段)譯碼器對每一個微命令信號進行譯碼,譯碼輸出作為操作控制信號。上一頁下一頁返回6.5微程序設計技術采用字段譯碼的編碼方法,可以用較小的二進制信息位表示較多的微命令信號。與直接控制法相比,字譯碼控制法可使微指令字大大縮短,但由于增加譯碼電路,使微程序的執行速度稍稍減慢。目前在微程序控制器設計中,字段直接譯碼法使用較普遍。3.混合表示法這種方法是把直接表示法與字段編碼法混合使用,以便能綜合考慮指令字長、靈活性、執行微程序速度等方面的要求。另外,在微指令中還可附設一個常數字段。該常數可作為操作數送入ALU運算,也可作為計數器初值用來控制微程序循環次數。上一頁下一頁返回6.5微程序設計技術6.5.2微地址的形成方法微指令執行的順序控制問題,實際上是如何確定下一條微指令的地址問題。通常,產生后繼微地址有兩種方法:1.計數器方式這種方法同用程序器計數來產生機器指令地址的方法相類似。在順序執行微指令時,后繼微地址由現行微地址加上一個增量來產生;在非順序執行微指令時,必須通過轉移方式,使現行微指令執行后,轉去執行指定后繼微地址的下一條微指令。在這種方法中,微地址寄存器通常改為計數器。為此,順序執行的微指令序列就必須安排在控制存儲器的連續單元中。上一頁下一頁返回6.5微程序設計技術計數器方式的基本特點是:微指令的順序控制字段較短,微地址產生機構簡單。但是多路并行轉移功能較弱,速度較慢,靈活性較差。2.多路轉移方式一條微指令具有多個轉移分支的能力稱為多路轉移。在多路轉移方式中,當微程序不產生分支時,后繼微地址直接由微指令的順序控制字段給出;當微程序出現分支時,有若干“后選”微地址可供選擇,即按順序控制字段的“判別測試”標志和“狀態條件”信息來選擇其中一個微地址。“狀態條件”有n位標志,可實現微程序2的n次方路轉移,涉及微地址寄存器的n位。上一頁下一頁返回6.5微程序設計技術多路轉移方式的特點是:能以較短的順序控制字段配合,實現多路并行轉移,靈活性好,速度較快,但轉移地址邏輯需要用組合邏輯方法設計。6.5.3微指令格式微指令的編譯方法是決定微指令格式的主要因素。微指令的格式大體分成兩類:水平型微指令和垂直型微指令。1.水平型微指令一次能定義并執行多個并行操作微命令的微指令,叫作水平型微指令。其一般格式如下:上一頁下一頁返回6.5微程序設計技術按照控制字段的編碼方法不同,水平型微指令又分為三種:全水平型微指令、字段譯碼法水平型微指令,以及直接和譯碼相混合的水平型微指令。2.垂直型微指令微指令中設置微操作碼字段,采用微操作碼編譯法,由微操作碼規定微指令的功能,稱為垂直型微指令。垂直型微指令的結構類似于機器指令的結構。它有操作碼,在一條微指令中只有1~2個微操作命令,每條微指令的功能簡單,因此,實現一條機器指令的微程序要比水平型微指令編寫的微程序長得多。它是采用較長的微程序結構去換取較短的微指令結構。上一頁下一頁返回6.5微程序設計技術3.水平型微指令與垂直型微指令的比較①水平型微指令并行操作能力強,效率高,靈活性強;垂直型微指令則較差。②水平型微指令執行一條指令的時間短,垂直型微指令執行時間長。③由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。④水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說比較容易掌握。6.5.4動態微程序設計微程序設計技術有靜態微程序設計和動態微程序設計之分。上一頁下一頁返回6.5微程序設計技術1.靜態微程序設計對應于一臺計算機的機器指令只有一組微程序,而且這一組微程序設計好之后,一般無須改變而且也不好改變,這種微程序設計技術稱為靜態微程序設計。2.動態微程序設計當采用EPROM作為控制存儲器時,還可以通過改變微指令和微程序來改變機器的指令系統,這種微程序設計技術稱為動態微程序設計。采用動態微程序設計時,微指令和微程序可以根據需要加以改變,因而可在一臺機器上實現不同類型的指令系統。這種技術又稱為仿真其他機器指令系統,以便擴大機器的功能。上一頁返回6.6硬布線控制器1.基本思想硬布線控制器是早期設計計算機的一種方法。這種方法是把控制部件看作為產生專門固定時序控制信號的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設計目標。一旦控制部件構成后,除非重新設計和物理上對它重新布線,否則要想增加新的控制功能是不可能的。這種邏輯電路是一種由門電路和觸發器構成的復雜樹形邏輯網絡,故稱之為硬布線控制器。硬聯線控制器的結構如圖6-1所示。邏輯網絡的輸入信號來源有三個:①來自指令操碼譯碼器的輸出Im;下一頁返回6.6硬布線控制器②來自執行部件的反饋信息Bj;③來自時序產生器的時序信號,包括節拍電位信號M和節拍脈沖信號T。邏輯網絡N的輸出信號就是微操作控制信號,它用來對執行部件進行控制。硬布線控制器的微操作控制信號:2.指令執行流程在用硬聯線實現的操作控制器中,通常,時序產生器除了產生節拍脈沖信號外,還應當產生節拍電位信號。上一頁下一頁返回6.6硬布線控制器由于采用同步工作方式,長指令和短指令對節拍時間的利用都是一樣的。這對短指令來講,在時間的利用上是浪費的,因而也降低了CPU的指令執行速度,影響到機器的速度指標。為了改變這種情況,在設計短指令流程時可以跳過某些節拍。當然,在這種情況下,節拍信號發生器的電路相應就要復雜一些。節拍電位信號的產生電路與節拍脈沖產生電路十分類似,它可以在節拍脈沖信號時序器的基礎上產生,運行中以循環方式工作,并與節拍脈沖保持同步。3.微操作控制信號的產生上一頁下一頁返回6.6硬布線控制器在微程序控制器中,微操作控制信號由微指令產生,并且可以重復使用。在硬聯線控制器中,某一微操作控制信號由布爾代數表達式描述的輸出函數產生。設計微操作控制信號的方法和過程是:根據所有機器指令流程圖,尋找出產生同一個微操作信號的所有條件,并與適當的節拍電位和節拍脈沖組合,從而寫出其布爾代數表達式并進行簡化,然后用門電路或可編程器件來實現。為了防止遺漏,設計時可按信號出現在指令流程圖中的先后次序書寫,然后進行歸納和簡化。上一頁返回6.7并行化及流水線技術6.7.1并行處理技術并行性的兩種含義:同時性,指兩個以上事件在同一時刻發生;并發性,指兩個以上事件在同一時間間隔內發生。計算機的并行處理技術概括起來主要有以下三種形式:1.時間并行時間并行指時間重疊,在并行性概念中引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分,以加快硬件周轉而贏得速度。時間并行性概念的實現方式就是采用流水處理部件。下一頁返回6.7并行化及流水線技術這是一種非常經濟而實用的并行技術,能保證計算機系統具有較高的性能價格比。目前的高性能微型機幾乎無一例外地使用了流水技術。2.空間并行空間并行指資源重復,在并行性概念中引入空間因素,以“數量取勝”為原則來大幅度提高計算機的處理速度。大規模和超大規模集成電路的迅速發展為空間并行技術帶來了巨大生機,因而成為目前實現并行處理的一個主要途徑。空間并行技術主要體現在多處理器系統和多計算機系統。但是在單處理器系統中也得到了廣泛應用。3.時間并行+空間并行上一頁下一頁返回6.7并行化及流水線技術指時間重疊和資源重復的綜合應用,既采用時間并行性,又采用空間并行性。顯然,第三種并行技術帶來的高速效益是最好的。6.7.2流水CPU的結構1.流水計算機的系統組成現代流水計算機的系統中CPU按流水線方式組織,通常由三部分組成:指令部件、指令隊列、執行部件。這三個功能部件可以組成一個3級流水線。為了使存儲器的存取時間能與流水線的其他各過程段的速度相匹配,一般都采用多體交叉存儲器。上一頁下一頁返回6.7并行化及流水線技術執行段的速度匹配問題:通常采用并行的運算部件以及部件流水線的工作方式來解決。方法包括:①將執行部件分為定點執行部件和浮點執行部件兩個可并行執行的部分,分別處理定點運算指令和浮點運算指令。②在浮點執行部件中,又有浮點加法部件和浮點乘/除部件,它們也可以同時執行不同的指令。③浮點運算部件都以流水線方式工作。2.流水CPU的時空圖計算機的流水處理過程非常類似于工廠中的流水裝配線。上一頁下一頁返回6.7并行化及流水線技術為了實現流水,首先把輸入的任務(或過程)分割為一系列子任務,并使各子任務能在流水線的各個階段并發地執行。當任務連續不斷地輸入流水線時,在流水線的輸出端便連續不斷地吐出執行結果,從而實現了子任務級的并行性。3.流水線分類指令流水線是指令步驟的并行,將指令流的處理過程劃分為取指令、譯碼、執行、寫回等幾個并行處理的過程段。目前,幾乎所有的高性能計算機都采用了指令流水線。算術流水線是指運算操作步驟的并行。上一頁下一頁返回6.7并行化及流水線技術處理機流水線又稱為宏流水線,是指程序步驟的并行。由一串級聯的處理機構成流水線的各個過程段,每臺處理機負責某一特定的任務。數據流從第一臺處理機輸入,經處理后被送入與第二臺處理機相連的緩沖存儲器中。第二臺處理機從該存儲器中取出數據進行處理,然后傳送給第三臺處理機,如此串聯下去。隨著高檔微處理器芯片的出現,構造處理機流水線將變得容易了。處理機流水線應用在多機系統中。6.7.3流水線中的主要問題流水過程中通常會出現以下三種相關沖突,使流水線斷流。1.資源相關上一頁下一頁返回6.7并行化及流水線技術資源相關是指多條指令進入流水線后在同一機器時鐘周期內爭用同一個功能部件所發生的沖突。假定一條指令流水線由五段組成。在第四個時鐘周期,第一條指令與第四條指令發生爭用存儲器資源的相關沖突。解決資源相關沖突的辦法:一是第四條指令停頓一拍后再啟動;二是增設一個存儲器,將指令和數據分別放在兩個存儲器中。2.數據相關在一個程序中,如果必須等前一條指令執行完畢后,才能執行后一條指令,那么這兩條指令就是數據相關的。上一頁下一頁返回6.7并行化及流水線技術在流水計算機中,指令的處理是重疊進行的,前一條指令還沒有結束,第二、三條指令就陸續地開始工作。由于多條指令的重疊處理,當后繼指令所需的操作數剛好是前一指令的運算結果時,便發生數據相關沖突。解決數據相關沖突的辦法:在流水CPU的運算器中設置若干運算結果緩沖寄存器,暫時保留運算結果,以便于后繼指令直接使用,這稱為“向前”或定向傳送技術。3.控制相關控制相關沖突是由轉移指令引起的。上一頁下一頁返回6.7并行化及流水線技術當執行轉移指令時,依據轉移條件的產生結果,可能為順序取下條指令;也可能轉移到新的目標地址取指令,從而使流水線發生斷流。為了減小轉移指令對流水線性能的影響,常用以下兩種轉移處理技術:①延遲轉移法,由編譯程序重排指令序列來實現。基本思想是“先執行再轉移”,即發生轉移時并不排空指令流水線,而是讓緊跟在轉移指令之后已進入流水線的少數幾條指令繼續完成。如果這些指令是與轉移指令結果無關的有用指令,那么延遲損失時間片正好得到了有效的利用。上一頁下一頁返回6.7并行化及流水線技術②轉移預測法,是用硬件方法來實現,依據指令過去的行為來預測將來的行為。通過使用轉移取和順序取兩路指令預取隊列器以及目標指令Cache,可將轉移預測提前到取指階段進行,以獲得良好的效果。上一頁返回6.8RISC的硬件結構特點RISC的三個要素是:一個有限的簡單的指令集;CPU配備大量的通用寄存器;強調對指令流水線的優化。RISC(精簡指令系統計算機)是在繼承CISC(復雜指令系統計算機)的成功技術并克服CISC的缺點基礎上產生并發展起來的。當前對RISC還沒有一個完整的定義,也難以在RISC與CISC兩類機器之間劃出一條明顯的分界線,但是大部分RISC機具有以下一些特點。①使用等長指令,目前的典型長度是4個字節。②尋址方式少且簡單,一般為2~3種,最多不超過4種,絕不出現存儲器間接尋址方式。下一頁返回6.8RISC的硬件結構特點③只有取數指令、存數指令訪問存儲器。指令中最多出現RS型指令,絕不出現SS型指令。④指令集中的指令數目一般少于100種,指令格式一般少于4種。⑤指令功能簡單,控制器多采用硬布線方式,以期更快的執行速度。⑥平均而言,所有指令的執行時間為一個處理時鐘周期。⑦指令格式中用于指派整數寄存器的個數不少于32個,用于指派浮點數寄存器的個數不少于16個。⑧強調通用寄存器資源的優化使用。⑨支持指令流水并強調指令流水的優化使用。⑩RlSC技術的復雜性于它的編譯程序,因此軟件系統開發時間比CISC機器長。上一頁返回6.9指令集技術指令集是存儲在CPU內部,對CPU運算進行指導和優化的硬程序。1.x86指令集要知道什么是指令集還要從當今的x86架構的CPU說起。x86指令集是Intel為其第一塊16位CPU(i8086)專門開發的,IBM1981年推出的世界第一臺PC機中的CPU-i8088(i8086簡化版)使用的也是x86指令,同時,電腦中為提高浮點數據處理能力而增加的x87芯片系列數字協處理器則另外使用x87指令,以后就將x86指令集和x87指令集統稱為x86指令集。由于IntelX86系列及其兼容CPU都使用x86指令集,所以就形成了今天龐大的x86系列及兼容CPU陣容。下一頁返回6.9指令集技術2.MMX(MultiMediaeXtension,多媒體擴展指令集)MMX指令集是Intel公司于1996年推出的一項多媒體指令增強技術。MMX指令集中包括有57條多媒體指令,通過這些指令可以一次處理多個數據,在處理結果超過實際處理能力的時候也能進行正常處理,這樣在軟件的配合下,就可以得到更高的性能。3.3DNow擴展指令集3DNow指令集是AMD公司1998年開發的多媒體擴展指令集,共有21條指令。上一頁下一頁返回6.9指令集技術針對MMX指令集沒有加強浮點處理能力的弱點,重點提高了AMD公司K6系列CPU對3D圖形的處理能力。由于指令有限,3DNow指令集主要用于3D游戲,而對其他商業圖形應用處理支持不足。4.SSE指令集StreamingSIMDExtensions由于MMX指令并沒有帶來3D游戲性能的顯著提升,1999年Intel公司在PentiumIIICPU產品中推出了數據流單指令序列擴展指令(SSE)。SSE兼容MMX指令,它可以通過SIMD(單指令多數據技術)和單時鐘周期并行處理多個浮點來有效地提高浮點運算速度。上一頁下一頁返回6.9指令集技術在MMX指令集中,借用了浮點處理器的8個寄存器,這樣導致了浮點運算速度降低。而在SSE指令集推出時,Intel公司在PentiumIIICPU中增加了8個128位的SSE指令專用寄存器。而且SSE指令寄存器可以全速運行,保證了與浮點運算的并行性。5.SSE2指令集在Pentium4CPU中,Intel公司開發了新指令集SSE2。這一次新開發的SSE2指令一共144條,包括浮點SIMD指令、整形SIMD指令、SIMD浮點和整形數據之間轉換、數據在MMX寄存器中轉換等幾大部分。上一頁下一頁返回6.9指令集技術其中重要的改進包括引入新的數據格式,如:128位SIMD整數運算和64位雙精度浮點運算等。為了更好地利用高速緩存,在Pe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 龍巖市長汀縣2025屆數學三下期末統考試題(含答案解析)
- 齊齊哈爾市克山縣2025-2026學年四下數學期末質量跟蹤監視試題含答案
- 2025廣東廣州醫藥股份有限公司校園招聘40人筆試歷年常考點試題專練附帶答案詳解
- 2025廣東廣州農商行軟件運維崗社招筆試歷年典型考題及考點剖析附帶答案詳解
- 2025年菏澤鄆城北海村鎮銀行招聘(9人)筆試歷年典型考題及考點剖析附帶答案詳解
- 2025年江西貴溪九銀村鎮銀行下半年社會招聘筆試歷年典型考題及考點剖析附帶答案詳解
- 2026電子廠專業考試題及答案
- 2026電務工長考試題及答案大全
- 許明寺光伏項目新進入場人員安全考試測試卷及答案
- 2026電器工程基礎考試題及答案
- 2026年鄉鎮自來水抄表客服招聘考試筆試試題(含答案)
- 容縣輔警招聘考試題庫 (答案+解析)
- 2025年福州市鼓樓區城投集團招聘筆試歷年參考題庫(含答案詳解)
- 2026內蒙古呼倫貝爾市海拉爾區紅旅文化旅游開發有限責任公司下屬四家子公司招聘23人考試參考題庫及答案詳解
- 2026年山東事業編統考考試《綜合應用能力》真題及答案解析
- 現代漁業園區規劃布局方案
- 期末模擬測試卷(試卷)2025-2026學年五年級數學下冊人教版(含答案)
- 中華人民共和國生態環境法典測試題及答案
- T∕CAPID 005.4-2023 垃圾焚燒發電工程質量監督檢查大綱 第4部分:廠用電系統受電前監督檢查
- 中國專家共識降膽固醇策略2026
- 2026年急診科質量控制考核細則
評論
0/150
提交評論