多核心與同步
關於原子指令(不可分割指令),下列說明何者正確?
- A將記憶體的讀取與寫入,作為不會被其他核心中途插入的單一操作來執行的指令
- B用來計算原子數量的、物理計算用的指令
- C一定能在1個時脈內完成的、最快的指令
查看答案與解析
正確答案:A. 將記憶體的讀取與寫入,作為不會被其他核心中途插入的單一操作來執行的指令
原子指令會以不讓其他核心的讀寫插入其間的方式,執行讀取、運算、寫入這一連串的處理。從其他核心看來,只能看到操作之前或之後的狀態。有CAS(比較並交換)、取得並相加(fetch-and-add),以及RISC-V的LR/SC與AMO指令等,是建構鎖與無鎖資料結構的基礎。
- A. 正確。從其他核心看來,就像在一瞬間發生。
- B. 原子(atomic)的意思是「不可分割」。
- C. 特徵不在速度,而在不可分割。