790 likes | 942 Views
2.1 認識效能. 單一電腦的效能表示 不同電腦間的相對效能. 2.1.1 單一電腦的效能表示. 量化與標準. 各種汽車的性能比較. 2.1.1 單一電腦的效能表示. 量化與標準. 各種汽車往返相距 90 公里兩地所需的時間與載客效率表現. 2.1.1 單一電腦的效能表示. 量化與標準 用數據來表現效能,就是一種量化( quantification )的過程 。 當計算方式都相同,單位也都一樣,我們可以從數字輕易地了解比較結果。 即使沒有兩種以上的車輛互相比較,我們也能認識每一種車輛的特性。 數字的產生方法就是一種標準。.
E N D
2.1 認識效能 • 單一電腦的效能表示 • 不同電腦間的相對效能
2.1.1 單一電腦的效能表示 • 量化與標準 各種汽車的性能比較
2.1.1 單一電腦的效能表示 • 量化與標準 各種汽車往返相距90公里兩地所需的時間與載客效率表現
2.1.1 單一電腦的效能表示 • 量化與標準 • 用數據來表現效能,就是一種量化(quantification)的過程 。 • 當計算方式都相同,單位也都一樣,我們可以從數字輕易地了解比較結果。 • 即使沒有兩種以上的車輛互相比較,我們也能認識每一種車輛的特性。 • 數字的產生方法就是一種標準。
2.1.1 單一電腦的效能表示 • 兩種角度 - 執行時間與生成量 • 執行時間(execution time) • 一件工作從開始執行到完成所需要的時間。 • 生成量(throughput) • 在單位時間內可完成特定工作的最高次數。
2.1 認識效能 • 單一電腦的效能表示 • 不同電腦間的相對效能
2.1.2 不同電腦間的相對效能 • 有很多時候 ,「哪一部電腦比較快?快多少?」這樣模糊化的結論還比較有用。 • 想要比較兩個不同系統的效能,同樣必須考慮衡量的標準,較公正的方法是在兩個不同的系統上執行相同的程式。
2.1.2 不同電腦間的相對效能 • 假設在A、B兩個不同系統執行同一個泡沫排序法(bubble sort)的程式: • 欲排序的資料為n筆。 • A系統完成n筆資料的排序需費時x秒。 • B系統完成n筆資料的排序需花費y秒。 • 執行時間與效能的關係式為:
2.1.2 不同電腦間的相對效能 • A系統的效能為: • B系統的效能為:
2.1.2 不同電腦間的相對效能 • 若系統A的效能比系統B優異,則: 系統A的效能是系統B的z倍
2.1.2 不同電腦間的相對效能 • 若系統A是系統B的改良版本,則: 系統A效能比系統B快上w%
2.2 效能的計算 • 基本的效能計算方式 • 以單位時間執行之指令數為效能標準 • 平均效能的計算方式 • 相對效能的評估
2.2.1 基本的效能計算方式 • 基本效能公式 • 執行時間也可稱為程式之CPU執行時間(CPU execution time for a program),簡稱CPU時間(CPU time)。 • 程式的CPU時間計算考量因素: • 時脈週期(clock cycle time) • 單一指令的時脈週期數(clock cycles per instruction,CPI) • 程式內的指令個數(instruction count,IC)
2.2.1 基本的效能計算方式 • 基本效能公式 • 時脈週期:電腦硬體中,必須藉由一種規律發出的訊號來觸發或啟動CPU工作,這些訊號的頻率稱為時脈頻率(clock rate),時脈頻率越高,速度就越快;其倒數即為時脈週期。CPU在每個時脈週期內可以完成一個很基本的動作。
2.2.1 基本的效能計算方式 • 基本效能公式 • 單一指令的時脈週期數:程式的指令不見得是CPU電路中的基本動作,事實上要執行完一個指令,通常必須經由幾個更小的執行週期才能完成;而這些執行週期則是靠硬體所提供的時脈訊號來驅動,所以指令的長度可用時脈週期(clock cycle)為單位來表示。 :
2.2.1 基本的效能計算方式 • 基本效能公式 • 不同類型的指令可能會需要不同的時脈週期,所以我們就以其平均數值來代表程式內各指令的時脈週期數,並稱之為單一指令的平均時脈週期數。 • 不同程式的指令組成不同,因此可能會有不同的CPI。 :
2.2.1 基本的效能計算方式 • 基本效能公式 • 程式內的指令個數:以程式的觀點來看,指令是最基本的單位,因為程式結構中,不管是主程式、或者是常式(routine)、巨集(macro),都是由一連串的指令所組成。而程式指令執行次數的多寡,必然直接影響程式執行時間的長短。 :
2.2.1 基本的效能計算方式 • 基本效能公式 • CPU時間的公式: • 以時脈週期表示: • CPU time = clock cycle time × CPI × IC • 以時脈頻率表示: :
2.2.1 基本的效能計算方式 • 影響效能的因素分析 • 時脈週期(頻率)、單一指令的平均時脈週期(CPI)、以及程式指令個數(IC)三者共同決定了CPU的效能。 • 這三者彼此可能會互相牽動,改動任何一樣,都有可能會影響到另外二者。 • 幾乎無法只從單一的方法來增進CPU的效能。 :
2.2.1 基本的效能計算方式 • 影響效能的因素分析 第一項 第二項 第三項 Second:秒,即是時間 Program:CPU執行的程式 Instruction:所執行程式的指令(數) Cycle:時脈(數)
2.2.1 基本的效能計算方式 • 影響效能的因素分析 • 第一項:工作時脈頻率或是單一時脈的週期。 • 第二項:單一指令的平均時脈週期。 • 第三項:一個程式的指令個數。
2.2.1 基本的效能計算方式 • 第一項 - 工作時脈頻率或是單一時脈的週期: • 表面上看來,複雜的硬體電路可以提供很多高效能的指令供程式來應用,對整體效能應該會有很大的幫助。 • 但在現實上,晶片的複雜程度與它所能承受的工作頻率有很大的關係。 • 越複雜的電路所能加諸其上的時脈頻率越低,相對地時脈週期就越長。反之,簡單的電路雖無法提供強大的指令,但卻可以大幅提升時脈頻率,縮短每個時脈週期的時間。
2.2.1 基本的效能計算方式 • 第二項 - 單一指令的平均時脈週期是影響CPU 時間的第二因素 ,相關的有: • 指令集: • 不同ISA會影響指令的平均時脈週期。 • 單一指令週期(single-cycle) • 多重指令週期(multi-cycle) • 硬體結構: • 每個機器碼指令會對應到實現該指令的電路。 • 相同的時脈頻率下,簡單電路所需的時脈週期數會遠較使用大量邏輯閘來實現的複雜硬體電路多很多。
2.2.1 基本的效能計算方式 • 第三項 -一個程式的指令個數是影響CPU 時間的第一因素,相關的有: • 程式寫作方式 : • 程式的寫作方式對程式指令個數(IC)的影響最大,尤其若選擇了不同演算法來寫程式,所造成的差異更是不同數量級之間的落差 。 • 編譯器: • 將高階語言的程式轉為機器語言程式 。指令個數會因編譯器的最佳化而減少,而這就會影響程式最終的執行效能。
2.2.1 基本的效能計算方式 • 指令集 : • 電腦的處理器一般都是遵循各自選擇的指令集架構(Instruction Set Architecture,ISA)來設計,而據此所設計的CPU是否正好具有合適的硬體單元可直接滿足程式所需要的運算,則會影響完成工作所需要的指令個數。
2.2.1 基本的效能計算方式 • 影響效能的因素分析 影響程式執行效能的因素
2.2 效能的計算 • 基本的效能計算方式 • 以單位時間執行之指令數為效能標準 • 平均效能的計算方式 • 相對效能的評估
2.2.2 以單位時間執行之指令數為效能標準 • 每秒百萬個指令(MIPS) • MIPS(Million Instructions Per Second),定義為「電腦每秒可執行多少百萬個指令」。
2.2.2 以單位時間執行之指令數為效能標準 • 每秒百萬個指令(MIPS)
2.2.2 以單位時間執行之指令數為效能標準 • 每秒百萬個指令(MIPS) • 計算MIPS只需要CPI、時脈頻率(或是時脈週期)即可,而程式的指令個數IC與指令集卻不予考慮 。 • 若將MIPS當作唯一評估電腦系統效能的標準,並用來評估單一程式的執行,就可能會得到不正確的結果 。
2.2.2 以單位時間執行之指令數為效能標準 【例題1】 假設有一台甲電腦,其時脈週期為2ns,但有三類具有不同CPI的指令,如下表所示:
2.2.2 以單位時間執行之指令數為效能標準 【例題1】 現在為了要執行某一程式,分別用兩個不同編譯器(compiler 1與compiler 2)將該原始程式進行編譯,假設編譯後的程式所包含之各類指令個數如下: 請問電腦執行哪一個編譯器所產生程式的效能較好?
2.2.2 以單位時間執行之指令數為效能標準 【解答】 比較CPU 時間: 程式的CPU時脈週期數: 程式的CPU 時間: 由於 CPU time1 =20μs < 30μs = CPU time2,第一個編譯器所得程式的執行速度較快!
2.2.2 以單位時間執行之指令數為效能標準 【解答】 比較兩者的MIPS: 第一個編譯器所編譯出來的程式「看起來」反而效能較差!
2.2.2 以單位時間執行之指令數為效能標準 • 每秒百萬個浮點運算(MFLOPS) • MFLOPS(Million FLoating-point Operations Per Second):用來評估含有浮點運算的程式。 • 單倍精準(single precision) • 雙倍精準(double precision)
2.2.2 以單位時間執行之指令數為效能標準 • 每秒百萬個浮點運算(MFLOPS) OP:程式中浮點運算的數目
2.2.2 以單位時間執行之指令數為效能標準 • 每秒百萬個浮點運算(MFLOPS) • MFLOPS也有和MIPS相同的問題。 • 只需要CPI、時脈頻率,程式的指令個數IC與指令集不予考慮。 • 將MFLOPS拿來評估一個幾乎沒有浮點運算的程式,可能導致其結果為零 。 • MIPS和MFLOPS只有在同樣的標準下 ,才會是一個有用的標準單位。
2.2 效能的計算 • 基本的效能計算方式 • 以單位時間執行之指令數為效能標準 • 平均效能的計算方式 • 相對效能的評估
2.2.3 平均效能的計算方式 • 來自統計學「平均數」的概念 。 • 其意義為「將一群體資料的所有數值(CPU 時間或是MIPS)簡化為一數值或是代表一群體資料的平均水準,以便於多個群體資料之間的相互比較,使得結果的顯示更為有意義、且符合評量者對數值的需求」。
2.2.3 平均效能的計算方式 • 算術平均數(arithmetic mean,AM) n:電腦系統會執行的程式個數 Timei:第i個程式的CPU 時間
2.2.3 平均效能的計算方式 • 權重算術平均數(weighted arithmetic mean,WAM) • 考量各個程式執行次數佔總次數的比率(或稱程式執行頻率) 。 • 加權(weighting)的觀念。 n:列入評估的程式總個數 Timei:第i個程式的CPU 時間 Weighti:對應權重
2.2.3 平均效能的計算方式 • 調和平均數(Harmonic Mean,HM) • 以速率來表示效能。 • 與AM是成倒數的關係 。 n:執行程式的個數 Ratei:第i個程式的速率(CPU 時間倒數 )
2.2.3 平均效能的計算方式 • 權重調和平均數(weighted harmonic mean,WHM) • 加權(weighting)的觀念。 n:執行程式的個數 Ratei:第i個程式的速率(CPU 時間倒數 ) Weighti:對應權重
2.2 效能的計算 • 基本的效能計算方式 • 以單位時間執行之指令數為效能標準 • 平均效能的計算方式 • 相對效能的評估
2.2.4 相對效能的評估 • 相對效能與正規化 x與y兩程式在不同電腦上執行的CPU 時間與AM
2.2.4 相對效能的評估 • 計算幾何平均數(Geometric Mean,GM) • 倍數的算術平均容易受單一較高倍數的程式所影響,而造成嚴重偏離實際結果的情況。 • 採用計算幾何平均數可解決此問題。 n:資料總個數 Timei:第i項(正規化之後)的CPU 時間
2.2.4 相對效能的評估 • 計算幾何平均數(Geometric Mean,GM) x與y兩程式在不同電腦上執行的CPU 時間與GM
2.2.4 相對效能的評估 • 各項效能計算方式的整理
2.2.4 相對效能的評估 • 各項效能計算方式的整理
2.2.4 相對效能的評估 • 各項效能計算方式的整理