Cache memory dapat didefinisikan
sebagai tempat data atau informasi yang sifatnya sementara dan sering diakses
oleh komputer. Cache memory sekarang ini digolongkan dua macam, yaitu cache
level 1 dan cache level 2 atau sering juga diistilahkan dengan cache L1 dan L2.
Prosesor-prosesor lama generasi x386 dan generasi sebelumnya, tidak menggunakan
cache L1. Generasi terbaru saat ini prosesor sudah menggunakan cache memory
yang berkembang sejak ukuran 8, 64, 128 KB. Sedangkan pada cache L2,
prosesor-prosesor terbaru menggunakan ukuran 64, 128, 256, dan 512 KB, semua tergantung
dari jenis dan tipe prosesor yang digunakan. Bahkan, cache pada server seperti
pada intel Xeon dan intel Itanium ada yang mencapai ukuran 1 dan 2 Mb.
Sejarahnya
Pada awal digunakannya cache L2, cache
tersebut ditanam pada motherboard atau ditanam terpisah dari core prosesornya.
Komputer seri terbaru saat ini cache-cachenya sudah dibenamkan langsung pada
inti prosesornya dan dikenal dengan istilah core. Dengan cara terbaru ini
menyebabkan jarak pengaksesan prosesor ke cache akan semakin pendek sehingga
berimbas pada waktu pengaksesan yang semakin singkat pula.
Terdapat dua jenis lokalitas di dalam
cache memory, yaitu :
- lokalitas
temporal
- lokalitas
spasial.
Apa sih bedanya?
Cache dengan lokalitas temporal
dirancang untuk menggunakan data atau instruksi yang sama secara
berulang-ulang.
Cache dengan lokalitas spasial
dirancang untuk mengantisipasi program-program yang membutuhkan pengaksesan
secara berurutan.
Jalannya proses
Ketika pertama prosesor menjalankan
perintah eksekusi prosesor tersebut akan mencari dan mengumpulkan informasi
dari cache L1. Proses ini biasanya disebut dengan hit. Jika informasi yang
dibutuhkan prosesor tidak tersedi pada cache L1, maka prosesor akan segera
mencarinya di cache L2. Pencarian informasi di cache L2 ini biasanya memakan
waktu lebih lama daripada pencarian informasi di cache L1.
Pada cache L2 terdiri dari dua komponen
utama yaitu:
- data
store
- tag
RAM
Jelasin masing-masing
Data store dapat didefinisikan sebagai
suatu ruang yang digunakan untuk menjaga aktualitas informasi atau data.
Tag RAM dapat didefinisikan sebagai
suatu area kecil di dalam memori yang digunakan oleh cache untuk menjaga dan
mengatur peletakan data di dalam cache.
Jumlah memori utama yang dikontrol oleh
tag RAM dapat disimpan di dalam cache. Cache memory L2 pada PC model terbaru
biasanya diatur oleh chipset, pada bagian nortbridge.
CACHE MEMORY
Cache memory merupakan lokasi data sementara antara prosesor
dengan main memory. Penempatan cache memory ditujukan
untuk mengurangi gap antara kecepatan prosesor dengan kecepatan main memory. Gambar 2.1. di bawah ini menunjukkan posisi
cache memory yang diletakkan antara prosesor (CPU) dengan main memory. Sedangkan gambar 2.2. memperlihatkan sistem
interkoneksi untuk cache memory.
Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat menyembunyikan atau tempat menyimpan sementara.
Sesuai definisi tersebut cache memory adalah tempat menympan data
sementara. Cara ini dimaksudkan untuk meningkatkan transfer data dengan
menyimpan data yang pernah diakses pada cache memory tersebut, sehingga apabila ada data yang ingin diakses adalah data
yang sama maka maka akses akan dapat dilakukan lebih cepat. Cache memory ini adalah memori tipe SDRAM yang memiliki
kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang
lebih mahal dari memori utama. Cache memory ini
terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak
langsung mengacu pada memori utama.
Karakteristik cache memory adalah
sebagai berikut:
·
Kapasitas relatif lebih
kecil dari main memory, tetapi memiliki kecepatan yang relativ lebih
tinggi dibanding main memory;
·
Cache
memory merupakan suatu memori buffer (salinan data) bagi memori utama;
·
Meskipun cache menggunakan informasi yang tersimpan dalam memori utama, tetapi ia
tidak berhadapan secara langsung dengan memori utama;
·
Word
yang disimpan didalam cache memory adalah word yang diambil dari main memory, yang dikerjakan sesuai perintah CPU.
2.2. Level Cache Memory
Hingga saat ini, cache memory terbagi atas tiga level yaitu L1, L2 dan L3. Cache memory memori level 1 (L1) adalah cache memory yang terletak dalam prosesor (internal cache). Cache memory ini
memiliki kecepatan akses paling tinggi dan harganya paling mahal.
Ukuran memori berkembang mulai dari 8KB, 64KB dan 128KB. Cache memory level 2 (L2) memiliki kapasitas yang lebih besar
yaitu berkisar antara 256KB sampai dengan 2MB. Namun, cache memory L2 ini memiliki kecepatan yang lebih rendah
dari cache memory L1. Cache memory L2
terletak terpisah dengan prosesor atau disebut dengan external cache.
Sedangkan cache memory 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. Level
2 atau L2 cache merupakan bagian dari strategi penyimpanan multi level untuk
meningkatkan performa komputer. Terdapat tiga level cache yang digunakan pada komputer, yaitu L1, L2 dan L3 cache. Tiap-tiap cache tersebut menjembatani jarak (gap) diantara
processor yang sangat cepat, dengan memori RAM (Random Access Memory) yang jauh
lebih lambat.
Sementara desainnya terus mengalami perubahan,
L1 cache biasanya telah terintegrasi (built in) ke dalam processor, sementara L2 cache biasanya terintegrasi pada motherboard (bersamaan
dengan L2 cache). Namun, beberapa processor kini menggabungkan
L2 cache serta L1 cache, dan bahkan beberapa
diantaranya juga menggungkan L3 cache. Kecepatan yang paling
tinggi terdapat pada L1 cache, kemudian menurun pada L2 dan L3 cache. Namun kebalikannya, semakin besar angka cache, maka semakin besar pula kapasitas penyimpanan datanya.
Tugas dari cache processor adalah untuk
mengantisipasi data request, sehingga ketika pengguna mengakses sebuah
program yang sering digunakan, sebagai contohnya, instruksi-instruksi yang
dibutuhkan untuk menjalankan program tersebut telah siap digunakan, disimpan
pada cache. Ketika hal ini terjadi, CPU dapat memproses request tanpa adanya
jeda (delay), sehingga dapat meningkatkan CPU pertama-tama
akan memeriksa L1 cache, diikuti dengan L2 dan L3 cache. Jika processor telah menemukan bit data yang dibutuhkan, maka
disebut dengan cache hit. Namun jika cache tidak menyediakan bit data
yang dibutuhkan, processor mendapatkan sebuah cache miss, dan data perlu
ditarik dari RAM yang lebih lambat atau hard disk yang juga lebih lambat.
2.3. Kapasitas Cache
Menentukan ukuran cache memory sangatlah penting untuk mendongkrak kinerja komputer.
Dari segi harga cache memory sangatlah mahal tidak seperti memori utama.
Semakin besar kapasitas cache
tidak berarti semakin cepat
prosesnya, dengan ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses.
Kita bisa melihat beberapa merek prosesor di
pasaran beberapa waktu lalu. AMD mengeluarkan prosesor K5 dan K6 dengan cache memory yang besar (1MB) tetapi kinerjanya tidak bagus.
Kemudian Intel pernah mengeluarkan prosesor tanpa cache memory untuk alasan harga yang murah, yaitu seri Intel
Celeron pada tahun 1998-an hasil kinerjanya sangat buruk terutama untuk operasi
data besar, floating point, 3D. Intel Celeron versi berikutnya sudah
ditambah cache memory sekitar 128KB. Lalu berapa idealnya kapasitas cache memory? Sejumlah penelitian telah menganjurkan bahwa
ukuran cache antara 1KB dan 512KB akan lebih optimum.
2.4. Ukuran Blok
Elemen rancangan yang harus diperhatikan lagi
adalah ukuran blok. Telah dijelaskan adanya sifat lokalitas referensi maka
nilai ukuran blok sangatlah penting. Apabila blok berukuran besar ditransfer ke
cache akan menyebabkan hit ratio mengalami penurunan
karena banyaknya data yang dikirim disekitar referensi. Tetapi apabila terlalu
kecil, dimungkinkan memori yang akan dibutuhkan CPU tidak tercakup. Apabila
blok berukuran besar ditransfer ke cache, maka akan terjadi :
o
Blok-blok yang berukuran
lebih besar mengurangi jumlah blok yang menempati cache. Karena isi cache sebelumnya akan ditindih.
o
Dengan meningkatnya ukuran
blok maka jarak setiap word
tambahan menjadi lebih jauh
dari word yang diminta, sehingga menjadi lebih kecil
kemungkinannya digunakan cepat.
Hubungan antara ukuran blok dan hit ratio sangat rumit untuk dirumuskan, tergantung pada
karakteristik lokalitas programnya dan tidak terdapat nilai optimum yang pasti
telah ditemukan. Ukuran antara 4 hingga 8 satuan yang dapat dialamati (word atau byte) cukup beralasan untuk mendekati nilai optimum.
Komentar ini telah dihapus oleh pengarang.
BalasHapus