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
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
Pemetaan
Blok-blok memori utama akan dipetakan
ke slot-slot cache.
Ukuran memori utama jauh lebih besar
dari ukuran cache (C << M) sehingga
tidak semua blok memori utama dapat
ditempatkan pada cache.
Untuk itu diperlukan suatu cara untuk
memetakan blok memori utama ke
cache.
Pemetaan
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
Jawab:
Blok 0 :
i = j modulus m
i = 0 modulus 128
i=0
Jadi blok 0 akan dipetakan ke slot 0.
Aturan pemetaan :
i = j modulus s
di mana:
i = nomor set cache
j = nomor blok memori utama
s = jumlah set
Set Associative Mapping
Struktur Alamat