Upload
turtleking999
View
2.618
Download
0
Embed Size (px)
DESCRIPTION
temp
Citation preview
1
第第 三三 章章
結構進化結構進化
2
簡報綱要簡報綱要
3.2 范紐曼電腦
3.3 程式計算機
3.4 指令運作方式
3.5 階層概念
3.6 結構與組織
3.7 相容家族
3.8 相容家族特色
3.1 引言
3.9 結語
3
核心重點核心重點
•• 目前的電腦大都具有范紐目前的電腦大都具有范紐曼結構的程式計算機。曼結構的程式計算機。
•• 程式計算機使用語言進行程式計算機使用語言進行規劃,往上堆積意像,形規劃,往上堆積意像,形成更高階的意義。成更高階的意義。
• 計算機結構就是程式設計師在指令集中可以看見的系統屬性;至於組織,則深入細節與控制,以實現所要求的功能。
• 相容是結構設計的最大魔咒。
•• 計算機結構就是程式設計師在指令集中可以看見的系統屬計算機結構就是程式設計師在指令集中可以看見的系統屬性;至於組織,則深入細節與控制,以實現所要求的功能。性;至於組織,則深入細節與控制,以實現所要求的功能。
•• 相容是結構設計的最大魔咒。相容是結構設計的最大魔咒。
4
范紐曼結構一直是建構在真空管的電腦。
1950年代末期,電晶體開始嶄露頭角,但大部分
的廠商仍然站在真空管的角色,各自揣摩電晶體
的運用,以便仿造出范紐曼結構的設計。
這讓方向有些分歧,也有些混亂,確實到了應該
整理的時候!
5
IBM IBM 的結構大躍進的結構大躍進
6
赫勒里斯赫勒里斯
美國的統計學家美國的統計學家 赫勒里斯(赫勒里斯(Herman Herman HollerithHollerith))
發明卡片計算機。發明卡片計算機。
利用打孔卡片來記錄
資料,然後經由電動
的卡片機,將資料統
計出來。這種機器稍
後在1889年取得第一
個專利。
利用打孔卡片來記錄利用打孔卡片來記錄
資料,然後經由電動資料,然後經由電動
的卡片機,將資料統的卡片機,將資料統
計出來。這種機器稍計出來。這種機器稍
後在後在18891889年取得第一年取得第一
個專利。個專利。
※照片出處 http://www.cesga.es/mostra/carteles/herman_hollerith.html
Herman Hollerith(1860~1929)Herman Hollerith(1860~1929)
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
8
孤單的競賽
19601960年代年代IBMIBM早已經擊敗對手,成為計算機市場的藍色巨早已經擊敗對手,成為計算機市場的藍色巨
人,當時的人,當時的IBM 7000IBM 7000系列機型已經是科學界最叫好、也是系列機型已經是科學界最叫好、也是
最叫座的計算機。最叫座的計算機。
對對IBMIBM而言,這一切都如此地美好,任誰都難以相信,而言,這一切都如此地美好,任誰都難以相信,IBMIBM
竟然投入竟然投入5050億美元執行「背水一戰億美元執行「背水一戰(bet the company)(bet the company)」」
計畫,只為了實現一種嶄新電腦結構的運算願景!計畫,只為了實現一種嶄新電腦結構的運算願景!
9
這是我所作的最大、風險最高的決策,
它使我內心痛苦了幾個星期,
但是最後我深信IBM沒有做不到的事情…
~IBM 偉司頓(Tom Watson)
10
3.23.2
11
范紐曼電腦范紐曼電腦
范紐曼描繪計算機基本的結構方塊圖,定義五個功能性元
件,並且詳細地描述每個功能性元件的功能與特性,以及自
動連結資料路徑的觀念。
范紐曼描繪計算機基本的結構方塊圖,定義五個功能性元范紐曼描繪計算機基本的結構方塊圖,定義五個功能性元
件,並且詳細地描述每個功能性元件的功能與特性,以及自件,並且詳細地描述每個功能性元件的功能與特性,以及自
動連結資料路徑的觀念。動連結資料路徑的觀念。
現代電腦大都符合范紐曼結
構描述,因而稱為范紐曼
(von Neumann)電腦。
現代電腦大都符合范紐曼結現代電腦大都符合范紐曼結
構描述,因而稱為范紐曼構描述,因而稱為范紐曼
((von Neumannvon Neumann)電腦。)電腦。
12
• 算術邏輯單元(ALU)
具備執行加減乘除和邏輯運算的能力。
• 控制單元(Control)
藉由適當的邏輯控制,順序指揮功能性單元。
• 記憶體(Memory)
儲存事先規劃好的操作程序(即程式)與資料。
• 輸入裝置(Input)
把計算需要的相關資訊,送到計算機內部。
• 輸出裝置(Output)
把計算得出的結果,送到計算機的外部裝置。
13
3.33.3
14
指令是計算機結構發展中最重要的關鍵
15
指令集指令集
由於這3000個開關可有各種不同的設定,因而產生多個指
令,多個指令的集合形成指令集,指令集定義計算機能夠
提供的硬體功能 。
由於這由於這30003000個開關可有各種不同的設定,因而產生多個指個開關可有各種不同的設定,因而產生多個指
令,多個指令的集合形成指令集,指令集定義計算機能夠令,多個指令的集合形成指令集,指令集定義計算機能夠
提供的硬體功能提供的硬體功能 。
指令觀念
使用一種抽象的階層概念,類
似人類的語言,來描述整個細
部的設定工作,只要一句話就
代表一件事(雖然這件事可能
需要複雜的步驟才能完成)。
ENIAC內含3000個開關設計,以及人工插拔的電纜線。
ENIACENIAC內含內含30003000個開關設個開關設計,以及人工插拔的電計,以及人工插拔的電纜線。纜線。
16
程式計算機程式計算機
這種直譯機器會不斷地將指令,往低階的細節部分,進行解譯動作,只要我們好好地規劃,將可以對應出正確的設定,解碼出正確的結果。
這種直譯機器會不斷地將指令,往低階的細節部分,進行解這種直譯機器會不斷地將指令,往低階的細節部分,進行解譯動作,只要我們好好地規劃,將可以對應出正確的設定,譯動作,只要我們好好地規劃,將可以對應出正確的設定,解碼出正確的結果。解碼出正確的結果。
程式(program)
組合多個指令執行,形成一
個有意義的動作,這種有意
義的指令規劃稱為程式。我們常把計算機當作是直譯機器。我們常把計算機當作是直我們常把計算機當作是直譯機器。譯機器。
17
3.43.4
18圖圖33--2 2 假想機器的指令格式和操作碼定義
0 3 4 7
操作碼 位址碼
00012=116=把記憶體內容載入AC暫存器(代表Load指令)
00102=216=把AC內容儲存於記憶體 (代表Store指令)
11102=E16=把記憶體內容加入AC暫存器(代表ADD指令)
19
簡化說明範例,假設指令週期有兩個階段:
••擷取週期擷取週期(Fetch Cycle)(Fetch Cycle)::
取出記憶體的指令取出記憶體的指令 放在放在CPUCPU
••執行週期執行週期(Execution Cycle)(Execution Cycle)::
執行該指令所要求的執行該指令所要求的 運算動作運算動作
20
假設一個8位元電腦具有圖3-2之指令格式,重置後PC
位址為0 (忽略ACC和IR的內容),將程式(位址
0~2)與資料(位址8~9)置放於記憶體,試問執行完
記憶體位址2的指令後,記憶體位址9的內容為何?
(全採16進制表示法)
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
22
步驟1
PC(程式計數器)初始值為0 (指向位址),進行擷取動作
後,會把記憶體位址 0的內容18載入到IR暫存器,因此
IR會被更新為18。
步驟2
遞增PC,現在PC內容更新為1,IR值為18(意指操作碼為
1,位址碼為8),進行執行動作後,把記憶體位址8的內
容((即03)載入到ACC(累積器),因此ACC更新為03。
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
24
步驟3
擷取PC所指向位址(1)的內容(E9)到IR,因此IR會被更
新為E9。
步驟4
遞增PC,現在PC內容更新為2,IR值為E9(意指操作碼
為E,位址碼為9),進行執行動作後,把記憶體位址9
的內容(02)與AC值(03)相加,再把結果(05)存回ACC,
因此ACC更新為03。
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
26
步驟5
擷取PC所指向位址(2)的內容(29)到IR,因此IR會被更
新為29。
步驟6
遞增PC,現在PC內容更新為3,IR值為29(意指操作碼
為2,位址碼為9),進行執行動作後,把ACC內含值(05)
存回記憶體位址9內,因此記憶體位址9會更新為05。
27
3.53.5
28
階層概念階層概念
請試著把請試著把NN33,改用加法,改用加法來描述?來描述?
• 冪次方 = 對某個數進行連續累積的「乘」法
• 乘法 = 對某個數進行連續累積的「加」法
•• 冪次方冪次方 = = 對某個數進行連續累積的「乘」法對某個數進行連續累積的「乘」法
•• 乘法乘法 = = 對某個數進行連續累積的「加」法對某個數進行連續累積的「加」法
相對
層次
階層
概念範例
3冪次方 N3
2 乘法 N*N*N
1 加法
( N+…+N )+……………….……+ (N+…+N)
N個N
N個(N+…+N)
29
不用階層概念,許多描述將變得複雜。不用階層概念,許多描述將變得複雜。
事實上,程式計算機最重要的資產,就是事實上,程式計算機最重要的資產,就是
可以藉由階層概念,來堆積出需要的圖像可以藉由階層概念,來堆積出需要的圖像
或所追求的功能。或所追求的功能。
30
直譯直譯
解釋階層的動作常稱為直譯,直譯動作會不斷地進行,一直
到這些指令都變成機器認識的二進位碼。
解釋階層的動作常稱為直譯,直譯動作會不斷地進行,一直解釋階層的動作常稱為直譯,直譯動作會不斷地進行,一直
到這些指令都變成機器認識的二進位碼。到這些指令都變成機器認識的二進位碼。
多階層電腦語言包含:高階語言和低階語言。多階層電腦語言包含:高多階層電腦語言包含:高階語言和低階語言。階語言和低階語言。
常見的直譯工具:
• 編譯器(Compiler)
• 組譯器(Assembler)
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
32
我們知道一個高階命令必須執行多個機器指我們知道一個高階命令必須執行多個機器指
令,才能達成某一項任務。令,才能達成某一項任務。
對電腦而言,電腦並不認識這個高階指令,這對電腦而言,電腦並不認識這個高階指令,這
些虛幻的文字只是一種階層概念,真正的指令些虛幻的文字只是一種階層概念,真正的指令
是翻譯過後的機器指令,而這些機器指令會以是翻譯過後的機器指令,而這些機器指令會以
機器熟悉的數碼型式出現,不會再有任何文機器熟悉的數碼型式出現,不會再有任何文
字,堆積這些機器指令的意像,將形成一個有字,堆積這些機器指令的意像,將形成一個有
意義的動作。意義的動作。
33
3.63.6
34
渾沌未明渾沌未明
IBM希望整理日漸混亂的設計工程,讓所有的機型都有一致
化的電腦結構,能夠讓各部門之間的協調將變得容易。
IBMIBM希望整理日漸混亂的設計工程,讓所有的機型都有一致希望整理日漸混亂的設計工程,讓所有的機型都有一致
化的電腦結構,能夠讓各部門之間的協調將變得容易。化的電腦結構,能夠讓各部門之間的協調將變得容易。
即時IBM內部也有五種不同
的架構,局勢十分混亂,
似乎演變到不易控制。
即時即時IBMIBM內部也有五種不同內部也有五種不同
的架構,局勢十分混亂,的架構,局勢十分混亂,
似乎演變到不易控制。似乎演變到不易控制。
1950年代,各個廠商開始投入
電晶體計算機的發展。問題在
於:組織的觀念與元件應用技
術並不成熟,大部分的廠商仍
然站在真空管的角色,各自揣
摩電晶體電腦的設計。
35
IBM IBM 背水一戰背水一戰
開始界分結構和組織開始界分結構和組織
36
結構與組織
結構就是程式設計師,在指令集中,可以看見的系統屬結構就是程式設計師,在指令集中,可以看見的系統屬
性。比如:使用指令來指揮系統與功能的運作方式,但不性。比如:使用指令來指揮系統與功能的運作方式,但不
規定任何的實現方式,也不對元件做任何評論,設計者喜規定任何的實現方式,也不對元件做任何評論,設計者喜
歡使用齒輪、真空管、或電晶體,都與結構要求無關。歡使用齒輪、真空管、或電晶體,都與結構要求無關。
組織則深入細節與控制,以實現所要求的功能。因此必須組織則深入細節與控制,以實現所要求的功能。因此必須
慎選實現元件和方法,也許不同的元件技術能夠達到相同慎選實現元件和方法,也許不同的元件技術能夠達到相同
的功能,但效能有所差異,比如:使用齒輪的速度自然會的功能,但效能有所差異,比如:使用齒輪的速度自然會
比電晶體要慢。比電晶體要慢。
37
電腦是否需要乘法指令?
結構設計師:分析該部電腦的應用領域,做出需求的
決定。
組織設計師:思考如何實現?是要使用乘法硬體(效
能好、成本高),或者使用重複加法的軟體方法(效
能差、成本低)。
38
3.73.7
39
整合問題
電晶體計算機確實更具能力,但問題在於:電晶體計算機確實更具能力,但問題在於:
•• 各廠商之間的整合問題各廠商之間的整合問題
•• 連公司各部門之間都存在有整合問題連公司各部門之間都存在有整合問題
每個部門專為特定客戶生產獨特的電腦,客戶每次升級到每個部門專為特定客戶生產獨特的電腦,客戶每次升級到
更大系統時,都必須重寫軟體應用程式。所有現存的周邊更大系統時,都必須重寫軟體應用程式。所有現存的周邊
配備─印表機、磁帶機、磁碟儲存裝置,也必須經過大幅配備─印表機、磁帶機、磁碟儲存裝置,也必須經過大幅
的修改,才能用於新系統。的修改,才能用於新系統。
40
19641964年年
背水一戰的成果:背水一戰的成果:IBM S/360IBM S/360
開啟了相容家族的革命開啟了相容家族的革命
41
相容家族相容家族
消費者可以先選用不貴的Model 30入門,日後若需求增加,可
以在不犧牲軟體資產下,升級成較多記憶體且較快的機型。
消費者可以先選用不貴的消費者可以先選用不貴的Model 30Model 30入門,日後若需求增加,可入門,日後若需求增加,可
以在不犧牲軟體資產下,升級成較多記憶體且較快的機型。以在不犧牲軟體資產下,升級成較多記憶體且較快的機型。
在相容家族內,針對某一機
型所撰寫的程式,可以在其
它機型上執行,不同的只是
執行速度而已。
在相容家族內,針對某一機在相容家族內,針對某一機
型所撰寫的程式,可以在其型所撰寫的程式,可以在其
它機型上執行,不同的只是它機型上執行,不同的只是
執行速度而已。執行速度而已。
S/360系列是電腦工業第一個
有計劃發展的電腦家族,這是
相當前瞻的構想,IBM希望以
後所有的電腦都能夠使用同一
結構,不同的只是實現的組織
與實現的方法。
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相容家族的重要特性相容家族的重要特性
43
IBM S/360IBM S/360成功地在往後十年,替成功地在往後十年,替IBMIBM打下江打下江
山並鞏固市場,至少有山並鞏固市場,至少有200 200 種相容架構的周種相容架構的周
邊裝置產品,超過邊裝置產品,超過 3,000 3,000 種不同類型的商業種不同類型的商業
與科學研究,讓與科學研究,讓IBMIBM成為最重要的電腦廠商成為最重要的電腦廠商
(vendor)(vendor),市場佔有率超過,市場佔有率超過75%75%以上。以上。
44
3.83.8
45
相容家族特色
•• 相似或相同指令集:某台機器程式可在另一成員上執行。相似或相同指令集:某台機器程式可在另一成員上執行。
•• 相似或相同作業系統:家族成員使用相同的作業系統。相似或相同作業系統:家族成員使用相同的作業系統。
•• 速度增快:從低階至高階成員,執行速度愈來愈快。速度增快:從低階至高階成員,執行速度愈來愈快。
•• I/OI/O埠數量增加:從低階至高階成員,埠數量增加:從低階至高階成員,I/OI/O埠數愈來愈多。埠數愈來愈多。
•• 記憶體容量增大:從低階至高階成員,容量愈來愈大。記憶體容量增大:從低階至高階成員,容量愈來愈大。
•• 價格增加:從低階至高階成員,售價愈來愈貴。價格增加:從低階至高階成員,售價愈來愈貴。
46
從此從此
相容成為結構設計的最大魔咒相容成為結構設計的最大魔咒
47
結結 語語
48
計算機製造最重要的兩個因素:
• 製程技術(優異穩定性與速度進化)
• 結構設計(科技始終來自人性需求)
沒有進化的固態製程技術支援,就沒有優異的結
構設計。相對而言,優異的結構設計不但提昇系
統實用功能,也將對”快速計算”方面,做出貢獻,
比如:快取結構、管線技術、超純量組織、…等
平行處理技術,都將加速計算。
49
程式計算機的發展儼然成形,指令開始指揮計算
機結構的運作,運用意像堆積建構階層概念,變
成重要的觀念。
事實上,在程式計算機中,由高階指令累積多個
階層的定義,形成更高意念的指令,比如:副程
式(subroutine)、程序(procedure)、函數
(function)等,這些有效降低描述的複雜度之
行為,都受到一定程度的鼓勵。
50
IBM S/360依舊遵循范紐曼結構,但是組織的實現
方式不同於真空管,這是第一個引進相容觀念的
程式計算機,希望能在一致化的結構背景下,建
構各種不同組織與效能。
在許多電腦廠商群起效尤,不管軟體或硬體都流
行著相容的觀念,直到現在,相容仍是結構設計
的最大魔咒,可以這麼說:沒有建立相容觀念的
電腦實在很難立足於市場。
51
第第 三三 章章
課課 程程 結結 束束