概念
顧名思義,單處理器系統(uniprocessor system)是指僅用一個處理器來完成系統操作和目標仿真。圖1-1所示為單處理器結構的框圖。
系統處理器即完成執行系統軟體的工作,也同時起目標處理器的作用。因為僅包含了一個處理器,所以沒更換一種被仿真處理器,系統軟體也必須隨之改寫。因為系統軟體必須駐留在仿真器所使用的同一存儲器中,因為不可能將整個存儲器用於仿真過程,這對大型樣機的開發可能就是一個缺點。
因為單處理器系統所需要的硬體較少,所以價格較低,但只有僅僅需要簡單開發功能時,價格才是需要考慮的因素。
單處理器與多處理器系統的區別
早期的計算機系統是基於單個處理器的順序處理機器。程式設計師編寫串列執行的代碼,讓其在
CPU上串列執行,甚至每一條指令的執行也是串列的(取指令、取運算元、執行操作、存儲結果)。為提高計算機處理的速度,首先發展起來的是聯想存儲器系統和流水線系統,ghostwin7前者提出了數據驅動的思想,後者解決了指令串列執行的問題,這兩者都是最初計算機並行化發展的例子。隨著硬體技術的進步,並行處理技術得到了迅猛的發展,計算機系統不再局限於單處理器和單數據流,各種各樣的並行結構得到了套用。目前計算機系統可以分為以下4類。
(1)單指令流單數據流(SISD)。一個處理器在一個存儲器中的數據上執行單條指令流。
(2)單指令流多數據流(SIMD)。單條指令流控制多個處理單元同時執行,每個處理單元包括處理器和相關的數據存儲,一條指令事實上控制了不同的處理器對不同的數據進行操作。向量機和陣列機是這類計算機系統的代表。
(3)多指令流肀數據流(MISD)。一個數據流被傳送給一組處理器通過這一組處理器卜的不同指令操作最終得到處理結果。該類計算機系統的研究尚在實驗室階段。
(4)多指令流多數據流(MIMD)。多個處理器對各自不同的數據集同時執行不同的指令流。可以把MIMD系統劃分為共享記憶體的緊密耦合MIMD系統和記憶體分布的鬆散耦合MIMD系統兩大類。