Prinsip-Prinsip dan Elemen Cache Memory
PRINSIP-PRINSIP CAGHE MEMORY
Memori komputer diorganisir ke dalam
suatu hierarki. Ditingkatan yang paling tinggi (terdekat ke prosesor) menjadi
register prosesor. Satu atau lebih tingkatan dari cache berikutnya. Ketika
tingkatan multiple digunakan, maka ditandai dengan L1, L2, dan seterusnya untuk
memori utama berikutnya, yang biasanya dibuat dari Dynamic Random Access Memory
(DRAM). Semuanya mempertimbangkan internal sistem komputer. Hierarki
melanjutkannya dengan memori eksternal, dengan tingkatan berikutnya secara umum
menjadi hard-disk tetap, dan satu atau lebih tingkatan bawah yang terdiri dari
media yang dapat dipindahkan seperti ZIP, disk optik, dan pita.
Dengan semakin menurunnya tingkat
hierarki memori, semakin berkurang cost per bit, peningkatan kapasitas, dan
waktu akses yang lebih lambat. Hal yang sangat enak untuk menggunakan hanya
memori yang cepat, tetapi akan menjadi sangat mahal, kita mengorbankan waktu
akses untuk biaya dengan menggunakan memori lebih lambat. Trik untuk
mengorganisir program dan data dalam memori sehingga word memori umumnya
diperlukan dalam memori yang lebih cepat.
Secara umum, ada kemungkinan bahwa
pada waktu yang akan datang akses ke memori utama oleh prosesor akan menjadi
lokasi akses terbaru. Sehingga cache secara otomatis mempertahankan salinan
sebagian dari word terbaru yang digunakan dari DRAM. Jika cache dirancang
dengan baik, maka sebagian besar waktu prosesor akan meminta word memori yang
telah siap di dalam cache.
TINJAUAN SISTEM MEMORI KOMPUTER
Karakteristik Sistem-sistem Memori
Masalah yang kompleks dari memori
komputer adalah membuatnya agar lebih mudah diatur jika kita menggolongkan
sistem memori menurut karakteristik pentingnyapaling penting dari karakteristik
ini diuraikan dalam tabel 4.1
Lokasi
Prosesor
Internal (main)
External (secondary)
Kapasitas
Ukuran word
Block
Metode akses
Sequential
Langsung
Acak
Associative
|
Kinerja
Waktu akses
Waktu siklus
Transfer rate
Tipe fisik
Semikonduktor
Magnetik
Optik
Permukaan magnetik
Karakteristik fisik
Volatile / nonvolatile
Erasable / nonerasable
|
Tabel 4.1
karakteristik-karakteristik kunci sistem memori komputer
Konsep yang terkait adalah unit
transfer. Bagi memori internal, unit transfer sama dengan banyaknya saluran
data kedalam dan ke luar dari sebuah modul memori. Jumlah baris ini mungkin
sama dengan panjang word, tetapi lebih sering besar, seperti 64, 128, atau 256
bit.
Dari sudut pandang pengguna, dua
karakteristik memori yang paling utama adalah kinerja dan kapasitas.
- Waktu akses (latency) : bagi Random-Access Memory,
waktu akses merupakan waktu yang diperlukan untuk melakukan baca atau
tulis, dengan kata lain, waktu dari suatu alamat yang diberikan ke memori
sampai pada saat data disimpan atau dapat digunakan bagi non-Random-Access
Memory, waktu akses adalah waktu yangdibutuhkan untuk melakukan mekanisme
baca-tulis pada lokasi yang diinginkan.
- Waktu siklus memori : konsep ini terutama diberlakukan
bagi RandomAccess Memory dan terdiri dari waktu akses ditambah setiap
waktu tambahan diperlukan sebelum suatu akses kedua dapat dimulai.sebagai
catatan bahwa waktu siklus memori mempunyai kaitan dengan sistem bus,
bukan prosesor.
PRINSIP-PRINSIP MEMORI CACHE
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
lebih murah dari jenis memori-memori semikonduktor.terdapat memori utama yang
relatif lebih besar dan lebih lambat bersama-sama dengan memori cache lebih
kecil, dan lebih cepat. Cache berisi suatu salinan bagian dari memori utama.
Ketika prosesor mencoba untuk membaca memori word, pemeriksaan dilakukan untuk
menentukan jika word terdapat pada cache.
ELEMEN-ELEMEN RANCANGAN CACHE
Walaupun terdapat banyak implementasi cache, hanya
terdapat sedikit elemen-elemen dasar rancangan yang dapat mengklasifikasikan
dan membedakan arsitektur cache. Adapun elemen yang akan dibahas pada subbab
ini adalah elemen pertama yaitu ukuran cache. Semakin besar cache maka semakin
besar jumlah gate yang terdapat pada pengalamatan cache. Akibatnya adalah cache
yang berukuran besar cenderung untuk lebih lambat dibanding dengan cache
berukuran kecil (walaupun dibuat dengan teknologi rangkaian terintegrasi yang
sam adan pitaruh pada tempat pada keping dan board yang sama. Kinerja cache
juga sangat sensitif terhadap sifat beban kerja, maka tidaklah mungkin untuk
mencapai ukuran cache yang ‘optimum’.
FUNGSI PEMETAAN (MAPPING)
Karena saluran
cache lebih sedikit dibandingkan dengan blok memori utama, diperlukan algoritma
untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain itu
diperlukan alat untuk menentukan blok memori utama mana yang sedang memakai
saluran cache. Pemilihan fungsi pemetaan akan menentukan bentuk organisasi
cache. Dapat digunakan tiga jenis teknik, yaitu sebagai berikut :
Pemetaan Langsung (Direct Mapping)
Pemetaan ini
memetakan masing-masing blok memori utama hanya ke satu saluran cache saja.
Jika suatu block ada di cache, maka tempatnya sudah tertentu. Keuntungan dari
direct mapping adalah sederhana dan murah. Sedangkan kerugian dari direct
mapping adalah suatu blok memiliki lokasi yang tetap (Jika program mengakses 2
block yang di map ke line yang sama secara berulang-ulang, maka cache-miss
sangat tinggi).
Pemetaan Asosiatif (Associative Mapping)
Pemetaan ini mengatasi kekurangan pemetaan langsung
dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang
saluran cache. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian
blok ketika blok baru dibaca ke dalam cache. Kekurangan pemetaan asosiatif yang
utama adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh
saluran cache secara paralel, sehingga pencarian data di cache menjadi lama
Pemetaan Asosiatif Set (Set Associative
Mapping)
Pada pemetaan
ini, cache dibagi dalam sejumlah sets. Setiap set berisi sejumlah line.
Pemetaan asosiatif set memanfaatkan kelebihan-kelebihan pendekatan pemetaan
langsung dan pemetaan asosiati
JUMLAH CACHE
Cache Satu Tingkat VS Cache Dua Tingkat
Dengan
meningkatkan kepadatan logik, telah memungkinkan menempatkan cahce pada keping
yang sama seperti processor: the on-chip cache. Dibandingkan dengan suatu cache
yang dapat dijangkau via bus eksternal, on-chip cache mengurangi aktivitas bus
eksternal processor dan akibatnya meningkatkan waktu eksekusi dan meningkatkan
kinerja sistem secara keseluruhan.
Memori
L1
Memori yang
bernama L1 Cache ini adalah memori yang terletak paling dekat dengan prosesor
(lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan Cache di
prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas
yang paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam hitungan
nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data yang
paling penting dan paling sering diakses. Biasanya data di sini adalah data
yang telah diatur melalui OS (Operating System) menjadi Prioritas Tertinggi
(High Priority).
Memoro L2
Memori L2 Cache
ini terletak terletak di MotherBoard (lebih spesifik lagi: modul COAST : Cache
On A STick. Bentuk khusus dari L2 yang mirip seperti Memory Module yang dapat
diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang
terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi
dengan Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1
Cache. Ukurannya berkisar antara 256KB—2MB. Biasanya, L2 Cache yang besar
diperlukan di MotherBoard untuk Server. Kecepatan akses sekitar 10ns.