綜合基準
人們一直在尋找一種單一的基準,這種基準可以獨立于任意類型的計算機來進行公平的比較。最后人們統(tǒng)一作出了如下一個結論:用第三代語言(C語言等)編寫一個程序,在不同的系統(tǒng)上編譯運行,然后測試在不同的系統(tǒng)上每次運行該程序所需的時間。這一思想又有3個分支:Whetstone主要側重于浮點運算,Linpack主要側重于線性代數(shù)程序,Dhrystone主要側重于字符串和整數(shù)程序。Dhrystone基準的評測方法是:統(tǒng)計某程序1秒內能執(zhí)行的次數(shù),也即每秒的Dhrystone數(shù)。
應該說,綜合基準提供了一些依據(jù),不過也并不完善,因為要想在某處理器上獲得最佳性能,需要在編程時對程序做針對處理器的優(yōu)化,而一個優(yōu)秀的優(yōu)化者和一般的優(yōu)化者得到的性能差別是相當大的。影響最終程序執(zhí)行性能的,并不僅僅是處理器硬件,還包括軟件,以及軟件與硬件的配合,這是一個系統(tǒng)工程,很難下一個很嚴肅的結論。不過對于一般應用來說,綜合基準已經(jīng)能反映出處理器的大致性能了。
專業(yè)評估組織基準
標準性能評估公司(SPEC,Standard Performance Evaluation Corporation)成立于1988年,SPEC從各種不同的應用場景中選出一些比較有代表性的程序,稱為基準套件(Benchmark Suite)。SPEC基準中最出名的是它的CPU套件,用于測試CPU的吞吐量、Cache和存儲器的訪問速度等。
在嵌入式領域,EEMBC(Embedded Microprocessor Benchmark Consortium)基準常被使用,其應用涵蓋汽車、消費電子、通信等領域。
2.功耗
Google曾經(jīng)的運營高級副總裁Urs Hoelzle說:
“我們曾經(jīng)設想,把龐大的服務器放在一艘船上,讓流水發(fā)動能源,帶動信息的整合。這看起來風光無限的浪漫圖景,訴說著我們對理想不舍晝夜的追求?!?/p>
如果把Urs Hoelzle的這句話理解為Google多么有創(chuàng)意、多么有理想,那就錯了。俗話說,吃菜吃心,聽話聽音,聽話要聽是誰說的。作為管理幾百萬臺(甚至更多)計算機的大佬,Urs Hoelzle比一般人更能理解“電老虎”的含義。Google是一家信息服務公司,公司的成本除了員工的成本外,就屬這些計算機的成本最多了。計算機硬件只是一次性投入,而耗電、制冷卻是每年都要付錢的。美國研究機構的數(shù)據(jù)顯示,過不了幾年,用電和制冷的費用就超過了計算機本身的價格了。
Google在俄勒岡州新建了數(shù)據(jù)中心,原因就是這里水資源豐富,有全美最廉價的電費,也可提供水冷。
現(xiàn)在不少像Google這樣的公司,都在宣稱自己綠色、環(huán)保,這并不僅僅是政治覺悟高,應該說經(jīng)濟覺悟也很高。
不只Google這樣的巨頭需要關注功耗,我們這些小市民實際上也會關注功耗,最典型的一個例子就是,每個買手機的人都會問:“這款手機待機時間多長?”這實際上就是一個問功耗的問題。
在現(xiàn)在的PC里,CPU和顯卡是功耗大戶。功耗大,就需要散熱片和風扇散熱,不只耗電,增加體積,而且風扇產(chǎn)生的噪聲嚴重影響了人們的健康和心情。Intel和AMD也有很多CPU專為低功耗而設計。
性能和功耗是處理器最重要的兩個硬指標,這兩者很難同時滿足。每個處理器廠商都會根據(jù)自己的目標市場定位在這個蹺蹺板上找到一個自己的平衡點。
3.面積
便于攜帶的產(chǎn)品,通常都是很受歡迎的,Sony的隨身聽就是這樣的一代經(jīng)典。
現(xiàn)在的手機,功能一少就賣不出去,而要增加功能,常常需要增加新的芯片,如陀螺儀、加速計等傳感器,WiFi、GPS等無線芯片……在能裝進口袋的手機中裝這么多芯片,也是一件不簡單的事情,芯片體積絕對不能大。
4.接口
處理器并不是獨自在工作,由于它需要和周圍的器件配合使用,因此就必須有接口和外部進行通信。如果處理器本身能實現(xiàn)某個功能,但是因為缺乏相應的接口而不能使用,就非常讓人惋惜了。大多數(shù)處理器都會設計很多的接口,因為有的用戶會用這幾個接口,有的用戶會用另外幾個。
2.4.2 軟件指標——軟實力的競爭
1.軟件開發(fā)環(huán)境
軟件開發(fā)環(huán)境和處理器的關系就好比手柄和游戲機,手柄不好用,游戲機的可玩性就大打折扣。
友好的開發(fā)環(huán)境能減少軟件人員的學習成本,提高程序開發(fā)、調試的效率,較好的Bug定位手段也非常重要,較多的函數(shù)庫也能大大減輕程序員的工作量。
2.編譯器性能
絕大多數(shù)程序員都使用高級語言(C/Java等)來編寫程序,編譯器將高級語言轉換成處理器能夠理解的二進制代碼,也就是說,處理器的能力要靠編譯器才能體現(xiàn)出來,處理器功能再強大,如果沒有一個好的編譯器來展現(xiàn)它的能力,就好比茶壺里的餃子,倒不出來。