多核心與同步

記憶體一致性模型(memory consistency model)所規定的是下列何者?

  1. A快取列的大小與組(set)的數量
  2. B主記憶體DRAM所使用的電晶體種類
  3. C某個核心所進行的對多個位址的讀寫,從其他核心看來可能以什麼順序出現
查看答案與解析

正確答案:C. 某個核心所進行的對多個位址的讀寫,從其他核心看來可能以什麼順序出現

CPU為了提升效能,會把寫入暫存在儲存緩衝區(store buffer),或先行執行讀取,因此有時會改變記憶體操作的順序。在單一核心內雖然設計成結果不會改變,但從其他核心看來,順序可能顯得被調換了。記憶體一致性模型規定了哪些調換有可能發生,是讓程式設計師能寫出正確同步的一種約定。

  • A. 那是快取的組態。
  • B. 與電路的製作方式無關。
  • C. 正確。這是硬體與程式設計師之間的約定。
練習這個領域 前往領域頁面

多核心與同步的其他題目

  1. 關於循序一致性(sequential consistency),下列說明何者正確?
  2. 將上方的兩個執行緒在不同的核心上同時執行(假設編譯器不進行重新排序)。下列哪一個結果在循序一致性下不會發生,但在x86等實際的CPU上可能發生?
  3. 關於x86的記憶體一致性模型(TSO,Total Store Order,全域儲存順序)的特徵,下列何者正確?
  4. 關於ARM或RISC-V(RVWMO)這類較弱的記憶體一致性模型,下列何者正確?
  5. 關於記憶體屏障(fence)指令的作用,下列何者正確?

這個領域的比較