計算機組成原理 第1章計算機系統概述

2021-10-09 14:53:28 字數 2876 閱讀 3541

本文 講解乙個方面的知識

從執行時間來考慮,完成同樣工作量所需時間最短的那台計算機效能是最好的。

作業系統在對處理器進行排程時,一段時間內往往會讓多個程式輪流使用處理器, 因此在某個使用者程式執行過程中,可能同時還會有其他使用者程式和作業系統程式在執行。所以,使用者感覺到的某個程式的執行時間並不是其真正的執行時間。 通常把使用者感覺到的執行時間分成以下兩部分: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 特點 一台完整的計算機應該...