Tembolok (Inggris:
'cache') dalam teknologi informasi adalah mekanisme penyimpanan data sekunder
berkecepatan tinggi yang digunakan untuk menyimpan data / instruksi yang sering
diakses. Memori cache dimaksudkan untuk memberi kecepatan memori yang mendekati
memori yang paling cepat yang bisa diperoleh, dan pada waktu yang sama
menyediakan kapasitas memori yang besar dengan harga yang lebih murah dari
jenis-jenis memori semikonduktor.
Cache berasal dari kata
cash. Dari istilah tersebut cache adalah tempat menyembunyikan atau tempat
menyimpan sementara. Sesuai definisi tersebut cache memori adalah tempat menyimpan
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.
Tembolok memori ada
tiga level yaitu L1,L2 dan L3. Tembolok memori level 1 (L1) adalah tembolok
memori yang terletak dalam prosesor (cache internal). Tembolok ini memiliki
kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori
berkembang mulai dari 8Kb, 64Kb dan 128Kb. Tembolok level 2 (L2) memiliki
kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun
tembolok L2 ini memiliki kecepatan yang lebih rendah dari tembolok L1. Tembolok
L2 terletak terpisah dengan prosesor atau disebut dengan cache eksternal.
Sedangkan tembolok level 3 hanya dimiliki oleh prosesor yang memiliki unit
lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk
mengontrol data yang masuk dari tembolok L2 dari masing-masing inti prosesor.
Jika prosesor
membutuhkan suatu data, pertama-tama ia akan mencarinya pada tembolok. 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, tembolok 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 tembolok 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.
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:
· 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.
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.
0 komentar:
Posting Komentar