計算機體系結構中並行性的條件是什麼?
並行性有各種條件,如下所示 -
資料和資源依賴性 - 程式由多個部分組成,因此需要能夠並行實現程式的各個部分,每個部分在其他部分方面應該是自主的。程式各個部分的依賴關係可能有多種形式,如資源依賴、控制依賴和資料依賴。
依賴圖可以定義這種關係。程式語句由節點定義,帶有多個標籤的有向邊顯示語句之間的順序關係。分析依賴圖後,可以證明存在並行化和向量化的機會。
資料依賴性 - 資料依賴性顯示語句之間的關係。資料依賴性有 5 種類型,如下所示 -
- 反依賴性 - 如果語句 S2 在語句 ST1 之後執行,並且 ST2 的輸出與 ST1 的輸入重疊,則語句 S2 反依賴於語句 ST1。
- 輸入依賴性 - 讀取和寫入是輸入語句輸入依賴性,並非因為涉及相同的變數,而是因為兩個輸入語句都引用了相同的檔案。
- 未知依賴性 - 在以下方法中無法找到兩個語句之間的依賴關係
- 變數的下標本身是下標。
- 下標沒有迴圈索引變數。
- 下標在迴圈索引變數中是非線性的。
- 輸出依賴性 - 如果兩個語句建立相同的輸出變數,則它們是輸出依賴。
- 流依賴性 - 如果存在從 ST1 到 ST2 的表示式路徑,並且至少 ST 的輸出饋送到 ST2 的輸入中,則語句 ST2 流依賴於語句 ST1。
軟體並行性 - 軟體依賴性由程式的控制和資料依賴性表示。程式配置檔案或程式流程圖揭示了並行度。軟體並行性是演算法、程式設計風格和編譯器最佳化的函式。程式流程圖顯示同時可執行操作的模式。程式中的並行性在實現期間會發生變化。
硬體並行性 - 硬體並行性由硬體多重性和機器硬體表示。它是成本和效能權衡的函式。它表示同時可執行操作的資源應用設計。它還表示處理器資源的執行。識別硬體中並行性的一種方法是使用每個機器週期發出的多個指令。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP