Skip to main content

Apa itu koherensi cache?

Koherensi cache adalah masalah alami yang berkembang ketika set data sistem diakses dan diubah oleh banyak agen.Area utama arsitektur komputer di mana ini menjadi masalah adalah di komputer multiprosesor.Setiap prosesor dalam komputer multiprosesor memiliki cache sendiri yang memuat dan menyimpan informasi dari memori akses acak (RAM).Ketika dua prosesor mengakses area memori yang sama, koherensi cache akan hilang jika tindakan pencegahan tertentu tidak diambil.

Tanpa koherensi cache, sistem multiprosesor tidak dapat berfungsi.Ada beberapa metode yang telah dikembangkan untuk mengatasi masalah ini dan menghindari potensi masalah.Koherensi berbasis direktori, pengintaian dan snarfing adalah tiga metode yang digunakan untuk mencegah hilangnya koherensi cache.

Koherensi berbasis direktori berfungsi sebagai filter untuk memastikan koherensi.Data ditempatkan dalam sebagian memori yang dapat diakses oleh semua prosesor.Ketika informasi yang disimpan dalam area memori itu diubah, sistem akan memperbarui cache atau membatalkannya.

Snooping mengharuskan prosesor untuk memantau semua akses ke lokasi memori yang telah di -cache.Ini memungkinkan prosesor untuk mengetahui kapan operasi penulisan telah terjadi.Dengan mengetahui kapan operasi tulis terjadi, prosesor dapat memperbarui cache -nya.

Snarfing sangat mirip dengan pengintaian.Snarfing melibatkan tidak hanya memantau akses ke lokasi memori yang telah di -cache tetapi juga memantau informasi aktual yang disimpan dalam memori.Ketika penulisan memori terjadi, cache dapat diperbarui dengan informasi baru.

Sistem koherensi berbasis direktori memiliki latensi yang relatif tinggi, menghasilkan pemrosesan yang lebih lambat.Persyaratan bandwidth yang lebih rendah memungkinkan sistem koherensi berbasis direktori menjadi praktis dalam aplikasi skala besar dari koherensi cache.Semakin banyak prosesor yang digunakan sistem, semakin banyak keuntungan yang dapat dimilikinya dari menggunakan sistem koherensi berbasis direktori.

Pengintaian adalah metode yang jauh lebih cepat.Metode ini membutuhkan lebih banyak bandwidth daripada pendekatan berbasis direktori.Metode ini dapat digunakan secara efektif dalam sistem yang memiliki prosesor yang relatif sedikit.

Snarfing biasanya tidak digunakan sebagai metode mempertahankan koherensi cache.Ini terutama karena snarfing membutuhkan lebih banyak sumber daya untuk digunakan dibandingkan dengan metode pengintai dan berbasis direktori.Agar sistem snarfing berfungsi, ia harus melacak kedua alamat memori dan data yang disimpan di area memori tersebut.Jumlah bandwidth dan pemrosesan yang diambil dengan metode ini membuatnya tidak diinginkan untuk sebagian besar aplikasi mempertahankan koherensi cache.