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 yaitu :
1. 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).
Berikut penjelasan lebih detail :
§ Setiap blok pada main memory dipetakan dengan line tertentu pada cache. i = j modulo C di mana i adalah nomor line pada cache yang digunakan untuk meletakkan blok main memory ke-j.
§ 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:
o Tag identifier.
o Line number identifier
o Word identifier (offset)
§ Word identifier berisi informasi tentang lokasi word atau unitaddressable lainnya dalam line tertentu pada cache.
§ Line identifier berisi informasi tentang nomor fisik (bukan logika) line pada chace
§ Tag identifier disimpan pada cache bersama dengan blok pada line.
o 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.
o Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang dimaksud ada line tsb.
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 yaitu :
1. 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).
Berikut penjelasan lebih detail :
§ Setiap blok pada main memory dipetakan dengan line tertentu pada cache. i = j modulo C di mana i adalah nomor line pada cache yang digunakan untuk meletakkan blok main memory ke-j.
§ 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:
o Tag identifier.
o Line number identifier
o Word identifier (offset)
§ Word identifier berisi informasi tentang lokasi word atau unitaddressable lainnya dalam line tertentu pada cache.
§ Line identifier berisi informasi tentang nomor fisik (bukan logika) line pada chace
§ Tag identifier disimpan pada cache bersama dengan blok pada line.
o 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.
o Tag yang ada pada line akan dicek untuk melihat apakah benar blok yang dimaksud ada line tsb.