Pengertian
Memori Cache
Cache
beasal dari kata cash. Dari istilah tersebut cache adalah tempat
menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut cache memori adalah tempat menympan data sementara. Cara ini
dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah
diakses pada cache tersebut, sehingga apabila ada data yang ingin diakses
adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat.Cache memori ini adalah memori tipe SDRAM yang
memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan
harga yang lebih mahal dari memori utama. Cache memori ini terletak antara
register dan RAM (memori utama) sehingga pemrosesan data tidak langsung
mengacu pada memori utama.
Level
Memori Cache
Cache memori ada tiga level yaitu L1,L2 dan L3. Cache memori level 1 (L1) adalah cache memori yang terletak
dalam prosesor (cache internal). Cache ini memiliki kecepatan akses paling
tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb.Cache
level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb
sampai dengan 2Mb. Namun cache L2 ini memiliki kecepatan yang lebih rendah dari
cache L1. Cache L2 terletak terpisah dengan prosesor atau disebut dengan cache
eksternal. Sedangkan cache level 3 hanya dimiliki oleh prosesor yang memiliki
unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk
mengontrol data yang masuk dari cache L2 dari masing-masing inti prosesor.
Cara
Kerja Memori Cache
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 cachingmenggunakan
sebagian dari memori komputer.
[sunting]Stuktur
sistem cache
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.
[sunting]Elemen
rancangan cache
Elemen-elemen
penting dari rancangan memory cache adalah sebagai berikut:
§ Ukuran cache, disesuaikan dengan kebutuhan untuk membantu kerja memori.
Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang
dalam pengalamatan cache.
§ 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")
§ Line size, Jumlah cache, Satu atau dua dua tingkat, kesatuan atau terpisah
§ 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)
§ Burst mode, dalam modus cepat ini cache mengambil
banyak data sekaligus dari unit dibawahnya. Ia mengambil lebih dari yang
dibutuhkan dengan asumsi, data yang diminta berikutnya letaknya berdekatan.
§ LRU (Least Recently
Used) adalah algoritma penggantian cache.
§ COAST, Cache
on the stick adalah bentuk khusus L2, yang dapat diganti-ganti seperti RAM dan
ditempatkan pada modul.
§ DRAM,
memori dinamik (''Dynamic Random Access Memory) adalah bentuk yang
paling umum. DRAM hanya menggunakan sebuah kapasitor untuk menyimpan, sehingga kecil
dan murah untuk kapasitas besar. Kekurangannya: kecepatannya tidak begitu
tinggi.
§ SRAM, memori statik (Static RAM)
ini menggunakan sakelar
elektronik (flip-flop) untuk menyimpan. secara teknis flip-flop pada
RAM lebih rumit dari kapasitor pada DRAM. Karena lebih cepat, SRAM biasanya
digunakan untuk cache L1 atau L2.
§ SDRAM, memori dinamik
tersinkronisasi (Synchronous DRAM) merupakan perkembangan lebih lanjut
dari DRAM. Akses pada memori disinkronkan dengan frekuensi sistim prosesorsehingga menghemat waktu. Pada motherboard modern,
SDRAM berfungsi sebagai pengganti langsung DRAM.
§ First level cache (L1), ini tingkat cache teratas
dalam hirarki, dengan kapasitas memori terkecil, termahal dan tercepat.
§ Second level cache (L2), cache level dua ini
memiliki kapasitas lebih besar dari L1, tetapi lebih lambat dan murah. Cache L2
masih lebih cepat dibandingkan dengan RAM.
§ Write
through (WT), mementingkan
keamanan: cache hanya digunakan saat membaca, sedangkan untuk
menulis ditunggu hingga memori yang dituju selesai menulis.
0 komentar:
Posting Komentar