入門啟示錄 ch03簡報

51
1 結構進化 結構進化

Upload: turtleking999

Post on 12-Nov-2014

2.622 views

Category:

Business


0 download

DESCRIPTION

temp

TRANSCRIPT

Page 1: 入門啟示錄 Ch03簡報

1

第第 三三 章章

結構進化結構進化

Page 2: 入門啟示錄 Ch03簡報

2

簡報綱要簡報綱要

3.2 范紐曼電腦

3.3 程式計算機

3.4 指令運作方式

3.5 階層概念

3.6 結構與組織

3.7 相容家族

3.8 相容家族特色

3.1 引言

3.9 結語

Page 3: 入門啟示錄 Ch03簡報

3

核心重點核心重點

•• 目前的電腦大都具有范紐目前的電腦大都具有范紐曼結構的程式計算機。曼結構的程式計算機。

•• 程式計算機使用語言進行程式計算機使用語言進行規劃,往上堆積意像,形規劃,往上堆積意像,形成更高階的意義。成更高階的意義。

• 計算機結構就是程式設計師在指令集中可以看見的系統屬性;至於組織,則深入細節與控制,以實現所要求的功能。

• 相容是結構設計的最大魔咒。

•• 計算機結構就是程式設計師在指令集中可以看見的系統屬計算機結構就是程式設計師在指令集中可以看見的系統屬性;至於組織,則深入細節與控制,以實現所要求的功能。性;至於組織,則深入細節與控制,以實現所要求的功能。

•• 相容是結構設計的最大魔咒。相容是結構設計的最大魔咒。

Page 4: 入門啟示錄 Ch03簡報

4

范紐曼結構一直是建構在真空管的電腦。

1950年代末期,電晶體開始嶄露頭角,但大部分

的廠商仍然站在真空管的角色,各自揣摩電晶體

的運用,以便仿造出范紐曼結構的設計。

這讓方向有些分歧,也有些混亂,確實到了應該

整理的時候!

Page 5: 入門啟示錄 Ch03簡報

5

IBM IBM 的結構大躍進的結構大躍進

Page 6: 入門啟示錄 Ch03簡報

6

赫勒里斯赫勒里斯

美國的統計學家美國的統計學家 赫勒里斯(赫勒里斯(Herman Herman HollerithHollerith))

發明卡片計算機。發明卡片計算機。

利用打孔卡片來記錄

資料,然後經由電動

的卡片機,將資料統

計出來。這種機器稍

後在1889年取得第一

個專利。

利用打孔卡片來記錄利用打孔卡片來記錄

資料,然後經由電動資料,然後經由電動

的卡片機,將資料統的卡片機,將資料統

計出來。這種機器稍計出來。這種機器稍

後在後在18891889年取得第一年取得第一

個專利。個專利。

※照片出處 http://www.cesga.es/mostra/carteles/herman_hollerith.html

Herman Hollerith(1860~1929)Herman Hollerith(1860~1929)

Page 7: 入門啟示錄 Ch03簡報

7

國際商業機器公司國際商業機器公司

赫勒里斯使用卡片計算機,赫勒里斯使用卡片計算機,

協助執行協助執行18901890年美國人口普年美國人口普

查工作,只花了三年的時查工作,只花了三年的時

間,就完成了統計結果。間,就完成了統計結果。

1896年,藉此成立了TMC公司;1911年,TMC與另外三家公司合併

成為CTR公司;1924年,偉司頓成為公司的CEO(chief executive

officer,首席執行長),並將CTR改名為聞名全球的IBM公司。

18961896年,藉此成立了年,藉此成立了TMCTMC公司;公司;19111911年,年,TMCTMC與另外三家公司合併與另外三家公司合併

成為成為CTRCTR公司;公司;19241924年,偉司頓成為公司的年,偉司頓成為公司的CEOCEO((chief executive chief executive

officerofficer,首席執行長),並將,首席執行長),並將CTRCTR改名為聞名全球的改名為聞名全球的IBMIBM公司。公司。

International Business Machines

Page 8: 入門啟示錄 Ch03簡報

8

孤單的競賽

19601960年代年代IBMIBM早已經擊敗對手,成為計算機市場的藍色巨早已經擊敗對手,成為計算機市場的藍色巨

人,當時的人,當時的IBM 7000IBM 7000系列機型已經是科學界最叫好、也是系列機型已經是科學界最叫好、也是

最叫座的計算機。最叫座的計算機。

對對IBMIBM而言,這一切都如此地美好,任誰都難以相信,而言,這一切都如此地美好,任誰都難以相信,IBMIBM

竟然投入竟然投入5050億美元執行「背水一戰億美元執行「背水一戰(bet the company)(bet the company)」」

計畫,只為了實現一種嶄新電腦結構的運算願景!計畫,只為了實現一種嶄新電腦結構的運算願景!

Page 9: 入門啟示錄 Ch03簡報

9

這是我所作的最大、風險最高的決策,

它使我內心痛苦了幾個星期,

但是最後我深信IBM沒有做不到的事情…

~IBM 偉司頓(Tom Watson)

Page 10: 入門啟示錄 Ch03簡報

10

3.23.2

Page 11: 入門啟示錄 Ch03簡報

11

范紐曼電腦范紐曼電腦

范紐曼描繪計算機基本的結構方塊圖,定義五個功能性元

件,並且詳細地描述每個功能性元件的功能與特性,以及自

動連結資料路徑的觀念。

范紐曼描繪計算機基本的結構方塊圖,定義五個功能性元范紐曼描繪計算機基本的結構方塊圖,定義五個功能性元

件,並且詳細地描述每個功能性元件的功能與特性,以及自件,並且詳細地描述每個功能性元件的功能與特性,以及自

動連結資料路徑的觀念。動連結資料路徑的觀念。

現代電腦大都符合范紐曼結

構描述,因而稱為范紐曼

(von Neumann)電腦。

現代電腦大都符合范紐曼結現代電腦大都符合范紐曼結

構描述,因而稱為范紐曼構描述,因而稱為范紐曼

((von Neumannvon Neumann)電腦。)電腦。

Page 12: 入門啟示錄 Ch03簡報

12

• 算術邏輯單元(ALU)

具備執行加減乘除和邏輯運算的能力。

• 控制單元(Control)

藉由適當的邏輯控制,順序指揮功能性單元。

• 記憶體(Memory)

儲存事先規劃好的操作程序(即程式)與資料。

• 輸入裝置(Input)

把計算需要的相關資訊,送到計算機內部。

• 輸出裝置(Output)

把計算得出的結果,送到計算機的外部裝置。

Page 13: 入門啟示錄 Ch03簡報

13

3.33.3

Page 14: 入門啟示錄 Ch03簡報

14

指令是計算機結構發展中最重要的關鍵

Page 15: 入門啟示錄 Ch03簡報

15

指令集指令集

由於這3000個開關可有各種不同的設定,因而產生多個指

令,多個指令的集合形成指令集,指令集定義計算機能夠

提供的硬體功能 。

由於這由於這30003000個開關可有各種不同的設定,因而產生多個指個開關可有各種不同的設定,因而產生多個指

令,多個指令的集合形成指令集,指令集定義計算機能夠令,多個指令的集合形成指令集,指令集定義計算機能夠

提供的硬體功能提供的硬體功能 。

指令觀念

使用一種抽象的階層概念,類

似人類的語言,來描述整個細

部的設定工作,只要一句話就

代表一件事(雖然這件事可能

需要複雜的步驟才能完成)。

ENIAC內含3000個開關設計,以及人工插拔的電纜線。

ENIACENIAC內含內含30003000個開關設個開關設計,以及人工插拔的電計,以及人工插拔的電纜線。纜線。

Page 16: 入門啟示錄 Ch03簡報

16

程式計算機程式計算機

這種直譯機器會不斷地將指令,往低階的細節部分,進行解譯動作,只要我們好好地規劃,將可以對應出正確的設定,解碼出正確的結果。

這種直譯機器會不斷地將指令,往低階的細節部分,進行解這種直譯機器會不斷地將指令,往低階的細節部分,進行解譯動作,只要我們好好地規劃,將可以對應出正確的設定,譯動作,只要我們好好地規劃,將可以對應出正確的設定,解碼出正確的結果。解碼出正確的結果。

程式(program)

組合多個指令執行,形成一

個有意義的動作,這種有意

義的指令規劃稱為程式。我們常把計算機當作是直譯機器。我們常把計算機當作是直我們常把計算機當作是直譯機器。譯機器。

Page 17: 入門啟示錄 Ch03簡報

17

3.43.4

Page 18: 入門啟示錄 Ch03簡報

18圖圖33--2 2 假想機器的指令格式和操作碼定義

0 3 4 7

操作碼 位址碼

00012=116=把記憶體內容載入AC暫存器(代表Load指令)

00102=216=把AC內容儲存於記憶體 (代表Store指令)

11102=E16=把記憶體內容加入AC暫存器(代表ADD指令)

Page 19: 入門啟示錄 Ch03簡報

19

簡化說明範例,假設指令週期有兩個階段:

••擷取週期擷取週期(Fetch Cycle)(Fetch Cycle)::

取出記憶體的指令取出記憶體的指令 放在放在CPUCPU

••執行週期執行週期(Execution Cycle)(Execution Cycle)::

執行該指令所要求的執行該指令所要求的 運算動作運算動作

Page 20: 入門啟示錄 Ch03簡報

20

假設一個8位元電腦具有圖3-2之指令格式,重置後PC

位址為0 (忽略ACC和IR的內容),將程式(位址

0~2)與資料(位址8~9)置放於記憶體,試問執行完

記憶體位址2的指令後,記憶體位址9的內容為何?

(全採16進制表示法)

Page 21: 入門啟示錄 Ch03簡報

21

記憶體 CPU暫存器 記憶體 CPU暫存器

0 18 0 PC 0 18 1 PC

1 E9 ACC 1 E9 03 ACC

2 29 18 IR 2 29 18 IR

8 03 8 03

9 02 步驟一(擷取) 9 02 步驟二(執行)

圖圖33 -- 3 3 第一個指令週期的運作情況第一個指令週期的運作情況

Load

Page 22: 入門啟示錄 Ch03簡報

22

步驟1

PC(程式計數器)初始值為0 (指向位址),進行擷取動作

後,會把記憶體位址 0的內容18載入到IR暫存器,因此

IR會被更新為18。

步驟2

遞增PC,現在PC內容更新為1,IR值為18(意指操作碼為

1,位址碼為8),進行執行動作後,把記憶體位址8的內

容((即03)載入到ACC(累積器),因此ACC更新為03。

Page 23: 入門啟示錄 Ch03簡報

23

03

記憶體 CPU暫存器 記憶體 CPU暫存器

0 18 1 PC 0 18 2 PC

1 E9 03 ACC 1 E9 ACC

2 29 E9 IR 2 29 E9 IR

8 03 8 03

9 02 步驟三(擷取) 9 02 步驟四(執行)

圖圖33 -- 3 3 第二個指令週期的運作情況第二個指令週期的運作情況

02+03=05

ADD

0503

Page 24: 入門啟示錄 Ch03簡報

24

步驟3

擷取PC所指向位址(1)的內容(E9)到IR,因此IR會被更

新為E9。

步驟4

遞增PC,現在PC內容更新為2,IR值為E9(意指操作碼

為E,位址碼為9),進行執行動作後,把記憶體位址9

的內容(02)與AC值(03)相加,再把結果(05)存回ACC,

因此ACC更新為03。

Page 25: 入門啟示錄 Ch03簡報

25

記憶體 CPU暫存器 記憶體 CPU暫存器

0 18 2 PC 0 18 3 PC

1 E9 05 ACC 1 E9 05 ACC

2 29 29 IR 2 29 29 IR

8 03 8 03

9 02 步驟五(擷取) 9 05 步驟六(執行)

圖圖33 -- 3 3 第三個指令週期的運作情況第三個指令週期的運作情況

STORE

Page 26: 入門啟示錄 Ch03簡報

26

步驟5

擷取PC所指向位址(2)的內容(29)到IR,因此IR會被更

新為29。

步驟6

遞增PC,現在PC內容更新為3,IR值為29(意指操作碼

為2,位址碼為9),進行執行動作後,把ACC內含值(05)

存回記憶體位址9內,因此記憶體位址9會更新為05。

Page 27: 入門啟示錄 Ch03簡報

27

3.53.5

Page 28: 入門啟示錄 Ch03簡報

28

階層概念階層概念

請試著把請試著把NN33,改用加法,改用加法來描述?來描述?

• 冪次方 = 對某個數進行連續累積的「乘」法

• 乘法 = 對某個數進行連續累積的「加」法

•• 冪次方冪次方 = = 對某個數進行連續累積的「乘」法對某個數進行連續累積的「乘」法

•• 乘法乘法 = = 對某個數進行連續累積的「加」法對某個數進行連續累積的「加」法

相對

層次

階層

概念範例

3冪次方 N3

2 乘法 N*N*N

1 加法

( N+…+N )+……………….……+ (N+…+N)

N個N

N個(N+…+N)

Page 29: 入門啟示錄 Ch03簡報

29

不用階層概念,許多描述將變得複雜。不用階層概念,許多描述將變得複雜。

事實上,程式計算機最重要的資產,就是事實上,程式計算機最重要的資產,就是

可以藉由階層概念,來堆積出需要的圖像可以藉由階層概念,來堆積出需要的圖像

或所追求的功能。或所追求的功能。

Page 30: 入門啟示錄 Ch03簡報

30

直譯直譯

解釋階層的動作常稱為直譯,直譯動作會不斷地進行,一直

到這些指令都變成機器認識的二進位碼。

解釋階層的動作常稱為直譯,直譯動作會不斷地進行,一直解釋階層的動作常稱為直譯,直譯動作會不斷地進行,一直

到這些指令都變成機器認識的二進位碼。到這些指令都變成機器認識的二進位碼。

多階層電腦語言包含:高階語言和低階語言。多階層電腦語言包含:高多階層電腦語言包含:高階語言和低階語言。階語言和低階語言。

常見的直譯工具:

• 編譯器(Compiler)

• 組譯器(Assembler)

Page 31: 入門啟示錄 Ch03簡報

31

高階語言(C語言)

swap (int v[ ],int i){int tem;tem=v[i];v[i]=v[i+1];v[i+1]=tem;}

編譯過程 編譯器(Compiler)

組合語言(MIPS)

swap:muli $2,$5,4add $2,$4,2lw $15,0($2)lw $16,4($2)sw $16,0($2)sw $15,4($2)jr $31

組譯過程 組譯器(Assembler)

機器語言(MIPS)

00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000

Page 32: 入門啟示錄 Ch03簡報

32

我們知道一個高階命令必須執行多個機器指我們知道一個高階命令必須執行多個機器指

令,才能達成某一項任務。令,才能達成某一項任務。

對電腦而言,電腦並不認識這個高階指令,這對電腦而言,電腦並不認識這個高階指令,這

些虛幻的文字只是一種階層概念,真正的指令些虛幻的文字只是一種階層概念,真正的指令

是翻譯過後的機器指令,而這些機器指令會以是翻譯過後的機器指令,而這些機器指令會以

機器熟悉的數碼型式出現,不會再有任何文機器熟悉的數碼型式出現,不會再有任何文

字,堆積這些機器指令的意像,將形成一個有字,堆積這些機器指令的意像,將形成一個有

意義的動作。意義的動作。

Page 33: 入門啟示錄 Ch03簡報

33

3.63.6

Page 34: 入門啟示錄 Ch03簡報

34

渾沌未明渾沌未明

IBM希望整理日漸混亂的設計工程,讓所有的機型都有一致

化的電腦結構,能夠讓各部門之間的協調將變得容易。

IBMIBM希望整理日漸混亂的設計工程,讓所有的機型都有一致希望整理日漸混亂的設計工程,讓所有的機型都有一致

化的電腦結構,能夠讓各部門之間的協調將變得容易。化的電腦結構,能夠讓各部門之間的協調將變得容易。

即時IBM內部也有五種不同

的架構,局勢十分混亂,

似乎演變到不易控制。

即時即時IBMIBM內部也有五種不同內部也有五種不同

的架構,局勢十分混亂,的架構,局勢十分混亂,

似乎演變到不易控制。似乎演變到不易控制。

1950年代,各個廠商開始投入

電晶體計算機的發展。問題在

於:組織的觀念與元件應用技

術並不成熟,大部分的廠商仍

然站在真空管的角色,各自揣

摩電晶體電腦的設計。

Page 35: 入門啟示錄 Ch03簡報

35

IBM IBM 背水一戰背水一戰

開始界分結構和組織開始界分結構和組織

Page 36: 入門啟示錄 Ch03簡報

36

結構與組織

結構就是程式設計師,在指令集中,可以看見的系統屬結構就是程式設計師,在指令集中,可以看見的系統屬

性。比如:使用指令來指揮系統與功能的運作方式,但不性。比如:使用指令來指揮系統與功能的運作方式,但不

規定任何的實現方式,也不對元件做任何評論,設計者喜規定任何的實現方式,也不對元件做任何評論,設計者喜

歡使用齒輪、真空管、或電晶體,都與結構要求無關。歡使用齒輪、真空管、或電晶體,都與結構要求無關。

組織則深入細節與控制,以實現所要求的功能。因此必須組織則深入細節與控制,以實現所要求的功能。因此必須

慎選實現元件和方法,也許不同的元件技術能夠達到相同慎選實現元件和方法,也許不同的元件技術能夠達到相同

的功能,但效能有所差異,比如:使用齒輪的速度自然會的功能,但效能有所差異,比如:使用齒輪的速度自然會

比電晶體要慢。比電晶體要慢。

Page 37: 入門啟示錄 Ch03簡報

37

電腦是否需要乘法指令?

結構設計師:分析該部電腦的應用領域,做出需求的

決定。

組織設計師:思考如何實現?是要使用乘法硬體(效

能好、成本高),或者使用重複加法的軟體方法(效

能差、成本低)。

Page 38: 入門啟示錄 Ch03簡報

38

3.73.7

Page 39: 入門啟示錄 Ch03簡報

39

整合問題

電晶體計算機確實更具能力,但問題在於:電晶體計算機確實更具能力,但問題在於:

•• 各廠商之間的整合問題各廠商之間的整合問題

•• 連公司各部門之間都存在有整合問題連公司各部門之間都存在有整合問題

每個部門專為特定客戶生產獨特的電腦,客戶每次升級到每個部門專為特定客戶生產獨特的電腦,客戶每次升級到

更大系統時,都必須重寫軟體應用程式。所有現存的周邊更大系統時,都必須重寫軟體應用程式。所有現存的周邊

配備─印表機、磁帶機、磁碟儲存裝置,也必須經過大幅配備─印表機、磁帶機、磁碟儲存裝置,也必須經過大幅

的修改,才能用於新系統。的修改,才能用於新系統。

Page 40: 入門啟示錄 Ch03簡報

40

19641964年年

背水一戰的成果:背水一戰的成果:IBM S/360IBM S/360

開啟了相容家族的革命開啟了相容家族的革命

Page 41: 入門啟示錄 Ch03簡報

41

相容家族相容家族

消費者可以先選用不貴的Model 30入門,日後若需求增加,可

以在不犧牲軟體資產下,升級成較多記憶體且較快的機型。

消費者可以先選用不貴的消費者可以先選用不貴的Model 30Model 30入門,日後若需求增加,可入門,日後若需求增加,可

以在不犧牲軟體資產下,升級成較多記憶體且較快的機型。以在不犧牲軟體資產下,升級成較多記憶體且較快的機型。

在相容家族內,針對某一機

型所撰寫的程式,可以在其

它機型上執行,不同的只是

執行速度而已。

在相容家族內,針對某一機在相容家族內,針對某一機

型所撰寫的程式,可以在其型所撰寫的程式,可以在其

它機型上執行,不同的只是它機型上執行,不同的只是

執行速度而已。執行速度而已。

S/360系列是電腦工業第一個

有計劃發展的電腦家族,這是

相當前瞻的構想,IBM希望以

後所有的電腦都能夠使用同一

結構,不同的只是實現的組織

與實現的方法。

Page 42: 入門啟示錄 Ch03簡報

42

特性 Model

30

Model

40

Model

50

Model

65

Model

75

最大記憶體容量(bytes)

記憶體資料轉移速率

(Mbytes/s)

處理器週期時間(μs)

相對速度

資料通道數目

單一通道之資料轉移速

率(Kbytes/s)

64K

0.5

1.0

1

3

250

256K

0.8

0.625

3.5

3

400

256K

2.0

0.5

10

4

800

512K

8.0

0.25

21

6

1250

512K

16.0

0.2

50

6

1250

圖圖33--66 IBM S/360IBM S/360相容家族的重要特性相容家族的重要特性

Page 43: 入門啟示錄 Ch03簡報

43

IBM S/360IBM S/360成功地在往後十年,替成功地在往後十年,替IBMIBM打下江打下江

山並鞏固市場,至少有山並鞏固市場,至少有200 200 種相容架構的周種相容架構的周

邊裝置產品,超過邊裝置產品,超過 3,000 3,000 種不同類型的商業種不同類型的商業

與科學研究,讓與科學研究,讓IBMIBM成為最重要的電腦廠商成為最重要的電腦廠商

(vendor)(vendor),市場佔有率超過,市場佔有率超過75%75%以上。以上。

Page 44: 入門啟示錄 Ch03簡報

44

3.83.8

Page 45: 入門啟示錄 Ch03簡報

45

相容家族特色

•• 相似或相同指令集:某台機器程式可在另一成員上執行。相似或相同指令集:某台機器程式可在另一成員上執行。

•• 相似或相同作業系統:家族成員使用相同的作業系統。相似或相同作業系統:家族成員使用相同的作業系統。

•• 速度增快:從低階至高階成員,執行速度愈來愈快。速度增快:從低階至高階成員,執行速度愈來愈快。

•• I/OI/O埠數量增加:從低階至高階成員,埠數量增加:從低階至高階成員,I/OI/O埠數愈來愈多。埠數愈來愈多。

•• 記憶體容量增大:從低階至高階成員,容量愈來愈大。記憶體容量增大:從低階至高階成員,容量愈來愈大。

•• 價格增加:從低階至高階成員,售價愈來愈貴。價格增加:從低階至高階成員,售價愈來愈貴。

Page 46: 入門啟示錄 Ch03簡報

46

從此從此

相容成為結構設計的最大魔咒相容成為結構設計的最大魔咒

Page 47: 入門啟示錄 Ch03簡報

47

結結 語語

Page 48: 入門啟示錄 Ch03簡報

48

計算機製造最重要的兩個因素:

• 製程技術(優異穩定性與速度進化)

• 結構設計(科技始終來自人性需求)

沒有進化的固態製程技術支援,就沒有優異的結

構設計。相對而言,優異的結構設計不但提昇系

統實用功能,也將對”快速計算”方面,做出貢獻,

比如:快取結構、管線技術、超純量組織、…等

平行處理技術,都將加速計算。

Page 49: 入門啟示錄 Ch03簡報

49

程式計算機的發展儼然成形,指令開始指揮計算

機結構的運作,運用意像堆積建構階層概念,變

成重要的觀念。

事實上,在程式計算機中,由高階指令累積多個

階層的定義,形成更高意念的指令,比如:副程

式(subroutine)、程序(procedure)、函數

(function)等,這些有效降低描述的複雜度之

行為,都受到一定程度的鼓勵。

Page 50: 入門啟示錄 Ch03簡報

50

IBM S/360依舊遵循范紐曼結構,但是組織的實現

方式不同於真空管,這是第一個引進相容觀念的

程式計算機,希望能在一致化的結構背景下,建

構各種不同組織與效能。

在許多電腦廠商群起效尤,不管軟體或硬體都流

行著相容的觀念,直到現在,相容仍是結構設計

的最大魔咒,可以這麼說:沒有建立相容觀念的

電腦實在很難立足於市場。

Page 51: 入門啟示錄 Ch03簡報

51

第第 三三 章章

課課 程程 結結 束束