Rumah >pembangunan bahagian belakang >C++ >Bolehkah Pemproses x86 Moden Benar-benar Gagal Menyimpan Satu Bait?
Bolehkah Pemproses Moden x86 Gagal Menyimpan Satu Bait ke Ingatan?
Enigma Tuntutan Bjarne Stroustrup:
Dalam buku Stroustrup, dia mencadangkan bahawa beberapa pemproses moden mungkin tidak dapat menyimpan objek yang lebih kecil daripada perkataan. Walau bagaimanapun, pengalaman pengaturcaraan setiap hari nampaknya bercanggah dengan ini. Kami boleh menyimpan bait dengan mudah, seperti yang ditunjukkan oleh program C mudah yang menetapkan dan mencetak nilai bait.
Menyelesaikan Kekeliruan:
Pernyataan Stroustrup mungkin sebenarnya rujuk kepada kerja dalaman CPU apabila melaksanakan arahan bait-stor. Sesetengah CPU mungkin menggunakan operasi baca-ubah suai-tulis atom untuk mengemas kini baris cache yang mengandungi bait sasaran. Walau bagaimanapun, mekanisme dalaman ini tidak dapat dilihat oleh pengaturcara dan tidak mengubah hasil atau ketepatan stor bait.
Model Memori Perkakasan Moden:
Dalam CPU moden, stor bait adalah atom dan tidak menjejaskan bait jiran. Ini dipastikan oleh model memori yang jelas yang mentakrifkan cara perkakasan mengendalikan operasi memori.
Mitos Ketidakstabilan Byte-Store:
Idea bahawa stor bait boleh merosakkan bait bersebelahan adalah usang. Semua seni bina moden (bukan DSP), termasuk x86, mempunyai arahan stor bait yang direka bentuk secara seni bina untuk tidak mengganggu bait jiran.
Kesimpulan:
Sementara kenyataan Stroustrup mungkin tepat pada masa lalu, ia tidak lagi digunakan untuk perkakasan x86 moden. Kedai bait boleh dipercayai dan asas kepada pengaturcaraan C.
Atas ialah kandungan terperinci Bolehkah Pemproses x86 Moden Benar-benar Gagal Menyimpan Satu Bait?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!