72
1 計計計計計計計計 - 計計計計 計計計 計計計計計計計計計

計算機組織與結構 - 效能設計

Embed Size (px)

DESCRIPTION

計算機組織與結構 - 效能設計. 第二章 電腦進化與效能表現. 2.1 電腦簡史. ENIAC – 全世界第一台電子計算機 Electronic Numerical Integrator And Computer 的簡寫 ( 電子數值積分器和計算機 ) 計畫主持人: Eckert 約克特 、 Mauchly 摩查理 計畫單位:賓州大學 計畫目的:計算新火砲的彈道 計畫 時間 : 1943 - 1946 可惜未趕上第二次世界大戰 運轉到 1955 年,宣告死訊,走入歷史. ENIAC 技術細節. 十進位 ( 非二進位 ) - PowerPoint PPT Presentation

Citation preview

Page 1: 計算機組織與結構 - 效能設計

1

計算機組織與結構 - 效能設計

第二章電腦進化與效能表現

Page 2: 計算機組織與結構 - 效能設計

ENIAC – 全世界第一台電子計算機 Electronic Numerical Integrator And Computer 的簡寫 ( 電子數

值積分器和計算機 ) 計畫主持人: Eckert 約克特 、 Mauchly 摩查理 計畫單位 :賓州大學 計畫目的 :計算新火砲的彈道 計畫時間 : 1943-1946

可惜未趕上第二次世界大戰 運轉到 1955 年,宣告死訊,走入歷史

2

2.1 電腦簡史

Page 3: 計算機組織與結構 - 效能設計

十進位 ( 非二進位 ) 20 個累積器 (accumulator)( 具有十個位數的儲存功能 ) 程式依靠人工設定開關、插拔電纜線 18,000 真空管 30 噸 15,000 平方英呎 消耗 140 KW 以上的電力 每秒 5,000 個加法運算能力

即 5,000 IPS(instructions per second)

3

ENIAC 技術細節

Page 4: 計算機組織與結構 - 效能設計

第一個提出程式儲存觀念主記憶體儲存程式和資料使用二進位執行 ALU 運算控制單元擷取記憶體的指令,並執行之 輸入 / 輸出裝置受控於控制單元 1952 年,於普林司頓完成 IAS 電腦的建構幾乎同時, Alan Turing 也在發展這種觀念

4

Von Neumann Machine 范紐曼機器

Page 5: 計算機組織與結構 - 效能設計

范紐曼電腦架構內容

5

IAS 電腦架構內容: 同時儲存資料和指令的主記憶體 (M) 二進位資料處理的算數邏輯單元 (CA) 直譯 (interpret) 並執行記憶體指令的程式控制單元 (CC) 受控制單元操作的輸入 / 輸出設備 (I/O) 內容

Page 6: 計算機組織與結構 - 效能設計

范紐曼電腦結構

6

Page 7: 計算機組織與結構 - 效能設計

1000 x 40 bit 字組 (word) 二進位數字 2 x 20 bit 指令

暫存器 (register, CPU 內部的記憶體 ) MBR( Memory Buffer Register ,記憶體緩衝暫存器 ) MAR( Memory Address Register ,記憶體位址暫存器 ) IR (Instruction Register ,指令暫存器 ) IBR ( Instruction Buffer Register ,指令緩衝暫存器 ) PC (Program Counter ,程式計數器 ) AC (Accumulator ,累積器 ) MQ (multiplier Quotient ,乘法商數 )

7

IAS 細節

Page 8: 計算機組織與結構 - 效能設計

8

IAS 結構圖

Page 9: 計算機組織與結構 - 效能設計

真空管 (1946-1957), 電晶體 (1958-1964) SSI 小型積體電路 (1965 開始 )

晶片內可容納 100 個元件 MSI 中型積體電路 ( 到 1971)

晶片內可容納 100-3,000 個元件 LSI 大型積體電路 (1971-1977)

晶片內可容納 3,000 - 100,000 個元件 VLSI 超大型積體電路 (1978 至今 )

晶片內可容納 100,000 - 100,000,000 個元件 ULSI 極大型積體電路

晶片內可容納超過 100,000,000 個元件9

電腦世代

Page 10: 計算機組織與結構 - 效能設計

1947 年 完成 UNIVAC I 電腦的建構

1950 年 接受戶政局委託,執行人口普查 被購併成 Sperry-Rand 公司的 UNIVAC 部門

1950 年代後期 完成 UNIVAC II 電腦的建構 速度更快 記憶體更多

10

商業電腦: Eckert-Mauchly 電腦公司

Page 11: 計算機組織與結構 - 效能設計

打孔卡片的主要製造商 1953 - IBM 701

IBM 第一台電子程式儲存電腦 科學應用

1955 - IBM 702 商業應用

這兩款機型是 700/7000 系列的前鋒

11

商業電腦: IBM 電腦公司

Page 12: 計算機組織與結構 - 效能設計

1947 年,貝爾實驗室的 William Shockley 研製出第一顆電晶體

取代真空管 體積更小 成本更低 發熱更少 矽製材料(來源同於砂) 固態裝置矽

12

電晶體

Page 13: 計算機組織與結構 - 效能設計

電晶體開啟了第二代電腦革命 NCR & RCA 製造小型電晶體電腦 IBM 7000 系列 DEC 於 1957 年成立,當年立即發表

PDP-1

13

電晶體電腦

Page 14: 計算機組織與結構 - 效能設計

“微小的電子學” 電腦可以看成是由閘、記

憶細胞、和互連機制所構成的系統

可製作在矽半導體材料上,比如:矽晶圓 (wafer)

常稱為積體電路、 IC 、晶片

14

微電子學

Page 15: 計算機組織與結構 - 效能設計

Intel創辦人 Gordon Moore所發表的定律預測:晶片內元件密度的成長趨勢 從 1965 年後(至 1970 年)

單一晶片內電晶體數目每年成長 2倍 從 1970 年後(因成長趨緩,稍作修正)

單一晶片內電晶體數目每 18月成長 2倍 (即,每 3 年成長 4 倍 )

15

摩爾定律

Page 16: 計算機組織與結構 - 效能設計

晶片的成本不變 元件的尺寸縮小 空間的彈性增加 可降低電力消耗 可降低冷卻需求 更高的晶片密度意指更短的電氣路徑 更高的效能表現減少互連增加可信度

16

摩爾定律的預估

Page 17: 計算機組織與結構 - 效能設計

CPU 內的電晶體數目成長圖

17

Page 18: 計算機組織與結構 - 效能設計

1964 取代 7000 機型 (但不相容 ) 第一台有計畫製造的電腦家族

類似或相同的指令集 類似或相同的 O/S 速度增加 I/O埠增加 (即更多的端子 ) 記憶體增大 成本增加

多工開關結構18

IBM 360 系列

Page 19: 計算機組織與結構 - 效能設計

1964第一台迷你電腦 ( 在迷你裙之後 )不必專用的空調室小到足以放在工作平台上 $16,000 (cf.當時 IBM 360 約需 $ 100K)嵌入式應用 & OEM匯流排結構

19

DEC PDP- 8

Page 20: 計算機組織與結構 - 效能設計

20

公用匯流排

操作台控制器

CPU主記憶體

I/O模組

I/O模組

DEC PDP-8 匯流排結構

Page 21: 計算機組織與結構 - 效能設計

1970 Fairchild 公司單一磁蕊的大小(即 一位元磁蕊)容納 256 位元非破壞性讀取速度更快於磁蕊容量約每年成長二倍

21

半導體 (Semiconductor) 記憶體

Page 22: 計算機組織與結構 - 效能設計

管線技術單板快取記憶體單板 L1 & L2 快取記憶體分支預測資料流程分析推估執行

22

( 提昇速度之 ) 效能設計

Page 23: 計算機組織與結構 - 效能設計

處理器速度增加記憶體容量增加記憶體速度 遠落後於 處理器速度

23

效能無法匹配問題

Page 24: 計算機組織與結構 - 效能設計

邏輯電路和記憶體的效能差異

24

Page 25: 計算機組織與結構 - 效能設計

增加一次存取的位元數 拓”寬” DRAM ,而非加”深” DRAM

改變 DRAM介面 快取記憶體

降低記憶體存取頻率 更複雜的晶片內建快取記憶體

增加互連頻寬高速匯流排匯流排階層

25

效能均衡技術

Page 26: 計算機組織與結構 - 效能設計

如何快速地轉移處理器和週邊裝置之間的資料溝通,依舊是個難題

引進快取記憶體和緩衝架構,再加上運用更高速、更精細的的互連匯流排架構

使用多重處理器對於 I/O需求方面,也可以提供幫助。

26

發展週邊 I/O

Page 27: 計算機組織與結構 - 效能設計

27

典型 I/O 設備之資料傳輸率

Page 28: 計算機組織與結構 - 效能設計

增快處理器硬體的速度 最簡單的作法就是微縮 晶片內部的邏輯閘尺寸,不但可置放更多的邏輯閘,而且訊號在邏輯閘內部的傳輸時間會明顯降低,因而提升處理器的速度增益。

增加快取記憶體的速度與容量 只要處理器晶片內部 讓出部份空間給快取,整體存取時間 (access time)將會明顯地降低。

改善處理器組織和結構 將平行策略加入處理器組織和結構,建立更有效率的指令執行效能。

28

效能改善 I -增快處理器速度

Page 29: 計算機組織與結構 - 效能設計

電力問題 (Power)高密度和高速度所伴隨的散熱困難,成為嚴重的設計議題。

RC延遲 (RC Delay) 晶片內部元件微縮尺寸後,變得更細的導線會增加阻抗;同樣地導線更接近彼此,也導致電容變大。一旦 RC 乘積增加時,延遲也跟著增加。

記憶體延遲 (Memory Latency) 記憶體延遲會拖慢處理器速度。

29

加快時脈速度產生的技術屏障

Page 30: 計算機組織與結構 - 效能設計

Intel微處理器效能

30

Page 31: 計算機組織與結構 - 效能設計

在處理器和主記憶體之間加入快取結構,並且增大其記憶容量,目前現代電腦通常會置放 2~3階快取記憶體架構。

當處理器晶片密度增大時,晶片內部可以提供更多的空間給快取記憶體,把快取記憶體直接積入(incorporate) 處理器晶片內部,更可以大幅減少傳導路徑長度,有效地提升快取( fast access )效果。

比如: Pentium 晶片大約空出 10% 內部空間,給快取記憶體使用; Pentium 4則有 50% 內部空間,提供給快取記憶體使用。

31

效能改善 II-晶片內建快取

Page 32: 計算機組織與結構 - 效能設計

有兩個值得注意的指令平行策略技術就是:管線技術( pipelining )和超純量技術( superscalar )。

所謂的管線技術有如工廠的生產線般,讓多個指令沿著管線通道前進,並且設法把通道分成不同階段( stage ),在各個不同的階段上,同時執行多個指令。

至於,超純量技術則是在晶片內部複製多重管線通道,讓不相依的指令分配到不同的管線通道上,同時執行多個指令。

32

效能改善 III-指令平行策略

Page 33: 計算機組織與結構 - 效能設計

單純地依賴時脈速度的增快,將會出現功率消耗問題,更高的時脈速率產生更大量的熱功率,衍生出某些物理限制。

設計者在解決這種困難時,常轉向到其它基本技術,比如:在同一晶片內部,置放所謂的多核心( multicore )處理器,讓多重處理器共用大量的快取記憶體,開發潛藏效能,不必一直依賴時脈速率的改善。

33

單一處理器的瓶頸

Page 34: 計算機組織與結構 - 效能設計

研究指出,在同一處理器內部所增加的效能,大約正比於複雜度 (complexity) 的平方根 [BORK03];

然而,如果倍增處理器數量,在軟體可支援多重處理器的情況下,則幾乎可以倍增效能。

由此可見,實現策略傾向使用多個處理器,而非更複雜地開發單一處理器的效能。

34

多核心處理器的出現

Page 35: 計算機組織與結構 - 效能設計

1971 年發表 4004 第一台微處理機 CPU 內所有的元件都在單一晶片上 4 位元

1972 年發表 8008 8 位元 特定用途的設計

1974 年發表 8080 Intel 第一顆通用型微處理機

35

Intel x86 結構的進化

Page 36: 計算機組織與結構 - 效能設計

8080 8 位元資料路徑 第一台通用型微處理器 組成第一台個人電腦 Altair

8086/88 更具威力 16 位元 指令快取 , 預先擷取少量的指令 8088 (8 位元外部匯流排 ) 用於首部 IBM PC

36

x86 進化

Page 37: 計算機組織與結構 - 效能設計

80286 定址空間從 1Mb 提昇到 16 MB 記憶體

80386 32 位元 多工支援能力

80486 更複雜也更具威力的快取結構 指令管線技術 內建數學協同處理器

37

x86 進化

Page 38: 計算機組織與結構 - 效能設計

Pentium 超純量 ( 平行執行的多重指令 )

Pentium Pro 超純量組織 暫存器更名技術 分支預測 資料流程分析 推估執行

Pentium II MMX 技術 繪圖、 視訊、音效處理

38

Pentium 進化 (1)

Page 39: 計算機組織與結構 - 效能設計

Pentium III 3D繪圖浮點數指令

Pentium 4 更進一步地加強浮點數和多媒體能力

Core 2 Duo 64 bit 雙核心

Core 2 Quad 64 bit 四核心

39

Pentium 進化 (2)

Page 40: 計算機組織與結構 - 效能設計

另一種處理器的設計方向則為 RISC (精簡指令)電腦。

ARM不但廣泛地運用於嵌入式系統( embedded system ),也是市場上功能最強大、設計最好的RISC 系統之一。

40

嵌入式系統和 ARM

Page 41: 計算機組織與結構 - 效能設計

結合電腦硬體和相關軟體,將其附加於機械設備或其他產品上,以執行某種特定的專屬功能。

大部分的案例中,嵌入式系統通常只是系統或產品的一小部分,比如:汽車的 ABS (煞車反鎖死系統)。

41

嵌入式系統

Page 42: 計算機組織與結構 - 效能設計

自動化產業 點火裝置、引擎控制、煞車系統

消費電子

數位和類比電視、機上盒( DVD、 VCR、有線電視)、 PDA個人數位助理、廚房設施(電冰箱、烤箱、微波爐)、自動車、玩具 / 遊戲、電話 / 手機 / 傳呼器、相機、 GPS全球定位系統

工業控制 機器人和生產控制系統、感測器

醫藥 沈入式幫蒲、洗腎機、義肢設備、心臟監視器

辦公室自動化 傳真機、照片拷貝機、印表機、監視器、掃描器 42

嵌入式系統的應用市場

Page 43: 計算機組織與結構 - 效能設計

嵌入式系統常見的組織方塊

43

Page 44: 計算機組織與結構 - 效能設計

44

可能具有不同的界面,讓系統進行測量、操控、外部環境互動等行為。

人機界面可能像閃爍燈一樣簡易,也可能像即時視覺一樣複雜。

診斷埠可能用來診斷外部控制系統,而不僅僅只診斷電腦而已。

FPGA/ASIC或某些非數位硬體可能用來增進效能或改善安全。

內嵌應用軟體通常具備某種特定的專屬功能。

嵌入式元件不同於一般電腦

Page 45: 計算機組織與結構 - 效能設計

ARM 晶片是英格蘭劍橋 ARM 公司所開發的 RISC微處理器,主要作為微控制器( microcontroller )用途。

可能是目前市場使用最多、運用範圍最廣泛的嵌入式處理器。

ARM 公司本身並不直接製造處理器,而是將所設計的微處理器和多核心架構授權給其它製造廠商,製成小尺寸、低功率的高速晶粒,內建於遊戲、電話、手持設備(比如: PDA )、…等消費性產品。

舉例而言,蘋果( Apple )公司知名的 iPod 和iPhone就是使用 ARM 處理器。

45

ARM 公司

Page 46: 計算機組織與結構 - 效能設計

ARM原始技術追溯於英國 Acorn 電腦公司,發展的微電腦架構。 Acorn 第一個商業 RISC 處理器 - ARM ( Acorn RISC Machine )。

1985 年,發表 ARM1。1985 年, Acorn 發表 ARM2。1989 年,改良版的 ARM3問世。 為了提升實力, Acorn 與 VLSI 、 Apple合資組成

ARM 公司,並且把 Acorn RISC Machine改名為Advanced RISC Machine ,簡稱仍是 ARM。

46

ARM 進化

Page 47: 計算機組織與結構 - 效能設計

家族 特性 快取 典型MIPS@MHz

ARM1 32位元 RISC 無ARM2 乘法和交換指令;整合記憶體管理

單元、圖形和 I/O處理器無 7MIPS@12MHz

ARM3 第一個使用快取的 ARM晶片 4KB整合快取 12MIPS@25MHz

ARM6 第一個支援 32位元定址、浮點運算單元 FPU的 ARM晶片

4KB整合快取 28MIPS@33MHz

ARM7 整合 SoC 8KB整合快取 60MIPS@60MHz

ARM8 五階管線、靜態分支預測 8KB整合快取 84MIPS@72MHz

ARM9 16KB/16KB 300MIPS@300MHz

ARM9E 強調 DSP指令 16KB/16KB 220MIPS@200MHz

ARM10E 六階管線 32KB/32KB

ARM11 九階管線 可變 740MIPS@665MHz

Cortex 十三階超純量管線 可變 2000MIPS@1GHz

XScale 應用處理器、七階管線 32KB/32KB L1、 512KB L2

[email protected]

表 2.8 ARM家族的進化史

Page 48: 計算機組織與結構 - 效能設計

嵌入式即時系統:儲存系統、自動機台、電力火車、工業和網路應用。

應用軟體平台: ARM 可以執行開放式作業系統,包含 -Linux 、 Palm OS 、 Symbian OS 、 Windows CE ,並可當作無線通訊、消費娛樂和數位影像處理等應用平台。

保安應用:智慧卡、 SIM 卡和付費終端設備。

48

ARM 處理器適合應用的系統

Page 49: 計算機組織與結構 - 效能設計

時脈速度和 IPS 標準效能評估程式 阿姆達定律

49

效能評估

Page 50: 計算機組織與結構 - 效能設計

處理器所執行的運算,比如:擷取指令、解碼指令、執行算術等,都由系統時脈控制動作程序。

運算啟使於時脈脈波,因而處理器速度是由脈波頻率所決定,時脈頻率的測量單位是 Hz ( Hertz )。

50

系統時脈

Page 51: 計算機組織與結構 - 效能設計

大部分指令往往需要多個時脈週期才能完成運算,某些指令耗費較少週期,某些指令則需要較多週期。

處理器加入固定頻率 f脈波驅動,週期 τ=1/f。對程式而言,執行多個機器指令直到程式結束,需要耗費一定的時間,值得注意的是:這個時間關聯著被執行指令的數量( instruction count , Ic ),而非程式碼數量。

51

指令執行速度

Page 52: 計算機組織與結構 - 效能設計

CPI ( Cycles Per Instruction ,指令平均週期)如果所有指令都具有相同的時脈週期,則 CPI 是固定的常數;然而,許多處理器內含各種不同類型的指令,比如:載入( Load )、儲存( Store )、分支( Branch )等,這些指令往往需要不一樣的時脈週期數,因此執行不同指令, CPI 也跟著變動。

假設 CPIi 是指令類型 i 執行所需要的時脈週期數, Ii 是執行指令的數量,則 CPI如下:

52c

n

i ii

I

ICPICPI

1)(

CPI

Page 53: 計算機組織與結構 - 效能設計

T=Ic×[p+(m×k)]×τ 指令執行時間並非只侷限於處理器內部,還必須考量「記憶體轉移時間」,轉移時間由記憶體週期時間決定,而記憶體週期時間通常比處理器時間還要長,因此底下微調上列公式成為:

T=Ic×[p+(m×k)]×τ

53

處理器執行程式的時間 T

Page 54: 計算機組織與結構 - 效能設計

傳統處理器效能量測常以 MIPS ( millions of instructions per second ,每秒百萬個指令)表示。

使用時脈速率 f 和 CPI 來表示:

54

66 1010

CPI

f

T

IMIPS C

MIPS

Page 55: 計算機組織與結構 - 效能設計

指令類型 CPI 指令混雜比率算術邏輯 1 60%

載入 /儲存(快取擊中) 2 18%

分支 4 12%

記憶體參考(快取失誤) 8 10%

55

當處理器執行程式時,其 CPI 平均值: CPI=0.6+(2×0.18)+(4×0.12)+(8×0.1)=2.24

其 MIPS 為 (400×106)/(2.24×106)=178。

以 2MIPS 的 400MHz 處理器為例,處理器指令類型混雜比率和 CPI如下:

範例

Page 56: 計算機組織與結構 - 效能設計

浮點數效能 MFLOPS ( millions of floating-point operations per second ,每秒百萬個浮點數指令)也常用於科學和遊戲應用程式的效能評估, MFLOPS定義如下:

56

610

執行時間程式浮點數運算的數量

MFLOPS

MFLOPS

Page 57: 計算機組織與結構 - 效能設計

使用 benchmark (標準效能評估程式)來量測系統效能,在不同機器上,執行相同的效能評估程式,來比較其執行時間。

標準效能評估程式應該具備的特性 :1.使用高階程式撰寫,可移植在不同機台上執行。2.具備某種程式規劃類型的代表性,比如:系統程式 規劃、數值程式規劃、或商業程式規劃。3.容易進行量測。4.可以廣泛散佈。

57

標準效能評估程式

Page 58: 計算機組織與結構 - 效能設計

基於工業界、學術界和研究單位,對於電腦效能量測的普遍需求,推昇標準效能評估軟體( benchmark suites )的發展。標準效能評估軟體通常集合多個效能評估程式,而每個效能評估程式則只提供系統程式或特殊應用程式的局部測試,最知名的標準效能評估軟體是由 SPEC (System

Performance Evaluation Corporation) 組織所制訂,廣泛地運用於效能差異的比較和分析上。

58

SPEC標準效能評估軟體

Page 59: 計算機組織與結構 - 效能設計

SPEC CPU2006軟體是一個評估處理器工業標準的應用軟體,內含 C, C++, Fortran語言所撰寫的 17 個浮點數程式,以及 C, C++語言所撰寫的 12個整數程式,整套軟體超過 3百萬行程式碼。

CPU2006會把大部分時間花在計算評估上,而不是 I/O 上,相關程式可以置放於各種不同的平台上,適合量測處理器計算能力。

59

SPEC CPU2006 效能評估軟體

Page 60: 計算機組織與結構 - 效能設計

60

其它常見的 SPEC 效能評估軟體 SPECjvm98 :評估 JVM 平台( Java Virtual

Machine )的軟硬體效能。 SPECjbb2000 ( Java 商業效能評估軟體):評估

Java基底伺服器之電子商務應用軟體。 SPECweb99 :評估WWW伺服器的效能。 SPECmail2001 :評估郵件伺服器( mail server )的效能。

Page 61: 計算機組織與結構 - 效能設計

為了比較電腦各種不同層面的效能,在各個機器上,傾向執行多種不同的效能評估程式,然後平均結果。

算術平均值( arithmetic mean )

調和平均值( harmonic mean )

61

m

i

iA Rm

R1

1

m

i i

H

R

mR

1

1

平均結果

Page 62: 計算機組織與結構 - 效能設計

速度量尺測量電腦執行單一任務的能力,通常SPEC會使用某個特定的參考機台,來定義效能評估程式的基底執行時間,測試結果則以該參考機台執行時間對系統執行時間的比值,比值 (ratio) 計算如下:

Trefi是效能評估程式 i 在參考機台的執行時間,而Tsuti則是效能評估程式 i 在測試系統的執行時間。

62

i

ii Tsut

Trefr

速度量尺 (speed metric)

Page 63: 計算機組織與結構 - 效能設計

以兩個四核心晶片 Sun Blade 6250為範例, Sun 系統執行該程式使用了 934 秒,參考機台則為 22,135秒,比值的計算為:

22135/934=23.7

63

範例

Page 64: 計算機組織與結構 - 效能設計

由於測試系統時間位於分母,因此愈大的比值代表愈高的速度,至於整體測試系統效能,可以求出12 個整數效能評估程式的比值後,再計算其平均值。

SPEC 指定使用幾何平均值( geometric mean ),如下定義:

其中, ri就是第 i 個效能評估程式的比值。 64

nn

i

iG rr

/1

1

整體測試系統效能

Page 65: 計算機組織與結構 - 效能設計

速度量尺的計算可以把這 12 個比值的乘積,取 12次方根,得出:

65

( 17.5×14×13.7×17.6×14.7×18.6×17×31.3×23.7×9.23×10.9×14.7 ) 1/12 =18.5

速度量尺的計算結果

Page 66: 計算機組織與結構 - 效能設計

速率量尺是測量機器執行多個任務的吞吐量( throughput ,亦稱為總流通量),也就是說,把多個複製的效能評估程式,丟到測試機器同時執行,典型的情況下,複製數量必須與機器內部的處理器數量相同。同樣地,結果也是使用比值,比值計算如下:

其中, Trefi就是效能評估程式 i 的參考執行時間, N 是同時執行多個複製程式的數量,而 Tsuti則是從程式在測試系統上的所有 N 個處理器開始執行,一直到所有複製程式執行完成之時間。

66

i

ii Tsut

TrefNr

速率量尺

Page 67: 計算機組織與結構 - 效能設計

最後,再次地以幾何平均值計算,來當作整體程式的效能結果。

67

速率量尺的計算

Page 68: 計算機組織與結構 - 效能設計

電腦系統設計者以技術改良或設計變更,來改善效能,比如:平行處理器(多重處理器)、快取記憶體、加速記憶體存取時間和 I/O 轉移速度( transfer rate )。

然而,單獨提升某個層面的速度( speedup ),可能無法提升整體效能的改善,這種限制可以使用阿姆達定律( Amdahl’s Law )加以說明。

68

整體效能提升

Page 69: 計算機組織與結構 - 效能設計

Gene Amdahl 提出阿姆達定律,主要討論 多重處理器執行單一程式 相對於 單一處理器執行單一程式,兩者之間的速度提升比較。

以單一處理器執行單一程式而言,執行時間為 T ,執行時間有( 1-f )比率部分是用來串流地輸入程式碼,另外 f比率部分,在無任何排程下,平行地執行程式碼。假設 N 個處理器可以完全平行地執行程式,其速度提升如下:

69

N

ff

N

TffT

TffT

N

)1(

1

)1(

)1(

間個處理器執行程式的時時間單一處理器執行程式的

速度提升

阿姆達定律

Page 70: 計算機組織與結構 - 效能設計

當 f很小時,平行處理器的效果很小。當 N趨近於無限大時,速度提升則受限於 1/(1-f) ,此時即使加入更多的處理器,所能增加的效能卻不大。

70

兩個重要結論:

Page 71: 計算機組織與結構 - 效能設計

阿姆達定律可以計算電腦系統的任何設計或技術改善程度,任何強化系統特性所產生的速度提升,如下:

71

強化前的執行時間強化後的執行時間

強化前的效能強化後的效能

速度提升

速度提升

Page 72: 計算機組織與結構 - 效能設計

假如系統用在 f 部份的執行時間,在強化之後,速度提升為 SUf ,因此整體系統的速度提升變成

舉例而言,假設有一個任務大量使用浮點數運算,約佔所有執行時間的 40% ,當加入一個改良的新硬體之後,浮點數模組速度提升為 K ,則整體速度提升為:

忽略 K 值部分,最大的速度提升為 1/0.6 = 1.67。

72

fSU

ff

)1(

1速度提升

K

4.06.0

1

速度提升

範例