Penjelasan Cache Memory
Cache Memory adalah memory yang berukuran kecil
yang sifatnya temporary (sementara). Walaupun ukuran filenya sangat kecil namun
kecepatannya sangat tinggi. Dalam terminologi hadware, istilah ini biasanya
merujuk pada memory berkecepatan tinggi yang menjembatani aliran data antara
processor dengan memory utama (RAM) yang biasanya memiliki kecepatan yang lebih
rendah.
Fungsi dari Cache Memory adalah sebagai tempat
menyimpan data sementara atau intruksi yang diperlukan oleh processor.
Secara gampangnya, cache berfungsi untuk mempercepat akses data pada komputer
karena cache menyimpan data atau informasi yang telah di akses oleh suatu
buffer, sehingga meringankan kerja processor.
Jadi Bisa disimpulkan fungsi cache memory
yaitu:
- Mempercepat Akses data pada komputer
- Meringankan kerja prosessor
- Menjembatani perbedaan kecepatan antara cpu dan memory utama.
- Mempercepat kinerja memory.
Prinsip dan elemen cache memory
Prinsip kerja
Cache berisi salinan sebagian isi memori utama. Pada saat CPU membaca
sebuah word memory, maka dilakukan pemeriksaan untuk mengetahui apakah
word tersebut berada di cache. Jika word memori terdapat di cache, maka akan
dikirimkan ke CPU yang dikenal sebagai proses HIT. Sedangkan bila tidak ada,
maka blok memori utama yang terdiri dari sejumlah word tetap akan diletakan/dicopikan
di cache yang dikenal sebagai proses MISS dan selanjutnya dikirimkan ke CPU.
Elemen-elemen rancangan cache :
• Ukuran cache
Ukuran cache disesuaikan kebutuhannya dalam membantu kerja memori utama. Semakin besar ukuran cache, maka semakin besar jumlah gerbang (gate) yang terdapat pada pengalamatan cache, akibatnya adalah cache yang berukuran besar cenderung untuk lebih lambat dibanding dengan cache berukuran kecil. Berdasarkan penelitian ukuran cache antara 1K sampal 512K word akan lebih optimum dalam membantu kerja memori utama.
• Fungsi pemetaan (mapping)
Saluran cache lebih sedikit jumlahnya dibandingkan saluran blok memori utama sehingga perlu algoritma untuk pemetaan blok-blok memori ke dalam saluran cache dan perlu juga alat untuk menentukan blok memori utama yang sedang memakai saluran cache. Pemilihan fungsi pemetaan seperti langsung, asosiatif dan asosiatif set akan menentukan bentuk organisasi cache.
• Pemetaan langsung.
Teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat. Cache diakses dengan menggunakan alamat memori utama dianggap terdiri tiga field yaitu tag, line, dan word. Kekurangannya yang utama adalah terdapat lokasi cache yang tetap bagi sembarang blok-blok yang diketahui. Dengan demikian, apabila suatu program berulang-ulang melakukan word referensi dari dua blok yang berbeda memetakan ke saluran yang sama, maka blok-blok itu secara terus menerus akan di-swap ke dalam cache, akibatnya hit ratio-nya akan rendah.
• Pemetaan asosiatif
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 paralel.
• Ukuran cache
Ukuran cache disesuaikan kebutuhannya dalam membantu kerja memori utama. Semakin besar ukuran cache, maka semakin besar jumlah gerbang (gate) yang terdapat pada pengalamatan cache, akibatnya adalah cache yang berukuran besar cenderung untuk lebih lambat dibanding dengan cache berukuran kecil. Berdasarkan penelitian ukuran cache antara 1K sampal 512K word akan lebih optimum dalam membantu kerja memori utama.
• Fungsi pemetaan (mapping)
Saluran cache lebih sedikit jumlahnya dibandingkan saluran blok memori utama sehingga perlu algoritma untuk pemetaan blok-blok memori ke dalam saluran cache dan perlu juga alat untuk menentukan blok memori utama yang sedang memakai saluran cache. Pemilihan fungsi pemetaan seperti langsung, asosiatif dan asosiatif set akan menentukan bentuk organisasi cache.
• Pemetaan langsung.
Teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat. Cache diakses dengan menggunakan alamat memori utama dianggap terdiri tiga field yaitu tag, line, dan word. Kekurangannya yang utama adalah terdapat lokasi cache yang tetap bagi sembarang blok-blok yang diketahui. Dengan demikian, apabila suatu program berulang-ulang melakukan word referensi dari dua blok yang berbeda memetakan ke saluran yang sama, maka blok-blok itu secara terus menerus akan di-swap ke dalam cache, akibatnya hit ratio-nya akan rendah.
• Pemetaan asosiatif
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 paralel.
Organisasi
Cache Memory pada Pentium dan Power PC
ORGANISASI
CACHE PENTIUM
A. Evolusi organisasi e’ dilihat jelas pada e’
1. Evolusi microprosesor Intel 80386 e’ tidak memiliki on-chip.
2. Cache 80486 menggunakan on-chip cache tunggal 8 byte dengan memakai saluran berukuran 16 byte.
3. Organisasi asosiatif set 4 pentium menggunakannya 2 on-chip cache.
4. Data cache -> operasi integer maupun floating point.
5. Data cache -> dua port dan menggunakan write-back policy.
B. Gambar Struktur Cache Data Internal Pentium [ANDE93]
A. Evolusi organisasi e’ dilihat jelas pada e’
1. Evolusi microprosesor Intel 80386 e’ tidak memiliki on-chip.
2. Cache 80486 menggunakan on-chip cache tunggal 8 byte dengan memakai saluran berukuran 16 byte.
3. Organisasi asosiatif set 4 pentium menggunakannya 2 on-chip cache.
4. Data cache -> operasi integer maupun floating point.
5. Data cache -> dua port dan menggunakan write-back policy.
B. Gambar Struktur Cache Data Internal Pentium [ANDE93]
Konsistensi
Data Cache
•Data cache mendukung protokol -> yang dikenal sebagai MESI (modified/exclusive/shared/invalid). -> dirancang -> mendukung persyaratan konsitensi cache sistem multiprosesor dan organisasi pentium berprosesor tunggal.
• Tabel Keadaan-keadaan Saluran Cache MESI
•Data cache mendukung protokol -> yang dikenal sebagai MESI (modified/exclusive/shared/invalid). -> dirancang -> mendukung persyaratan konsitensi cache sistem multiprosesor dan organisasi pentium berprosesor tunggal.
• Tabel Keadaan-keadaan Saluran Cache MESI
M E S I
Modified Exclusive Shared Invalid
Saluran cache ini invalid? Ya Ya Ya Ya
Salinan memorynya… out of date valid valid __
Salinan ada dalam cache lain? Tidak Tidak Mungkin Mungkin
Suatu write pada saluran ini… Tidak Tidak Pergi Pergi
Pergi ke bus pergi ke bus ke bus dan langsung
Meng-update ke bus Cache
-> Modified: Saluran pada cache telah dimodifikasi (berbeda dengan memory utama).
-> Exclusive: Saluran pada cache sama seperti saluran pada memori utama dan tidak terdapat pada cache lainnya.
-> Shared: Saluran pada cache sama seperti pada saluran pada memori utama dan dapat berada pada cache lainnya.
-> Invalid: Saluran pada cache tidak berisi data yang valid.
Cache Control
1. Cache internal dikontrol oleh dua bit pada salah satu resgister kontrol, yang berlabel bit CD (cache disable) dan bit NW (Not writethrough).
2. Tabel Mode Pengoperasian Cache Pentium
Modified Exclusive Shared Invalid
Saluran cache ini invalid? Ya Ya Ya Ya
Salinan memorynya… out of date valid valid __
Salinan ada dalam cache lain? Tidak Tidak Mungkin Mungkin
Suatu write pada saluran ini… Tidak Tidak Pergi Pergi
Pergi ke bus pergi ke bus ke bus dan langsung
Meng-update ke bus Cache
-> Modified: Saluran pada cache telah dimodifikasi (berbeda dengan memory utama).
-> Exclusive: Saluran pada cache sama seperti saluran pada memori utama dan tidak terdapat pada cache lainnya.
-> Shared: Saluran pada cache sama seperti pada saluran pada memori utama dan dapat berada pada cache lainnya.
-> Invalid: Saluran pada cache tidak berisi data yang valid.
Cache Control
1. Cache internal dikontrol oleh dua bit pada salah satu resgister kontrol, yang berlabel bit CD (cache disable) dan bit NW (Not writethrough).
2. Tabel Mode Pengoperasian Cache Pentium
Control Bits Operating Mode
CD NW Cache Fills Write-Throughs Invaliddates
0 0 Enabled Enabled Enabled
1 0 Disabled Enabled Enabled
1 1 Disabled Disabled Disabled
ORGANISASI
CACHE POWER PC
A. Organisasi cache Power PC telah mengalami modifikasi dengan masing-masing model dalam kelompok PowerPC.
B. Gambar dibawah ini -> bentuk yang disederhanakan dari organisasi PowerPC 620. Unit-unit eksekusi inti merupakan arithmetic.
Sumber :