Pemetaan atau Mapping Cache Memory

 

Nama : Noviasari Dwi Rahmadanti

NBI : 1461900295

Mata Kuliah : Arsitektur dan Organisasi Komputer 

Kelas : S

Cache memory dirancang secara umum untuk meningkatkan kinerja suatu sistem komputer. Secara logika cache memory berada diantara prosessor dan memory utama yang bertujuan untuk menyediakan data atau instruksi yang akan diolah oleh prosessor. Cache memory adalah memori berukuran kecil, buffer memori berkecepatan tinggi yang digunakan komputer untuk menampung sebagian isi memori utama yang sedang digunakan [Smith, 1982].Cache memory memiliki dua jenis pengalamatan yaitu secara fisik dan secara virtual. Pengalamatan secara fisik adalah ketika sebuah cache diakses dengan sebuah alamat fisik memory.






Penyimpanan dan pemetaan atau mapping pada sistem memori utama dan sistem cache memory berbeda, pada memory utama berbentuk word block dan cache memory berbentuk block –block atau lines.


 Apabila blok berukuran besar ditransfer ke cache, maka akan terjadi: 

1.     Blok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache. Karena setiap pengambilan blok menumpangkan isi cache yang lama, maka sejumlah kecil blok akan menyebabkan data menjadi tertumpangkan setelah blok itu diambil.

2.     Dengan meningkatnya ukuran blok maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya digunakan dengan cepat.

Dalam tahapan selanjutnya terdapat virtual memory yang didalamnya terdapat juga virtual address yang berfungsi mengatur alokasi dari cache antara MMU dan prosesor. Untuk tujuan membaca dan menulis dari memory utama MMU menerjemahkan dari virtual address ke pysihal address didalam memory utama.

Logical cache yang disebut juga virtual cache menyimpan data menggunakan virtual address. Prosesor mengakses cache memory lansung tanpa melewati MMU. Keuntungan logical cache adalah lebih cepat daripada pysikal address, cache logical dapat merespon tanpa melewati MMU

Terdapat tiga metode yang digunakan yaitu: 

1. Pemetaan Langsung (Direct Mapping)

Pemetaan ini memetakan masing-masing blok memori utama hanya ke satu saluran cache saja. Jika suatu block ada di cache, maka tempatnya sudah tertentu. Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat. Cache diakses dengan menggunakan alamat memori utama dianggap terdiri tiga field yaitu tag, line, dan word. Keuntungan dari direct mapping adalah sederhana dan murah. Sedangkan kekurangannya yang utama adalah terdapat lokasi cache yang tetap bagi sembarang blok-blok yang diketahui, kerugian lainnya adalah suatu blok memiliki lokasi yang tetap (Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sangat tinggi).

Contoh pemetaan direct mapping:

Persamaan blok nomor pengaksesan alamat adalah 000000, 010000,FF0000…. Mempunyai tag number00,01,FF……yang mempunyai nomor secara langsung masing-masing. 

Keuntungan Menggunakan Direct Mapping antara lain :
  •  Mudah dan Murah diimplementasikan
  •  Mudah untuk menentukan letak salinan data main memory pada chace.


Kerugian menggunakan Direct Mapping antara lain :
  •  Setiap blok main memory hanya dipetakan pada 1 line saja.
  • Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses blok yang dipetakan pada line yang sama pada cache. Blok seperti ini akan menyebabkan seringnya sapu masuk dan keluar data ke/dari cache, sehingga hit ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukannya data pada cache dengan jumlah usaha mengakses cache.



Contoh Pengalamatan Direct Mapping

2. Pemetaan Asosiatif (Associative Mapping)

Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika blok baru dibaca ke dalam cache. Kekurangan pemetaan asosiatif yang utama adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara paralel, sehingga pencarian data di cache menjadi lama.  Mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dalam hal ini, cache control logic menginterpretasikan alamat memori hanya sebagai sebuah field tag dan field word. Field tag secara unik mengidentifikasi suatu blok memori utama. Untuk menentukan apakah suatu blok berada di dalam cache, maka cache control logic harus secara simultan memeriksa setiap tag saluran yang sesuai. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika sebuah blok di baca ke dalam cache. Kekurangan pemetaan ini adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara parallel.

  • Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.
  • Diharapkan akan mengatasi kelemahan utama Direct Mapping.
  • Harus menguji setiap cache untuk menemukan blok yang diinginkan.
  • Mengecek setiap tag pada line
  • Sangat lambat untuk cache berukuran besar.
  • Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja, yaitu tag dan word offset.


Organisasi Associative Mapping
Gambar Organisasi Associative Mapping.
 Melakukan pencarian ke semua tag untuk menemukan blok.
 Cache dibagi menjadi 2 bagian :
  •    lines dalam SRAM
  •    tag dalam associative memory



Contoh Pengalamatan Associative Mapping
 Gambar Contoh Pengalamatan Associative Mapping


Keuntungan Associative Mapping : Cepat dan fleksibel.
Kerugian Associative Mapping : Biaya Implementasi, misalnya untuk cache ukuran 8 kbyte dibutuhkan 1024 x 17 bit associative memory untuk menyimpan tag identifier.

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



             Organisasi K-Way Set Associative Mapping              
 Gambar Organisasi K-Way Set Associative Mapping.

  •  Jika sebuah set dapat menampung X line, maka cache disebut memiliki X way set associative cache.
  • Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-way set associative mapping.



Contoh Pengalamatan 2-Way Associative Mapping
 Gambar Contoh Pengalamatan 2-Way Associative Mapping.

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

Komentar