330 likes | 495 Views
第七章. 多處理器系統. 本章概要. 單一指令單一筆資料的電腦架構 單一指令多筆資料的電腦架構 向量處理 多個指令單一筆資料的電腦架構 資料流電腦 多個指令多筆資料的電腦架構 疏耦合與緊耦合系統. 電腦的架構. 電腦的四種設計 指令產流 資料產流. 電腦的四種設計架構.
E N D
第七章 多處理器系統
本章概要 單一指令單一筆資料的電腦架構 單一指令多筆資料的電腦架構 向量處理 多個指令單一筆資料的電腦架構 資料流電腦 多個指令多筆資料的電腦架構 疏耦合與緊耦合系統
電腦的架構 電腦的四種設計 指令產流 資料產流
電腦的四種設計架構 • 電腦的內部設計架構,依M. J. Flynn所提出的論述,可從指令產流(Instruction Stream)與資料產流(Data Stream)的兩個角度,將電腦分成四類:SISD、SIMD、MISD及MIMD;本章將逐次介紹這四種類型的電腦,其定義、運作及特色等等,首先需要說明的是,指令產流與指令產流的涵意。
指令產流 • 電腦的執行,主要在於CPU從記憶體讀取指令及資料,然後指令解碼,經過指令運算執行後,最後算出結果;這是一個指令的完成過程,但是同時若有一大群指令或資料要執行,那CPU的設計觀念就完全不同了。
指令產流的狀況,一台電腦若一次只處理一個指令,就只要在解碼時得知這個指令的運算碼,由控制單元選擇運算電路,將資料加以運算,就完成了單一指令的執行;但是同時要執行多個指令,那就必須有多個運算電路,由一個控制單元同時操作多個運算電路,分別使不同的計算指令,同時解碼,然後一起執行,同時得出結果。指令產流的狀況,一台電腦若一次只處理一個指令,就只要在解碼時得知這個指令的運算碼,由控制單元選擇運算電路,將資料加以運算,就完成了單一指令的執行;但是同時要執行多個指令,那就必須有多個運算電路,由一個控制單元同時操作多個運算電路,分別使不同的計算指令,同時解碼,然後一起執行,同時得出結果。
這種同時能處理多個指令執行的架構,即為指令產流處理系統,其設計的著眼在於控制單元,也就是控制單元有同時接受多個指令的執行,操作運算電路的能力,所以也稱控制流(Control Flow)。
資料產流 • 另一種程式的執行方式,是從資料的處理來考量的,此即為資料產流。這種設計是著重在,如何能同時處理指令中的多筆資料;如果一次只能處理一筆指令資料,就只是單一資料產流;而實際上資料產流電腦的設計,是考慮大量的資料處理。
以資料的流動為主,固定而大量的運算電路為被動元件,這些電路是被放在指令執行的階段。當每個指令在解碼後,其資料(運算元)會主動的,尋找所需的運算電路執行之;其控制單元是協助多筆指令的資料,在解碼後,找到適當的運算電路執行,一種以資料為主的電腦設計觀念。以資料的流動為主,固定而大量的運算電路為被動元件,這些電路是被放在指令執行的階段。當每個指令在解碼後,其資料(運算元)會主動的,尋找所需的運算電路執行之;其控制單元是協助多筆指令的資料,在解碼後,找到適當的運算電路執行,一種以資料為主的電腦設計觀念。
單一指令單一筆資料(SISD)的電腦架構 • 如果電腦的設計,以一次處理一個指令與一筆資料為主,即稱為SISD(Single Instruction Single Data)的電腦架構。
單一指令多筆資料(SIMD)的電腦架構 陣列處理 資料相依性 向量處理 多輸出入的運算電路 浪潮陣列處理器 心臟收縮陣列處理器
單一指令多筆資料(SIMD)的電腦架構 • 一台電腦的內部,一次可執行一個指令而同時處理多筆資料,即為SIMD(Single Instruction Multiple Data)的電腦架構,這種電腦會有多個運算電路,同時可接受多筆資料的輸入處理,但只有一個控制單元,提供單一指令的執行。
在SIMD的架構裡,一次只能執行一個指令,這對一般程式的執行,其實並沒有多大的裨益;因為少有連續多個加法或其他運算,可以一次利用SIMD架構執行,大部份的程式,是各種指令混合的,對SIMD的架構而言,運算電路較用不上,形成浪費。在SIMD的架構裡,一次只能執行一個指令,這對一般程式的執行,其實並沒有多大的裨益;因為少有連續多個加法或其他運算,可以一次利用SIMD架構執行,大部份的程式,是各種指令混合的,對SIMD的架構而言,運算電路較用不上,形成浪費。
多個指令單一資料(MISD)的電腦架構 控制流與資料流 資料流的圖形語言 資料流電腦的特色
多個指令單一資料(MISD)的電腦架構 • 如果一台電腦可以同時執行多個不同的指令,但一次只能處理一筆資料,稱為MISD(Multiple Instruction Single Data)電腦。這樣的電腦在設計上,必須有多組不同的控制電路及運算電路,才能同時執行多個不同的指令,但一次卻只有一筆資料輸入。
這種電腦設計比較特別,它有大量的控制與運算電路,但每次卻只處理一筆資料,完全不符合經濟效益,所以沒有任何商業公司會去生產這種電腦。這種電腦設計比較特別,它有大量的控制與運算電路,但每次卻只處理一筆資料,完全不符合經濟效益,所以沒有任何商業公司會去生產這種電腦。
多個指令多筆資料(MIMD)的電腦架構 多處理器系統 緊耦合與疏耦合多處理器系統 多處理器系統的啟動與執行 多處理器系統的資料管理 多處理器間的連接方式 多核心的CPU時代
多個指令多筆資料(MIMD)的電腦架構 • 如果一台電腦可以同時執行多個不同的指令,且各自能處理不同的資料,稱為MIMD(Multiple Instruction Multiple Data)電腦;這樣的電腦在設計上,必須有多組不同的控制電路及運算電路,才能同時執行多個不同的指令,與多筆不同的資料處理。
然而有獨立的控制與運算電路,以及輸出入暫存器,且可執行任何一個指令;這已經是一個完整的處理器(Processor)電路了;所以MIMD的電路,基本上就已經是一個多處理器系統(Multiprocessor System)的設計架構了。
多處理器系統 • 一台電腦內有多個處理器,可同時執行,即稱為多處理器系統電腦,而這種多處理器系統的電腦,在設計上分成兩種:
多核心的CPU時代 • 個人電腦的CPU設計,已進入多核心的架構;這是緊耦合的系統,但多個處理器製作在CPU的單一晶片內,並由單一匯流排接出。這種多核心的CPU買出,即表示個人電腦已步入多處理器的時代了。
未來的個人電腦發展 • 以未來的個人電腦發展來看,必將形成多處理器的執行架構;CPU將以程式的執行考量,而以緊耦合的系統,形成高速平行處理。所以多核心的設計,將會設法改變匯流排共接記憶體的問題,以增加更多的處理器。
而在管理外部裝置的角度來看,卻會以疏耦合的系統發展;在影音、螢幕、磁碟陣列等等管理控制上,會漸形成專用處理器來負責;而組成疏耦合的多處理器系統,執行並行處理。而在管理外部裝置的角度來看,卻會以疏耦合的系統發展;在影音、螢幕、磁碟陣列等等管理控制上,會漸形成專用處理器來負責;而組成疏耦合的多處理器系統,執行並行處理。
展望未來個人電腦的多處理器系統發展,從CPU內部緊耦合的平行處理,到外部疏耦合的分工處理,會更快速的導引電腦科技,走向更高速又專業化的領域中。展望未來個人電腦的多處理器系統發展,從CPU內部緊耦合的平行處理,到外部疏耦合的分工處理,會更快速的導引電腦科技,走向更高速又專業化的領域中。