MAPPING (PEMETAAN)
Saluran
cache lebih sedikit dibandingkan dengan blok memori utama sehingga diperlukan
algoritma untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain
itu, diperlukan juga alat untuk menentukan blok memori utama mana yang sedang
memakai saluran cache. Pemilihan fungsi pemetaan akan menentukan bentuk
organisasi cache. Terdapat tiga metode yang digunakan, tetapi pada saat ini saya
hanya akan membahas satu saja yaitu :
“Pemetaan Langsung (Direct Mapping”)
- Pemetaan langsung adalah teknik yang
paling sederhana, yaitu teknik ini memetakan blok memori utama hanya ke
sebuah 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 blok yang di map ke line yang sama
secara berulang-ulang, maka cache-miss sangat tinggi). Setiap blok pada main memory
dipetakan dengan line tertentu pada cache.di mana i adalah nomor line pada
cache yang digunakan untuk meletakkan blok main memory ke-j.
Maka :
i = j modulo
C
- Jika M = 64 dan C = 4, maka pemetaan antara line
dengan blok menjadi seperti berikut :
- Line 0 can hold blocks 0, 4, 8, 12, …
- Line 1 can hold blocks 1, 5, 9, 13, …
- Line 2 can hold blocks 2, 6, 10, 14, …
- Line 3 can hold blocks 3, 7, 11, 15, …
- Pada cara ini, address pada main memory dibagi 3
field atau bagian, yaitu:
- Tag identifier.
- Line number identifier
- Word identifier (offset)
- 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.
- 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 tersebut.
Keuntungan Menggunakan Direct Mapping
antara lain :
o
Mudah
dan Murah diimplementasikan
o
Mudah
untuk menentukan letak salinan data main memory pada chace.
Kerugian menggunakan Direct Mapping antara
lain :
o
Setiap
blok main memory hanya dipetakan pada 1 line
saja.
o
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 ditemukannya data pada cache
dengan jumlah usaha mengakses cache.
Ringkasan direct mapping nampak pada tabel berikut:
Item
|
Keterangan
|
Panjang
alamat
|
(s+w)
bits
|
Jumlah
unit yang dapat dialamati
|
2s+w
words or bytes
|
Ukuran
Bloks sama dengan ukuran Line
|
2w
words or bytes
|
Jumlah
blok memori utama
|
2s+
w/2w = 2s
|
Jumlah
line di chace
|
M =
2r
|
Besarnya
tag
|
(s -
r) bits
|
Tidak ada komentar:
Posting Komentar