230 likes | 603 Views
Set Associative Mapping. Disusun Oleh : NURHALIM FIKIH IKA NUR’AINI. Set Associative Mapping Merupakan kompromi antara Direct dengan Full Associative Mapping. Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki sejumlah line (k)
E N D
Set Associative Mapping Disusun Oleh : NURHALIM FIKIH IKA NUR’AINI
Set Associative Mapping • MerupakankompromiantaraDirect dengan Full Associative Mapping. • Membagi cache menjadisejumlah set (v) yang masing-masingmemilikisejumlah line (k) • Setiapblokdapatdiletakkandi sembarang line dengannomor set = j modulo v • Jikasebuah set dapatmenampung X line, maka cache disebutmemilikiXwayset associative cache. • Hampirsemuacache yang digunakansaatinimenggunakanorganisasi 2 atau4-way set associative mapping.
Ketika alamat dipetakan untuk mengatur, skema pemetaan langsung digunakan, dan kemudian pemetaan asosiatif digunakan dalam set • Format untuk alamat 13 bit di bidang yang ditetapkan, • Identifikasi set dituju akan ditemukan jika berada dalam cache, • Ada 5bit untuk bidang Kata, ada 14bit bidang tag, 32bit sisanya dari alamat
Set digunakanuntukmemberikanidentitasunikke set yang di cache yang menampung block yang dimintaolehprosesor. • Tag digunakanuntukmemberikanidentitasunikdari block yang dimintaberdasarkan set yang ditentukan. • Word digunakanuntukmemberikanidentitaspadaelemen (word) dalam block yang dimintaolehprosesor.
Set Associative Mapping • Cache dibagikedalambeberapajumlah set • Tiap set memilikibeberapajumlah block • Block main memory dipetakankedalam set di cache denganrumuss = i mod SS = jumlah set yang diinginkanadadi cachei = jumlah block main memorys = jumlah set yang adaberdasarkani • Prosesormeminta data ke cache dengan format
Untukmencarinilai field Word = log2 B, B adalahukuranblokdalamsatuan wordSet = log2 S, S adalahjumlah set dalam cache • Catatan : Harusdiingat, total jumlah bit yang dihitungberdasarkan 3 rumusdiatasharusditambahkedalampanjangalamat main memory. Bisadigunakanuntukmengecekkesalahandalamperhitungankita. Contohsoal: Hitung3 paramater ( word, set, dan tag ) untuk system memoridenganspesifikasi: • ukuranmain memory = 128 MB • ukurandari cache = 256 KB • ukuranblock cache = 16 B
Diasumsikanmenggunakan 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 bitstag = 28 – ( 4 + 16 ) = 8 bitbit untuk ram = log2 128MB = 28 bit Berdasarkan data diatas, sekarangmembuatilustrasidalam memory. • Gunakanset ( 16 bits ) untukmenentukan ( secaralangsung ) ke set yang dituju ( salahsatudari 32 set yang ada ).
Main memory addressTag Set Word8 16 4 • Gunakan tag untukmencocokkan block yang dimintadengan block yang adadi cache sesuaidengan set yang sudahdipilih. Jikaada tag yang sama, berarti cache hit, sebaliknya cache miss. • Dari 16 word (element) yang adadi cache block yang hit, word yang dimintadipilihberdasarkan selector yang dibantuoleh word field.
CONTOH : Address = 32 bit Cache = 32 KB Lines = 64 byte Number of Lines 32 KB / 64 = 512 4 Way Set Assosiative Mapping Number of sets = 512/ 4 = 128 Set bits = log2 (128) = 7
Misal 2 WaySetAssosiative cache Mapping yaitu baris cache 2 per set 16K ke set 2 karenanya ada 8K ( 214/2 = 213 ) set dalam memori cache CacheSize = (NumberofSet)* (SizeofEachset)*(Cache Linesize) 219=(jumlahSet)*2*25 JumlahSet = 219/(2*25) = 213 Misal Main Memory = 4GB (232 ) Setiap byte di alamatkan oleh alamat 32 bit Setiap blok 32 byte ( 25) Jadi Ada 128M (232 / 25 ) = 227 blok dalam memori Memori Cache 512KB (219) Blok dari masing 2 32 byte (25) Jadi ada 16K yaitu (219/25=214)
16 Mbyte Main Memory GambarContohPengalamatan 2-Way Associative Mapping.
Contoh : • Memory =16MB alamat =24bit • Blok = 4 B 22 jadi lebar word 2bit • Cache = 64 KB = 8 K terdapat 13bit • Data masuk = 16339C • Dengan two-way set data masuk pada alamat 0CE7 dengan tag=02C, set=0CE7 dan word=0
AlgoritmaPengganti • Ketikasebuahblokbarudibawakedalam cache makasalahsatublok yang adaharusdigantikan. • Untuk direct mapping hanyaterdapatsatukemungkinanbarisbagisembarangblok • Untukteknikassosiatifdan set assosistifdiperlukanalgortimapengganti
Untukmencapaikecepatantinggialgoritmaharusditerapkandalamperangkatkeras dengan cara : • Least Recently used (LRU) menggantiblokyangberadadalam set yang telahberada paling lama dalamcache Keuntungan : Mengambil lokalitas ke rekening Kerugian : jumlah blok u/ melacak meningkat menjadi lebih mahal, sulit u/ pelaksanaan, lambat • First in first out (FIFO) Menggantiblokdalam set yang telahberadapadacacheterpanjang Menjadi rumit u/ menghitung dengan menentukan blok tertua
Least frequently usedMenggantiblokdalam set yang telahberadadalam setyang mengalamiacuansedikit. • Acak Menyebarkan alokasi seragam, blok kandidat dipilih secara acak. Keuntungan : Sederhana untuk menerapkan di hardware Kerugian : mengabaikan locality principle
KeuntunganmenggunakanSet Associative Mapping antara lain: • Setiap blok memori dapat menempati lebih dari satu kemungkinan nomorline (dapatmenggunakan line yang kosong), sehingga thrashing dapatdiperkecil • Jumlah tag lebihsedikit (dibanding model associative), sehinggajaluruntukmelakukan perbandingan tag lebih sederhana.
Ringkasanset associative mapping nampakpadatabelberikut: TabelSet Associative Mapping