Cache Memory
Konsep Cache Memory
Pengertian Cache Memory
• Prancis = menyembunyikan / tempat penyimpanan
• Inggris = cash
• Istilah => tempat untuk menyembunyikan atau arsip atau lokasi
sementara data tujuannya untuk meningkatkan transfer data dengan
menyimpan data yang sedang diakses dan mengurangi gap antara
kecepatan prosesor dengan kecepatan main memory
Fungsi dan Tujuan Cache
Memory
• Mempercepat akses ke data di komputer
• Memfasilitasi kerja prosesor
• Menjembatani perbedaan kecepatan antara CPU dan memori utama
• Mempercepat kinerja penyimpanan.
Posisi Cache
Sistem Interkoneksi
Karakteristik Cache
• 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.
Cara Kerja Cache
• Saat prosesor menerima perintah baru dan membutuhkan suatu data,
prosesor akan lebih dulu mencarinya di memori cache. Jika data yang
dibutuhkan terdapat pada cache, maka prosesor akan langsung menampilkan
data yang ada dalam cache itu. Karena tak lagi perlu mencari atau
mengunduh data, maka proses saat pengguna memberikan perintah hingga
data ditampilkan memiliki jeda yang sangat sebentar. Sehingga bisa
ditampilkan dengan sangat cepat.
• Namun jika data yang dicari tidak ada di cache, maka prosesor akan
mencarinya di RAM yang kecepatannya lebih rendah dari cache. Dengan cara
ini, kerja prosesor menjadi lebih efisien, juga akan membantu jika kinerja RAM
lambat. Semakin besar memori cache, maka semakin cepat pula kerja
komputer secara keseluruhan
Level dan Kecepatan Cache
• L1 => proses mencari dan mengumpulkan informasi (hit)
(16 KB) dibagi 2 . 8 kb utk data 8 kb utk instruksi
• L2 => terdapat dua komponen utama
(128KB, 256KB, 512KB, 1MB, 2MB, 8MB)
a) Data store adalah suatu ruang yang digunakan untuk menjaga aktualitas informasi atau data.
b) Tag RAM merupakan suatu area kecil di dalam memori yang digunakan oleh cache untuk
menjaga dan mengatur peletakan data di dalam cache.
• L3 => digunakan dalam model komputer terbaru yang memiliki lebih dari satu
prosessor misalnya dual core atau quad core.
bertindak sebagai pengontrol data yang diakses oleh cache L2 dan oleh masing-masing
inti prosesor
Tipe-Tipe Cache
• Memory Cache
• Disk Cache
• Web Cache
Disk Cache
• Tidak berbeda secara signifikan dari cache memori dan didasarkan
pada prinsip yang sama. Alih-alih menggunakan data SRAM kecepatan
tinggi, Disk cache sebenarnya menggunakan memori konvensional
atau yang disebut RAM dinamis yang relatif lebih lambat.
• Cara Kerjanya Saat Anda menjalankan aplikasi yang meminta data dari
hard drive, aplikasi pertama-tama akan memeriksa apakah data
tersedia di buffer memori. Cache disk dapat secara signifikan
mempengaruhi kecepatan aplikasi karena mekanisme ini jauh lebih
cepat daripada mengembalikan data dari komponen disk.
Web Cache
Yang satu ini biasanya digunakan untuk peramban internet atau istilah
bekennya browser seperti Chrome, Firefox, Opera dan sebagainya.
Gunanya agar saat mengakses internet, bisa lebih cepat dalam
menampilkan laman website. Selain itu, juga bisa mengurangi konsumsi
data. Karena data yang seharusnya kita unduh sudah disimpan di
memori web cache. Alih-alih mengunduhnya lagi dari internet (server di
internet), browser akan memeriksa web cache lebih dulu. Jika ada data
yang sama, maka akan ditampilkan data yang tersimpan di web cache.
Jadi tida perlu mengunduh lagi
Letak Cache Memory di komputer
• Terletak di dalam Processor (on chip ), Cache internal diletakkan dalam
prosesor sehingga tidak memerlukan bus eksternal, maka waktu aksesnya
akan sangat cepat [Link] ini bisa terlihat pada processor yang berharga
mahal seperti P4,P3,AMD-ATHLON dll. semakin tinggi kapasitas Cache
memory L1,L2 maka processor akan semakin mahal dan semakin cepat .
• Terletak diluar Prosessor (off chip), Berada pada MotherBoard, memori
jenis ini kecepatan aksesnya sangat cepat,meskipun tidak secepat chache
memori jenis pertama. semakin besar kapasitasnya maka semakin mahal
dan cepat. Memori jenis ini dapat kita lihat pada motherboard dengan
beraneka ragam kapasitas chace yaitu 256 kb,512 kb,1 Mb, 2 Mb dll
Block Diagram Memory Cache
Elemen Rancangan Cache Memory
• Ukuran cache = semakin besar semakin lambat
• Fungsi Pemetaan = Langsung, Assosiatif, Assosiatif Set
• Algoritma Penggantian = Write Through dan Write back
• Ukuran Blok
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
• Line Size, jumlah cache, satu atau dua tingkat, kesatuan atau terpisah
Istilah Penting
• 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.
Keuntungan Memori Cache
• bahwa CPU tidak harus menggunakan sistem bus motherboard untuk
mentransfer data. Setiap kali data harus melewati bus sistem,
kecepatan transfer data memperlambat kemampuan motherboard.
• CPU dapat memproses data lebih cepat dengan menghindari
hambatan yang diciptakan oleh sistem bus. Sebagai contoh, instruksi-
instruksi dari proses yang sedang dijalankan disimpan ke dalam disk,
dan ter-cache di dalam memori physical, dan kemudian dicopy lagi ke
dalam cache secondary and primary dari CPU.
Perbedaan antara sebuah buffer
dan cache
• buffer dapat menyimpan satu-satunya informasi data di dalamnya
• sebuah cache secara definisi hanya menyimpan sebuah data dari
sebuah tempat untuk dapat diakses lebih cepat
Pemetaan Cache
• Direct Mapping(pemetaan langsung)
• Assosiatif
• Assosiatif Set
Direct Mapping
• Pada cara ini, address pada main memory dibagi 3 field atau bagian,
yaitu:
• Tag identifier.
• Line number identifier
• Word identifier (offset)
• Tag identifier disimpan pada cache bersama dengan blok pada line.
• Untuk setiap alamat memory yang dibuat oleh CPU, line tertentu yang
menyimpan copy alamat tersebut ditentukan, jika blok tempat lokasi data
tersebut sudah dikopi dari main memory ke cache.
• Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang
dimaksud ada pada line tsb.
• Word identifier berisi informasi tentang lokasi word atau unit
addressable lainnya dalam line tertentu pada cache.
• Line identifier berisi informasi tentang nomor fisik (bukan logika) line
pada cache.
• Keuntungan menggunakan Direct Mapping antara lain:
• Mudah dan murah diimplementasikan.
• Mudah untuk menentukan letak salinan data main memory pada cache.
• Kerugian menggunakan Direct Mapping antara lain:
• Setiap blok main memory hanya dipetakan pada 1 line saja. Terkait dengan sifat
lokal pada main memory, sangat mungkin mengakses blok yang dipetakan pada
line yang sama pada cache. Blok seperti ini akan menyebabkan seringnya sapu
masuk dan keluar data ke/dari cache, sehingga hit ratio mengecil.
• Hit ratio adalah perbandingan antara jumlah ditemukan- nya data pada
cache dengan jumlah usaha mengakses cache.
Item Keterangan
Panjang alamat (s + w) bits
Jumlah unit yang dapat dialamati 2s+w words or bytes
Ukuran Blok sama dengan ukuran Line 2w words or bytes
Jumlah blok di memori utama 2s+ w/2w = 2s
Jumlah line di cache m = 2r
Besarnya tag (s – r) bits
Associative Mapping
• Memungkinkan blok diletakkan di sebarang line yang sedang tidak
terpakai.
• Diharapkan akan mengatasi kelemahan utama Direct Mapping.
• Harus menguji setiap cache untuk menemukan blok yang diinginkan.
• Mengecek setiap tag pada line
• Sangat lambat untuk cache berukuran besar.
• Nomor line menjadi tidak berarti. Address main memory dibagi
menjadi 2 field saja, yaitu tag dan word offset.
• Melakukan pencarian ke semua tag untuk menemukan blok.
• Cache dibagi menjadi 2 bagian :
• lines dalam SRAM
• tag dalam associative memory
• Keuntungan Associative Mapping:
• cepat dan fleksibel.
• Kerugian Associative Mapping:
• biaya implementasi. Misalnya :
• untuk cache ukuran 8 kbyte dibutuhkan 1024 x 17 bit associative memory
untuk menyimpan tag identifier.
Item Keterangan
Panjang alamat (s + w) bits
Jumlah unit yang 2s+w words or
dapat dialamati bytes
Ukuran Blok 2w words or
sama dengan bytes
ukuran Line
Jumlah blok di 2s+ w/2w = 2s
memori utama
Jumlah line di undetermined
cache
Besarnya tag s bits
Set Associative Mapping
• Merupakan kompromi antara Direct dengan Full Associative Mapping.
• Membagi cache menjadi sejumlah set (v) yang masing-masing
memiliki sejumlah line (k)
• Setiap blok dapat diletakkan di sebarang line dengan nomor set:
• nomor set = j modulo v
• Jika sebuah set dapat menampung X line, maka cache disebut
memiliki X-way set associative cache.
• Hampir semua cache yang digunakan saat ini menggunakan organisasi
2 atau 4-way set associative mapping.
• Setiap blok memori dapat menempati lebih dari satu kemungkinan
nomor line (dapat menggunakan line yang kosong), sehingga
thrashing dapat diperkecil.
• Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur
untuk melakukan perbandingan tag lebih sederhana.
Item Keterangan
Panjang alamat (s + w) bits
Jumlah unit yang dapat 2s+w words or bytes
dialamati
Ukuran Blok sama dengan 2w words or bytes
ukuran Line
Jumlah blok di memory 2d
utama
Jumlah line dalam set k
Jumlah set V=2d
Jumlah line di cache Kv = k*2d
Besarnya tag (s-d) bits