A. 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.
B. 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.
C.
Letak Cache
Memory
L1 cache terintegrasi dengan
chip prosesor, artinya letak L1 cache sudah menyatu dengan chip prosesor
(berada di dalam keping prosesor). Sedangkan letak L2 cache, ada yang menyatu
dengan chip prosesor, ada pula yang terletak di luar chip prosesor, yaitu di
motherboard dekat dengan posisi dudukan prosesor. Pada era prosesor intel 80486
atau sebelumnya, letak L2 cache kebanyakan berada di luar chip prosesor. Chip
cache terpisah dari prosesor, berdiri mandiri dekat chip prosesor. Sejak era
prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi dengan chip
prosesor (menyatu dengan keping prosesor). Posisi L2 cache selalu terletak
antara L1 cache dengan memori utama (RAM). Sedangkan L3 cache belum
diimplementasikan secara umum pada semua jenis prosesor. Hanya
prosesor-prosesor tertentu yang memiliki L3 cache.
Cache memory yang letaknya
terpisah dengan prosesor disebut cache memory non integrated atau diskrit
(diskrit artinya putus atau terpisah). Cache memory yang letaknya menyatu
dengan prosesor disebut cache memory integrated, on-chip, atau on-die
(integrated artinya bersatu/menyatu/ tergabung, on-chip artinya ada pada chip).
L1 cache (Level 1 cache)
disebut pula dengan istilah primary cache, first cache, atau level one cache.
L2 cache disebut dengan istilah secondary cache, second level cache, atau level
two cache.
D.
Kecepatan
Cache Memory
Transfer data dari L1 cache ke
prosesor terjadi paling cepat dibandingkan L2 cache maupun L3 cache (bila ada).
Kecepatannya mendekati kecepatan register. L1 cache ini dikunci pada kecepatan
yang sama pada prosesor. Secara fisik L1 cache tidak bisa dilihat dengan mata
telanjang. 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.
Transfer data tercepat kedua setelah L1 cache adalah L2 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. Kapasitas simpan data untuk L3 cache lebih besar lagi, bisa ratusan juta byte (ratusan mega byte).
E. Prioritas Penyimpanan Dan Pengambilan Data
Dalam mekanisme kerjanya, data
yang akan diproses oleh prosesor, pertama kali dicari di L1 cache, bila tidak
ada maka akan diambil dari L2 cache, kemudian dicari di L3 cache (bila ada).
Jika tetap tidak ada, maka akan dicari di memori utama. Pengambilan data di L2
cache hanya dilakukan bila di L1 cahe tidak ada.
Lebih jelasnya proses baca
tulis data yang dilakukan oleh prosesor ke memori utama dapat dijelaskan
sebagai berikut:
Ketika data dibaca/ditulis di
memori utama (RAM) oleh prosesor, salinan data beserta address-nya (yang
diambil/ditulis di memori utama) disimpan juga di cache. Sewaktu prosesor
memerlukan kembali data tersebut, prosesor akan mencari ke cache, tidak perlu
lagi mencari di memori utama.
Jika isi cache penuh, data yang paling lama akan dibuang dan digantikan oleh data yang baru diproses oleh prosesor. Proses ini dapat menghemat waktu dalam proses mengakses data yang sama, dibandingkan jika prosesor berulang-ulang harus mencari data ke memori utama.
Secara logika, kapasitas cache memory yang lebih besar dapat membantu memperbaiki kinerja prosesor, setidak-tidaknya mempersingkat waktu yang diperlukan dalam proses mengakses data.
F. 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
caching menggunakan sebagian dari memori komputer.
G.
Struktur System 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.
H. 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
I. 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)
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
prosesor sehingga 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 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