碧波蕩漾的意思是什么 怎么理解碧波蕩漾的意思
2023-01-30
更新時(shí)間:2022-10-10 07:06:13作者:智慧百科
1、原子操作是不可分割的,在執(zhí)行完畢不會被任何其它任務(wù)或事件中斷。在單處理器系統(tǒng)(UniProcessor)中,能夠在單條指令中完成的操作都可以認(rèn)為是“原子操作”,因?yàn)橹袛嘀荒馨l(fā)生于指令之間。這也是某些CPU指令系統(tǒng)中引入了test_and_set、test_and_clear等指令用于臨界資源互斥的原因。
2、在對稱多處理器(SymmetricMulti-Processor)結(jié)構(gòu)中就不同了,由于系統(tǒng)中有多個(gè)處理器在獨(dú)立地運(yùn)行,即使能在單條指令中完成的操作也有可能受到干擾。
3、在x86平臺上,CPU提供了在指令執(zhí)行期間對總線加鎖的手段。CPU芯片上有一條引線#HLOCKpin,如果匯編語言的程序中在一條指令前面加上前綴LOCK,經(jīng)過匯編以后的機(jī)器代碼就使CPU在執(zhí)行這條指令的時(shí)候把#HLOCKpin的電位拉低,持續(xù)到這條指令結(jié)束時(shí)放開,從而把總線鎖住,這樣同一總線上別的CPU就暫時(shí)不能通過總線訪問內(nèi)存了,保證了這條指令在多處理器環(huán)境中的原子性。簡單來講:cpu是一條一條指令執(zhí)行:如果讀、寫:則是兩條指令,在并發(fā)情況下可能出問題原子性則是一條指令,完成讀寫操作。