Rumah >pembangunan bahagian belakang >Golang >Timbunan Pisah pada AMD64: Peninggalan Masa Lalu atau Masih Perlu?

Timbunan Pisah pada AMD64: Peninggalan Masa Lalu atau Masih Perlu?

Susan Sarandon
Susan Sarandonasal
2024-11-06 03:43:02715semak imbas

Split Stacks on AMD64: A Relic of the Past or Still Necessary?

Timbunan Terpisah: Perlu atau Tidak Perlu pada Seni Bina AMD64?

Tanggapan bahawa susunan terpecah tidak diperlukan pada seni bina 64-bit, khususnya AMD64, telah muncul dalam perbincangan tanpa kenyataan yang jelas. Walau bagaimanapun, pakar seperti Ian Lance Taylor dan bstrie telah merujuknya.

Apakah Hujah Tersirat?

Hujah tersirat ialah maya 64-bit yang luas ruang alamat pada sistem AMD64 menghapuskan keperluan untuk susunan berpecah. Taylor mencadangkan bahawa atur cara berbilang benang boleh dijalankan dengan penggunaan memori yang berkurangan dengan ketara, kerana setiap utas tidak lagi perlu menyimpan sejumlah besar ruang tindanan.

Bstrie mengakui bahawa overhed tindanan berpecah dan kes penggunaan terhadnya dalam Persekitaran 32-bit menjadikannya kurang menarik untuk sistem moden.

Mengapa Tindanan Terpisah Tidak Diperlukan?

Timbunan terbelah telah dibangunkan sebagai penyelesaian kepada ruang alamat terhad yang tersedia di sistem 32-bit. Dalam sistem sedemikian, setiap utas memerlukan tindanannya sendiri dan jumlah saiz tindanan untuk semua utas boleh menggunakan memori yang tersedia dengan cepat.

Walau bagaimanapun, dalam seni bina AMD64, ruang alamat 64-bit sangat besar, membolehkan berjuta-juta julat alamat tindanan yang berasingan, setiap satu dengan saiz yang setanding dengan keseluruhan ruang alamat 32-bit. Ruang alamat yang luas ini menghapuskan keperluan untuk susunan berpecah untuk mengurus berbilang benang dengan berkesan.

Butiran Pelaksanaan

Pada sistem AMD64, model memori rata digunakan, dengan memori maya terjemahan dikendalikan oleh unit pengurusan memori perkakasan (MMU). Ia adalah lebih cekap untuk menempah ketulan ruang alamat maya yang besar untuk setiap tindanan, pada mulanya hanya memetakan halaman pertama (4 kB) kepada RAM fizikal.

Pendekatan ini membolehkan tindanan berkembang dan mengecut mengikut keperluan, menggunakan maya bersebelahan alamat. OS mengkonfigurasi MMU secara dinamik untuk memetakan halaman kepada RAM sebenar apabila timbunan bertambah atau mengecut, memastikan penggunaan memori yang cekap.

Atas ialah kandungan terperinci Timbunan Pisah pada AMD64: Peninggalan Masa Lalu atau Masih Perlu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn