Prinsip-Prinsip
Chache Memori
Cache memori ditujukan untuk memberikan kecepatan memori
yang mendekati kecepatan memori tercepat yang bisa diperoleh, sekaligus
memberikan ukuran memori yang besar dengan harga yang lebih murah dari
jenis-jenis memori semikonduktor. Konsepnya adalah sebagai berikut :
Terdapat memori
utama yang relatif lebih besar dan lebih lambat dan cache memory yang berukuran
lebih kecil dan lebih cepat. Cache berisi salinan sebagian memori utama. Pada
saat CPU membaca sebuah word memory, maka dilakukan pemeriksaan untuk
mengetahui apakah word itu terdapat pada cache. Bila sudah ada, maka word akan
dikirimkan ke CPU. Sedangkan bila tidak ada, blok memori utama yang terdiri
dari sejumlah word yang tetap akan dibaca ke dalam cache dan kemudian akan
dikirimkan ke CPU.
- Elemen-elemen Rancangan Cache
Walaupun
terdapat banyak implementasi cache, hanya terdapat sedikit elemen-elemen dasar
rancangan yang dapat mengklasifikasikan dan membedakan arsitektur cache. Adapun
elemen yang akan dibahas pada subbab ini adalah elemen pertama yaitu ukuran
cache. Semakin besar cache maka semakin besar jumlah gate yang terdapat pada
pengalamatan cache. Akibatnya adalah cache yang berukuran besar cenderung untuk
lebih lambat dibanding dengan cache berukuran kecil (walaupun dibuat dengan
teknologi rangkaian terintegrasi yang sam adan pitaruh pada tempat pada keping
dan board yang sama. Kinerja cache juga sangat sensitif terhadap sifat beban
kerja, maka tidaklah mungkin untuk mencapai ukuran cache yang ‘optimum’.
- Fungsi Pemetaan (Mapping)
Karena saluran
cache lebih sedikit dibandingkan dengan blok memori utama, diperlukan algoritma
untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain itu
diperlukan alat untuk menentukan blok memori utama mana yang sedang memakai
saluran cache. Pemilihan fungsi pemetaan akan menentukan bentuk organisasi
cache. Dapat digunakan tiga jenis teknik, yaitu sebagai berikut :
a. Pemetaan
Langsung (Direct Mapping)
Pemetaan ini
memetakan masing-masing blok memori utama hanya ke satu saluran cache saja.
Jika suatu block ada di cache, maka tempatnya sudah tertentu. Keuntungan dari
direct mapping adalah sederhana dan murah. Sedangkan kerugian dari direct
mapping adalah suatu blok memiliki lokasi yang tetap (Jika program mengakses 2
block yang di map ke line yang sama secara berulang-ulang, maka cache-miss
sangat tinggi).
b. Pemetaan
Asosiatif (Associative Mapping)
Pemetaan ini
mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok
memori utama untuk dimuatkan ke sembarang saluran cache. Dengan pemetaan
asosiatif, terdapat fleksibilitas penggantian blok ketika blok baru dibaca ke
dalam cache. Kekurangan pemetaan asosiatif yang utama adalah kompleksitas
rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara
paralel, sehingga pencarian data di cache menjadi lama
c. Pemetaan
Asosiatif Set (Set Associative Mapping)
Pada pemetaan
ini, cache dibagi dalam sejumlah sets. Setiap set berisi sejumlah line.
Pemetaan asosiatif set memanfaatkan kelebihan-kelebihan pendekatan pemetaan
langsung dan pemetaan asosiati
a. Cache Satu
Tingkat VS Cache Dua Tingkat
Dengan
meningkatkan kepadatan logik, telah memungkinkan menempatkan cahce pada keping
yang sama seperti processor: the on-chip cache. Dibandingkan dengan suatu cache
yang dapat dijangkau via bus eksternal, on-chip cache mengurangi aktivitas bus
eksternal processor dan akibatnya meningkatkan waktu eksekusi dan meningkatkan
kinerja sistem secara keseluruhan.
Memori yang
bernama L1 Cache ini adalah memori yang terletak paling dekat dengan prosesor
(lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan Cache di
prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas
yang paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam hitungan
nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data yang
paling penting dan paling sering diakses. Biasanya data di sini adalah data
yang telah diatur melalui OS (Operating System) menjadi Prioritas Tertinggi
(High Priority).
Memori L2 Cache
ini terletak terletak di MotherBoard (lebih spesifik lagi: modul COAST : Cache
On A STick. Bentuk khusus dari L2 yang mirip seperti Memory Module yang dapat
diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang
terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi
dengan Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1
Cache. Ukurannya berkisar antara 256KB—2MB. Biasanya, L2 Cache yang besar diperlukan
di MotherBoard untuk Server. Kecepatan akses sekitar 10ns.
Refensi :