第三章

結構進化

       1
簡報綱要
3.1   引言
3.2   范紐曼電腦
3.3   程式計算機
3.4   指令運作方式
3.5   階層概念
3.6   結構與組織    3.8 相容家族特色
3.7   相容家族     3.9 結語

           ...
核心重點

   目前的電腦大都具有范紐
•
   曼結構的程式計算機。
 • 程式計算機使用語言進行
   規劃,往上堆積意像,形
   成更高階的意義。
• 計算機結構就是程式設計師在指令集中可以看見的系統屬
   性;至於組織,則深入細節...
范紐曼結構一直是建構在真空管的電腦。
1950年代末期,電晶體開始嶄露頭角,但大部分
的廠商仍然站在真空管的角色,各自揣摩電晶體
的運用,以便仿造出范紐曼結構的設計。
這讓方向有些分歧,也有些混亂,確實到了應該
整理的時候!



      ...
IBM 的結構大躍進




             5
※照片出處      http://www.cesga.es/mostra/carteles/herman_hollerith.html
赫勒里斯
   美國的統計學家 赫勒里斯(Herman Hollerith)
   發明卡片計算機。
  ...
國際商業機器公司

赫勒里斯使用卡片計算機,
協助執行1890年美國人口普
查工作,只花了三年的時
間,就完成了統計結果。             International Business Machines



1896年,藉此成立了TM...
孤單的競賽

1960年代IBM早已經擊敗對手,成為計算機市場的藍色巨
人,當時的IBM 7000系列機型已經是科學界最叫好、也是
最叫座的計算機。
對IBM而言,這一切都如此地美好,任誰都難以相信,IBM
竟然投入50億美元執行「背水一戰(b...
這是我所作的最大、風險最高的決策,
  它使我內心痛苦了幾個星期,
但是最後我深信IBM沒有做不到的事情…


      ~IBM 偉司頓(Tom Watson)




                             9
3.2


      10
范紐曼電腦


              現代電腦大都符合范紐曼結
              構描述,因而稱為范紐曼
              (von Neumann)電腦。
              (von Neumann)電腦。...
• 算術邏輯單元(ALU)
  具備執行加減乘除和邏輯運算的能力。
• 控制單元(Control)
  藉由適當的邏輯控制,順序指揮功能性單元。
• 記憶體(Memory)
  儲存事先規劃好的操作程序(即程式)與資料。
• 輸入裝置(Inpu...
3.3


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




                    14
指令觀念
                    指令集
使用一種抽象的階層概念,類
似人類的語言,來描述整個細
                ENIAC內含3000個開關設
部的設定工作,只要一句話就   ENIAC內含3000個開關設
 ...
程式計算機
 程式(program)

 組合多個指令執行,形成一
 個有意義的動作,這種有意   我們常把計算機當作是直
 義的指令規劃稱為程式。    譯機器。


這種直譯機器會不斷地將指令,往低階的細節部分,進行解
譯動作,只要我們好好...
3.4


      17
0                    34            7

        操作碼               位址碼

00012=116=把記憶體內容載入AC暫存器(代表Load指令)
00102=216=把AC內容儲存於記...
簡化說明範例,假設指令週期有兩個階段:

•擷取週期(Fetch Cycle):
       取出記憶體的指令 放在CPU

•執行週期(Execution Cycle):
       執行該指令所要求的 運算動作



         ...
假設一個8位元電腦具有圖3-2之指令格式,重置後PC
位址為0 (忽略ACC和IR的內容),將程式(位址
0~2)與資料(位址8~9)置放於記憶體,試問執行完
記憶體位址2的指令後,記憶體位址9的內容為何?
(全採16進制表示法)




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

                                             PC
0                      0
    ...
步驟1
PC(程式計數器)初始值為0 (指向位址),進行擷取動作
後,會把記憶體位址 0的內容18載入到IR暫存器,因此
IR會被更新為18。
步驟2
遞增PC,現在PC內容更新為1,IR值為18(意指操作碼為
1,位址碼為8),進行執行動作後...
記憶體     CPU暫存器         記憶體         CPU暫存器

                                             PC
0                      0
      ...
步驟3
擷取PC所指向位址(1)的內容(E9)到IR,因此IR會被更
新為E9。
步驟4
遞增PC,現在PC內容更新為2,IR值為E9(意指操作碼
為E,位址碼為9),進行執行動作後,把記憶體位址9
的內容(02)與AC值(03)相加,再把結果...
記憶體     CPU暫存器         記憶體        CPU暫存器

                                          PC
0                      0
      18  ...
步驟5
擷取PC所指向位址(2)的內容(29)到IR,因此IR會被更
新為29。
步驟6
遞增PC,現在PC內容更新為3,IR值為29(意指操作碼
為2,位址碼為9),進行執行動作後,把ACC內含值(05)
存回記憶體位址9內,因此記憶體位址9...
3.5


      27
相對   階層
                                      範例
               層次   概念

    階層概念                  N3
                    ...
不用階層概念,許多描述將變得複雜。
事實上,程式計算機最重要的資產,就是
可以藉由階層概念,來堆積出需要的圖像
或所追求的功能。




                     29
直譯             常見的直譯工具:
                   編譯器(Compiler)
               •
                   組譯器(Assembler)
多階層電腦語言包含:高   ...
swap (int v[ ],int i)
           {int tem;
高階語言
           tem=v[i];
(C語言)
           v[i]=v[i+1];
           v[i+1]=tem;}...
我們知道一個高階命令必須執行多個機器指
令,才能達成某一項任務。
對電腦而言,電腦並不認識這個高階指令,這
些虛幻的文字只是一種階層概念,真正的指令
是翻譯過後的機器指令,而這些機器指令會以
機器熟悉的數碼型式出現,不會再有任何文
字,堆積這些...
3.6


      33
1950年代,各個廠商開始投入
   渾沌未明         電晶體計算機的發展。問題在
                於:組織的觀念與元件應用技
                術並不成熟,大部分的廠商仍
即時IBM內部也有五種不同
即時...
IBM 背水一戰
開始界分結構和組織




            35
結構與組織
結構就是程式設計師,在指令集中,可以看見的系統屬
性。比如:使用指令來指揮系統與功能的運作方式,但不
規定任何的實現方式,也不對元件做任何評論,設計者喜
歡使用齒輪、真空管、或電晶體,都與結構要求無關。
組織則深入細節與控制,以實現...
電腦是否需要乘法指令?
結構設計師:分析該部電腦的應用領域,做出需求的
決定。
組織設計師:思考如何實現?是要使用乘法硬體(效
能好、成本高),或者使用重複加法的軟體方法(效
能差、成本低)。



                      ...
3.7


      38
整合問題
電晶體計算機確實更具能力,但問題在於:
• 各廠商之間的整合問題
• 連公司各部門之間都存在有整合問題
每個部門專為特定客戶生產獨特的電腦,客戶每次升級到
更大系統時,都必須重寫軟體應用程式。所有現存的周邊
配備─印表機、磁帶機、磁碟...
1964年
背水一戰的成果:IBM S/360
 開啟了相容家族的革命




                    40
S/360系列是電腦工業第一個
    相容家族
                有計劃發展的電腦家族,這是
                相當前瞻的構想,IBM希望以
                後所有的電腦都能夠使用同一
在相容家族內...
Model   Model   Model   Model   Model
        特性
                  30      40      50      65      75
最大記憶體容量(bytes)   64K...
IBM S/360成功地在往後十年,替IBM打下江
山並鞏固市場,至少有200 種相容架構的周
邊裝置產品,超過 3,000 種不同類型的商業
與科學研究,讓IBM成為最重要的電腦廠商
(vendor),市場佔有率超過75%以上。




  ...
3.8


      44
相容家族特色
• 相似或相同指令集:某台機器程式可在另一成員上執行。
• 相似或相同作業系統:家族成員使用相同的作業系統。
• 速度增快:從低階至高階成員,執行速度愈來愈快。
• I/O埠數量增加:從低階至高階成員,I/O埠數愈來愈多。
• 記...
從此
相容成為結構設計的最大魔咒




                46
結   語



        47
計算機製造最重要的兩個因素:
    製程技術(優異穩定性與速度進化)
•
    結構設計(科技始終來自人性需求)
•
沒有進化的固態製程技術支援,就沒有優異的結
構設計。相對而言,優異的結構設計不但提昇系
統實用功能,也將對”快速計算”方面...
程式計算機的發展儼然成形,指令開始指揮計算
機結構的運作,運用意像堆積建構階層概念,變
成重要的觀念。
事實上,在程式計算機中,由高階指令累積多個
階層的定義,形成更高意念的指令,比如:副程
式(subroutine)、程序(procedure...
IBM S/360依舊遵循范紐曼結構,但是組織的實現
方式不同於真空管,這是第一個引進相容觀念的
程式計算機,希望能在一致化的結構背景下,建
構各種不同組織與效能。
在許多電腦廠商群起效尤,不管軟體或硬體都流
行著相容的觀念,直到現在,相容仍是...
第三章



課程結束
       51
Upcoming SlideShare
Loading in …5
×

入門啟示錄 Ch03簡報

2,119 views

Published on

temp

Published in: Business, Real Estate
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,119
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

入門啟示錄 Ch03簡報

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

×