複製鏈接
請複製以下鏈接發送給好友

計算機性能

鎖定
計算機性能是指用於衡量計算機系統性能的指標,但最為可靠的衡量尺度是時間。時間可根據計算方法給以不同的定義,如響應時間、CPU時間等。
中文名
計算機性能
外文名
Computer performance
學    科
計算機應用
指標一
CPU
指標二
MIPS
指標三
MFLOPS

計算機性能性能簡介

在設計一個計算機系統時,除了要搞清楚硬件界面外,還要從設計者角度,按所希望達到的最佳性能與價格比最合理地實現硬件功能。那麼計算機系統的性能與價格比指的是什麼呢?以及如何來衡量它們呢?
衡量計算機系統性能可採用各種尺度,但最為可靠的衡量尺度是時間。時間可根據計算方法給以不同的定義,如響應時間、CPU 時間等。響應時間是指用户向計算機系統送入一個任務後,直到獲得他所需要的結果所需的等待時間。其中包括了訪問磁盤和訪問主存器時間、CPU 運算時間、I/O動作時間以及操作系統工作的時間開銷等。雖然這種定義比較直觀,但對於多道程序,由於 CPU 可在某一程序等待 I/O操作時轉去執行其他程序,響應時間並不能區別這種情況。另一種情況是隻考慮 CPU 時間,此時便可加以區別,它將不包括等待 I/O操作的時間以及 CPU 轉去運行其他程序所花的時間。當然 CPU 時間本身還可分為用户CPU 時間和系統 CPU 時間。系統 CPU 時間的統計很難做到精確,因為這實際是要求操作系統進行自測量。此外,當比較具有不同系統代碼的機器時,由於系統 CPU 時間是不一樣的,因而誤差較大,故採用用户 CPU 時間作為性能衡量時間較為妥當。當然,在衡量未加載系統的性能時,採用響應時間較為合適,而衡量 CPU性能則宜採用用户 CPU 時間,下面主要討論以用户 CPU 時間來衡量的 CPU 性能 [1] 

計算機性能CPU 性能

絕大多數計算機都使用以固定速率運行的時鐘,它的運行週期稱為時鐘週期 (clocks),它常以時間長短或運行速率來表示。一個程序在 CPU 上運行所需的時間 Tcpu可用以下的公式表示:
式中,
表示要執行程序中的指令總數,CPI表示執行每條指令所需的平均時鐘週期數,而 Tc則表示時鐘週期的時間長度。由以上公式可見,用户 CPU 時間取決於三個特徵:時鐘週期 (或速率),每條指令所需時間週期數以及程序中的指令數。其中主要取決於機器指令系統和編譯技術,CPI主要與計算機組成和指令系統有關,而 Tc 則主要由硬件工藝和計算機組成決定。每條指令平均所需時鐘週期數CPI,可由下式表示:
其中,Ii表示第 i 類指令在程序中執行條數,CPIi 表示執行一條第 i 類指令所需要的平均週期數,n 為程序中所有指令類數。上述公式還可以改寫成:
其中,
表示第 i 類指令在程序中所佔的比例 [1] 

計算機性能MIPS

MIPS(Million Instruction Per Second)它表示每秒百萬條指令數。這是一個用來描述計算機性能的尺度。對於一個給定的程序,MIPS可定義為:
顯然,機器愈快其 MIPS愈高,愈小。但是 MIPS有三個方面的缺陷:
  1. MIPS依賴於指令集,所以用MIPS 來比較指令集不同的機器的性能好壞是很不準確的。
  2. 在同一台機器上,MIPS 因程序不同而變化,有時是很大的。
  3. MIPS 可能與性能相反!
典型例子就是具有可選硬件浮點運算部件的機器。因為浮點運算遠慢於整數運算,所以很多機器提供了可選的硬件浮點運算部件,但是軟件實現浮點運算的MIPS 高,然而硬件實現浮點運算的時間少,這時 MIPS 與機器性能恰好相反。類似的情況在具有優化功能的編譯器中也有發生。
另外,在使用 MIPS 時應注意它的應用範圍,它只適宜於評估標量機,因為在標量機中執行一條指令,一般可得到一個運算結果,而向量機中,執行一條向量指令通常可得到好多個運算結果,因此,用 MIPS 來衡量向量機是不合適的。在 MIPS 中,不光是運算指令,所有的服務性指令,如取數、存數、轉移等都計算在內,而在浮點運算中服務性指令均不予計入。

計算機性能MELOPS

另一個替代標準是MFLOPS(Million Floating Point Operation Per Second) ,它表示每秒百萬次浮點操作次數。MFLOPS 可用如下式子表示:
顯然,MFLOPS 取決於機器和程序兩個方面。所以 MFLOPS只能用來衡量機器浮點操作的性能,而不能體現機器的整個性能。例如編譯程序,不管機器性能有多好,它的 MFLOPS 不會太高。
然而,因為 MFLOPS 是基於操作而非指令,所以它可以用來比較兩種不同的機器。因為同一程序在不同的機器上執行的指令可能不同,但是執行的浮點運算卻是完全相同的。然而 MFLOPS也並非可靠,因為不同機器上浮點運算集不同,例如 CRAY-2沒有除法指令,而 Motorala68882卻有。另外 MFLOPS 還依賴於操作類型。例如 100%的浮點加要遠快於100%的浮點除。單個程序的MFLOPS 值並不能反映機器的性能。所以 MFLOPS 也不是一個十分有用的替代標準。

計算機性能基準測試程序

在進行計算機系統的評價時,除了與被評價的機器的結構、功能等特性參數有關以外,還與輸入,即該計算機系統的工作負荷有密切關係。被評價的一個計算機系統往往對某一種工作負荷表現出較高性能,而對另一種工作負荷則可能呈現較低性能。為了對計算機系統的性能進行客觀的評價,就需要選取具有真實代表性的工作負荷。通常採用不同層次的基準測試程序來評價系統性能。
  1. 採用實際應用程序。如C語言或C++ 開發的各種編譯程序;Photoshop圖形處理軟件、Premiere以及 CAD 工具軟件。
  2. 採用核心程序。這是從實際程序中抽取少量關鍵循環程序段,並以此來評估性能,但這些核心程序,只具有評價性能的價值。
  3. 玩具基準測試程序。玩具基準測試程序通常只有10~100行而且運行結果是可以預知的。因為小而且容易鍵入並且適用於任何機器而受到青睞。
  4. 合成測試程序。它類似於核心程序方法,但這種合成測試是 人 為 編 制 的 , 流 行 的 合 成 測 試 程 序 有WinBench 99、3DMMARK2001、WhatCPUIs等等。尤其是WinBench 99,它提供的測試結果都非常令人信服,都是非常權威的。因此,大部分報刊在對新硬件進行介紹時,提供的數據都是來自 WinBench 99 的測試結果。
有關專家對上述方法分析,總結出以下不足:
  1. 上述方法都試圖使用一個測試數據來表徵計算機的處理能力。
  2. 以上方法只進行性能測試,而沒有性能分析工作。
通過上述分析並提出一種比較完善和全面的性能評價方法,包括兩部分:
  1. 計算機性能測試。
  2. 對測試數據的分析。
參考資料