Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah Split Stacks Tidak Berguna pada Seni Bina AMD64?

Adakah Split Stacks Tidak Berguna pada Seni Bina AMD64?

Patricia Arquette
Patricia Arquetteasal
2024-11-04 04:55:29215semak imbas

Are Split Stacks Superfluous on AMD64 Architectures?

Split Stacks: Tidak Diperlukan pada AMD64?

Telah dicadangkan bahawa menggunakan model split stack runtime adalah berlebihan pada seni bina 64-bit. Ini menunjukkan bahawa ruang alamat yang luas pada sistem 64-bit boleh mengendalikan sejumlah besar urutan tanpa skim pengurusan tindanan tambahan ini.

Adakah Pakar Setuju?

Sementara Ian Lance Taylor membayangkan tanggapan ini dengan mencadangkan bahawa ruang alamat 64-bit boleh memuatkan susunan benang, bstrie dengan jelas menyatakan bahawa overhed dan kes penggunaan terhad bagi susunan berpecah pada platform 32-bit menjadikannya tidak diperlukan pada sistem 64-bit.

Mengapa Tidak Perlu pada AMD64?

Timbunan berpecah pada seni bina AMD64 64-bit sememangnya tidak diperlukan kerana:

  • Ruang Alamat Maya yang Luas: Ruang alamat maya 64-bit menyediakan julat alamat yang cukup besar untuk menampung berjuta-juta julat alamat tindanan. Setiap julat boleh menjadi seluas ruang alamat 32-bit keseluruhan.
  • Pengurusan Memori Dinamik: Dalam model memori rata yang digunakan pada AMD64, perkakasan MMU memudahkan pengurusan memori yang lancar. Sistem menyimpan sebahagian besar ruang alamat maya untuk tindanan baharu tetapi hanya memetakan sebahagian (biasanya 4 kB) ke memori fizikal.
  • Pemetaan Atas Permintaan: Apabila tindanan bertambah atau mengecut, OS melaraskan pemetaan MMU secara dinamik untuk memetakan halaman tambahan julat alamat maya kepada memori fizikal.
  • Pengoptimuman Prestasi: Pendekatan ini membolehkan tindanan berkembang dan menguncup dengan cekap sambil mengekalkan alamat maya bersebelahan, meminimumkan kod overhed semasa prolog fungsi.
  • Skalabiliti: Mekanisme ini membolehkan penciptaan berjuta-juta tindanan yang boleh berkembang mengikut keperluan, hanya menggunakan memori yang mereka gunakan.

Berbeza dengan mekanisme canggih yang digunakan pada AMD64, pelaksanaan Go semasa tidak mempunyai pengoptimuman ini, menjadikan susunan berpecah tidak diperlukan pada platform ini.

Atas ialah kandungan terperinci Adakah Split Stacks Tidak Berguna pada Seni Bina AMD64?. 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