什麼是儲存緩衝區(Store buffer)
核心暫時累積寫入的小型緩衝區。不必等待寫入完成即可前進到下一個指令,但從其他核心看來寫入會延遲。
日文名稱: ストアバッファ
「儲存緩衝區(Store buffer)」出現在1領域的4道練習題中(多核心與同步等)。
這個名詞所屬的領域: 多核心與同步
核心暫時累積寫入的小型緩衝區。不必等待寫入完成即可前進到下一個指令,但從其他核心看來寫入會延遲。
日文名稱: ストアバッファ
「儲存緩衝區(Store buffer)」出現在1領域的4道練習題中(多核心與同步等)。
這個名詞所屬的領域: 多核心與同步
正確答案:C. 某個核心所進行的對多個位址的讀寫,從其他核心看來可能以什麼順序出現
CPU為了提升效能,會把寫入暫存在儲存緩衝區(store buffer),或先行執行讀取,因此有時會改變記憶體操作的順序。在單一核心內雖然設計成結果不會改變,但從其他核心看來,順序可能顯得被調換了。記憶體一致性模型規定了哪些調換有可能發生,是讓程式設計師能寫出正確同步的一種約定。
CPU為了提升效能,會把寫入暫存在儲存緩衝區(store buffer),或先行執行讀取,因此有時會改變記憶體操作的順序。
記憶體一致性模型(memory consistency model)所規定的是下列何者?對程式設計師而言這是最容易理解的模型,但它會大幅限制硬體以儲存緩衝區等方式調換順序的最佳化,所以實際上許多CPU採用更寬鬆的模型。
關於循序一致性(sequential consistency),下列說明何者正確?然而在實際的CPU上,x = 1會先進入核心的儲存緩衝區,在其他核心看得到之前,後面的讀取r1 = y就可以先從主記憶體或快取讀取值。
將上方的兩個執行緒在不同的核心上同時執行(假設編譯器不進行重新排序)。下列哪一個結果在循序一致性下不會發生,但在x86…這是直接反映儲存緩衝區存在的模型。
關於x86的記憶體一致性模型(TSO,Total Store Order,全域儲存順序)的特徵,下列何者正確?記憶體一致性模型(Memory consistency model) 循序一致性(Sequential consistency) 記憶體屏障(Memory barrier) TSO(全域儲存順序) 互斥鎖(Mutex) 比較並交換(Compare-and-swap) 目錄式一致性(Directory-based coherence) 交易式記憶體(Transactional memory) 死結(Deadlock) 自旋鎖(Spinlock)