多匯流排多處理機系統就是把多個處理機和存貯器模組通過若干匯流排連線起來,這種系統既解決了單匯流排系統嚴重的瓶頸問題,又克服了交叉開關係統通信能力過剩的弊病。
基本介紹
- 中文名:多匯流排多處理機系統
- 外文名:multiple bus multiprocessor system
- 簡稱:MBMP系統
- 簡介:把多個處理機等通過若干匯流排連線
- 優點:解決了單匯流排系統嚴重的瓶頸問題
- 套用學科:控制科學、儀器科學、計算機科學
簡介,定義,多處理機,四種典型結構,系統衝突及解決,系統匯流排設計,匯流排定址方式,主控機傳送訪問地址,主控機讀數據,主控機保存與恢復,主機讀處理機狀態,匯流排全局條件位,
簡介
定義
隨著大規模積體電路的迅速發展,計算機性能已有很大的提高。在其發展過程中,面對技術工藝對單處理機速度的限制,許多計算機科學家提出多種技術(如:流水線技術、並行處理等),目的是為了進一步提高計算機系統性能,這些技術無疑吸取了其潛在的並行性,而多匯流排多處理機系統(multiplebusmultiprocessorsystem,MBMP系統)正充分利用這一特點而受到人們越來越多的重視。這種系統既解決了單匯流排系統嚴重的瓶頸問題,又克服了交叉開關係統通信能力過剩的弊病,是一類很有吸引力的體系結構模型。
多匯流排多處理機系統實際上是單匯流排系統和縱橫開關網系統的折衷方案的產物。匯流排數目可根據實際需要而增減,使系統在性能一定的條件下具有較低的硬體成本。
多處理機
按照傳統的定義,有如下特點的計算機系統稱為多處理機:
1)包含兩個或多個同構或異構CPU;
2)每個CPU都有其自己的I/O通道、控制器和外圍設備;
3)每個CPU都有自己的存儲器,或者可以與其它CPU共享存儲器;
4)整個系統由統一的作業系統控制,在CPU和程式之間實現任務程式、指令級並行處理。
多匯流排多處理機系統就是把多個處理機和存貯器模組通過若干匯流排連線起來(如圖1所示)。
四種典型結構
MBMP系統共有四種典型結構,其原理分別如圖2中(a),(b),(c),(d)所示。以下依次簡稱為A1,A2,A3,A4。這四種結構的共同特點是:每個處理機(Pi)都有一個自用存貯器(PMi),用於存貯該處理機要執行的程式及其中間結果。處理機之間的信息交換通過公用存貯器實現。其中,每個公用存貯器模組(CMi)都可由任一全局匯流排與任一處理機相連,以便幾個處理機同時與公用存貯器交換數據。
A1中的公用存貯器與處理機是分離的,沒有從屬關係。某一處理機得到其他處理機需要的數據時,就將其通過全局匯流排寫人公用存貯器。處理機從公用存貯器讀取數據,也要通過全局匯流排。
與A1不同,A2、A3、A4的公用存貯器分布於各處理機模組。分布在處理機Pi的公用存貯器模組CMi稱作Pi的局部存貯器,當處理機Pi得到Pi需要的數據時,就經全局匯流排將其寫人Pi的局部存貯器CMi中,Pi從CMi中讀取這個數據只需經過局部匯流排。因此,在其他條件相同時,A2、A3、A4占用全局匯流排的機會少於A1。
A2中公用存貯器模組CMi和處理機Pi的自用存貯器PMi實際上是一個物理實體,只是將存貯空間邏輯上分成兩部分而已。所以,CMi的存取操作和PMi不能同時進行。當某處理機訪問CMi時,Pi的工作就要被中斷`
A3中的公用存貯器CMi和PMi是兩個物理實體,可以同時接待來訪者。只有當處理機Pi的局部存貯器操作與其他處理機向CMi的寫數衝突時,Pi的工作才被中斷。
A4中的公用存貯器CMi和PMi雖然也是一個物理實體,但所採用的存貯器是雙口的,一個口作為Pi和PMi的通道口,另一個用於CMi所以,A4中的CMi和PMi可認為是互不相關的兩個存貯器,能同時接待處理機的訪問。
A1的性能評估問題較其他三種結構簡單,分析、研究的文獻也最多。其中,比較重要的早期研究者是Bhadnarkalrt。Bhadnarakr在處理機訪問公存請求的時間間隔服從幾何分布的假設下,將A1的狀態及其轉換關係用離散馬爾可夫鏈表示.對不多於16個處理機和16個公用存貯器的A1系統給出了性能估計值,Bhandarker的基本假設是:
(1)處理機相同;(2)公存操作時間為常數;(3)訪問公存請求機率MRP≤1,即一旦處理機的公存操作結束,立即就有新的訪問公存請求;(4)通信網是縱橫開關網;(5)處理機以等機率訪問所有公用存貯器。
Bhadnarke的假設(3)與實際情況相差甚遠,假設(4)限制了其分析方法只適於縱橫開關網系統。Towsley將假設(4)放寬為多匯流排系統,得到了近似解和仿真解。
另一類比較接近實際情況的分析方法基於以下幾點假設:
(1)處理機相同;(2)公存操作時間服從指數分布;(3)訪問公存請求之間的時間間隔服從指數分布;(4)任意匯流排數;(5)處理機以等機率訪問所有公用存貯器.
其中,Bhandarker等Marsan等給出了近似解;Irani等和Marsan等給出準確解.這些文獻中,lrani等的研究比較出色,他們的結果適於任意規模的情況.對於公存操作時間為常數況,Towsley和Holhday等分別給出了近似解和準確解,但只適於小規模的A1系統。
A2、A3、A4系統分析起來遠比A1系統複雜,研究、分析的文獻也較少。Marsan等,只分析了單匯流排的情形。
系統衝突及解決
對於一個:n×m×b多匯流排多處理機系統,衝突常常發生,衝突的類型有以下三種:①當幾個處理機同時訪間一個處於空狀態的存貯模組時,衝突發生;②當一個處理機企圖訪間一個處於忙態的存貯模組時,發生衝突;③當一個或一個以上處理機想訪問某個存貯模組,而此時沒有空閒的匯流排。
為了解決這三種衝突,首先引進優先權機制,即規定n個處理機(P0~Pn-1)的優先權為0~n-1,優先權為0者具有最高優先權,優先權為1者次之。依此類推。
其次,引進兩級裁決機制來解決訪存衝突。所謂兩級裁決機制指第一級裁決即存貯模組裁決和第二級裁決即匯流排裁決。在第一級裁決中,通過m個:u—users、l—server型裁決器解決存貯模組衝突,每個裁決器選擇優先權高的處理機訪問存貯模組;在第二級裁決中,通過一個m—users、b—servers型裁決器解決匯流排衝突問題,這個裁決器主要把匯流排分配給各存貯請求。
系統匯流排設計
匯流排定址方式
因為是一種多處理機系統,需要處理各種相關數據的方式。利用7 條專用的處理機匯流排來進行系統的通信,可以在一定程度上降低和避免由於地址線來確定地址的處理方式。使用一定的廣播式定址和邏輯式定址。在系統運行的過程中,7 條專用處理機能夠交換和處理各種運行狀態、接口標誌以及條件等。處理機標號可以從一到七進行編號,在設備停機的時候,可以適當地對標準邏輯進行訪問,把主控機數據適當傳送到匯流排上,利用相同的地址線進行數據的處理。
主控機傳送訪問地址
主機的接口會在開始某個匯流排周期的時候適當的把地址傳送到24 位匯流排地址上。在周期完成以後,接受方會適當地把地址鎖入到匯流排地址的暫存器中。匯流排地址單元為X,暫存器會在一定程度上把地址信息鎖入到暫存器中,利用解碼電路來編譯出地址,指定編譯出的地址內容,暫存器、程式存儲器以及內部存儲器等。
主控機讀數據
在進行數據讀取的時候,在匯流排完成周期以後處理器應該把16 為數信息適當的傳送到匯流排地址上。
主控機保存與恢復
在系統中運行的主控機,停止應用程式的時候,如果是利用相同單元來讀取數據信息,就會導致出現數據丟失的問題。為了儘可能的避免出現問題,需要適當保持原來的主控機數據信息。主控機中存在的歷史存儲器需要適當的保留和恢復七個存儲器中的所有匯流排數據內容。利用暫存器F 來對主控機接口進行數據的處理,實際上暫存器F 就是宏單元中的R暫存器。
主機讀處理機狀態
利用一定的軟體適當地讀取主控機處理信息數據的狀態。每經過25ns就會把相關數據傳送到匯流排中,顯示目前的狀態,每一相位送出的實際內容為:相位零,主機孔標誌暫存器,相位一,運行狀態,相位二,機間命令,相位三,運行處理的條件。
匯流排全局條件位
匯流排的條件實際上就是說在指定的數據位置可以適當改變高性能多機處理系統的特定執行數據位。例如,在進行計算處理執行的時候,可以合理地把結碼暫存器和計算結果進行一定的比較,得到相套用地變數條件,在對最後相位進行執行的時候,把計算結果適當地放置在R 暫存器上。但是如果具有很好的暫存條件的時候,條件位可以在一定程度上改變指令流程。在停機處理的時候,有效的條件變數由條件暫存器來合理表示,僅僅具有一定的讀取作用,是一種唯讀暫存器。條件可以適當地提供相應的可讀暫存器,並且在處理的過程中給予一定的數值指令。在運行的時候,可以連續地對比條件暫存器和條件賦能暫存器,如果都是處於置卜狀態,放置在主條件位。