【計算機(jī)基礎(chǔ)Ep18】黑皮書:《計算機(jī)組成與設(shè)計——硬件/軟件接口》內(nèi)容梳理(九)

第一章 計算機(jī)抽象及相關(guān)技術(shù)
1.9實例:評測Intel Core i7
1.9.1SPEC CPU基準(zhǔn)評測程序
概念:
工作負(fù)載(workload):運行在計算機(jī)上的一組程序,可以直接采用用戶的一組實際應(yīng)用程序,也可以從實際程序中構(gòu)建,一個典型的工作負(fù)載必須指明程序和相應(yīng)的頻率;
基準(zhǔn)評測程序(benchmark):遴選出來用于計算機(jī)性能的程序;
SPEC(System Performance Evaluation Cooperative):由許多計算機(jī)經(jīng)銷商共同出資贊助并支持的合作組織,目的是為現(xiàn)代計算機(jī)系統(tǒng)建立基準(zhǔn)評測程序集。
歷史:
1989年,SPEC建立了重點面向處理器性能的基準(zhǔn)程序集(現(xiàn)在成為SPEC89);
目前最新的是SPEC CPU2006,它包括12個整數(shù)基準(zhǔn)程序集(CINT2006)和17個浮點基準(zhǔn)程序集(CFP2006)——
CINT2006:包括C編譯器、量子計算機(jī)仿真、下象棋程序等;
CFP2006:有限元模型結(jié)構(gòu)化網(wǎng)絡(luò)法、分子動力學(xué)質(zhì)點法、流體動力學(xué)稀疏線性代數(shù)法等。
SPEC分值:
含義:將被測計算機(jī)的執(zhí)行時間標(biāo)準(zhǔn)化,即將參考處理器的執(zhí)行時間除以被測計算機(jī)的執(zhí)行時間,這樣的歸一化結(jié)果產(chǎn)生了一個測量值,稱為SPEC分值;
標(biāo)準(zhǔn):SPEC分值越大,表示性能越好(因為SPEC分值和被測計算機(jī)的執(zhí)行時間成反比);
公式:CINT2006或CFP2006的總和評測結(jié)果是取SPEC分值的幾何平均值——

1.9.2SPEC功耗基準(zhǔn)評測程序
SPECpower:
來源:最早來自面向Java商業(yè)應(yīng)用的SPEC基準(zhǔn)程序(SPECJBB2005);
功能:用來評測處理器、高速緩存、主存以及Java虛擬機(jī)、編譯器、垃圾回收器、操作系統(tǒng)等;
計量:采用單個的數(shù)字來對評測結(jié)果進(jìn)行歸納,稱為每瓦執(zhí)行的服務(wù)器端Java操作數(shù)量(overall ssj_ops per watt);
公式:

1.10謬誤與陷阱
概念:
謬誤:我們在實際中經(jīng)常遇到的誤解;
陷阱:通常是指僅在有限的上下文中才正確的一般原理。
陷阱:在改進(jìn)計算機(jī)的某個方面時期望總性能的提高與改進(jìn)大小成正比。
Amdahl定律:
意義:闡述了“對于特定改進(jìn)的性能提升可能由所使用的改進(jìn)特征的數(shù)量所限制”的規(guī)則——“收益遞減定律”的量化版本;
公式:

謬誤:低利用率的計算機(jī)具有更低功耗。
事實:2012年,根據(jù)最優(yōu)結(jié)果進(jìn)行配置的計算機(jī)中,10%的工作負(fù)載情況下也會使用33%的峰值功耗。
謬誤:面向性能的設(shè)計和面向能效的設(shè)計具有不相關(guān)的目標(biāo)。
事實:由于能耗是功率和時間的乘積,在通常情況下,對于軟硬件的性能優(yōu)化而言,即使優(yōu)化需要更多的能耗,但是這些優(yōu)化縮短了系統(tǒng)運行時間,因此整體上也還是節(jié)約了能量。
陷阱:用性能公式的一個子集去度量性能。
事實:幾乎所有取代時間以度量性能的方法都會導(dǎo)致誤導(dǎo)性的聲明、扭曲的結(jié)果或錯誤的解釋;
例子:每秒百萬條指令數(shù)(MIPS)——
公式:MIPS=指令數(shù)/(執(zhí)行時間*10^6);
問題:
MIPS規(guī)定了指令執(zhí)行的速率,但沒有考慮指令的能力;
在同一計算機(jī)上,不同的程序會有不同的MIPS,因而一臺計算機(jī)不能擁有單一的MIPS分值;
如果一個新程序執(zhí)行的指令數(shù)更多,但每條指令的執(zhí)行速度更快,則MIPS可能獨立于性能而發(fā)生變化!