Organisasi Cache
Dalam mendesain sistem cache, yang pertama kali perlu diperhatikan
adalah masalah penempatan suatu blok data/instruksi dari memori utama ke
baris-baris cache. Berkaitan dengan
masalah itu, ada tiga macam organisasi cache yakni organisasi cache yang dipetakan langsung (direct-mapped), asosiatif penuh (fully associative), dan asosiatif-kelompok ( set-associative).
masalah itu, ada tiga macam organisasi cache yakni organisasi cache yang dipetakan langsung (direct-mapped), asosiatif penuh (fully associative), dan asosiatif-kelompok ( set-associative).
Cache Asosiatif
Disebut juga Fully Associative Cache.
- Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional.
- Cache dapat menempatkan sembarang jalur refill selama akses memori.
- Membandingkan alamat yang ada dengan semua alamat yang disimpan.
Dalam rancangan cache asosiatif-penuh :(detail)
• Suatu blok data dapat ditempatkan pada baris cache manapun.
• Alamat dibagi menjadi dua bagian yakni bit rendah dan bit tinggi.
• Bit rendah membentuk offset di dalam baris cache, sedangkan bit tinggi membentuk tag untuk dicocokkan dengan rujukan.
• Cache asosiatif-penuh harus punya mekanisme untuk menentukan ke dalam baris mana blok ditempatkan.
• Blok dapat ditempatkan dalam baris manapun yang kosong. Bila semua baris cache penuh harus ditentukan blok mana yang dikeluarkan dari cache.
• Digunakan prinsip LRU (least recently used) yakni blok yang paling lama tidak dipakai dikeluarkan dari cache.
• Cukup mahal mengimplementasikannya.
• Resiko : memperbanyak implementasi rangkaian hardware untuk membandingkan tag thadap semua baris cache.
Direct Mapped Cache (Cache yang dipetakan langsung)
Membagi memory utama menjadi K kolom dengan N refill line per kolomnya.
Operasi Pembacaan Cache secara Direct :
- memetakan masing-masing blok memori utama hanya ke sebuah saluran cache saja.
- Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat.
- Untuk mengakses cache, setiap alamat memori utama dianggap terdiri dari tiga field.
Organisasi cache yang dipetakan langsung : (detail)
• menyimpan satu tag perbaris dalam larik tag-nya
• Selama pengaksesan memori, cache menggunakan bit-bit tengah alamat sebagai indeks ke larik tagnya.
• Tag dicocokkan dengan 16-bit teratas dari alamat memori yang diakses.
• Jika cocok, data yang ditunjukan oleh nilai offset akan dikirim ke prosesor. Bila tidak cocok, isi baris cache diganti dengan blok yang diperlukan, dari memori utama.
• Hanya memerlukan satu kali pembandingan untuk setiap akses ke cache.
• Cocok untuk sistem komputer yang memerlukan frekuensi detak tinggi
Set Cache Asosiatif
- Mengkombinasikan organisasi asosiatif dan direct (langsung).
- Mengorganisir memori utama dan memorinya sendiri menjadi kolom jalur refil N.
- Cache dibagi menjadi beberapa set/himpunan
- Setiap himpunan terdiri dr sejumlah jalur
- Sebuah blok yang diberikan memetakan ke jalur manapun dalam himpunan yang diberikan
(Misal Block B dapat berada di jalur manapundalam himpuan i)
- Misal 2 jalur per himpunan
2 cara pemetaan asosiatif
- Sebuah blok yang diberikan dapat pada salah satu dari 2 jalur dalam sebuah himpunan saja
Sector Mapped Cache (Cache yang dipetakan sector)
- Merupakan modifikasi dari cache asosiatif.
-Jalur refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris).
maksud dari bit tinggi dan bit rendah pada cache asosiatif penuh apa ya??