本文 講解乙個方面的知識
從執行時間來考慮,完成同樣工作量所需時間最短的那台計算機效能是最好的。
作業系統在對處理器進行排程時,一段時間內往往會讓多個程式輪流使用處理器, 因此在某個使用者程式執行過程中,可能同時還會有其他使用者程式和作業系統程式在執行。所以,使用者感覺到的某個程式的執行時間並不是其真正的執行時間。 通常把使用者感覺到的執行時間分成以下兩部分:cpu時間和其他時間。 cpu時間 指cpu用於程式執行的時間,它又包括以下兩部分: (1) 使用者cpu時間, 指真正用於執行使用者程式**的時間;(2)系統 cpu 時間,指為了執行使用者程式而需要cpu執行作業系統程式的時間。 其他時間指等待 i/o 操作完成的時間或 cpu用於執行其他使用者程式的時間。
計算機系統的效能評價主要考慮的是cpu效能。 系統效能和cpu效能不等價, 兩者有一些區別。系統效能是指系統的響應時間,它與cpu外的其他部分也有關係; 而 cpu 效能是指使用者cpu時間, 它只包含cpu執行使用者程式**的時間。
有以下幾個重要的概念和指標
時鐘週期, 計算機執行一條指令的過程被分成若干步驟,由每一步中相應的操作來完成指令功能。每一步操作都要有相應的控制訊號進行控制,用於對控制訊號進行定時的同步訊號就是cpu的時鐘訊號, 其寬度為乙個時鐘週期 (clock cycle).
時鐘頻率, cpu的主頻就是cpu時鐘訊號的時鐘頻率 (clock rate) , 是 cpu 時鐘週期的倒數。 單位通常為mhz, ghz.
主頻為1mhz表示每秒鐘發生1000 000個時鐘訊號, 其時鐘週期為1 us(微秒)
主頻為1ghz表示每秒鐘發生1000 000 000個時鐘訊號,因此時鐘週期為1 ns(納秒)
cpi, 表示執行一條指令所需的時鐘週期數(cycles per instruction ).
對於一條特定指令而言,其 cpi 指執行該條指令所需的時鐘週期數,此時cpi是乙個確定的值;
對於乙個程式或一台機器來說, 其cpi 指該程式或該機器指令集中的所有指令執行所需的平均時鐘週期數,此時,cpi是乙個平均值,通常稱為綜合cpi.
可以通過以下公式來計算使用者程式的cpu時間
cpu 執行時間 = 程式所含時鐘週期數 / 時鐘頻率
= 程式所含時鐘週期數 * 時鐘週期
上述公式中,程式所含時鐘週期可由程式所含指令條數 和 相應的 cpi求得。
如果已知程式總的指令條數 和綜合cpi, 則可用如下公式計算程式的總時鐘週期數。
程式總時鐘週期數 = 程式所含指令條數 * cpi
如果已知程式中共有 n 種不同型別的指令, 第 i 種指令的條數和cpi分別為ci 和 cpii,則
程式的綜合 cpi 也可由以下公式求得, 其中, fi 表示第 i 種指令在程式中所佔的比例
因此, 若已知程式綜合 cpi 和指令條數, 則可用下列公式計算 cpu 時間
有了cpu執行時間, 就可以評判兩台計算機效能的好壞。 計算機的效能可以看成是 cpu 時間的倒數。
因此兩台計算機效能之比就是 cpu 時間之比的倒數。 若計算機m1 和 m2的效能之比為n, 則說明 "計算機m1 的速度是計算機m2 的速度的n倍", 也就是說,「在計算機m2上執行程式的時間是在計算機m1上執行時間的 n 倍」。
對於解決同乙個問題的不同程式, 即使是在同一臺計算機上, 指令條數最少的程式也不一定執行得最快。
看乙個例子
例1 : 假設某個頻繁使用的程式p 在機器m1上執行需要10s, m1 的時鐘頻率為2ghz, 設計人員想開發一台與m1具有相同isa的新機器m2, 採用新技術可使m2的時鐘頻率增加, 但同時也會使cpi增加。
假定程式p 在m2上執行時的時鐘週期數是在m1上的1.5倍, 則 m2的時鐘頻率至少達到多少才能使程式p 在m2上的執行時間縮短為 6 s?
解:程式p 在機器m1上的時鐘週期數為cpu 執行時間 * 時鐘頻率 = 10 * 2 g = 20 g. 因此,程式p在機器 m2 上的時鐘週期數為1.5 * 20g = 30g.
要使程式p 在m2上執行時間縮短到 6 s, 則m2的時鐘頻率至少應為程式所含時鐘週期數 / cpu執行時間 =30g/6 s = 5ghz.
由此可見 m2的時鐘頻率是m1的2.5倍, 但m2的速度卻只是m1的1.67倍。
上例說明, 由於時鐘頻率的提高可能會對cpu結構帶來影響, 從而使其他效能指標降低, 因此, 雖然時鐘頻率提高會加快cpu執行程式的速度,但不能保證執行速度有相同倍數的提高。
例2: 假設計算機m的指令集中包含a、b、c三類指令, 其cpi分別為1,2,4, 某個程式p在m上被編譯成兩上不同的目標**序列p1和p2, p1所含a、b、c三類指令的條數分別為8、2、2,p2所含a、b、c三類指令的條數分別為2、5、3. 請問:哪個**序列指令條數少? 哪個執行速度快? 它們的cpi分別是多少?
解:p1 和 p2的指令條數分別為 12 和10, 所以, p2的指令條數少。
p1 的時鐘週期數為 8*1 + 2*2 + 2*4 = 20
p2 的時鐘週期數為2*1 + 5*2 + 3*4 = 24.
因為兩個指令**序列在同一臺機器上執行, 所以時鐘週期一樣, 故時鐘週期數少的**序列所用時間短、執行速度快。顯然,p1比p2快。
從上述結果來看,指令數少的**序列執行時間並不更短。
cpi = 程式總時鐘週期數/ 程式所含指令條數, 因此, p1的cpi為 20 / 12約= 1.67, p2的cpi為24/10 = 2.4.
上述例2說明, 指令條數少並不代表執行時間短,同樣,時鐘頻率高也不說明執行速度快。在評價計算機效能時,僅考慮單個因素是不全面的,必須三個因素同時考慮。三個因素是指 時鐘週期、指令條數、cpi。
計算機組成原理 第1章 計算機系統概論 筆記
馮 諾依曼計算機的工作原理 儲存程式 將程式存放在計算機的儲存器中 儲存系統構建與快速訪問 程式控制 按指令位址訪問儲存器並取出指令,經解碼依次產生指令執行所需的控制訊號,實現對計算的控制,完成指令的功能。指令系統 控制器設計等 馮 諾依曼計算機的組成 硬體 軟體 alu arithmetic lo...
計算機組成原理 計算機系統概論
計算機系統由硬體和軟體兩大部分組成 硬體是指計算機的實體部分。軟體是指人們事先編制的具有各類特殊功能的程式組成。計算機的軟體由系統軟體和應用軟體 系統軟體稱為系統程式。主要用來管理整個計算機系統,監視服務,使系統資源得到合理排程,高效執行。如語言處理程式 作業系統 服務程式,資料庫管理系統等。應用軟...
計算機組成原理 計算機系統概論
計算機組成原理 計算機系統概論 1.1計算機的發展與應用 1.2計算機系統的組成 1.3計算機的效能指標和效能評價 1.4計算機層次結構 國內外計算機的發展情況 計算機的發展大致經歷了 4 代 每一 階 段 的計算機具有 不同的特徵。馮諾依曼結構計算機的特點,工作原理 1 特點 一台完整的計算機應該...