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.
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.
- Mudah dan Murah diimplementasikan
- Mudah untuk menentukan letak salinan data main memory pada chace.
- 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.

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.

- lines dalam SRAM
- tag dalam associative memory

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

- 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
Posting Komentar