兩種實現(xiàn)方式:
總線鎖定:通過鎖定總線法绵,也就是鎖定后咬摇,總線數(shù)據(jù)的傳輸將被阻塞
緩存鎖定:通過緩存一致性實現(xiàn)原子操作含潘,緩存一致性常用MESI控制協(xié)議實現(xiàn)
MESI控制協(xié)議:
MESI是四種狀態(tài)绞惦,用來表明緩存中數(shù)據(jù)的狀態(tài)困鸥。
M(modify):表示緩存中數(shù)據(jù)修改,與內(nèi)存中不一致歌亲,只能有一個緩存擁有這個狀態(tài)菇用,且其他擁有該數(shù)據(jù)的緩存為i狀態(tài)
E(exclusive): 表示別的緩存中沒有該數(shù)據(jù),只有該緩存獨占陷揪,當別的緩存從內(nèi)存中讀取后惋鸥,變?yōu)閟狀態(tài),只能有一個緩存擁有這個狀態(tài)
S(shared): 表示除了該緩存悍缠,其他緩存也擁有該數(shù)據(jù)卦绣,當該狀態(tài)存在時,不可能存在其他所有狀態(tài)飞蚓。
I(invalid): 表示失效狀態(tài)滤港,當有另一個緩存行狀態(tài)為M狀態(tài)時該緩存變?yōu)榇藸顟B(tài)。