Definisi Cache
Cache merupakan salah satu bentuk
memori internal selain main memory. Terletak antara register dan main memory. Ukuran
memorinya lebih kecil, namun lebih cepat
Konsep Memori Cache
Terdapat main memory
yang relatif besar dan lambat dipadukan dengan memory yang lebih kecil , dan lebih
cepat . Cache berisi salinan bagian dari memori utama . Ketika prosesor
membutuhkan suatu data pertama kali dicek dalam cache tersebut. Jika ada
langsung dikirim ke processor. Jika tidak, blok memori utama dibaca ke cache
lalu dikirim ke processor. Ada kemungkinan data tersebut dipanggil kembali.
Struktur System Cache
Memori utama terdiri dari sejumlah
blok memory sedangkan cache terdiri dari sejumlah baris. 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. Namun karena
jumlah blok lebih banyak dibanding dengan baris, maka blok hanya disimpan
sementara dalam suatu baris.
Operasi Baca
Prosesor menghasilkan
alamat read ( RA ) dari sebuah kata untuk dibaca . Jika kata itu terkandung
dalam cache , langsung dikirim ke prosesor . Jika tidak , blok yang mengandung
kata tersebut dimuat ke cache , dan kata tersebut dikirim ke prosesor . Gambar 4.5
menunjukkan dua operasi terakhir yang terjadi secara paralel dan mencerminkan
organisasi yang ditunjukkan pada Gambar 4.6 , yang khas dari organisasi cache
yang kontemporer.
Tipe
Organisasi
Dalam organisasi ini,
cache menghubungkan prosesor melalui data, kontrol, dan baris alamat. Data dan
alamat baris juga melampirkan data buffer dan alamat buffer , yang menempel
pada bus sistem dimana memori utama tercapai. Ketika cache hit terjadi, data buffer
dan alamat buffer dinonaktifkan dan komunikasi hanya antara prosesor dan cache,
tanpa lalu lintas sistem bus . Ketika cache miss terjadi , alamat yang
diinginkan dimuat ke bus sistem dan data dikembalikan melalui buffer data untuk
kedua cache dan prosesor . Dalam organisasi lain, cache secara fisik sela
antara prosesor dan memori utama untuk semua data, alamat , dan saluran kontrol
. Dalam kasus terakhir ini , untuk cache miss , kata yang dikehendaki pertama
dibaca ke dalam cache dan kemudian ditransfer dari cache ke prosesor.
Elemen-elemen Rancangan Cache Memory
-
Ukuran cache,
disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran
cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan
cache. (Ukuran L1 < L2 < L3, kecepatan L1 > L2 > L3)
-
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
-
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.
-
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”).
-
Jumlah cache, Satu atau
dua dua tingkat, kesatuan atau terpisah. Ada
dua potensi keuntungan dari cache bersatu. Pertama, untuk ukuran cache yang
diberikan , cache terpadu memiliki hit rate yang lebih tinggi daripada cache
perpecahan karena menyeimbangkan beban antara instruksi dan data menjemput
secara otomatis.Kedua, hanya satu Cache perlu dirancang dan diimplementasikan .
Namun, tren yang ada lebih menuju ke cache dibagi. Karena menghilangkan pertentangan
antara unit instruksi prefetcher / decode dan eksekusi unit pada cache.
(mendahulukan eksekusi unit)
Multilevel Cache
Memory
-
Cache L1
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. Terintegrasi dengan prosesor, Kecepatannya mendekati
kecepatan register atau dikunci pada kecepatan yang sama dengan proseccor.
Berguna untuk menyimpan secara sementara instruksi dan data, dan memastikan
bahwa prosesor memiliki supply data yang stabil untuk diproses sementara memori
mengambil dan menyimpan data baru.
-
Cache L2
Awalnya,
terletak diluar chip proseccor. Posisi L2 cache selalu terletak antara L1 cache
dengan memori utama (RAM). Transfer data tercepat kedua setelah L1 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.
-
Cache L3
Awalnya
, cache L3 diakses melalui bus eksternal . Sekarang ini , mulai memasukkan
sebuah L3 cache on-chip. L3 cache belum diimplementasikan
secara umum pada semua jenis prosesor. Hanya prosesor-prosesor tertentu yang
memiliki L3 cache. Kapasitas simpan data untuk L3 cache lebih besar lagi, bisa
ratusan juta byte (ratusan mega byte).
Istilah
penting yang berhubungan
Cache hit, jika data
yang diminta oleh unit yang lebih tinggi dan ada dalam cache disebut “hit”.
Permintaan dapat dilayani dengan cepat. Maksud urutan unit dari rendah hingga
tinggi yaitu: Streamer – Hardisk Memori – Second Level – First level – CPU
cache.
- Cache miss, bila data
yang diminta tidak ada dalam cache, harus diambil dari unit dibawahnya yang
cukup memakan waktu. Ini disebut miss (gagal)
- Write back
(WB), cache digunakan tidak hanya saat membaca, tetapi
juga dalam proses menulis.
- Write through
(WT), mementingkan keamanan: cache hanya digunakan saat
membaca, sedangkan untuk menulis ditunggu hingga memori yang dituju selesai
menulis.
Tidak ada komentar:
Posting Komentar