Memori
cache adalah area penyimpanan kecil dan berkecepatan tinggi di komputer. Cache
adalah memori yang lebih kecil dan lebih cepat yang menyimpan salinan data dari
lokasi memori utama yang sering digunakan. Ada berbagai cache independen di
CPU, yang menyimpan instruksi dan data. Penggunaan memori cache yang paling
penting adalah digunakan untuk mengurangi waktu rata-rata untuk mengakses data
dari memori utama.
Dengan
menyimpan informasi ini lebih dekat ke CPU, memori cache membantu mempercepat
waktu pemrosesan secara keseluruhan. Memori cache jauh lebih cepat daripada
memori utama (RAM). Saat CPU membutuhkan data, CPU akan memeriksa cache
terlebih dahulu. Jika datanya ada, CPU dapat mengaksesnya dengan cepat. Jika
tidak, CPU harus mengambil data dari memori utama yang lebih lambat.
Karakteristik
Memori Cache
· Memori cache adalah jenis memori yang sangat cepat
yang berfungsi sebagai penyangga antara RAM dan CPU.
· Memori Cache menyimpan data dan instruksi yang
sering diminta sehingga dapat segera tersedia bagi CPU saat dibutuhkan.
· Memori cache lebih mahal daripada memori utama atau
memori disk tetapi lebih ekonomis daripada register CPU.
· Memori Cache digunakan untuk mempercepat dan
menyinkronkan dengan CPU berkecepatan tinggi.
Tingkatan Memori
·
Level 1 atau
Register: Merupakan jenis memori tempat data disimpan dan diterima yang
langsung disimpan di CPU. Register yang paling umum digunakan adalah
Accumulator, Program counter , Address Register, dll.
·
Level 2 atau
Memori Cache: Ini adalah memori tercepat yang memiliki waktu akses lebih cepat
di mana data disimpan sementara untuk akses lebih cepat.
·
Level 3 atau
Memori Utama: Ini adalah memori tempat komputer bekerja saat ini. Ukurannya
kecil dan setelah daya dimatikan, data tidak lagi tersimpan di memori ini.
·
Level 4 atau
Memori Sekunder: Ini adalah memori eksternal yang tidak secepat memori utama
tetapi data tetap berada secara permanen di memori ini.
Kinerja Cache
Saat prosesor perlu
membaca atau menulis suatu lokasi dalam memori utama, prosesor terlebih dahulu
memeriksa entri yang sesuai dalam cache.
·
Jika prosesor
menemukan lokasi memori ada dalam cache, Cache Hit telah terjadi dan data
dibaca dari cache.
·
Jika prosesor
tidak menemukan lokasi memori dalam cache, berarti terjadi kehilangan cache .
Jika terjadi kehilangan cache, cache mengalokasikan entri baru dan menyalin
data dari memori utama, lalu permintaan dipenuhi dari isi cache.
Kinerja memori cache
sering diukur dalam kuantitas yang disebut rasio Hit.
Rasio
Hit (H) = hit / (hit + miss) = jumlah hit/akses total Rasio
Miss = miss / (hit + miss) = jumlah miss/akses total = 1 - rasio hit (H) |
Kita dapat meningkatkan
kinerja Cache dengan menggunakan ukuran blok cache yang lebih tinggi, dan
asosiatif yang lebih tinggi, mengurangi tingkat kesalahan, mengurangi penalti
kesalahan, dan mengurangi waktu untuk menemukan cache.
Pemetaan Cache
Ada tiga jenis format
berbeda yang digunakan untuk tujuan memori cache, yaitu sebagai berikut:
· Pemetaan
Langsung
· Pemetaan
Asosiatif
· Pemetaan
Set-Aosiatif
1. Pemetaan Langsung
Teknik paling sederhana,
yang dikenal sebagai pemetaan langsung, pemetaan setiap blok memori utama ke
dalam satu kemungkinan jalur cache. atau Dalam pemetaan langsung, tetapkan
setiap blok memori ke jalur tertentu dalam cache. Jika jalur sebelumnya diambil
oleh blok memori saat blok baru perlu dimuat, blok lama akan dibuang. Ruang
alamat dibagi dua menjadi bagian, bidang indeks dan bidang tag. Cache digunakan
untuk menyimpan bidang tag sedangkan sisanya disimpan dalam memori utama.
Kinerja skema langsung berbanding lurus dengan rasio Hit.
i
= j modulo m |
Untuk tujuan mengakses
cache, setiap alamat memori utama dapat dilihat terdiri dari tiga bidang. Bit
dengan yang paling tidak signifikan mengidentifikasi kata atau byte unik dalam
blok memori utama. Pada sebagian besar mesin kontemporer, alamat berada pada
level byte. Bit s yang tersisa menentukan salah satu dari 2 blok s memori
utama. Logika cache menginterpretasikan bit s ini sebagai tag bit sr (bagian
yang paling signifikan) dan bidang baris bit r. Bidang terakhir ini
mengidentifikasi salah satu dari m=2 baris r cache. Offset baris adalah bit
indeks dalam pemetaan langsung.
2. Pemetaan Asosiatif
Dalam jenis pemetaan ini,
memori asosiatif digunakan untuk menyimpan konten dan alamat kata memori. Blok
apa pun dapat masuk ke baris mana pun dari cache. Ini berarti bahwa bit id kata
digunakan untuk mengidentifikasi kata mana dalam blok yang dibutuhkan, tetapi
tag menjadi semua bit yang tersisa. Ini memungkinkan penempatan kata apa pun di
tempat mana pun dalam memori cache. Ini dianggap sebagai bentuk pemetaan
tercepat dan paling fleksibel. Dalam gambaran asosiatif, indeks bit adalah nol.
3. Pemetaan Asosiatif Set
Bentuk peta ini adalah
bentuk peta langsung yang disempurnakan di mana kelemahan peta langsung
dihilangkan. Asosiatif set mengatasi masalah kemungkinan thrashing dalam metode
pemetaan langsung. Ia melakukannya dengan mengatakan bahwa alih-alih memiliki tepat
satu baris yang dapat disimpan oleh blok dalam cache, kita akan mengelompokkan
beberapa baris bersama-sama untuk menciptakan satu set . Kemudian, blok dalam
memori dapat memetakan ke salah satu baris dari himpunan tertentu. Pemetaan
asosiatif set memungkinkan setiap kata yang ada dalam cache dapat memiliki dua
kata atau lebih dalam memori utama ke alamat indeks yang sama. Pemetaan cache
asosiatif set menggabungkan teknik pemetaan cache langsung dan asosiatif
terbaik. Dalam pemetaan himpunan asosiatif, indeks bit diberikan oleh himpunan
bit offset. Dalam kasus ini, cache terdiri dari sejumlah set, yang
masing-masing terdiri dari sejumlah baris.
Hubungan dalam Pemetaan Set-Asosiatif
dapat didefinisikan sebagai:
m = v * k |
Sumber : https://www.geeksforgeeks.org/cache-memory-in-computer-organization/