




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機系統結構主講教師:單博煒課程簡介課本:《計算機系統結構》同時可看的幾本中文參考書:鄭緯民,湯志忠《計算機系統結構》第二版,2006,清華大學出版社白中英《計算機系統結構》第三版,2010,科學出版社
課程成績總成績=平時成績*30%+期末成績*70%平時成績=點名成績+平時作業(yè)期末成績=期末考試成績外文參考書ComputerArchitecture:AQuantitativeApproachbyDavidPattersonandJohnHennessy,4thedition,MorganKaufmann,2009ComputerOrganizationandDesignbyJohnHennessyandDavidPatterson,4thedition,MorganKaufmann,2007JohnHennessy此書作者MIPS系統的奠基人斯坦福大學校長IEEE,ACMFellow美國國家科學院院士,美國國家工程院院士硬件專業(yè)的課程順序數字邏輯->組成原理->系統結構系統結構屬于專業(yè)課,著重講述并行計算機系統的基本概念、結構、分析和設計方法課程目錄第1章計算機系統結構導論基本概念并行性的發(fā)展分類性能評價第2章指令系統數據表示指令系統的優(yōu)化設計計算機指令系統的發(fā)展方向第3章流水線技術與向量處理技術流水線基本原理流水線性能分析流水線中的相關及處理先進的流水線調度技術指令級并行技術向量處理技術課程目錄第4章存儲系統存儲系統及性能并行主存系統虛擬存儲器高速緩沖存儲器第5章并行處理機并行處理機的結構與特點并行處理機的互聯網絡幾種典型的并行處理機第1章計算機系統結構導論主要介紹:計算機系統結構的基本概念和多級層次結構分析計算機系統結構,計算機組成與計算機實現的含義、研究內容及其相互關系討論計算機系統并行性發(fā)展的技術途徑與分類研究系統結構一般的性能評價標準
1.1.1計算機系統的層次結構計算機系統(computersystem)=硬件(hardware)+軟件(software)按照功能劃分成多級層次結構M0-M6M0-M1屬于計算機組織與結構M3-M5屬于系統軟件M6是應用軟件分級有利于正確理解計算機系統的工作;明確軟件硬件固件的地位和作用;有利于理解各種語言的實質有利于設計新的計算機系統語言實現的兩種基本技術翻譯(translation)解釋(interpretation)1.1.2計算機系統的結構、組成和實現計算機系統結構(computerarchitecture)也稱為計算機體系結Amdahl--1964年在介紹IBM360系統時提出計算機系統結構的定義:計算機體系結構時程序設計者所看到的計算機的屬性,即概念性結構與功能特性。不同層次的程序設計者所看到的計算機屬性顯然不同,一個計算機系統中,低層機器概念性結構和功能特性對高層機器的程序設計者是透明的。研究內容包括:數據表示:數據類型和格式尋址規(guī)則:尋址方式,表示,地址計算寄存器定義:各類寄存器指令系統:指令的操作類型個格式存儲系統:編址單位、編址方式、存儲容量,編址空間中斷系統:中斷類型,分級,處理程序的功能,入口地址機器工作狀態(tài):定義和切換I/O系統:I/O設備的連接方式、主機與I/O設備之間的數據傳送方式和格式、傳送的數據量以及I/O操作的結束與出錯標志等信息保護。包括信息保護方式和硬件對信息保護的支持計算機組成計算機組成(computerorganization)是計算機系統結構的邏輯實現,包括機器內部的數據流和控制流的組成以及邏輯設計等。計算機組成設計要確定的內容數據通路的寬度。指在數據總線上能一次并行傳送的信息位數。專用部件的設置。包括設置哪些專用部件,如乘除法專用部件、浮點運算部件、字符處理、地址運算部件,以及每種專用部件的個數。這些都取決于機器所需達到的速度,專用部件的使用頻度及允許的價格等因素。各種操作對部件的共享程度。若部件共享程度高,則價格便宜,但會由于共享部件的分時使用而降低操作的速度;若設置多個功能部件降低共享程度,通過增加并行度以提高速度,系統的價格會隨之升高。功能部件的并行度。如功能部件的控制和處理方式是采用順序串行方式,還是采用重疊、流水、分布處理方式??刂茩C構的組成方式。如控制機構是采用硬聯控制還是微程序控制,是采用單機處理還是多機處理或功能分布處理。緩沖和排隊技術。包括在部件之間如何設置及設置多大容量的緩沖器來彌補它們的速度差異;在安排等待處理事件的順序時,采用隨機、先進先出、先進后出、優(yōu)先級、循環(huán)隊等方式中的哪一種。預估、預判技術。如采用何種原則來預測未來行為,以優(yōu)化性能和優(yōu)化處理??煽啃约夹g。如采用怎樣的冗余技術和容錯技術來提高可靠性。計算機實現計算機實現(computerimplementation)是計算機組成的物理實現,包括處理機、主存等部件的物理結構,器件的集成度和速度,器件、模塊、插件、底板的劃分與連接,專用器件的設計,微組裝技術,信號傳輸,電源、冷卻及整機裝配技術等。它著眼于器件技術和微組裝技術,其中,器件技術在實現技術中起著主導作用。計算機系統結構、組成和實現三者的關系舉例機器指令集的確定屬于系統結構指令的實現,如取指令、取操作數、運算、送結果等具體操作和排序方式屬于計算機組織乘法器,加法器的物理實現,如器件的選定,所使用的封裝技術,屬于計算機實現計算機等級分為巨型,大型,中型,小型,微型等若干級計算機工業(yè)在處理性能和價格的關系上可以有兩種途徑:一種是維持價格不變,充分利用器件技術等的進展不斷提高機器的性能,即沿圖1.3中的水平實線發(fā)展;另一種是在性能基本不變的情況下,利用器件技術等的進展不斷降低機器的價格,即沿圖1.3中虛線往下發(fā)展。系列機所謂系列機的概念,是在軟、硬件界面上設計好一種系統結構,然后軟件設計者按此系統結構設計系統軟件;硬件設計者根據機器速度、性能、價格的不同,選擇不同的期間,采用不同的硬件技術和組成與實現技術,研制并提供不同檔次的機器。在系列機上必須保證用戶看到一致的機器屬性,例如,IBMAS400系列,數據總線有16、32、64位的區(qū)別,但數據表示方式一致。系列機之間必須保持軟件兼容(softwarecompatibility)。系列機軟件兼容是指同一個軟件(目標程序)可以不加修改地運行于系統結構相同的各檔次機器中,模擬與仿真要求在A機器上用虛擬機的概念實現B機器的指令系統,如圖1.4所示,即B機器的每一條機器指令由A機器的一段機器語言程序去解釋執(zhí)行,從而可使B機器的程序能在A機器上運行。這種用機器語言程序解釋實現軟件移植的方法稱為模擬(simulation),被模擬的B機器稱為虛擬機(virtualmachine),A機器稱為宿主機(hostmachine)。這種用微程序直接解釋另一種機器指令系統實現軟件移植的方法稱為仿真(emulation)。進行仿真工作的A機器稱為宿主機,被仿真的B機器稱為目標機(targetmachine),為仿真所編寫的解釋微程序稱為仿真微程序。仿真與模擬的主要區(qū)別在于解釋所用的語言:仿真用微程序解釋,其解釋程序在微程序存儲器中,而模擬用機器語言解釋,其解釋程序在主存儲器中。計算機系統結構中并行性的發(fā)展研究計算機體系結構的目的是提高計算機系統的性能。開發(fā)計算機系統的并行性,是計算機體系結構的重要研究內容之一。馮·諾依曼型計算機由運算器、控制器、存儲器、輸入設備和輸出設備五個部分組成。隨著計算機應用領域的擴大和計算機技術的發(fā)展,人們已經逐漸認識到早期計算機所采用的馮·諾依曼型結構存在的問題,不斷地對這種結構加以改進并開發(fā)全新的系統結構。并行性概念所謂并行性(parallelism)是指在同一時刻或是同一時間間隔內完成兩種或兩種以上性質相同或不相同的工作。只要時間上相互重疊,就存在并行性。嚴格來講,把兩個或多個事件在同一時刻發(fā)生的并行性叫做同時性(simultaneity);把兩個或多個事件在同一時間間隔內發(fā)生的并行性叫做并發(fā)性(concurrency)。在進行并行處理時,其每次處理的規(guī)模大小可能是不同的,這可用并行性顆粒度(granularity)來表示。顆粒度用于衡量軟件進程所含計算量的大小,最簡單的方法是用程序段中指令的條數來表示。顆粒度一般可分為細粒度、中粒度和粗粒度三種,若程序段中指令條數小于500條,稱為細粒度,500~2000條指令之間稱為中粒度,大于2000條稱為粗粒度。并行性的等級按照并行顆粒度不同從低到高可以分為指令內部并行。指令內部的微操作之間的并行。指令級并行(ILP,InstructionLevelParallel)。并行執(zhí)行兩條或多條指令。任務級或過程級并行。并行執(zhí)行兩個或多個過程或任務(程序段)。作業(yè)或程序級并行。在多個作業(yè)或程序間的并行。提高并行性的途徑時間重疊:多個處理過程在時間上相互錯開,輪流重疊的使用同一套硬件設備的各個部分,以加快硬件周轉來提高處理速度。時間重疊原則上不要求重復的硬件設備資源重復:通過重復設置資源,尤其是硬件資源,大幅度提高計算機系統的性能資源共享:是一種軟件方法,它使多個任務按一定時間順序輪流使用同一套資源。資源共享既降低了成本,提高了系統資源利用率,也可以相應地提高整個系統的性能。并行處理的發(fā)展過程可從單處理機系統和多計算機系統兩個方向來實現圖1.6單機系統中的并行性時間重疊流水線處理機pipeline圖1.7指令串行執(zhí)行和流水執(zhí)行多機系統發(fā)展也遵循著時間重疊、資源重復和資源共享的技術途徑表1.1三種類型多處理機比較項
目同構型多處理機異構型多處理機分布處理系統目的提高系統性能(可靠性、速度)提高系統使用效率兼顧效率與性能技術途徑資源重復(機間互連)時間重疊(功能專用化)資源共享(網絡化)組成同類型(同等功能)不同類型(不同功能)不限制分工方式任務分布功能分布硬件、軟件、數據等各種資源分布工作方式一個作業(yè)由多機協同并行地完成一個作業(yè)由多機協同串行地完成一個作業(yè)由一臺處理機完成,必要時才請求它機協作控制形式常采用浮動控制方式采用專用控制方式分布控制方式耦合度緊密耦合松散耦合松散、緊密耦合對互連網絡的要求快速、靈活、可重構專用快速、靈活、簡單、通用表1.1三種類型多處理機比較1.3計算機系統的分類研究計算機系統的分類方法有助于認識計算機系統的結構和組成的特點,理解系統的工作原理和性能。從不同的角度,可以提出不同的分類方法,這里主要介紹兩種常用的分類方法。Flynn分類法Michae1.J.Flynn于1966年提出按指令流和數據流的多倍性對計算機系統結構進行分類的方法。指令流(instructionstream)是指機器執(zhí)行的指令序列;數據流(datastream)是指由指令流調用的數據序列,包括輸入數據和中間結果;四種分類
(c)MISD計算機(a)SISD計算機(b)SIMD計算機(d)MIMD計算機馮氏分類法1972年,美籍華人馮澤云提出用最大并行度(degreeofparallelism)對計算機系統結構進行分類。所謂最大并行度Pm,是指計算機系統在單位時間內能夠處理的最大的二進制位數。最大并行度Pm定量地反映了對數據處理的并行性。
Pm=n*m
式中,n表示同時處理時一個字中的二進制位數;m表示能同時處理的字數。按計算機對數據處理方式,由Pm值可得下列四種計算機系統結構類型。字串位串(WSBS)。其n=1,m=1,這是第一代計算機發(fā)展初期的純串行計算機,如EDVAC。字串位并(WSBP)。其n>l,m=l,這是傳統并行的單處理機,我們日常使用的大多數機器都屬于這種類型。字并位串(WPBS)。其n=l,m>l(即位片處理),如STARAN、早期的MPP、DAP等,它們都是20世紀70年代研制的并行處理機。字并位并(WPBP),其n>l,m>l(即全并行處理),如Cmmp、ILLIAC-IV以及PEPE等,它們都具有很好的并行性。系統結構發(fā)展的因素現代計算機系統結構的重大變化與改進:高級語言與機器語言的語義距離縮小硬件子系統與操作系統和數據庫管理系統軟件相適應出現了與LSI,VLSI器件相適應的計算機系統結構系統功能分散化、專業(yè)化高可靠性的容錯計算機專用計算機串行向并行轉變突破指令驅動,出現數據驅動和需求驅動人工智能計算機1.4計算機性能的評價1.經常性事件優(yōu)先原則是計算機系統結構設計中最重要和最常用的原則。這個原則的基本思想是:對于經常發(fā)生的事件,賦予它優(yōu)先的處理權和資源使用權,加快它的處理速度,以便提高整個系統的性能。在進行計算機設計時,如果需要權衡,就必須側重常見事件,使最常發(fā)生的事件優(yōu)先。此原則也適用于資源分配。著重改進經常性事件性能,能夠明顯提高計算機性能。通常,經常性事件的處理比較簡單,容易使之更快完成。例如,CPU在進行加法運算時,運算結果可能產生溢出,但無溢出為更經常發(fā)生的事件。因此,應針對無溢出情況進行優(yōu)化設計,加快無溢出加法計算速度。雖然發(fā)生溢出時機器速度可能會減慢,但由于溢出事件發(fā)生概率很小,所以總體上機器性能還是提高了。2.Amdahl定律如何確定經常性事件以及如何加快處理這些事件是Amdahl定律需要解決的問題。Amdahl定律指出:系統中某部件由于采用某種更快的執(zhí)行方式后,整個系統性能的提高與這種執(zhí)行方式在系統中使用頻率或占總執(zhí)行時間的比例有關。系統加速比依賴于兩個因素:(1)可改進部分在原系統執(zhí)行時間中所占的比例。例如,一個需運行60s的程序中有20s的運算可以加速,那么該比例就是20/60。(2)可改進部分改進以后的性能提高。例如,系統改進后執(zhí)行程序,其中可改進部分花費的時間為2s。,而改進前該部分需花費的時間為5s,則性能提高為5/2。(1)改進后系統的總執(zhí)行時間Tn
(2)改進前后整個系統的加速比Sn(1-Fe)表示不可改進比例。當Fe
=0,即無改進部分時,Sn=1,所以系統性能提高幅度受改進部分所占比例的限制。當
時,有
由此得到Amdahl定律的一個重要推論:若只針對整個系統的一部分進行優(yōu)化.則系統獲取的性能改善極限值受Fe的約束,系統加速比不大于1/(1-Fe)。例題[例1.1]設在系統整個運行時間中某部件的處理時間占30%,若改進后速度加快到15倍,問整個系統性能將提高多少?解:由題可知Fe=0.3,Se=15,則
[例1.2]若在整個測試程序的執(zhí)行時間中,求浮點數平方根FPSQR的操作占10%?,F有兩種改進方案:一種是采用FPSQR硬件,使其速度加快到10倍;另一種是使所有浮點數指令FP速度加快到4倍,并設FP指令占整個程序執(zhí)行時間的40%。請比較兩種方案的優(yōu)劣。解:硬件方案,Fe=0.1,Se=10,則FP加速方案,Fe=0.4,Se=4,則比較結果可知,FP加速方案更優(yōu)。注意,結論的前提是程序量的40%為FP指令。3.程序訪問的局部性原理所謂程序訪問的局部性原理,是指程序在執(zhí)行過程中所訪問地址的分布有相對簇聚的傾向,這種簇聚表現在指令和數據兩方面。程序局部性包括時間上的局部性和空間上的局部性:前者是指程序即將用到的信息很可能是目前正在使用的信息;后者是指程序即將用到的信息很可能與目前正在使用的信息在程序空間上是相鄰或相近的。程序訪問的局部性原理是計算機系統結構設計的基礎之一。在很多地方,尤其在處理與存儲相關的問題時,經常運用這一原理。程序訪問的局部性原理為我們提供了設計計算機系統時,解決高性能和低成本之間的矛盾的途徑。1.4.2CPU性能公式為了衡量CPU的性能,可以將程序執(zhí)行的時間進行分解。一個程序在計算機上運行所花費的CPU時間可表示為或者CPU時間=總CPU時鐘周期數×時鐘周期T若將程序執(zhí)行過程中所處理的指令數記為IC,可以獲得一個與計算機系統結構有關的參數,即每條指令的平均時鐘周期數CPI(ClockCyclesPerInstruction):程序執(zhí)行的CPU時間可寫為這個公式通常稱為CPU性能公式,它表明CPU性能與三種系統結構技術相關。時鐘頻率f:反映了計算機實現技術和計算機組織。機器指令的平均時鐘周期數CPI:反映了計算機系統結構組織和指令集的設計與實現。程序使用的指令條數IC:反映了計算機指令集的結構和編譯技術。在程序執(zhí)行過程中,要用到不同類型的指令。假設計算機系統有n種指令,ICi表示第i種指令在程序中執(zhí)行的次數,CPIi表示執(zhí)行一條第i種指令所需的平均時鐘周期數,則程序執(zhí)行的CPU時間為則CPI可表示為式中,
表示了第i種指令在程序中所占比例。上面這些公式均稱為CPU性能公式。[例1.3]若浮點數指令FP占全部指令的30%,其中浮點數平方根FPSQR指令占全部指令的4%,FP操作的CPI為5,FPSQR操作的CPI為20,其他指令的平均CPI為1.25。現提出兩種改進方案,一種是把FPSQR操作的CPI減至3,另一種是把所有FP操作的CPI減至3,試比較兩種方案對系統性能的提高程度。解:改進之前,系統的指令平均時鐘周期數CPI為方案A:如果使FPSQR操作的時鐘周期數由CPIFPSQR=20降至
,則整個系統的CPI為方案B:如果使所有FP操作的平均時鐘周期數由CPIFP=5降至
,則整個系統的CPI為從降低整個系統的指令平均時鐘周期數的程度來看,方案A優(yōu)于方案B。分別計算兩種方案的加速比:從加速比來看.同樣得出方案A優(yōu)于方案B的結論。[例1.4]設機器A和機器B對條件轉移采用的處理方法不同。CPUA采用比較指令和條件轉移指令的處理方法,實現一次條件轉移需執(zhí)行兩條指令,條件轉移指令和比較指令各占執(zhí)行指令總數的15%。CPUB,采用比較與條件轉移指令合一的處理方法,實現一次條件轉移只需執(zhí)行一條指令。若規(guī)定兩臺機器執(zhí)行條件轉移指令需2個時鐘周期,其他指令只需1個時鐘周期,CPUB的時鐘周期比CPUA慢20%,請比較:(1)CPUA和CPUB哪個工作速度更快?(2)若CPUB的時鐘周期只比CPUA慢10%,哪個CPU工作速度更快?
解:(1)計算機器A的CPIA為CPIA=0.15×2+0.85×1=1.15CPUA時間=ICA×CPIA×TA=1.15TA×ICAICA是CPUA的指令條數。由于CPUB無比較指令,所以ICB=0.85ICA,使CPUB的轉移指令所占比例為15%÷805%=17.65%,計算機器B的CPIB
為CPIB=0.18×2+0.82×1=1.18又因為CPUB的TB比CPUA的TA慢20%,所以TB=1.2TACPUB時間=ICB×CPIB×TB=0.85ICA×1.18×1.2TA=1.2TA×ICA比較可知,CPUA時間<CPUB時間,故CPUA比CPUB工作速度快。(2)此時有TB=1.1TA,據前結論CPUA時間=1.15TA×ICACPUB時間=0.85ICA×1.18×1.1TA=1.1TA×ICA因此CPUB時間<CPUA時間,故CPUB的工作速度更快些。1.4.1系統結構的性能評價標準衡量計算機性能的唯一固定而且可靠的標準就是機器真正執(zhí)行程序的時間。這里的執(zhí)行時間是計算機在完成一個任務時,包括訪問磁盤、訪問存儲器、I/O操作及系統開銷所花費的全部時間,也稱為計算機的響應時間。CPU時間是指CPU工作的時間,不包括I/O等待時間。它可分為CPU執(zhí)行用戶程序的用戶CPU時間和CPU花費在操作系統上的系統CPU時間。在此討論的CPU性能指的是用戶CPU時間。因此,計算機性能可分為基于響應時間的“系統性能”度量方法和基于用戶CPU時間的“CPU性能”度量方法。下面主耍討論CPU性能。1.MIPS和MFLOPSMIPS(MillionInstructionsPerSecond),即百萬條指令每秒是目前較為流行的描述計算機性能的替代標準之一。對于一個給定的程序,MIPS定義為MIPS是單位時間內執(zhí)行指令的次數。若用Te表示程序的執(zhí)行時間,則Te的表達式為[例1.5]已知某處理機的CPI=0.5,時鐘頻率為450MHz,試計算該處理機的運算速度。解:由于處理機的時鐘頻率為fc=450MHz,可求得運算速度為即該處理機的運算速度為900MIPS。機器的MIPS越高,說明機器速度越快,故MIPS可從一定程度上反映機器的性能。但是用MIPS評價機器的性能存在以下問題。MIPS依賴于機器的指令集,所以用MIPS來衡量指令集不同的機器的性能優(yōu)劣是很不準確的。
在同一臺機器上,MIPS會因程序不同而發(fā)生變化,有時其差異會很大。MIPS的評價結果可能與采用正確的性能評價方法的評價結果相反。一個典型例子就是具有可選硬件浮點運算部件的機器。因為浮點運算速度低于整數運算,所以很多機器提供可選的硬件浮點運算部件。結果是用硬件實現浮點運算的時間少,而用軟件實現浮點運算的MIPS高,導致MIPS評價結果與機器實際性能相反。因此MIPS標準只適宜于評價標量機,因為在標量機中執(zhí)行一條指令,一般可得到一個運算結果,而在向量機中,執(zhí)行一條向量指令通常可得到多個運算結果。所以,用MIPS來衡量向量機是不合適的。另一種替代標準是MFLOPS(MillionFloatingPointOperationsPerSecond),即百萬次浮點運算每秒。MFLOPS定義為:
由于MFLOPS衡量機器性能時存在下述缺陷,故也不能作為系統性能評價的標準。(1)MFLOPS只能衡量機器浮點操作的性能,而不能體現機器的整體性能。例如編譯程序,不管機器的性能有多好,它的MFLOPS部不會太高。(2)MFLOPS的衡量是基于浮點操作而非指令來進行的,所以它可以用來比較不同指令集的機器之間的浮點操作性能,但比較的結果并非可靠。由于不同機器的浮點運算集可能不同,例如,機器A有浮點除法指令,而機器B沒有,它們對浮點操作的支持就會不同,完成程序中的浮點除法時,前者的浮點操作次數比后者少得多,執(zhí)行時間也少于后者,所以難以按MFLOPS評價它們的性能優(yōu)劣。(3)MFLOPS取決于機器和程序兩個方面,不同程序在同一機器上的MFLOPS會不相同。例如,運行由100%浮點加法組成的程序所得到的MFLOPS值將比運行由100%浮點除法組成的程序所得到的MFLOPS值高。因此用單個程序的MFLOPS值不能反映機器的性能。MFLOPS和MIPS之間的量值關系沒有統一標準,一般認為在標量計算機中執(zhí)行一次浮點運算需要2~5條指令,平均約需3條指令,故有1MFLOPS≈3MIPS。[例1.6]用一臺處理機執(zhí)行標準測試程序,程序所含的各類指令數量和執(zhí)行每類指令所用時鐘周期數如表1.4所示,處理機的時鐘頻率為50MHz,求有效CPI、MIPS速率和程序的執(zhí)行時間。表1.4標準測試程序中各類指令數和相應所需的時鐘周期數指令類型整數運算數據傳送浮點運算控制傳送指令數時鐘周期數43000134000217000260002解:指令的總數為
43000+34000+17000+6000=100000條其中各類指令所占的比例分別是:整數運算為43%,數據傳送為34%,浮點運算為17%,控制傳送為6%。
(1)有效CPI為
1×0.43+2×0.34+2×0.17+2×0.06=1.57CPI(2)MIPS速率為(3)程序的執(zhí)行時間為2.性能測試機器的性能需要采用基準測試程序來測試評價,衡量計算機性能的標準是程序的執(zhí)行時間?;鶞蕼y試程序是為比較測試機器性能而專門編寫的程序,它考慮了各種操作和各種程序的比例,可以是一組或多組程序。將n個測試程序在機器上運行,記錄它們的執(zhí)行時間,然后可按下述方法對n個執(zhí)行時間進行處理來評價機器性能。常用的基準測試軟件:superPI,linpack(1)平均執(zhí)行時間平均執(zhí)行時間是各測試程序執(zhí)行時間的算術平均值。其中,Ti為第i個測試程序的執(zhí)行時間。(2)加權執(zhí)行時間加權執(zhí)行時間是各測試程序執(zhí)行時間的加權平均值。其中,權因子Wi是第i個測試程序在總共n個測試程序中所占的權重,
。本章小結本章主要討論了計算機系統結構的基本概念。首先,在計算機系統層次結構概念的基礎上,定義了計算機系統結構,并闡述了計算機組成和計算機實現的含義以及它們和計算機系統結構之間的關系。然后進一步探討了計算機系統中對系統結構產生影響的重要特性。計算機系統結構研究的主要內容之一就是通過并行性技術提高計算機系統的性能。本章講述了并行性技術的基本概念,討論了提高計算機系統并行性所采用的時間重疊、資源重復和資源共享三種技術途徑,以及從單機或多機系統沿不同技術途徑發(fā)展而形成的同構型、異構型和分布式處理等不同類型的多處理機系統。在此基礎上介紹了計算機系統結構的Flynn和馮氏兩種分類方法。對計算機系統技術性能進行定量分析是研究和發(fā)展現代計算機的重要手段之一。本章介紹了計算機系統性能的評價標準,討論了對計算機系統進行定量分析的技術和方法。軟件對于系統結構的影響軟件是促進計算機系統結構發(fā)展的最重要因素為了滿足軟件的可移植性的要求有如下三種解決方法系列機方法系列機:一個廠家生產相同的系統結構,但不同組成和型號的機器,做到向后兼容例如:IBM370系列機 AnnouncedSeptember23,1970,IBM370-145模擬和仿真方法模擬:用軟件方法在一臺計算機上實現另一臺計算機的指令系統,若在A計算機上實現B計算機的指令系統,此時,A稱為宿主機,B稱為虛擬機統一的高級語言方法將CPU和外圍設備之間進行對接的接口設備具有:控制,緩沖,狀態(tài),轉換,整理,程序中斷的功能應用對于系統結構的影響主要是一些科學問題的高性能計算器件對于系統結構的影響五代計算機的典型特征系統結構的生命周期定量分析技術系統設計的定量原理大概率事件優(yōu)先原理:對于大概率事件,賦予它優(yōu)先的處理權和資源使用權,以獲得全局的最優(yōu)結果Amdahl定律:加快某部件執(zhí)行速度所獲得的系統性能加速比,受限于該部件在系統中的重要性
加速比計算機執(zhí)行某個任務的總時間中可被改進部分的時間所占的百分比,記為Fe;提高的倍數記為Se;改進后的時間Tˊ=T0(1-Fe+Fe/Se)加速比n=T0/Tˊ=1/(1-Fe+Fe/Se)例題1.6假設系統某一個部件的處理速度加快9倍,但該部件的原處理時間僅為整個運行時間的45%,則采用加快措施后能使整個系統的性能提高多少?解:Fe=0.45;Se=9所以n=1/(1-Fe+Fe/Se)=1/(1-0.45+0.45/9)=1/0.6=1.667例題1.7假定要將某一執(zhí)行部件改進后速度提高10倍,改進后被改進部件執(zhí)行時間占系統總運行時間的50%。問改進后,獲得的加速比n?解:假設系統改進前執(zhí)行時間T,改進后為Tˊ,則
n=T/Tˊ=1/(1-Fe+Fe/Se)
Tˊ=(1-Fe+Fe/Se)*T又50%Tˊ=Fe*T/1050%Tˊ=(1-Fe)*TFe=5*(Tˊ/T)
所以n=T/Tˊ=5.5例題1.8上例中的部件在改進前的執(zhí)行時間占改進后的百分比是多少?解:
n=1/(1-Fe+Fe/Se)=1/(1-Fe+Fe/10)=5.5Fe=91%CPU性能公式CPU的運行周期稱為時鐘周期。用時間長度(ns)或頻率(MHz)來表示。一個程序所花費的CPU時間Tcpu如下表示:
Tcpu=Nc*t=Nc/f其中,Nc是CPU時鐘周期,t是時長,f是頻率程序執(zhí)行時間的另一表述指令條數IN,每條指令平均時鐘周期數CPI
Tcpu=IN*CPI*t=(IN*CPI)/f上式表示,CPU性能與3個因素有關:時鐘頻率f;每條指令所花的時鐘周期CPI指令條數IN時鐘周期總數的另一計算方法其中:Ii表示i指令在程序中執(zhí)行的次數;CPIi表示i指令所需的平均時鐘周期數;n為指令種類數。例1.9 有兩臺機器A,B,他們對于條件轉移指令的處理采用各不相同的設計方案:①CPUA采用一條比較指令來設置相應的條件碼,由緊隨其后的一條轉移指令對此條件碼進行測試,以確定是否進行轉移,因此實現一次條件轉移需要比較和測試兩條指令;②CPUB采用比較和測試兩種功能合在一條指令的方法,實現條件轉移只需一條指令。 假設在這兩臺機器的指令系統中,執(zhí)行條件轉移指令需要2個時鐘周期,而其他指令只需1個時鐘周期。又假設CPUA中,條件轉移指令占總執(zhí)行指令條數的20%。由于每條轉移指令都需要一條比較指令,所以比較指令也將占20%。由于CPUB在轉移指令中包含了比較功能,因此它的時鐘周期就比CPUA要慢25%。問CPUA和CPUB哪個工作速度更快?解:設CPUA的時鐘周期長度為tA,CPUB的時鐘周期長度為tB,
CPIA=0.2×2+0.8×1=1.2 TCPUA=INA×1.2×tA, CPUB中由于沒有比較指令,轉移指令由原來占20%上升為20%÷80%=25%,它須要個時鐘周期,而其余的75%指令只需要1個時鐘周期,所以 CPIB=0.25×2+0.75×1=1.25 CPIB中由于沒有比較指令,因此INB=0.8×INA。又因為tB=1.25tA,所以 TCPUB=INB×CPIB×tB
=0.8INA×1.25×1.25tA
=1.25INA×tA
所以可見TCPUA<TCPUB例1.10上例中,如果CPUB的時鐘周期只比CPUA的慢10%,那么哪一個CPU會工作的更快些?解:TCPUA=INA×1.2×tA
因為tB=1.1tA
TCPUB=0.8INA×1.25×1.1tA=1.1INA×tA 所以可見TCPUB<TCPUA程序訪存的局部性原理一個程序用90%的執(zhí)行時間去執(zhí)行僅占10%的程序代碼此原理成為存儲器體系的構造基礎實質是:程序往往重復使用它剛剛使用過的數據和指令性能評價標準時間指標:完成同樣的工作量,花費的時間最少,則性能最高以SuperPI為例常用的幾種評價指標MIPS—millioninstructionspersecond
每秒百萬條指令數
MIPS定義為:其中IN是指令總數;TE是執(zhí)行所需時間;t為時鐘周期長度;f是時鐘頻率,是t的倒數 MIPS存在的不足之處MIPS依賴于指令系統,比較不同指令系統是不準確的在同一臺機器上,MIPS因程序不同而變化僅適于評估標量計算機MFLOPSmillionfloatingpointoperationpersecond每秒百萬浮點操作MFLOPS基于操作而非指令,可比較兩種不同機器;只能衡量浮點操作,而不能體現整體性能測試程序真實程序。例如:C編譯程序,Tex軟件,CAD工具核心程序。例如:Linpack小測試程序。例如:Quicksort綜合測試程序。例如:Whetstone例1.11用一臺40MHz處理執(zhí)行標準測試程序,它包含的混合指令數和相應所需的時鐘周期數如表1.2所示,求有效CPI,MIPS速率和程序執(zhí)行時間T指令類型指令數時鐘周期數整數運算450001數據傳送320002浮點運算150002控制傳送80002解:利用前述公式MIPS速率=f/(CPI×106)=(40×106)/(1.55×106)=25.8(百萬條指令/秒)程序執(zhí)行時間T=IN/(MIPS×106)=(100000)/(25.8×106)=0.003875(秒)性能比較下表列出兩個程序在A、B、C三臺機器上的執(zhí)行時間(秒)ABCW(1)W(2)W(3)程序11.0010.0020.000.500.9090.999程序21000.00100.0020.000.500.0910.001加權算術平均Am(1)500.5055.0020.00加權算術平均Am(2)91.9118.1920.00加權算術平均Am(3)2.0010.0920.00程序執(zhí)行的衡量標準算術平均值法加權算術平均值
2.調和平均值法如果性能是用速度(MFLOPS)表示,可以采用調和平均值法來比較:
R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國電動烤肉機行業(yè)需求區(qū)域調研與發(fā)展戰(zhàn)略研究研究報告
- 2025-2030中國球形信標浮標行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國物流配送行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃研究報告
- 2025-2030中國燃氣煙機行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國漁夫帽行業(yè)市場發(fā)展分析及投資前景預測研究報告
- 2025-2030中國液化氣運輸車市場發(fā)展分析及市場趨勢與投資方向研究報告
- 2025-2030中國消斑美白液行業(yè)市場運行分析及發(fā)展前景與投資風險研究報告
- 2025-2030中國治理、風險管理和合規(guī)(GRC)軟件行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國汽車防護涂料行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國汽車廢氣旁通閥行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 電波傳播與天線基礎知識單選題100道及答案解析
- 圍棋教學課件教學課件
- 亡靈節(jié)課件教學課件
- 深基坑土方開挖專項施工方案
- 大型集團公司信息安全整體規(guī)劃方案相關兩份資料
- 【雙減作業(yè)論文】雙減背景下初中數學分層作業(yè)的設計與實施(共八篇)
- 2024年安徽龍亢控股集團限公司公開招聘人員13人(高頻重點提升專題訓練)共500題附帶答案詳解
- 從古至今話廉潔-大學生廉潔素養(yǎng)教育智慧樹知到期末考試答案章節(jié)答案2024年吉林大學
- 人音版 (五線譜)四年級下冊音樂-5 《小溪流水響叮咚》教案
- 2023-2024學年上海交大附中高三上英語10月周練卷及答案
- 病理生理學病例分析報告
評論
0/150
提交評論