【文档说明】计算机组织与设计软硬体介面课件.ppt,共(23)页,124.002 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76288.html
以下为本文档部分文字说明:
1計算機組織與設計-軟硬體介面第二章效能的角色•第二章效能的角色2計算機組織與設計-軟硬體介面第二章效能的角色效能(Performance)•測量、報告、與結論•做出明智的抉擇•看穿市場銷售的伎倆•各個會影響效能的因素:–對於不同的程式,為何有些硬體的效能比其
他的好?•不同程式會有不同的效能–硬體如何影響系統的效能?•我們是否需要一個新的機器或新的作業系統–指令集如何影響效能3計算機組織與設計-軟硬體介面第二章效能的角色哪一架飛機有最好的效能?飛機載客量續航力(mi)速度(mph)波音737-100101630598波音7474704150610BAC
/SudConcorde13240001350道格拉斯DC-8-501468720544•Concorde比747快多少?=>反應時間(responsetime)的問題•747的載客量比道格拉斯DC-8多多
少?=>生產量(throughput)的問題4計算機組織與設計-軟硬體介面第二章效能的角色電腦效能:時間、時間、時間•反應時間(responsetime)–等待多久才執行我的工作?–等待多久才執行一個工作?–在查詢資料庫時,我要等多久?•生產量(throughput)–機器一次
可以執行多少工作–什麼是平均執行率(averageexecutionrate)?–一次完成多少工作?•如果換上一個新的處理器來升級電腦,有什麼增進呢?生產量呢?•如果實驗室多買一台新的電腦,又是如何呢?5計算機組織與
設計-軟硬體介面第二章效能的角色執行時間•Elapsedtime(實耗時間)–完成一件工作所花的全部時間(包含:磁碟、記憶體存取、I/O..等)–使用者親身體驗到的是elapsedtime,但它並不適合用來做比較•CPUtime(CPU時間)–不包括I/O時間和執行其他
程式的時間–CPUtime可在分為系統時間(systemtime)和使用者時間(usertime)•重點:CPU時間–真正執行程式中一行一行指令所花的時間6計算機組織與設計-軟硬體介面第二章效能的角色效能的定義•對於在機器X上面執行某些程式:效能X=1/執行時
間X•機器X比Y快n倍:效能X/效能Y=n•問題:–機器A執行程式花了20秒–機器B執行相同的程式花了25秒7計算機組織與設計-軟硬體介面第二章效能的角色時脈週期•以時脈週期為單位來表示執行時間:•時脈“tick”指示硬體
何時該開始動作:•時脈週期時間(clocktime)=一個完整的時脈週期(如2ns)=每個時脈週期花費幾秒•時脈率或時脈速率(clockrate或frequency)=–(1Hz.=1cycle/sec)•時脈
率200Mhz.為時脈週期時間時脈週期秒數程式時脈週期數程式秒時間秒時脈週期數12001061095nanoseconds8計算機組織與設計-軟硬體介面第二章效能的角色如何改進效能•所以為了改善效能,你能做的
有:時脈秒數程式時脈週期數程式秒數________程式需要的時脈週期數,或________時脈週期時間,或另一種說法________時脈率9計算機組織與設計-軟硬體介面第二章效能的角色一個程式需要多少時脈週期?•可以假設
時脈週期的數目=常數*指令數目?•這個假設是錯誤的,–不同的指令在不同的電腦上有不同的時脈週期數目•為什麼?暗示:還記得這些機器指令嗎,這不是C語言的程式碼第一道指令第二道指令第三道指令第四道第五道第六道...time10計算機組織與設計-軟硬體介面第二章效能的角色不同的指令有不同的時脈週期數
目•乘法比加法花費更多的時間•浮點運算比整數運算耗時•存取記憶體比存取暫存器耗時•重點:改變時脈週期時間,通常會改變不同指令所需的時脈週期數目time11計算機組織與設計-軟硬體介面第二章效能的角色範例•現在我們有一個程式在電腦A上執行需要10秒,電腦A的時脈率為400MHZ。我們試著幫助一個
電腦設計者去建構一台新的機器B,好讓執行我們的程式只需6秒。這個設計者可以使用新的(也許更貴的)技術來改善時脈率,但是他告訴我們這項改變卻會影響CPU中的其他部分的設計,而導致機器B對於想同的程式需要
1.2倍於機器A的時脈週期數目。所以我們應該告訴設計者時脈率應提升到多少才能達成我們的目標?•別緊張,這利用一些基本的原理就可以算出來了。12計算機組織與設計-軟硬體介面第二章效能的角色現在我們對於時脈的瞭解•給定一個程式需要:•一些指令數目•一些時脈週期數目•一些秒數
•下面這些字彙我們已講解過他們的意義:–時脈週期時間(cycletime):secondspercycle–時脈率(clockrate):cyclespersecond–CPI:cyclesperinstruction–MIPS(millionsofinstr
uctionspersecond)每秒的百萬指令數目13計算機組織與設計-軟硬體介面第二章效能的角色效能•執行時間決定效能好壞•有任何變數和效能意義相同嗎?–#執行一個程式花費多少時脈?–#一個程式有多少指令?–#一秒有幾個時脈?–平均一個指令多少時脈?–平
均一秒有幾個指令?•陷阱:想想看這些能象徵效能的變數中的其中一個是否就真的能代表效能。時脈週期秒指令數時脈週期程式數指令程式秒)()(14計算機組織與設計-軟硬體介面第二章效能的角色CPI範例•假設我們要製作兩個相同指令集的架構instructionsetarchitect
ure(ISA)•對於一些程式來說•機器A的時脈週期時間為10ns,CPI為2.0•機器B的時脈週期時間為20ns,CPI為1.2•哪一台機器比較快,快多少?•如果兩台機器有相同的ISA,那麼下列那一項永遠相等?時脈率、CPI、執行時間、指令
的數目、MIPS15計算機組織與設計-軟硬體介面第二章效能的角色關於指令的範例•編譯程式設計人員想要在兩套程式碼之間作選擇,根據硬體的製作,總共有三種不同型態的指令:種類A、種類B、種類C,分別各需要1、2、3的時脈週期數。•第一段程式碼有:
2個種類A的指令、1個種類B的指令、2個種類C的指令•第二段程式碼有:4個種類A的指令、1個種類B的指令、1個種類C的指令。哪一段程式碼比較快,快多少?他們的CPI值又各為多少?16計算機組織與設計-軟硬體介面第二章效能的角色關於MIPS的範例•現有兩個編譯器其時脈速率為100MHZ,給定一
台機器,和上例類似此機器一樣有三種型態的指令:種類A、種類B、種類C,分別各需要1、2、3的時脈週期數。這兩個編譯器被用來製作軟體。•第一個編譯器製作出的程式碼:使用5百萬個種類A的指令、1百萬個種類B的指令、1百萬個種類C的指令。•第二個編譯器製作出的程式碼:使用1千萬個種類A的指
令、1百萬個種類B的指令、1百萬個種類C的指令。•根據MIPS,哪一段程式碼比較快,快多少?•根據執行時間,哪一段程式碼比較快,快多少?17計算機組織與設計-軟硬體介面第二章效能的角色效能評估程式(benchmark)•作為評效效能最好的
工具,就是真正的應用軟體。–工作量(workload)–各種應用軟體:編譯器/編輯器、科學計算軟體、圖形軟體…等•小的評估程式–對於設計者比較好用–比較容易標準化–可能會被誤用•SPEC(SystemPerformanceEvaluationCooperative)•外面公司認同這些
程式及輸入。•仍然可能被誤用•評定效能的指標18計算機組織與設計-軟硬體介面第二章效能的角色SPEC‘89•兩種編譯器的效能比,其中一種為增強型0100200300400500600700800tom
catvfppppmatrix300eqntottlinasa7doducspiceespressogccBenchmarkCompilerEnhancedcompilerSPECperformanceratio19計算機組織與設計-軟硬體介面第二章效能的角色SPEC‘95
BenchmarkDescriptiongo人工智慧、執行go遊戲m88ksimMotorola88k模擬程式;執行測試程式gcc產生SPARC碼的GnuC編譯器compress壓縮和解壓縮在記憶體中的檔案liLisp解譯程式ijp
eg繪圖壓縮與解壓縮perl處理perl程式語言之字串和質數運算vortex資料庫程式tomcatv網路產生meshgeneration程式swim513x513網格的Shallowwater模型su2cor
q量子物理;蒙地卡羅模擬程式hydro2d天體物理學;NavierStokes流體力學統御方程式mgrid3D位能場之多重網格法的解算程序applu拋物線型/橢圓形之偏微方程式trub3d模擬在立方體內之等向性均勻紊流apsi解決污染物有關的溫度、風速、分佈狀況fpppp量子化學wav
e5電漿物理;電磁粒子模擬20計算機組織與設計-軟硬體介面第二章效能的角色SPEC‘95•將時脈速率加倍是否能將效能提升兩倍•一個時脈速率較低的機器能獲得較高的效能嗎?Clockrate(MHz)SPECint20468315791020025015010050PentiumPentiu
mProPentiumClockrate(MHz)SPECfpPentiumPro2046831579102002501501005021計算機組織與設計-軟硬體介面第二章效能的角色Amdahl定律•改進後的執行時間=•範例:•假設一個程式在某台機器上要執行100秒,
而乘法運算就佔了80秒,假設我們想讓程式變成現在的4倍快,試問乘法部分需改善多少才能達到要求?•那如果要到達5倍快,要如何做?•原則:讓常出現的部分加快)(間不受改變影響之執行時改善的倍率時間受改善錯失影響的執行22計算機組織與設計-軟硬體介面第二章效能的角色範例•假設我們加速一台機器,使得其浮
點運算變成5倍快。如果在加速前一些效能評估程式測試此程式的執行時間為10秒,那麼若只花5秒來執行浮點運算程式,則加速(speedup)為多少?•假如我們希望達到3倍的加速,那麼浮點運算的執行時間應該為多少?2
3計算機組織與設計-軟硬體介面第二章效能的角色記住•不同的程式可能會得到不同的效能•執行時間是評估效能最牢靠的方式•從下面的方法來提升某個架構的效能:•提升時脈速率•改善處理器架構,如:低的CPI•加強編譯器以產生較低的CPI或較少的指令數目。•陷阱:藉由改善機器某方面的特性,就預期可以
在整體效能方面得到相同比例的提升。•記得,不要永遠相信你從書上所讀到的東西。