1. Cache Memory
2. Kapasitas Cache
3. Ukuran Blok
4. Fungsi Pemetaan (Mapping)
Cache Memory
Cache Memory
• Cache memory adalah memori kecepatan tinggi,
tetapi berukuran kecil, yang digunakan untuk
menyimpan salinan data / instruksi yang sering
diakses oleh CPU.
• Cache memory berfungsi menjembatani perbedaan
kecepatan antara CPU dan Memori Utama.
• Dalam implementasinya jenis memori yang
digunakan untuk cache adalah statik RAM (SRAM).
Cache Memory
Operasi Cache
• CPU meminta isi suatu lokasi memori
• Memeriksa apakah data terdapat di cache
• Jika ada di cache, ambil data dari cache
(cepat)
• Jika tidak ada di cache, copy isi memori ke
cache dan kirimkan data yang diminta ke CPU
(lambat).
Locality of Reference
• Pada saat eksekusi program, memori
cenderung membaca suatu cluster di memori.
• Contoh : Loop
Cache Design
• Ukuran cache
• Pemetaan (Mapping Function)
• Algoritma Penggantian (Replacement
Algorithm)
• Write Policy
• Ukuran Blok
• Jumlah Cache
Ukuran Cache
• Kecepatan
– Semakin besar ukuran cache semakin cepat
(sampai ukuran tertentu)
– Apabila ukuran cache semakin besar, proses
pengecekan cache lebih lama.
• Harga
– Semakin besar cache, semakin mahal
Kapasitas Cache
Capacity
• Memori Internal
- kapasitas dinyatakan dalam byte (1 byte =
8 bit) atau word.
- panjang satu word 8, 16, 32 bit.
• Memori External
- kapasitas dinyatakan dalam byte.
- biasanya lebih besar kapasitasnya daripada
memori internal, hal ini disebabkan karena
teknologi dan sifat penggunaannya yang
berbeda.
Ukuran Blok
• Adanya sifat lokalitas referensi menyebabkan nilai
ukuran blok sangatlah penting.
• Apabila blok berukuran besar ditransfer ke cache
akan menyebabkan hit ratio mengalami
penurunan karena banyaknya data yang dikirim di
sekitar referensi.
• Tetapi bila terlalu kecil, dimungkinkan memori
yang akan dibutuhkan CPU tidak tercakup.
• Apabila blok berukuran besar ditransfer ke cache,
maka akan terjadi :
Blok-blok yang berukuran lebih besar
mengurangi jumlah blok yang menempati cache.
Karena setiap pengambilan blok menindih isi
cache yang lama, maka sejumlah kecil blok akan
menyebabkan data menjadi tertindih setelah
blok itu diambil.
Dengan meningkatnya ukuran blok maka jarak
setiap word tambahan menjadi lebih jauh dari
word yang diminta, sehingga menjadi lebih kecil
kemungkinannya digunakan dengan cepat.
Hubungan antara ukuran blok dan hit ratio
sangat rumit untuk dirumuskan, tergantung
pada karakteristik lokalitas programnya dan
tidak terdapat nilai optimum yang pasti telah
ditemukan. Ukuran antara 4 hingga 8 satuan
yang dapat dialamati (word atau byte) cukup
beralasan untuk mendekati nilai optimum.
Fungsi Pemetaan (Mapping)
Saluran cache lebih sedikit dibandingkan dengan
blok memori utama sehingga diperlukan
algoritma untuk pemetaan blok-blok memori
utama ke dalam saluran cache.
Selain itu, diperlukan juga alat untuk
menentukan blok memori utama mana yang
sedang memakai saluran cache.
Pemilihan fungsi pemetaan akan menentukan
bentuk organisasi cache.
Terdapat tiga metode yang digunakan yaitu :
Teknik Pemetaan
• Direct mapping
• Fully associative mapping
• Set associative mapping
Teknik Pemetaan
• Untuk menjelaskan teknik-teknik pemetaan ini
digunakan data-data berikut :
– Ukuran memori utama = 216 word
– Ukuran cache = 211 word.
– Ukuran blok memori = ukuran slot cache = 16
word = 24 word.
– Jumlah blok memori = 216 / 24 = 4096 blok
– Jumlah slot cache = 211 / 24 = 128 slot.
Direct mapping
• Aturan pemetaannya:
i = j modulus m
di mana:
– i = nomor slot cache
– j = nomor blok memori utama
– m = jumlah slot cache
Direct mapping
Direct mapping
• Contoh:
Tentukan pada slot mana blok 0, 1,128,140 akan dipetakan.
Jawab:
Blok 0 :
i = j modulus m
i = 0 modulus 128
i=0
Jadi blok 0 akan dipetakan ke slot 0.
di mana:
• i = nomor set cache
• j = nomor blok memori utama
• s = jumlah set
Set Associative Mapping
Struktur Alamat