Review Video Youtube Mengenai Chace Memory tentang Teknik Mapping yaitu : Direct, Associative, Set Associative Mapping.
Cache
Memory adalah salah satu jenis memori yang digunakan untuk menyimpan data
sementara agar dapat diakses lebih cepat oleh CPU. Teknik Mapping pada Cache
Memory digunakan untuk menentukan algoritma penyimpanan data pada cache,
terdapat tiga jenis teknik mapping pada cache memory yaitu Direct Mapping,
Associative Mapping, dan Set Associative Mapping.
Review dari video seputar cara kerja dan perhitungannya dalam sebuah studi kasus dari video
Cara
kerja cache memory adalah sebagai berikut. Ketika CPU membutuhkan data dari
memori, cache memory akan memeriksa apakah data tersebut sudah ada di dalam
cache. Jika iya, maka cache memory akan memberikan data tersebut kepada CPU.
Jika tidak, CPU harus mengambil data dari memori utama, menyimpannya di dalam
cache memory, dan memberikan data tersebut kepada CPU.
Perhitungan
cache memory dapat dilakukan dengan menggunakan formula untuk menghitung hit
rate atau tingkat kecocokan cache. Hit rate adalah persentase dari total
permintaan memori yang berhasil dilayani oleh cache memory. Hit rate dapat
dihitung dengan menggunakan rumus berikut:
Hit
rate = jumlah hit / (jumlah hit + jumlah miss)
Di
mana:
1. Jumlah hit adalah jumlah permintaan
data yang berhasil dilayani oleh cache memory
2. Jumlah miss adalah jumlah
permintaan data yang tidak berhasil dilayani oleh cache memory dan harus
diambil dari memori utama.
Studi
kasus dalam video tersebut melibatkan pengujian cache memory menggunakan
program sederhana yang melakukan iterasi terhadap array besar. Dalam pengujian
ini, cache memory diatur menggunakan beberapa jenis teknik mapping, yaitu
direct mapping, associative mapping, dan set-associative mapping. Setiap teknik
mapping memiliki cara kerja dan hit rate yang berbeda.
Dari
hasil pengujian, ditemukan bahwa set-associative mapping memberikan hit rate
yang paling tinggi, diikuti oleh associative mapping dan direct mapping. Namun,
set-associative mapping memiliki overhead yang lebih besar dibandingkan dengan
teknik mapping lainnya karena memerlukan lebih banyak memori untuk menyimpan
informasi tentang blok yang disimpan di cache memory.
A. A. Direct Mapping.
Video yang berjudul "Pengenalan Cache Memory - Direct Mapping" menjelaskan tentang cara kerja dan perhitungannya dalam studi kasus direct mapping pada cache memory dari
Direct mapping merupakan teknik mapping pada cache memory dimana setiap blok data pada memori utama dipetakan ke satu slot tertentu pada cache. Hal ini dilakukan dengan cara membagi memori utama menjadi beberapa blok dengan ukuran yang sama dan memetakan blok-blok tersebut ke slot-slot pada cache.
Cara kerja direct mapping pada cache memory adalah sebagai berikut:
1.
Ketika
CPU meminta data dari memori utama, cache memory akan mencari data tersebut
pada slot tertentu pada cache sesuai dengan alamat memori yang diminta.
2.
Jika
data tersebut sudah ada pada cache, maka data tersebut akan langsung diambil
dari cache. Hal ini disebut sebagai hit.
3. Jika data tersebut belum ada pada cache, maka cache akan mengambil data tersebut dari memori utama dan menyimpannya pada slot yang sesuai pada cache. Hal ini disebut sebagai miss.
Perhitungan pada direct mapping pada cache memory adalah sebagai berikut:
1.
Jumlah
slot pada cache = jumlah blok pada memori utama / jumlah slot pada cache
2.
Ukuran
blok pada cache = ukuran blok pada memori utama
3.
Ukuran
cache = jumlah slot pada cache x ukuran blok pada cache
Studi kasus yang dijelaskan dalam video adalah dengan menggunakan memori utama dengan ukuran 64 byte dan cache dengan ukuran 16 byte dan 4 slot. Dalam kasus ini, setiap blok pada memori utama dipetakan ke satu slot pada cache.
Dalam kasus tersebut, jika CPU
meminta data pada alamat 0x100, maka data tersebut akan dipetakan ke slot 0
pada cache. Jika CPU meminta data pada alamat 0x104, maka data tersebut akan
dipetakan ke slot 1 pada cache. Jika CPU meminta data pada alamat 0x120, maka
data tersebut akan dipetakan ke slot 0 pada cache.
B. B. Asociative Mapping.
Dari link video youtube https://youtu.be/uwnsMaH-iV0 dapat
diketahui bahwa;
Associative Mapping adalah teknik mapping
yang lebih kompleks dibandingkan dengan Direct Mapping. Setiap blok memori
utama dapat dipetakan ke semua slot cache memory yang tersedia. Kelebihan dari
Associative Mapping adalah kemungkinan conflict miss lebih kecil dibandingkan
dengan Direct Mapping. Namun, kelemahannya adalah kompleksitas perhitungan tag
yang digunakan untuk mencocokkan blok memori utama dengan slot cache memory.
Cara kerja associative mapping
adalah sebagai berikut:
1.
CPU
meminta untuk membaca data dari alamat memori tertentu.
2.
Cache
memeriksa setiap tag pada blok cache untuk mencari apakah tag tersebut cocok
dengan alamat memori yang diminta. Jika cocok, data yang sesuai dengan tag
tersebut akan dikirim ke CPU.
3.
Jika
tidak ada tag yang cocok, maka cache memeriksa apakah masih ada blok kosong di
cache. Jika ada, blok tersebut akan digunakan untuk menyimpan data yang diminta
dari memori fisik.
4.
Jika
tidak ada blok kosong, maka cache harus menentukan blok mana yang harus
diganti. Salah satu strategi yang umum digunakan adalah LRU (Least Recently
Used), di mana blok yang paling tidak sering digunakan akan diganti.
5.
Setelah
blok diganti, data dari alamat memori yang diminta akan dimuat ke dalam blok
yang baru dan tag yang sesuai akan dibuat.
Perhitungan dalam associative mapping melibatkan penghitungan jumlah blok yang dibutuhkan untuk cache dan jumlah tag yang dibutuhkan untuk setiap blok. Perhitungan untuk associative mapping tidak melibatkan rumus matematika yang kompleks seperti pada direct mapping dan set-associative mapping. Hal ini dikarenakan dalam associative mapping, setiap blok memori di-cache memiliki tag yang menyimpan alamat blok memori yang sesuai.
Contoh studi kasus:
Misalkan kita memiliki memori fisik dengan alamat 0 hingga 255. Cache yang digunakan adalah associative dengan ukuran 4 blok dan masing-masing blok berukuran 16 byte.
Jumlah blok cache yang dibutuhkan adalah 4, karena cache memiliki 4 blok. Setiap blok memiliki 16 byte, sehingga total ukuran cache adalah 4 x 16 byte = 64 byte.
Untuk setiap blok cache, tag akan dibuat untuk mengidentifikasi alamat memori fisik yang cocok dengan blok tersebut. Karena setiap blok dapat mengakses seluruh memori fisik, setiap tag akan memiliki ukuran yang sama dengan alamat memori fisik. Dalam contoh ini, setiap tag akan memiliki ukuran 8 bit karena alamat memori fisik memiliki 8 bit.
Dengan menggunakan associative
mapping, cache memungkinkan setiap blok dapat disimpan di mana saja dalam
cache. Namun, karena setiap blok membutuhkan tag, jumlah tag yang dibutuhkan
akan sama dengan jumlah blok. Dalam contoh ini, 4 tag diperlukan untuk
mengidentifikasi setiap blok cache.
C. C. Teknik Set Associative Mapping.
penjelasan secara lengkap seputar cara kerja dan perhitungannnya dalam sebuah studi kasus dari https://youtu.be/KhAh6thw_TI.
Set Associative Mapping merupakan kombinasi antara Direct Mapping dan Associative Mapping. Pada teknik ini, blok memori utama dapat disimpan pada sekelompok blok cache tertentu. Misalnya, jika cache memiliki 8 blok dan setiap grup terdiri dari 2 blok, maka blok memori utama dengan alamat 0-1 akan disimpan pada grup 0, blok memori utama dengan alamat 2-3 akan disimpan pada grup 1, dan seterusnya.
Associative mapping adalah teknik mapping dimana setiap blok memori dari main memory dapat disimpan di mana saja pada cache memory tanpa harus menempatkan secara khusus pada slot tertentu. Hal ini memungkinkan cache memory untuk lebih fleksibel dalam menempatkan blok memori.
Cara kerja associative mapping adalah sebagai berikut:
1.
Ketika
CPU meminta data dari main memory, cache controller akan mencari data tersebut
pada cache memory.
2.
Cache
controller akan memeriksa setiap tag (identifier) di cache memory untuk
menentukan apakah data yang diminta ada di cache atau tidak. Tag adalah identifier
unik yang disimpan pada setiap blok memori pada cache memory.
3.
Jika
data ditemukan, maka data tersebut akan disampaikan ke CPU. Namun jika tidak
ditemukan, maka cache controller akan membawa blok memori dari main memory ke
cache memory dan menyimpannya pada posisi mana saja pada cache memory.
4. Setelah blok memori disimpan, cache controller akan menandai tag blok memori tersebut sebagai valid, yang berarti bahwa blok tersebut tersimpan di cache memory.
Perhitungan Associative Mapping
Perhitungan pada associative mapping melibatkan tag, valid bit, dan offset. Berikut ini adalah rumus untuk perhitungan pada associative mapping:
1.
Tag
= Alamat memori / (Ukuran blok x Jumlah blok pada cache memory)
2.
Valid
bit = 1 (jika data tersimpan pada cache memory) atau 0 (jika tidak tersimpan)
3. Offset = Alamat memori mod Ukuran blok.
Contoh Kasus Associative Mapping
Sebagai contoh, misalkan kita memiliki cache memory dengan kapasitas 64KB, ukuran blok 8 byte, dan main memory dengan kapasitas 1MB. Berikut ini adalah perhitungan untuk associative mapping pada cache memory:
1.
Jumlah
blok pada cache memory = Kapasitas cache memory / Ukuran blok = 64KB / 8 byte =
8K blok
2.
Jumlah
tag bits = log2(Jumlah blok) = log2(8K) = 13 bits
3.
Valid
bit = 1 bit
4.
Offset
= log2(Ukuran blok) = log2(8) = 3 bits
5. Total bit untuk setiap blok pada cache memory = 13 + 1 + 3 = 17 bits
Jika kita ingin mengakses data pada alamat memori 0x123456, maka perhitungan tag, valid bit, dan offset adalah sebagai berikut:
1.
Tag
= 0x123456 / (8 byte x 8K blok) = 2
2.
Valid
bit = 1 (karena data belum pernah diakses sebelumnya)
3. Offset = 0x123456 mod 8 = 0x6
Dengan demikian, data pada alamat memori 0x123456 disimpan pada blok dengan tag 2, valid bit 1, dan offset 0x6 pada cache memory.
Kesimpulan
Berdasarkan penjelasan di atas, dapat disimpulkan bahwa teknik mapping associative adalah teknik mapping di mana data dapat disimpan di lokasi mana saja dalam cache memory. Oleh karena itu, teknik ini memiliki kecepatan akses yang lebih tinggi daripada teknik mapping direct dan set associative.
Pada teknik mapping associative, setiap blok memori memiliki tag yang digunakan untuk mengidentifikasi blok memori. Ketika cache memory menerima permintaan akses memori, ia membandingkan tag dengan tag di setiap blok memori untuk menentukan apakah data yang diminta sudah tersedia dalam cache. Jika ya, data akan diambil langsung dari cache, jika tidak, cache akan meminta data dari memori utama dan menyimpannya di cache untuk digunakan di masa depan.
Dalam hal perhitungan, teknik mapping associative membutuhkan lebih sedikit perhitungan daripada teknik mapping set associative. Namun, teknik ini juga memerlukan penggunaan memori yang lebih besar karena setiap blok memori membutuhkan tag.
Dalam studi kasus yang dibahas
dalam video, penggunaan teknik mapping associative pada cache memory dapat
meningkatkan kinerja sistem secara signifikan, terutama pada aplikasi yang
memerlukan akses memori yang cepat dan sering. Namun, penggunaan teknik ini
juga memerlukan investasi dalam kapasitas cache yang lebih besar dan
membutuhkan perhatian yang lebih untuk memastikan penggunaan memori yang
efisien.
.png)
Komentar
Posting Komentar