1.3 計算機系統的評價標準
評價計算機系統結構的優劣有很多標準,如運行速度、字長、存儲容量、價格、功耗、系統配置、對編程難易程度的支持、體積等,可能也有人提到功能。從原理上來說,簡單的通用計算機完全可以完成復雜的功能。例如,要完成64位加法運算,今天的64位運算器固然可以一次完成,但是利用過去的8位機也能計算出來,只不過要加8次,當然還要有相應的程序,而且要增加運行時間和投入編程精力。如果把圖像處理看成是對屏幕上的一個個像素數據進行運算,那么8 位機同樣也能實現復雜的多媒體圖形處理,只不過速度達不到要求,同時還要付出軟件編程的成本。可見,最重要的評價標準是性能和成本兩項指標。衡量計算機性能的標準就是程序的執行時間,完成同樣的任務,花費時間越少性能就越高;同樣性能的計算機,成本越低,自然越好。人們常常以性能/價格即所謂性價比來綜合判斷一個計算機系統的好壞。這一節首先介紹計算機系統設計的定量分析原理,然后再講述系統結構的性能評價及成本問題。
1.3.1 計算機系統設計的定量分析原理
在設計計算機系統時,經常要遵循或用到幾個定量原理。這幾個原理一直貫穿到計算機系統結構設計的各個環節,其重要性可想而知。
1.加快處理經常性事件的速度
這是計算機設計中最重要也最廣泛采用的設計原則。其基本思想是:對大概率事件賦予它優先的處理權和資源使用權,以獲得全局的最優結果,即盡可能加快處理高概率事件。例如,運算不發生溢出的概率遠遠高于發生溢出的概率。顯然,設計時應盡量優化無溢出運算,而對溢出處理可不必過多考慮。
2.Amdahl定律
加快處理某些事件,尤其是經常性事件,無疑會提高系統性能,但是提高的效果怎樣,Amdahl定律指出了衡量與比較的途徑。
Amdahl定律指出,系統中某一部件由于采用某種方式使性能改進后,整個系統性能的提高與該方式的使用頻率或占總執行時間的比例有關。
Amdahl定律定義了加速比來定量計算這種改進的效果:

設Sn為加速比,T0為改進前執行某任務的時間,Tn為改進后執行某任務的時間,則

加速比與兩個因素相關:一個是性能改進比Fe,一個是部件加速比Se。

Fe總是小于1,它表征了要改進的部件在改進前對整個系統性能的影響。

如果該部件確實得到改進,則Se應大于1,它表征了某部件本身改進的情況。
由Fe = Ti0 / T0和Se = Ti0 / Tin,可得改進后整個任務的執行時間為

這樣,改進后整個系統的加速比為

式中,(1- Fe)表示未改進部分。顯然,當Fe = 0時,Sn = 1,表明不做改進。當Fe→0時,Sn→1,表明改進前部件對整個系統的影響越小,該部件改進后整個系統提高的效果也越小,這印證了必須加快處理大概率事件才能取得顯著改進的效果。當Se→∞時,Sn = 1/(1- Fe),說明即使對某部件改進達到了極限,但是整個系統性能改善仍然受到Fe的約束。由此得到結論,必須優先選擇那些對整個系統影響最大即執行時間在整個系統執行時間中比例最大的部件進行改進,也就是人們常說的應優先改進系統的瓶頸部分。
下面舉例說明Amdahl定律的應用。
例1.1 改進一個系統處理器的性能。假設新的處理器處理Web服務器應用程序的運行速度是原來處理器的10倍,但該處理器約有45%的時間用于計算,另外55%的時間用于I/O操作,則采用改進措施后能使整個系統的性能提高多少?
解:由題意可知Fe = 0.45,Se = 10;則
Sn = 1/(1-Fe + Fe/Se)= 1/(1-0.45 + 0.45/10)≈1. 68
當Se = 10時,Sn和Fe的關系如圖1.2所示。從圖中可以看出,若改善某部件的性能后,系統性能急劇提高,則該部件就為“系統瓶頸”。

圖1.2 Se = 10時Sn和Fe的關系
例1.2 采用哪種實現技術來求浮點數平方根(FPSQR)的操作對系統的性能影響很大。假設 FPSQR 操作占整個測試程序執行時間的 20%。一種實現方法是采用 FPSQR 硬件,使FPSQR操作的速度加快到10倍。另一種實現方法是使所有浮點操作(FP)指令的速度加快,使FP指令的速度加快到1.8倍,還假設FP指令占整個執行時間的50%。請比較這兩種設計方案。
解:已知Fe1 = 0.2,Se1=10;Fe2 = 0.5,Se2 = 1.8。則
Sn1 = 1/(1-Fe1 + Fe1/Se1)= 1/(1-0.2 + 0.2/10)≈1.22
Sn2 = 1/(1-Fe2 + Fe2/Se2)= 1/(1-0.5 + 0.5/1.8)≈1.28
因為Sn2 > Sn1,可見后者方案更好。
3.CPU性能分析
中央處理單元(Central Processing Unit,CPU)主要由控制器和運算器及片內寄存器堆組成,它擔負著整個計算機系統的指令運行控制、時序控制、I/O控制、部件之間的并行控制等。顯然,要提高計算機系統性能,優先要考慮CPU性能的提高。
可以實測一個程序的運行時間,但不方便,例如例1.2中的FP運算時間就很難直接測量。大多數計算機都基于一個恒定速率的時鐘,并主要由CPU控制,因此通過計算CPU的執行時間,就能判斷系統的性能高低了。
CPU時間 = 一個程序的CPU時鐘周期數 × 時鐘周期長度
= 一個程序的CPU時鐘周期數 / 時鐘頻率
這里,時鐘周期是計算機主頻的倒數。
設IC(Instruction Counter)表示某個程序的所有指令的條數,TC表示執行某個程序所花費的時鐘周期數,CPI(Clock cycle Per Instruction)表示執行某個程序的指令平均時鐘周期數,則
CPI = TC / IC
CPU時間 =(IC × CPI)× 時鐘周期長度 =(IC × CPI)/ 頻率
上式表明,CPU性能由三要素決定:時鐘頻率、指令條數IC、指令平均時鐘周期數CPI。其中時鐘頻率由硬件技術和組成決定,IC取決于系統結構的指令集和編譯技術,而CPI取決于系統結構組成和指令集的設計與實現。
若指令i在程序中執行的次數為Ii,指令i所需的時鐘周期數為CPIi,n為該程序使用的指令種類數,則執行該程序的CPU時鐘周期數為

每條指令的平均時鐘周期數為

其中,Ii / IC表示指令i在程序所使用的指令數目中所占的比例。此式表明,若某一種指令的使用頻率較高時,應設法加快執行該指令的速度,從而減少CPU的執行時間。
例1.3 設FP操作的比例為25%,FP操作的平均CPI = 4.0,其他指令的CPI = 1.33,FPSQR操作的比例為2%,FPSQR操作的CPI = 20。有兩個改進方案:
● 方案1:將FPSQR操作的CPI減為2。
● 方案2:將所有FP操作的CPI減為2。
試利用CPI比較設計方案。
解:CPI 原系統 = 4 × 25% + 1.33 × 75% = 2.0
CPI 方案1 = CPI 原系統 -2% ×(CPI 原FPSQR - CPI 新FPSQR)= 2.0-2% ×(20-2)= 1.64
CPI 方案2 = CPI 原系統 -25% ×(CPI 原FP - CPI 新FP)= 2.0-25% ×(4-2)= 1.5
∵ CPI 方案2 < CPI 方案1 ∴ 方案2 較好
從加速比也可得到同樣的結論:
方案1 加速比 = CPI 原系統/ CPI 方案1 = 2/1.64 = 1.22
方案2 加速比 = CPI 原系統/ CPI 方案2 = 2/1.5 = 1.33
例1.4 有A、B兩臺機器,其指令系統規定執行條件轉移指令需2個T,其他指令需1個T,這里T為時鐘周期。TB = 1.25 × TA。設A機的一次條件轉移使用比較和測試轉移兩條指令,B機的一次條件轉移使用一條比較轉移指令。又設兩機中條件轉移操作占20%。試比較兩機性能的優劣。
解:A機條件轉移操作占20%,故比較和測試轉移兩條指令各占20%,相對B機條件轉移指令占0.2/0.8 = 25%,因此
CPIA = 0.2 × 2 + 0.8 × 1 = 1.2

CPIB = 0.25 × 2 + 0.75 × 1 = 1.25
ICB = 0.8 × ICA

∵ ∴ CPUA的速度較快
本例說明將一條復雜指令簡化為兩條簡單指令,有時還能加快運算速度。
例1.5 在例1.4中,若TB = 1.1 × TA,哪一個速度較快?
解:

∵ ∴ CPUB速度較快
本例說明不能僅按主頻來衡量系統性能。
4.并行性原理
(1)并行性原理
并行性(parallelism)是指問題中具有可同時進行運算或操作的特性,并行性包括同時性和并發性。兩個或多個事件在同一時刻發生屬于同時性;兩個或多個事件在同一時間間隔內發生屬于并發性。例如,按照先寫后讀的原則在同一時間周期內并發訪問主存。
所謂并行性原理,指盡可能實現運算或操作的并行性,實現同時對多個任務、多條指令或同時對多個數據項進行處理。
在計算機系統中,運算的并行性體現在以下幾個方面:
① 時間重疊(time interleaving):多個處理過程在時間上錯開,輪流重復地使用同一套硬件設備的各個部分,使之加快硬件使用的周轉來贏得速度。典型的應用是流水線計算機。
② 資源重復(resource replication):靠重復設置硬件資源來提高可靠性或性能。例如雙工系統,通信的兩個結點之間都有接收和發送裝置,實現信息接收和發送同時進行。又如若有兩個乘法器,則數據不相關的兩條乘法指令就可以同時進行,這比一個乘法器依次執行兩次乘法運算,速度可能要快一倍。典型的應用是陣列處理機和相聯處理機。陣列處理機主要通過資源重復利用,設置大量算術邏輯單元,在同一控制部件作用下同時進行運算和處理,以實現空間上的并行。
③ 資源共享(resource sharing):利用軟件方法讓多個用戶共用同一套資源,通過提高系統資源的利用率來提高系統的性能和效率。例如多道程序分時系統通過共享CPU、主存,從而降低系統價格、提高系統性能。典型的例子即多處理器系統。多處理器系統主要通過資源共享,讓共享輸入/輸出子系統、數據庫資源及共享或不共享主存的一組處理器在統一的操作系統的全盤控制下,實現軟件和硬件各級上的相互作用,達到時間和空間上的異步并行。它可以改善系統的吞吐量、可靠性、靈活性和可用性。此外,計算機網絡和分布處理系統等都是資源共享的例子。
(2)并行處理的意義
據P. H. Enslow的統計,1965~1975年,器件速度提高了10倍,而系統效率提高了100倍,顯然系統結構改進的貢獻也是10倍,其中并行技術功不可沒。開發并行處理技術是提高現代計算機系統性能的最主要途徑之一。
現代經濟和社會發展對計算機系統的性能要求越來越高。下面略舉幾例:
① 天氣預報。1990年10次臺風登陸,致使福建、浙江兩省損失數十億元。做好局部災害性天氣預報意義重大。天氣預報模式為非線性偏微分方程形式,預報臺風暴雨過程的計算量為1014~1016次浮點運算,需要10~100 GFLOPS運算速度的超級計算機。
② 石油工業。石油工業關系國計民生,它涉及地震勘探資料處理、油藏數值模擬、測井資料處理等,數據處理量巨大。以三維地震勘探為例,對于100平方公里的三維勘探面積,假定道距25米、60次覆蓋、6秒長記錄、2毫秒采樣,將一共采集2.88 × 1010個數據,約為116 GB。疊加后數據量為4.8 × 108個數據。若利用二維疊前深 度偏移方法精確產生地下深度圖像,需要執行25 × 1012 FLOPS,采用100 MFLOPS運算速度的機器要計算250天,利用1 GFLOPS的機器要計算25天,采用10 GFLOPS的機器需要35分鐘。考慮到機器持續速度常常是峰值速度的10%~30%,所以需要100 GFLOPS的機器。CRAY T932/32的計算速度約為60 GFLOPS。
③ 航空領域。研究三維翼型對飛機性能的影響。數值模擬利用時間相關法解Navier-Stoker方程,網格分點為120 × 40 × 50,需內存160 MB,在每秒6億次運算的計算機上需要求解12小時;如果在數分鐘內完成設計,則需要每秒千億次運算的計算機。
另外,如空氣動力學計算需要千億次/秒(1011),圖像處理運算需要百億次/秒(1010),AI(人工智能)處理需要萬億次/秒(1012),更不用說在軍事、航天上的應用了。
要解決大規模計算和處理,光靠器件速度的提高遠遠達不到要求,只有開發并行處理技術才能滿足要求。科學計算中的重大挑戰性課題往往要求計算機系統具有3T(Tera)性能指標,即1 TFLOPS的計算能力、1 TB的存儲容量和1 TB/s的I/O帶寬。目前,性能最好的計算機離此目標還有一定距離。
(3)并行性級別
并行性有不同的等級,從不同角度有不同分法。
按程序執行的并行性,由低到高分為4級。
① 微操作級:執行一條指令的多個微操作之間的并行,例如現代算術邏輯單元(ALU)具有先行進位加法器,這種加法器的多個微操作利用了并行性來加速求和過程。
② 指令級:多條指令的并行執行。
③ 進程級或線程級:程序的多個進程或線程的并行執行;線程經常用來指一個進程的多個執行過程。多線程的系統結構允許不同地址空間上的多個進程同時運行,例如讓多個處理器執行同一個程序并且共享程序的代碼和地址空間。線程級并行與指令級并行的區別在于線程由幾百條甚至幾百萬條并行執行的指令組成。
④ 作業級或程序級:多個作業或多道程序之間的并行運行。
按數據處理的并行性,由低到高分為4級。
① 字串位串:對一個字的各位逐位處理,即位串行處理;字也是串行處理,無并行性,即傳統的串行單處理機。
② 字串位并:同時對一個字的所有位進行處理,實現位并;但字是串行處理,即傳統的并行單處理機。
③ 字并位串:同時對多個字的同一位(稱位片)進行處理。
④ 字并位并:同時對多個字的全部或部分位組進行處理。
按器件或者功能單元的并行性,可分為4類。
① 存儲器操作并行:在一個存儲周期內,采用單體多字、多體單字或多體多字方式并行訪問多個字,進而采用按內容訪問方式在一個存儲周期內用位片串字并或全并行方式實現對存儲器中大量字的高速并行進行比較、檢索、更新、變換等操作。常見有并行存儲器系統和以相聯存儲器為核心構成的相聯處理機。
② 處理器操作步驟并行:是將操作步驟或具體操作的執行步驟在時間上重疊地流水進行。如將一條指令的取指、分析、執行等操作步驟流水執行,又如浮點加法的求階差、對階、尾數加、舍入、規格化等具體操作的流水執行。
③ 處理器操作并行:為支持向量、數組運算,可以通過重復設置大量處理單元,讓它們在同一控制器的控制下,按照同一條指令的要求對多個數據組同時進行操作。典型的例子就是陣列處理機。
④ 多機并行:多個處理機同時對多條指令及有關的多數據組進行處理,包括指令、任務、作業等并行,往往構成多指令流、多數據流計算機。典型的例子是多處理機。
(4)計算機系統并行性的量度
如何衡量各個級別的并行性程度,目前尚無統一的評價標準。有的只是具體并行情況的描述,如多少個字并行或多少個位并行。在某一級并行的情況下,目前還是有一些公認的評價標準。常見的有如下評價標準。
① 指令級并行度(ILP):計算機系統每個時鐘周期平均執行的指令條數。一般流水線處理機每個時鐘周期平均執行的指令條數 < 1,即ILP < 1,而超標量、超流水線、超標量超流水線處理機的ILP > 1。
② 線程級并行度(TLP):線程級并行度描述了線程并行的粒度大小。
③ 數據級并行度(DLP):數據處理的并行度(如字并等)及數據流的并行度。
④ 多機系統的耦合度:所謂耦合度,是指多機系統中各個機器之間物理連接的緊密程度和交叉作用能力的強弱。實際上反映計算機之間或計算機部件之間的數據關聯和功能關聯程度。耦合情況可分為:最低耦合系統、松散耦合系統和緊密耦合系統三種。一般最低耦合系統耦合度最低,機器之間除共享某種存儲介質外,各計算機之間無物理連接,難以構成相關的并行處理;松散耦合系統機器之間存在通道或通信線路互連,能實現有限的并行工作,但難以滿足任務一級的并行處理,較適合分布處理;緊密耦合系統的機器之間有總線或高速開關互聯,共享主存,可實現數據集一級、任務級、作業級并行,其并行度最高。有關多機系統的介紹請參考本書的8.2節。
(5)并行處理系統的結構
目前存在以下4種不同的結構。
① 流水線計算機:部件重疊時間并行,詳見第5章的介紹。
② 陣列計算機:資源重復空間并行,詳見第6章的介紹。
③ 多處理機:資源共享時空異步并行,詳見第8章的介紹。
④ 數據流處理機:按數據組織并行處理。傳統馮·諾依曼結構的計算機的特點是“共享數據,指令控制”。而現代數據流計算機是按數據驅動的。首先,指令之間的數據不是通過共享的存儲器進行傳遞,而是通過一種表示操作數或參數已經準備就緒的標志——數據令牌來實現傳遞的。數據直接傳送到享用該數據的有關指令的操作中。其次,它是以數據驅動方式來啟動指令的執行,只要某條指令所需的操作數已就緒并已可用,就可以執行,也就是數據流計算機中程序不存在固定的順序,執行順序僅僅由指令間的數據相關性決定。因此,只要有足夠多的處理單元,就可以充分地實現程序固有的并行性成分,使并行處理得以更高度的發展。
5.訪問的局部性原理
所謂訪問的局部性原理,是指程序執行中呈現出頻繁重復使用那些最近已使用過的數據和指令的規律。實驗表明,一個程序使用90%的執行時間去執行僅占10%的程序代碼,這可以從編程中大量應用循環及循環嵌套,頻繁進行子程序調用、遞歸調用、中斷處理等感受到,其訪存特點反映在時間局部性和空間局部性上。
所謂時間局部性是指近期被訪問的信息,可能馬上被訪問;所謂空間局部性,是指與被訪問地址相鄰的地址上的信息可能會一起被訪問。
利用訪問的局部性,可以根據程序最近的情況,比較精確地預測最近將要用到哪些指令和數據。訪問的局部性是構成層次存儲體系(虛擬存儲器、Cache系統等)的設計基礎,也是先行控制技術中預取指令或數據的應用原理之一。
1.3.2 計算機系統的評價
評價一個計算機系統的好壞有多項指標,其中最重要的是系統性能和系統成本兩個指標。計算機系統結構是把計算機的各個功能部件組成一個系統,這些部件可以是硬件、軟件或兩者的混合體。系統結構設計的目標是選擇一種最佳的部件組織,使得整個系統的性能價格之比達到最高。
1.性能
運算時間(或運算速度)是衡量計算機性能的主要標準。它自計算機啟動某個任務開始,至該任務結束為止,即所謂的系統響應時間。計算機運行時有多種時間標準。例如CPU時間,即CPU計算的時間,它不包括I/O等待時間,并且還分為用戶CPU時間(CPU花費在用戶程序上的時間)和系統CPU時間(CPU花費在操作系統上的時間)。此外,還有磁盤訪問時間、存儲器訪問時間、I/O訪問時間等。
衡量機器性能的唯一固定且可靠的標準就是真正執行程序的時間,那么應如何表示呢?下面介紹幾種標準。
(1)MIPS
對于一個給定的程序,MIPS(Million Instructions Per Second,每秒百萬條指令數)定義為

程序的執行時間:

使用MIPS有三個不足:
① 依賴于指令集。用MIPS比較指令集不同的機器性能時可能并不準確。
② 與具體執行的程序有關。即使是同一臺機器,程序不同,MIPS可能相差較大。
③ 有時可能與性能相反。例如用浮點運算硬件比用軟件實現浮點運算要快得多,但是編程實現浮點運算由于執行指令條數多,可能MIPS反而高。類似的情況在具有優化功能的編譯器中也可發現。
此外還有相對MIPS,即測試機相對參照機而言的MIPST:

其中,TRef 、MIPSRef分別指參照機的執行時間和MIPS,Tv是測試機的執行時間。通常以VAX-11/780機(處理能力為1 MIPS)為參照基準。
一般情況下,MIPS只適于評估標量機。
(2)MFLOPS
MFLOPS即每秒百萬次浮點操作次數(Million FLoating-point Operations Per Second),定義如下:

顯然,MFLOPS主要用于衡量浮點操作的性能。由于相同程序在不同機器上的指令數可能不同,但浮點操作次數相同,因此對于浮點運算而言,MFLOPS比MIPS更精確。
但是,MFLOPS不能體現機器的整體性能,例如對于編譯程序,使用MFLOPS就很難區別不同機器的性能高低。另外,MFLOPS還依賴于操作類型,如單純的浮點加法要遠快于單純的浮點除法。
一般情況下,MFLOPS比較適于評估向量機。
MFLOPS與MIPS有個大致的對應關系:1 MFLOPS≈3 MIPS,即在標量機上進行一次浮點運算需要2~5條指令。
(3)利用基準測試程序評價性能
確切地說,MIPS和MFLOPS只能得到機器具體執行某一程序的性能,而難以表示機器在任何情況下的整體性能。基準測試程序在于針對機器的具體應用,較準確地得到代表機器的性能參數,其關鍵是如何選取實測的基準程序。一般有四種程序:
① 實際的應用程序。基準程序采用所測計算機經常用到的程序,但對用途廣泛的通用計算機就不太適宜。
② 核心程序。如果實際應用程序很大,使得測試花費過大而不可取,就可以從實際程序中抽取少量關鍵的常用循環程序段作為核心程序來進行測試。其結果近似地表征了運行實際應用程序的性能。
③ 玩具基準測試程序。根據計算機的不同用途而設計的小測試程序,比較方便,可大致知道機器在有關方面的性能。
④ 綜合基準測試程序。類似于核心程序,但考慮了各種操作和各種程序的比例,體現了機器的平均執行情況。
在微型機上也有很多測試程序,如PassMark PerformanceTest,它總共包含六大類22種獨立的測試項目,包括浮點運算器測試、標準的2D圖形性能測試、3D圖形性能測試、磁盤文件的讀取/寫入及搜尋測試、內存測試與CPU的MMX相容性測試等,并提供了預設的四個基準計算機的比較數據。
2.性能的比較
下面舉例說明如何比較計算機的性能。表1.2是兩個程序分別在A、B、C三臺計算機上的執行時間。從表中可知,不同程序在不同計算機上的執行時間是不一樣的,有的甚至相差較大。常用的比較方法有以下幾種。
表1.2 兩個程序在三臺計算機上的執行時間

① 比較總的執行時間或平均執行時間。如表1.2所示,得到B、C機一樣及A機較好的結論。也可以采用平均執行時間來表示,結果是一樣的:

式中,Tm為平均執行時間,n為測試程序個數,Ti是第i個程序的執行時間。
② 調和平均。若用速度Ri表示,那么平均時間是調和平均值Hm:

Hm與所有測試程序時間的總和成反比關系,較接近CPU的實際性能。
③ 加權執行時間。對于具體應用而言,機器運行不同功能的程序的頻率可能不同,有必要給每一個程序提供一個比例加權因子Wi。例如,在某個任務中,程序A占20%,程序B占50%,程序C占30%,則它們的加權分別為0.2、0.5、0.3。這樣,就應引入加權執行時間Am:

其中Wi是第i個程序在任務中所占的權重。
還有一種方法是將一個任務的執行時間標準化為一個參考機器的時間。參考機器的執行時間稱為平均標準化時間,可用幾何性能平均值表示:

其特性為Gm(Xi)/Gm(Yi)= Gm(Xi / Yi),即Gm性能與參考計算機性能無關。不過,選擇不同的參考機,Gm結論也不同。
3.成本
對于用戶而言,計算機系統的成本是指購買系統的費用。對于系統設計者而言,成本是指硬件和軟件的生產成本。
成本指標主要包括如下幾項。
① 硬件開發和生產成本:主要指設計、測試、優化和開發所花費的人力、物力成本。
② 軟件的開發成本:主要是人力成本。
③ 硬件的開發、生產和軟件開發工具的折舊成本:包括所用儀器設備、開發場地、水電易耗品等方面的付出。
必要的話還應考慮營銷成本。
由于不同時期貨幣價值不一樣,直接用貨幣表示成本有時不能說明問題,也可用能反映成本高低的一些參數來表示。例如,利用芯片面積、芯片引腳數、插座數、插座線數、功耗等物理參數反映硬件成本,利用軟件規模、開發人/年數等反映軟件成本。在成本問題中要注意幾點。
① 生產數量越多,平均成本越小,而總成本越大。
② 早期由于硬件成本較高,衡量計算機系統的成本往往以硬件成本為主,隨著硬件技術的提高,特別是VLSI技術的進步,以及利用軟件手段設計硬件的技術如SOPC、FPGA等的發展,計算機系統成本逐步演變為以軟件成本為主。
③ 成本必須考慮到計算機系統本身的負載,以及它的應用范圍和規模。
如果要進行兩個或多個計算機系統成本的比較,有時很難給出不同設計方案的絕對花費,把影響成本的最主要部分或者關鍵的設計抽出來進行比較是有效的方法。