Pengertian Cache memory
Cache
memory adalah memory berukuran kecil berkecepatan tinggi yang berfungsi
untuk menyimpan sementara instruksi dan/atau data (informasi) yang
diperlukan oleh prosesor. Boleh dikatakan bahwa cache memory ini adalah
memory internal prosesor. Cache memory ini berbasis SRAM yang secara
fisik berukuran kecil dan kapasitas tampung datanya juga kecil atau
sedikit. Pada saat ini, cache memory ada 3 jenis, yaitu L1 cache, L2
cache, dan L3 cache.
Letak cache memory
L1
cache terintegrasi dengan chip prosesor, artinya letak L1 cache sudah
menyatu dengan chip prosesor (berada di dalam keping prosesor).
Sedangkan letak L2 cache, ada yang menyatu dengan chip prosesor, ada
pula yang terletak di luar chip prosesor, yaitu di motherboard dekat
dengan posisi dudukan prosesor. Pada era prosesor intel 80486 atau
sebelumnya, letak L2 cache kebanyakan berada di luar chip prosesor. Chip
cache terpisah dari prosesor, berdiri mandiri dekat chip prosesor.
Sejak era prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi
dengan chip prosesor (menyatu dengan keping prosesor). Posisi L2 cache
selalu terletak antara L1 cache dengan memori utama (RAM). Sedangkan L3
cache belum diimplementasikan secara umum pada semua jenis prosesor.
Hanya prosesor-prosesor tertentu yang memiliki L3 cache.
Cache memory yang letaknya terpisah dengan prosesor disebut cache memory non integrated atau diskrit (diskrit artinya putus atau terpisah). Cache memory yang letaknya menyatu dengan prosesor disebut cache memory integrated, on-chip, atau on-die (integrated artinya bersatu/menyatu/ tergabung, on-chip artinya ada pada chip).
L1 cache (Level 1 cache) disebut pula dengan istilah primary cache, first cache, atau level one cache. L2 cache disebut dengan istilah secondary cache, second level cache, atau level two cache.
Kecepatan cache memory
Transfer
data dari L1 cache ke prosesor terjadi paling cepat dibandingkan L2
cache maupun L3 cache (bila ada). Kecepatannya mendekati kecepatan
register. L1 cache ini dikunci pada kecepatan yang sama pada prosesor.
Secara fisik L1 cache tidak bisa dilihat dengan mata telanjang. L1 cache
adalah lokasi pertama yang diakses oleh prosesor ketika mencari pasokan
data. Kapasitas simpan datanya paling kecil, antara puluhan hingga
ribuan byte tergantung jenis prosesor. Pada beberapa jenis prosesor
pentium kapasitasnya 16 KB yang terbagi menjadi dua bagian, yaitu 8 KB
untuk menyimpan instruksi, dan 8 KB untuk menyimpan data.
Transfer data tercepat kedua setelah L1 cache adalah L2 cache. Prosesor dapat mengambil data dari cache L2 yang terintegrasi (on-chip)
lebih cepat dari pada cache L2 yang tidak terintegrasi. Kapasitas
simpan datanya lebih besar dibandingkan L1 cache, antara ratusan ribu
byte hingga jutaan byte, ada yang 128 KB, 256 KB, 512 KB, 1 MB, 2 MB,
bahkan 8 MB, tergantung jenis prosesornya. Kapasitas simpan data untuk
L3 cache lebih besar lagi, bisa ratusan juta byte (ratusan mega byte).
Prioritas penyimpanan dan pengambilan data
Dalam
mekanisme kerjanya, data yang akan diproses oleh prosesor, pertama kali
dicari di L1 cache, bila tidak ada maka akan diambil dari L2 cache,
kemudian dicari di L3 cache (bila ada). Jika tetap tidak ada, maka akan
dicari di memori utama. Pengambilan data di L2 cache hanya dilakukan
bila di L1 cahe tidak ada.
Lebih jelasnya proses baca tulis data yang dilakukan oleh prosesor ke memori utama dapat dijelaskan sebagai berikut:
Ketika data dibaca/ditulis di memori utama (RAM) oleh prosesor, salinan
data beserta address-nya (yang diambil/ditulis di memori utama)
disimpan juga di cache. Sewaktu prosesor memerlukan kembali data
tersebut, prosesor akan mencari ke cache, tidak perlu lagi mencari di
memori utama.
Jika
isi cache penuh, data yang paling lama akan dibuang dan digantikan oleh
data yang baru diproses oleh prosesor. Proses ini dapat menghemat waktu
dalam proses mengakses data yang sama, dibandingkan jika prosesor
berulang-ulang harus mencari data ke memori utama.
Secara
logika, kapasitas cache memory yang lebih besar dapat membantu
memperbaiki kinerja prosesor, setidak-tidaknya mempersingkat waktu yang
diperlukan dalam proses mengakses data.