計算機組成與體系結構_第1頁
計算機組成與體系結構_第2頁
計算機組成與體系結構_第3頁
計算機組成與體系結構_第4頁
計算機組成與體系結構_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章計算機組成與體系結構根據考試大綱,本章內容要求考生掌握3個知識點。(1)構成計算機的各類部件的功能及其相互關系;(2)各種體系結構的特點與應用(SMP、MPP);(3)計算機體系結構的發展。1.1計算機體系結構的發展馮·諾依曼等人于1946年提出了一個完整的現代計算機雛形,它由運算器、控制器、存儲器和輸入/輸出設備組成。現代的計算機系統結構與馮·諾依曼等人當時提出的計算機系統結構相比,已發生了重大變化,雖然就其結構原理來說,占有主流地位的仍是以存儲程序原理為基礎的馮·諾依曼型計算機,但是,計算機系統結構有了許多改進,主要包括以下幾個方面。(1)計算機系統結構從基于串行算法改變為適應并行算法,從而出現了向量計算機、并行計算機、多處理機等。(2)高級語言與機器語言的語義距離縮小,從而出現了面向高級語言機器和執行高級語言機器。(3)硬件子系統與操作系統和數據庫管理系統軟件相適應,從而出現了面向對象操作系統機器和數據庫計算機等。(4)計算機系統結構從傳統的指令驅動型改變為數據驅動型和需求驅動型,從而出現了數據流計算機和歸約機。(5)為了適應特定應用環境而出現了各種專用計算機。(6)為了獲得高可靠性而研制容錯計算機。(7)計算機系統功能分散化、專業化,從而出現了各種功能分布計算機,這類計算機包括外圍處理機、通信處理機等。(8)出現了與大規模、超大規模集成電路相適應的計算機系統結構。1.2構成計算機的各類部件的功能及其相互關系計算機由控制器、運算器、存儲器、輸入設備和輸出設備組成。1966年,Michael.J.Flynn提出根據指令流、數據流的多倍性特征對計算機系統進行分類(通常稱為Flynn分類法),有關定義如下:指令流:指機器執行的指令序列。多倍性:指在系統性能瓶頸部件上同時處于同一執行階段的指令或數據的最大可能個數。Flynn根據不同的指令流-數據流組織方式,把計算機系統分成4類。(1)單指令流單數據流(SISD):SISD其實就是傳統的順序執行的單處理器計算機,其指令部件每次只對一條指令進行譯碼,并只對一個操作部件分配數據。流水線方式的單處理機有時也被當作SISD。值得注意的是,Intel公司的PⅡ中開始采用MMX技術,引進了一些新的通用指令,從某種意義上使用了單指令流多數據流的思想,但是,與Intel公司的前幾代產品(X86/Pentium)相比,其指令序列的執行方式和調用數據的方式沒有發生根本性的變化,所以從整體上來看,采用PⅡ芯片的PC仍屬于SISD。(2)單指令流多數據流(SIMD):SIMD以并行處理機(陣列處理機)為代表,并行處理機包括多個重復的處理單元PU1-PUn,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同數據。相聯處理機也屬于這一類。(3)多指令流單數據流(MISD):MISD具有n個處理單元,按n條不同指令的要求對同一數據流及其中間結果進行不同的處理。一個處理單元的輸出又作為另一個處理單元的輸入,這類系統實際上很少見到。有文獻把流水線看做多個指令部件,稱流水線計算機是MISD。(4)多指令流多數據流(MIMD):MIMD是指能實現作業、任務、指令等各級全面并行的多機系統。多處理機屬于MIMD。當前的高性能服務器與超級計算機大多具有多個處理機,能進行多任務處理,稱為多處理機系統。不論是大規模并行處理機MPP(MassivelyParallelProcessor)還是對稱多處理機SMP(SymmetricalMultiProcessor),都屬于這一類。Flynn分類法是最普遍使用的。其他的分類法還有:(1)馮氏分類法:由馮澤云在1972年提出,馮氏分類法以計算機系統在單位時間內所能處理的最大二進制位數來對計算機系統進行分類。(2)Handler分類法:由WolfganHandler在1977年提出,Handler分類法根據計算機指令執行的并行度和流水線來對計算機系統進行分類。(3)Kuck分類法:由DavidJ.Kuck在1978年提出,Kuck分類法與Flynn分類法相似,也是用指令流、執行流和多倍性來描述計算機系統特征,但其強調執行流的概念,而不是數據流。1.3各種體系結構的特點與應用1.3.1復雜指令系統計算機復雜指令系統計算機(CISC)的主要特點如下。=1\*GB3①指令數量眾多:指令系統擁有大量的指令,通常有100~250條。=2\*GB3②指令使用頻率相差懸殊:指令使用頻率相差懸殊,最常使用的是一些比較簡單的指令,僅占指令總數的20%,但在程序中出現的頻率卻占80%,而大部分復雜指令卻很少使用。=3\*GB3③支持很多種尋址方式:支持的尋址方式通常為5~20種。=4\*GB3④變長的指令:指令長度不是固定的,變長的指令增加指令譯碼電路的復雜性。=5\*GB3⑤指令可以對存儲器單元中的數據直接進行處理:典型的CISC處理器通常都有指令能夠直接對內存單元中的數據進行處理,其執行速度較慢。1.3.2精簡指令系統計算機精簡指令系統計算機(RISC)不是簡單地把指令系統進行簡化,而是通過簡化指令的途徑使計算機的結構更加簡單合理,以減少指令的執行周期數,從而提高運算速度。RISC的主要特點:(1)指令數量少:優先選取使用頻率最高的一些簡單指令以及一些常用指令,避免使用復雜指令。大多數指令都是對寄存器操作,對存儲器的操作僅提供了讀和寫兩種方式。(2)指令的尋址方式少:通常只支持寄存器尋址方式、立即數尋址方式以及相對尋址方式。(3)指令長度固定、格式種類少:因為RISC指令數量少,格式相對簡單,其指令長度固定,指令之間各字段的劃分比較一致,譯碼相對容易。(4)只提供了Load/Store指令訪問存儲器:只提供了從存儲器讀數Load和把數據寫入存儲器Store兩條指令,其余所有的操作都在CPU的寄存器間進行。(5)以硬布線邏輯控制為主:為了提高操作的執行速度,通常采用硬布線邏輯(組合邏輯)來構建控制器。而CISC的指令系統很復雜,難以用組合邏輯電路實現控制器,通常采用微程序控制。(6)單周期指令執行:因為簡化了指令系統,很容易利用流水線技術使得大部分指令都能在一個機器周期內完成。少數指令可能會需要多個周期執行,例如Load/Store指令因為需要訪問存儲器,其執行時間就會長一些。(7)優化的編譯器:RISC的精簡指令集使編譯工作簡單化。因為指令長度固定、格式少、尋址方式少,編譯時不必在具有相似功能的許多指令中進行選擇,也不必為尋址方式的選擇而費心,同時易于實現優化,從而可以生成能夠高效執行的機器代碼。采用RISC技術的CPU硬件一般具有如下特點:寄存器數量多;采用流水線組織;控制器的實現采用硬布線控制邏輯電路。大多數RISC采用了Cache(緩存)方案,使用Cache來提高取指的速度。而且有的RISC甚至使用兩個獨立的Cache來改善性能:一個稱為指令Cache,另一個稱為數據Cache。這樣,取指和讀數可以同時進行,互不干擾。典型的RISC處理器有DEC公司的Alpha21164、IBM公司的PowerPC620、HP公司的PA-8000、SGI公司MIPS分部的TS和Sun公司的UltraSPARC等。從理論上來看,CISC和RISC都有各自的優勢,不能認為精簡指令計算機就好,復雜指令計算機就不好,事實上,這兩種設計方法很難找到完全的界線,而且在實際的芯片中,這兩種設計方法也有相互滲透的地方,表1-1所示是兩者的簡單對比。表1-1CISC和RISC的簡單對比項目CISCRISC指令條數多只選取最常見的指令指令復雜度高低指令長度變化短、固定指令執行周期隨指令變化大大多在一個機器同期完成指令格式復雜簡單尋址方式多極少涉及訪問主存指令多極少,大部分只有兩條指令通用寄存器數量一般大量譯碼方式微程序控制硬件電路對編譯系統要求低高1.3.3流水線技術流水線技術是把一個任務分解為若干個順序執行的子任務,不同的子任務由不同的執行機構負責執行,而這些機構可以同時工作。在任一時刻,任一任務只占用其中一個執行機構,這樣就可以實現多個任務的重疊執行,以提高工作效率。流水線的關鍵之處在于重疊執行。為了得到高性能的表現,流水線應該滿負荷工作,即各個階段都要同時并行地工作。但是在實際情況中,流水線各個階段可能會相互影響,阻塞流水線,使其性能下降。阻塞主要由以下兩種情形引起:執行轉移指令和共享資源沖突。(1)轉移指令的影響通常在順序執行指令的情況下,當CPU取一條指令時,流水線的地址計算部件可以獨立地把當前PC值加上當前指令長度來計算下一條指令的地址,從而可以并行地工作,但是當流水線執行一條轉移指令時,就會引起流水線的阻塞。因為在該轉移指令完成之前,流水線不能確定出下一條指令的地址。所以為了保證指令的正確執行,必須把取指段和指令地址計算段互鎖。在取出轉移指令后,立即鎖住指令地址計算段,直到轉移指令執行完成。互鎖階段流水線處于等待狀態,不能滿負荷工作,因而性能下降。(2)共享資源訪問沖突當多條指令以流水線方式重疊執行時,由于可能會引起對共享的寄存器/存儲器資源訪問次序的變化,因此將導致沖突,這種情況又稱為數據相關。為了避免這種沖突,就需要把相互有關的指令進行阻塞,這樣就會引起流水線效率的下降。一般來說,指令流水線級數越多,越容易導致數據相關,阻塞流水線。1.指令流水線計算機中,一條指令的執行需要若干步,通常采用流水線技術來實現指令的執行,以提高CPU性能。典型的指令執行共分7個階段:=1\*GB3①計算指令地址,修改程序計數器PC;=2\*GB3②取指,即從存儲器中取出指令;=3\*GB3③指令譯碼;=4\*GB3④計算操作數地址;=5\*GB3⑤取操作數;=6\*GB3⑥執行指令;=7\*GB3⑦保存結果。對指令執行階段的劃分也可以把取指作為第一階段,其他階段順序前移,而在最后一個階段計算下一條指令的地址。若假定指令執行的各個階段的執行時間相同,都是一個周期。執行一條指令就需要花費7個周期的時間。采用流水線技術以后,當滿負荷時,每個周期都能從流水線上完成一條指令,相當于性能大約改善了7倍。實際上,流水線技術對性能的提高程度取決于其執行順序中最慢的一步。例如,在指令執行的7個階段中,如果訪問存儲器需要4個周期,而其他操作只需一個周期,一條指令的執行共需訪存3次再加上4個周期的執行段,所以共需要16個周期。采用流水線以后,由于受限于訪存操作,4個周期才能完成一條指令的執行,因此性能提高了大約4倍。2.運算操作流水線計算機在執行各種運算操作時,也可以應用流水線技術來提高運算速度。例如執行浮點加法運算,可以把它分成3個階段:對階、尾數相加和結果規格化。流水線的3個階段用鎖存器進行分割,鎖存器用來在相鄰兩段之間保持處理的中間結果,以供下一階段使用。這樣在滿負荷時,該流水線可以同時處理3條浮點加法指令。1.3.4并行處理1.超級標量處理機在超級標量處理機中,配置了多個功能部件和指令譯碼電路,采取了多條流水線,還有多個寄存器端口和總線,因此可以同時執行多個操作,以并行處理來提高機器的速度。它可以同時從存儲器中取出幾條指令同時送入不同的功能部件。超級標量機的硬件是不能重新安排指令的前后次序的,但可以在編譯程序時采取優化的辦法對指令的執行次序進行精心安排,把能并行執行的指令搭配起來。2.超級流水線處理機超級流水線處理機的周期比其他結構的處理機的短。與超級標量計算機一樣,硬件不能調整指令的執行次序,而由編譯程序解決優先問題。3.超長指令字處理機VLIW是一種單指令流多操作碼多數據的系統結構,編譯程序在編譯時把這個能并行執行的操作組合在一起,成為一條有多個操作段的超長指令,這條超長指令控制VLIW中多個互相獨立的功能部件,每個操作段控制一個功能部件,相當于同時執行多條指令。4.向量處理機向量處理機是一種具有向量數據表示、設置有相應的指令和硬件、能對向量的各個元素進行并行處理的計算機。當進行向量運算時,它的性能要比大型機好得多。向量處理機有巨型計算機和向量協處理機(或稱為數組處理機)兩種類型,巨型計算機能對大量的數據進行浮點運算,同時它還可以進行標量計算和一般數據處理。向量處理機一般采用流水線工作,當它處理一條數組指令時,會對數組中的每個元素執行相同的操作,而且各元素間是互相無關的,因此流水線不會阻塞,能以每個時鐘周期送出一個結果的速度運行。為了存儲系統能及時提供數據,向量處理器配有一個大容量的、分成多個模塊交錯工作的主存儲器。為了提高運算速度,向量處理機的運算部件中可采用多個功能部件,例如向量部件、浮點部件、整數運算部件和計算地址用的地址部件。向量協處理機就是專門處理浮點和向量運算的數組處理機,它一般連接到主機總線上。5.多處理機系統多處理機具有兩個或兩個以上的處理機,共享輸入/輸出子系統,在操作系統的統一控制下,通過共享主存或高速通信網絡進行通信,協同求解一個個復雜的問題。多處理機通過利用多臺處理機進行多任務處理來提高速度,利用系統的重組能力來提高可靠性、適應性和可用性。多處理機具有共享存儲器和分布存儲器兩種不同的結構。具有共享存儲器的多處理機中,程序員無數據劃分的負擔,容易編程;系統處理機數目較少,不易擴充。具有分布式存儲器的多處理機結構靈活;容易擴充;難以在各個處理單元之間實現復雜數據結構的數據傳送;任務動態分配復雜;現有軟件可繼承性差,需要設計新的并行算法。多處理機系統屬于MIMD系統,與SIMD的并行處理機相比,有很大的差別。其根源就在于兩者的并行性的層次不同,多處理機要實現的是更高一層的作業任務間的并行。6.大規模并行處理機并行處理機有時也稱為陣列處理機,它使用按地址訪問的隨機存儲器,以單指令流多數據流方式工作,主要用于要求大量高速進行向量矩陣運算的應用領域。并行處理機的并行性來源于資源重復,它把大量相同的處理單元(PE)通過互聯網絡(ICN)連接起來,在統一的控制器(CU)控制下,對各自分配來的數據并行地完成同一條指令所規定的操作。PE是不帶指令控制部件的算術邏輯運算單元。并行處理機具有強大的向量運算能力,具有向量化功能的高級語言編譯程序有助于提高并行處理機的通用性,減少編譯時間。并行處理機有兩種基本結構類型:采用分布存儲器的并行處理結構和采用集中式共享存儲器的并行處理結構。分布式存儲器的并行處理結構中,每一個處理機都有自己的存儲器,只要控制部件將并行處理的程序分配至各處理機,它們便能并行處理,各自從自己的存儲器中取得信息。而共享存儲多處理機結構中的存儲器是集中共享的,由于多個處理機共享,在各處理機訪問共享存儲器時會發生競爭。因此,需采取措施盡可能避免競爭的發生。大規模并行處理機(MPP)是隨著微處理器技術的飛躍和應用需求的不斷攀升,在20世紀80年代中期發展起來的一種新機型。它是由眾多的微處理器(從幾百到上萬)組成的大規模的并行系統。MPP的出現成為計算機領域中的一個研發熱點,被用作開發萬億次甚至更高速的巨型機的主要結構。MPP可以采用市場上的出售的RISC處理器,所以有很高的性價比。7.對稱處理機對稱多處理機(SMP)目前也基于RISC微處理器。它與MPP最大的差別在于存儲系統:SMP有一個統一的共享主存空間,而MPP則是每個微處理器都擁有自己的本地存儲器。1.3.5互聯網絡互聯網絡(ICN)是用來連接一個計算機系統中各個處理單元(或處理機)、存儲模塊以及各種外部設備,在系統軟件控制下,使各處理單元或各個功能部件相互通信的硬件網絡結構。常見的互聯網結構有總線結構、交叉開關和多級互聯網。并行處理機互連有多種方法,分別舉例如下:(1)恒等置換:相同編號的輸入端與輸出端一一對應互連。其表達式如下: (2)交換置換:實現二進制地址編號中第0位位值不同的輸入端和輸出端之間的連接。其表達式如下: (3)方體置換:實現二進制地址編號中第k位位值不同的輸入端和輸出端之間的連接。其表達式如下: (4)均勻洗牌置換(shuffle):將輸入端二進制地址循環左移一位得到對應的輸出端二進制地址。其表達式如下: (5)蝶式置換:將輸入端二進制地址的最高位和最低位互換位置得到對應的輸出端二進制地址。其表達式如下: (6)位序顛倒置換:將輸入端二進制地址的位序顛倒過來得到對應的輸出端二進制地址。其表達式如下: 1.4例題分析例題1(2001年試題31~32)按照Flynn的分類,PⅡ的MMX指令采用的是(31)模型,而當前的高性能服務器與超級計算機則大多屬于(32)類。(31)、(32)A.SISD B.SIMD C.MISD D.MIMD例題1分析按照Flynn的分類,計算機可分為SISD、SIMD、MISD和MIMD共4類。PⅡ中開始采用MMX技術,引進了一些新的通用指令,雖然使用了單指令多數據思想,但從整體上說PⅡ仍屬于SISD類。當前的高性能服務器與超級計算機大多具有多個處理器,多任務處理并行處理,基本上都屬于MIMD。例題1答案(31)A(32)D例題2(2002年試題50)微指令大體上可分為兩類:水平型微指令和垂直型微指令。在下列幾項中,不符合水平型微指令特點的是(50)。(50)A.執行速度快 B.并行度較低C.更多地體現了控制器的硬件細節 D.微指令長度較長例題2分析垂直型微指令的主要特征:長度短,功能弱,并行度低,編程容易但微程序長,效率低。例題2答案(50)B例題3(2002年試題42~47)在下列體系結構中,最適合于多個任務并行執行的體系結構是(42)。流水線控制方式下,(43)是全局性相關,流水線機器對全局性相關的處理不包括

(44)。靜態流水線是指(45)。假設并行(陣列)處理器的16個處理器編號為0~15,采用單級Cube3網絡互聯時,與13號處理器相連的處理器的編號為(46)。在下列幾項中,不符合RISC特點的是(47)。(42)A.流水線向量機結構 B.分布存儲多處理機結構C.共享存儲多處理機結構 D.堆棧處理機結構(43)A.轉移指令引起的相關 B.先寫后讀相關C.先讀后寫相關 D.寫-寫相關(44)A.猜測法 B.提前形成條件碼C.設置相關專用通道 D.加快短循環程序的執行(45)A.只有一種功能的流水線 B.功能不能改變的流水線C.可同時執行多種功能的流水線D.在同一時間段內,只能完成一種功能的流水線(46)A.1 B.5C.7 D.14(47)A.指令長度固定,指令種類少B.尋址方式種類豐富,指令功能盡量增強C.設置大量通用寄存器,訪問存儲器指令簡單D.選取使用頻率較高的一些簡單指令例題3分析流水線向量處理機是用于指令并行執行的而不是任務并行,并不屬于多處理機。堆棧處理機用于特別的計算或用作外設的數據讀寫。這兩種結構均不適于多個任務的并行執行。并行處理機可分兩種類型,分別為采用分布存儲器的并行處理結構和采用集中式共享存儲器的并行處理結構。其中分布式存儲器的多處理機并行處理結構中,每一個處理器都有自己的存儲器,只要控制部件將并行處理的程序分配各處理機,它們便能并行處理,各自從自己的存儲器中取得信息。而共享存儲多處理機結構中的存儲器是集中共享的,由于多個處理機共享,在各處理機訪問共享存儲器時會發生競爭。因此,最適合于多個任務并行執行的體系結構是分布存儲多處理機結構。在流水線機器中,指令相關、主存操作數相關、通用寄存器組的操作數相關及變址寄存器變址值相關為局部性相關。在具體對局部性相關進行處理時,先寫后讀相關、先讀后寫相關和寫-寫相關都是控制機構能處理的局部性相關的內容。而轉移指令引起的相關則會對流水線機器的吞吐能力和效率造成的影響較局部性相關要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論