Skip to main content

Apa itu koherensi memori?

Koherensi memori adalah masalah yang terjadi di komputer ketika prosesor mencoba melihat sektor memori.Masalah ini hanya terjadi pada sistem multicore, atau komputer yang memiliki lebih dari satu unit pemrosesan pusat (CPU).Ketika beberapa prosesor melihat sektor memori yang sama dan satu memperbarui sektor ini, yang lain mungkin dibiarkan dengan versi lama dari memori komputer.Untuk memperbaiki masalah ini, aturan konsistensi digunakan untuk memastikan prosesor tidak mengakses memori yang sama atau bahwa pembaruan konsisten di antara mereka.Ada beberapa model konsistensi yang berbeda, sehingga pemrogram dan pengembang komputer harus mengetahui model yang tepat yang digunakan.

Masalah koherensi memori adalah salah satu yang hanya terjadi pada komputer yang menggunakan setidaknya dua CPU karena bagaimana mereka mengakses memori.Ketika satu CPU mengakses sektor memori, ia dapat mengambil, menggunakan dan mengubah memori tanpa konflik, karena tidak ada perangkat keras lain yang bersaing untuk memori.Jika dua CPU digunakan, maka kedua CPU dapat mengambil sektor memori yang sama.Meskipun tidak ada masalah dengan dua CPU yang berbagi memori, suatu masalah muncul jika satu CPU memperbarui memori.Ini membuat CPU kedua dengan memori yang sudah ketinggalan zaman yang, jika dibiarkan, dapat menyebabkan seluruh komputer memiliki dua versi memori komputer yang terpisah dan bertentangan.

Ada skema pemrograman yang dibuat khusus untuk memperbaiki koherensi memori, yang dapat menjadi masalah utama.Mereka dikenal secara kolektif sebagai aturan konsistensi memori, dan ada banyak versi.Secara keseluruhan, setiap versi memberi tahu beberapa CPU bagaimana berbagi memori komputer dengan benar tanpa menyebabkan masalah koherensi memori.Ini dapat dilakukan dengan memperbarui kedua versi memori ketika satu versi diubah atau dengan menjaga CPU dari mengakses memori yang sama pada saat yang sama.

Saat menggunakan aturan konsistensi membantu menghindari masalah koherensi memori, masalah lain muncul dari ini.Setiap set konsistensi memiliki pemrograman yang berbeda dan aturan yang berbeda, sehingga pemrogram yang membuat program atau menulis kode yang berhubungan langsung dengan CPU harus menyesuaikan pengkodean untuk aturan konsistensi yang tepat.Jika tidak, maka ini dapat mengesampingkan konsistensi atau menyebabkan konflik besar antara pengkodean programmer dan aturan konsistensi, dan komputer dapat berhenti berfungsi.