Set Associative Mapping

Set-Associative Mapping


- cache dibagi kedalam beberapa jumlah set

- tiap set memiliki beberapa jumlah block


block main memory dipetakan ke dalam set di cache dengan rumus


s = i mod S


S = jumlah set yang diinginkan ada di cache

i = jumlah block main memory


s = jumlah set yang ada berdasarkan i


prosesor meminta data ke cache dengan format

———————————————————

Tag            |                                      set                                         | word


———————————————————


- Set digunakan untuk memberikan identitas unik ke set yang di cache yang menampung block yang diminta oleh prosesor.

- Tag digunakan untuk memberikan identitas unik dari block yang diminta berdasarkan set yang ditentukan.

- Word digunakan untuk memberikan identitas pada elemen (word) dalam block yang diminta oleh prosesor.


Untuk mencari nilai field


Word = log2 B, B adalah ukuran blok dalam satuan word

Set = log2 S, S adalah jumlah set dalam cache


Catatan :

Harus diingat, total jumlah bit yang dihitung berdasarkan 3 rumus diatas harus di tambah ke dalam panjang alamat main memory. Bisa digunakan untuk mengecek kesalahan dalam perhitungan kita.



Intinya di sini!!!!

Contoh soal :

Hitung 3 paramater ( word, set, dan tag ) untuk system memori dengan spesifikasi :

- ukuran main memory = 128 MB

- ukuran dari cache = 256 KB

- ukuran block cache = 16 B

diasumsikan menggunakan set-associative mapping dengan 4 block per set nya.

S =

- word = log¬¬2 B = log¬¬2 16 = log¬¬2 24 = 4 bits


- set = log¬¬2 64K = 16 bits

- tag = 28 – ( 4 + 16 ) = 8 bit

- bit untuk ram = log2 128MB = 28 bit


Berdasarkan data di atas, sekarang membuat ilustrasi dalam memory.


- Gunakan set ( 16 bits ) untuk menentukan ( secara langsung ) ke set yang di tuju ( salah satu dari 32 set yang ada ).


Main memory address

Tag        Set           Word


8          16              4


set associative Set Associative Mapping

- Gunakan tag untuk mencocokkan block yang diminta dengan block yang ada di cache sesuai dengan set yang sudah dipilih. Jika ada tag yang sama, berarti cache hit, sebaliknya cache miss.


- Dari 16 word ( element ) yang ada di cache block yang hit, word yang diminta dipilih berdasarkan selector yang dibantu oleh word field.