set associative mapping

22
Set Associative Mapping Set Associative Mapping Disusun Oleh : 1.NURHALIM - 1211600075 2.FIKIH - 1211600083 3.IKA NUR’AINI - 1211600091

Transcript of set associative mapping

Page 1: set associative mapping

Set Associative MappingSet Associative Mapping

Disusun Oleh :

1.NURHALIM - 12116000752.FIKIH - 12116000833.IKA NUR’AINI - 1211600091

Page 2: set associative mapping

Set Associative Mapping• Merupakan kompromi antara Direct dengan

Full Associative Mapping.• Membagi cache menjadi sejumlah set (v) yang

masing-masing memiliki sejumlah line (k)• Jika sebuah set dapat menampung X line,

maka cache disebut memiliki Xway set associative cache.

• Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-way set associative mapping.

Page 3: 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 SS = jumlah set yang diinginkan ada di cachei = jumlah block main memorys = jumlah set yang ada berdasarkan i

• Prosesor meminta data ke cache dengan format

Tag set word

Page 4: set associative mapping

• 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.

Page 5: set associative mapping

Direct Mapping Set0

1

2

3

Set 0 Set 1

Set 3 Set 2

Set Assosiative Mapping

Page 6: set associative mapping

Contoh Kondisi Mengakses

Page 7: set associative mapping

• 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¬¬24 K = 16 bitstag = 28 – ( 4 + 16 ) = 8 bitbit untuk ram = log2 128MB = 28 bit = 4+16+28

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 ).

Page 8: set associative mapping

• Untuk mencari nilai fieldWord = log2 B, B adalah ukuran blok dalam satuan wordSet = log2 S, S adalah jumlah set dalam cache

• Catatan :Harus diingat, total jumlah bit yang dihitung berdasarkan 3 rumus diatas (Word, set, tag) harus di tambah ke dalam panjang alamat main memory. Bisa digunakan untuk mengecek kesalahan dalam perhitungan kita.

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

Page 9: set associative mapping

• Main memory address Tag Set Word 8 16 4

• 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.

Page 10: set associative mapping

Gambar Organisasi K-Way Set Associative Mapping.

Page 11: set associative mapping

Gambar Organisasi K-Way Set Associative Mapping.

Besaran Tagnya

Jumlah Line F0..Fk-1

Jumlah Set Set0 ... SetN

• Panjang Alamat • Jumlah

unit yang diamati

•Ukuran Blok• Jumlah

Blok

• Jika Tagnya Berbeda

• Jika Tagnya SamaMen

coco

kkan

Blo

k ya

ng a

da d

gn y

ang

dipi

lih

Ketika sebuah blok baru dibawa ke dalam cache maka salah satu blok yang ada harus digantikan

Page 12: set associative mapping

Studi Kasus : Jika diketahui sebuah sistem komputer dengan Main Memory = 16 MB , dilengkapi dengan Cache = 64 KB , 1 Block Data = 4 byteDitanyakan: Struktur Address Set Associative MappingSolusi: 16 MB memory memiliki total address sebanyak 224 = 16.777.216 (a) TOTAL field = 24 bit (16 M = 224)(b) WORD field = 2 bit ( 1 block = 4 = 22 )(c) TAG field = 9 bit (16 M / 32 k = 512= 29)(d) SET field = (24–2–9)=13 bit

24 bit 9 bit 13 bit 2 bit

Tag Set Word

Page 13: set associative mapping

Hasil : Set Associative Mapping

Page 14: set associative mapping

16 Mbyte Main MemoryGambar Contoh Pengalamatan 2-Way Associative Mapping.

Page 15: set associative mapping

Contoh :

• Memory =16MB alamat =24bit• Blok = 4 B 22 jadi lebar word 2bit• Cache = 64 KB = 8 K terdapat 13bit • Data masuk = 339C• Dengan two-way set data masuk

pada alamat 0CE7 dengan tag=02C, set=0CE7 dan word=0

Page 16: set associative mapping

16 Mbyte Main Memory

Tag Set Word9 13 2

Page 17: set associative mapping

Algoritma Pengganti

Ketika sebuah blok baru dibawa ke dalam cache maka salah satu blok yang ada harus digantikan.

Untuk direct mapping hanya terdapat satu kemungkinan baris bagi sembarang blok

Untuk teknik assosiatif dan set assosistif diperlukan algortima pengganti

Page 18: set associative mapping

Untuk mencapai kecepatan tinggi algoritma harus diterapkan dalam perangkat keras dengan cara :Least Recently used (LRU)

mengganti blok yang berada dalam set yang telah berada paling lama dalam cache

Keuntungan : Mengambil lokalitas ke rekeningKerugian : jumlah blok u/ melacak meningkat menjadi lebih mahal, sulit u/ pelaksanaan,

lambatFirst in first out (FIFO)

Mengganti blok dalam set yang telah berada pada cache terpanjang

Menjadi rumit u/ menghitung dengan menentukan blok tertua

Page 19: set associative mapping

Least frequently usedMengganti blok dalam set yang telah berada dalam set yang mengalami acuan sedikit.

Acak

Menyebarkan alokasi seragam, blok kandidat dipilih secara acak.

Keuntungan :

Sederhana untuk menerapkan di hardware

Kerugian :

Mengabaikan locality principle

Page 20: set associative mapping

Keuntungan menggunakan Set Associative Mapping antara lain:•Setiap blok memori dapat menempati lebih dari satu kemungkinan nomorline (dapat menggunakan line yang kosong), sehingga thrashing dapatdiperkecil•Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur untukmelakukan perbandingan tag lebih sederhana.

Page 21: set associative mapping

Ringkasan set associative mapping nampak pada tabel berikut:

Item

Panjang alamat

Jumlah unit yang dapat dialamat i

Ukuran Blok sama dengan ukuran Line

Jumlah blok di memory utama

Jumlah l ine dalam set

Jumlah set

Jumlah l ine di cache

Besarnya tag

Keterangan(s+w) bits

s+w words or bytes

2w words or bytes

2d

k

V = 2d

Kv = k*2d

(s-d) bitsTabel Tabel Set Associative MappingSet Associative Mapping

Page 22: set associative mapping

S E K I A NS E K I A N