Atomicity of Load and Stores pada x86
Seni bina x86 menjamin atomicity untuk beban sejajar dan stor, sehingga saiz laluan data antara teras, memori dan bas I/O. Ini bermakna bahawa satu operasi akan berlaku secara tidak dapat dipisahkan dan mana-mana operasi lain yang memerhatikannya akan melihatnya sebagai telah berlaku sepenuhnya atau tidak sama sekali.
Secara dalaman, CPU boleh melaksanakan atomicity "secara percuma" untuk operasi sejajar kerana pemindahan data berlaku melalui bas data yang cukup luas atau melalui satu mesej. Untuk akses yang lebih luas atau operasi tidak sejajar, ia mungkin perlu membahagikan operasi kepada bahagian yang lebih kecil dan melaksanakan operasi yang lebih kompleks.
Kendalian dan Cache Atom
Operasi atom boleh berlaku sepenuhnya dalam cache, selagi operasi tidak melepasi sempadan garisan cache. Ini bermakna pengubahsuaian pada cache adalah mencukupi untuk memastikan atomicity.
Atomic Read-Modify-Writes
Atomic read-modify-write (RMW) operasi lebih sukar untuk melaksanakan. CPU boleh mengekalkan talian cache dalam keadaan Diubah suai dan mengabaikan mesej koheren cache semasa operasi sedang dijalankan, membenarkannya kelihatan atom kepada teras lain.
Operasi Terkunci Tidak Selaras
Operasi terkunci tidak sejajar mungkin memerlukan campur tangan perkakasan yang lebih kompleks, seperti mengambil kunci bas untuk menghalang akses lain semasa operasi.
Atas ialah kandungan terperinci Sejauh manakah Atom Beban dan Simpanan x86, dan Apakah Faktor yang Mempengaruhi Atomiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!