Jika prosesor membutuhkan
suatu data, pertama-tama ia akan mencarinya pada cache. Jika data ditemukan,
prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika
data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang
kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang
dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat
dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor
menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar
juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.
Dua jenis
cache yang sering digunakan dalam dunia komputer adalah memory caching dan disk
caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama
komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.
Implementasi
memory caching sering disebut sebagai memory cache dan tersusun dari memori
komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk
caching menggunakan sebagian dari memori komputer.
Struktur
sistem cache memory
Memori utama
terdiri dari sampai dengan 2n word beralamat, dengan masing-masing word
mempunyai n-bit alamat yang unik. Untuk keperluan pemetaan, memori ini dinggap
terdiri dari sejumlah blok yang mempunyai panjang K word masing-masing bloknya.
Dengan demikian, ada M = 2n/K blok. Cache terdiri dari C buah baris yang
masing-masing mengandung K word, dan banyaknya baris jauh lebih sedikit
dibandingkan dengan banyaknya blok memori utama (C << M). Di setiap saat,
beberapa subset blok memori berada pada baris dalam cache. jika sebuah word di
dalam blok memori dibaca, blok itu ditransfer ke salah satu baris cache. karena
terdapat lebih banyak blok bila dibanding dengan baris, maka setiap baris tidak
dapat menjadi unik dan permanen untuk dipersempahkan ke blok tertentu mana yang
disimpan. Tag biasanya merupakan bagian dari alamat memori utama.
Elemen-elemen
penting dari rancangan memory cache adalah sebagai berikut:
o Ukuran
cache, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar
ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam
pengalamatan cache.
o Fungsi
Pemetaan (Mapping), terdiri dari Pemetaan Langsung, Asosiatif, Asosiatif
Set.Pemetaan langsung merupakan teknik yang paling sederhana, yaitu memetakkan
masing-masing blok memori utama hanya ke sebuah saluran cache saja. Pemetaan
asosiatif dapat mengatasi kekurangan pemetaan langsung dengan cara mengizinkan
setiap blok memori utama untuk dimuatkan ke sembarang saluran cache.Hal ini
menurut artikel dari Yulisdin Mukhlis, ST., MT
o Algoritma
Penggantian, terdiri dari Least Recently Used (LRU), First in First Out (FIFO),
Least Frequently Used (LFU), Acak. Algoritma penggantian digunakan untuk
menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat
bagi blok baru. Ada 2 metode algoritma penggantian yaitu Write-through dan
Write-back.Write-through adalah Cache dan memori utama diupdate secara
bersamaan waktunya. Sedangkan Write-back melakukan update data di memori utama
hanya pada saat word memori telah dimodifikasi dari cache.
o Ukuran blok,
blok-blok yang berukuran Iebih besar mengurangi jumlah blok yang menempati
cache. 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 untuk
di perlukan dalam waktu dekat.(Dikutip dari artilek milik Yulisdin “Mukhlis,
ST., MT”)
o Line size,
Jumlah cache, Satu atau dua dua tingkat, kesatuan atau terpisah
oke min
BalasHapussolder infrared