匯流排的分離式通訊

2021-08-26 10:25:25 字數 982 閱讀 2348

同步通訊、非同步通訊和半同步通訊都是從主模組發出位址和讀寫命令開始,直到資料傳輸結束。在整個傳輸週期中,系統匯流排的使用權完全有占有使用權的主模組和由他選中的從模組佔據。進一步分析讀命令傳輸週期,發現除了申請匯流排這一階段外,其餘時間主要花費在如下3個方面。

1.主模組通過傳輸匯流排向從模組傳送位址和命令。

2.從模組按照命令進行讀資料的必要準備。

3.從模組經資料線向主模組提供資料。

從2可見,對系統匯流排而言,從模組內部讀資料過程並無實質性的資訊傳輸,匯流排純屬空閒等待。為了克服和利用這種消極等待,尤其在大型計算機系統中,匯流排的負載已經處於飽和狀態,充分挖掘系統匯流排每瞬間的潛力,對提高系統系能起到極大作用。為此提出了「分離式」的通訊方式,其基本思想是即將乙個傳輸週期(或匯流排週期)分解為兩個子週期。在第乙個子週期中,主模組a在獲得匯流排使用權後將命令、位址以及其他有關資訊,包括主模組編號(當有多個主模組時,此編號尤為重要)發到系統匯流排上,經過匯流排傳輸後,由有關的從模組b接收下來。主模組a向系統匯流排發布這些資訊只占用匯流排很短的時間,一旦傳送完成,立即放棄匯流排使用權,以便其他模組使用。在第二個子週期中,當b模組接收到a模組發來的有關命令訊號後,經過選擇、解碼、讀取等一系列內部操作,將a模組所需的資料準備好,遍有b模組申請匯流排使用權,一旦獲准,b模組便將a模組的編號、b模組的位址、a模組所需的資料等一系列資訊送到匯流排上,供a模組接收。很顯然,上述兩個子週期都只有單方向的資訊流,每個模組都變成了主模組。

這種通訊方式的特點如下:

1.個模組占用匯流排使用權都必須提出申請。

2.在得到匯流排使用權後,主模組在限定的時間內向對方傳送資訊,採用同步方式傳送,不再等待對方的回答訊號。

3.各模組在準備資料的過程中都不占用匯流排,是匯流排可以接受其他模組的請求。

4.匯流排被占用時都在做有效工作,或者通過他傳送命令,或者通過他傳送資料,不存在空閒等待時間,充分地利用了匯流排的有效占用,從而實現了在多個主、從模組間進行交叉重疊並行式傳送,這對大型計算機是極為重要的。

這種方式控制比較複雜,一般在普通微型計算機系統很少採用。

分離式編譯

最近的工作中需要用到類模板。宣告模板類放在標頭檔案裡,然後犯了個錯誤把 類的成員函式定義按照慣例放在了乙個cpp檔案裡。編譯雖然過了,但是鏈結也會出問題。這裡開始找找原因,原來類模板不支援分離編譯。c 編譯過程分幾步。第一 預編譯 這一步可以粗略的認為只做了一件事情,那就是 巨集展開 也就是對那些 ...

C 分離式編譯

c 開發中廣泛使用宣告和實現分開的開發形式,其編譯過程是分離式編譯,就是說各個cpp檔案完全分開編譯,然後生成各自的obj目標檔案,最後通過鏈結器link生成乙個可執行的exe檔案。不需其他操作。在編譯main.cpp的時候,不需要知道呼叫的其他檔案中的函式的具體實現,只需要有個宣告,然後會有一條c...

如何部署分離式LAMP

環境準備 準備倆臺centos7 centos7 1安裝apache php ip位址為10.0.0.1 centos7 2 安裝mysql ip位址為10.0.0.10 實驗目的 很多人在搭建的時候都是使用的一台機器來部署lamp環境,但是我們在實際的工作中一般都是分離部署的。也就是說mysql是...