Definisi Cache Miss
Cache miss adalah kondisi dalam arsitektur komputer di mana data yang diminta oleh prosesor tidak ditemukan di dalam tembolok (cache). Dalam sistem komputasi, cache berfungsi sebagai memori berkecepatan tinggi yang menyimpan salinan data dari memori utama (RAM) untuk mempercepat akses. Ketika terjadi cache miss, prosesor terpaksa mengambil data tersebut langsung dari memori utama, yang secara inheren memiliki latensi lebih tinggi dibandingkan cache.
Sebaliknya, kondisi di mana data ditemukan di dalam cache disebut sebagai cache hit. Efisiensi sebuah sistem komputer sangat bergantung pada rasio cache hit yang tinggi, karena setiap kali terjadi cache miss, prosesor mengalami penundaan (stall) saat menunggu data dikirim dari memori utama.
Tabel Perbandingan: Cache Hit vs Cache Miss
| Kondisi | Lokasi Data | Dampak pada Kecepatan |
|---|---|---|
| Cache Hit | Ditemukan di dalam Cache | Sangat Cepat (Latensi Rendah) |
| Cache Miss | Tidak ditemukan di Cache | Lambat (Latensi Tinggi/Menunggu RAM) |
Mekanisme Kerja dan Dampak
Prosesor selalu memeriksa cache terlebih dahulu sebelum mengakses memori utama. Jika lokasi memori berada di dalam tembolok, maka cache hit terjadi dan prosesor dapat langsung membaca atau menulis data tersebut. Namun, jika data tidak ditemukan (cache miss), sistem harus melakukan siklus pengambilan data dari RAM yang bersifat volatil. Hal ini menyebabkan penurunan performa karena waktu akses ke RAM jauh lebih lama daripada waktu akses ke cache CPU.
Mengapa Cache Miss Terjadi?
- Cold Miss (Compulsory Miss): Terjadi saat data diakses untuk pertama kalinya, sehingga belum ada salinan di dalam cache.
- Capacity Miss: Terjadi karena ukuran cache tidak cukup besar untuk menampung seluruh data yang dibutuhkan oleh program yang sedang berjalan.
- Conflict Miss: Terjadi karena beberapa blok memori dipetakan ke slot cache yang sama, sehingga data yang sebelumnya ada harus digantikan (evicted) meskipun cache belum penuh.
Optimasi Sistem
Untuk meminimalkan cache miss, pengembang perangkat lunak dan arsitek sistem menggunakan teknik seperti data locality (pengelompokan data yang sering diakses agar berdekatan) dan algoritma penggantian cache yang efisien. Dengan mengurangi frekuensi cache miss, latensi memori dapat ditekan seminimal mungkin, yang secara langsung meningkatkan kecepatan eksekusi instruksi oleh prosesor.