Jawaban :
Mapping Memory
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. Ada tiga metode yang digunakan yaitu :
1. Pemetaan Langsung (Direct Mapping) adalah teknik paling sederhana, yaitu teknik ini memtakan 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. Penjelasan lebih detail :
- Pada cara ini, address pada main memory dibagi 3 field atau bagian, yaitu:
- Tag
identifier = disimpan pada cache bersama
dengan blok pada line.
- Line
number identifier = berisi informasi tentang nomor
fisik (bukan logika) line pada chace.
- Word identifier (offset) = berisi
informasi tentang lokasi word atau unit addressable lainnya dalam line
tertentu pada cache.
- Untuk setiap alamat memory yang dibuat oleh CPU, line tertentu yang menyimpan copy alamat tsb 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 line tsb.
Gambar Organisasi Direct Mapping
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
|
2. Pemetaan Asosiatif (Associative Mapping)
Pemetaan asosiatif mengatasi
kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama
untuk dimuatkan ke sembarang saluran cache. Kekurangan pemetaan asosiatif yang utama adalah kompleksitas rangkaian yang
diperlukan untuk menguji tag seluruh saluran cache secara parallel, sehingga
pencarian data di cache menjadi lama.
- Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.
- Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja, yaitu tag dan word offset.
-
Harus menguji setiap cache untuk
menemukan blok yang diinginkan.
Mengecek setiap tag pada line, Sangat lambat untuk cache berukuran besar.
Gambar Organisasi Associative Mapping.Ringkasan Associative Mapping nampak pada tabel berikut:ItemKeteranganPanjang alamat(s+w) bitsJumlah unit yang dapat dialamati2s+w words or bytesUkuran Bloks sama dengan ukuran Line2w words or bytesJumlah blok memori utama2s+ w/2w = 2sJumlah line di chaceUndeterminedBesarnya tags bits
3. Pemetaan Asosiatif Set (Set Associative Mapping)
Pada pemetaan ini, cache dibagi
dalam sejumlah sets. Setiap set berisi sejumlah line. Pemetaan asosiatif set memanfaatkan
kelebihan-kelebihan pendekatan pemetaan langsung dan pemetaan asosiatif.
- 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.
Gambar
Organisasi K-Way Set Associative Mapping.
Ringkasan Set Associative 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
|
2d
|
Jumlah line dalam set
|
k
|
Jumlah set
|
V=2d
|
Jumlah line di chace
|
Kv = k*2d
|
Besarnya tag
|
( s – d )bits
|