Selasa, 12 November 2013

Cache Memory

Sekarang MajidWeb akan share apa itu cache memory? Oke langsung di baca saja ya..

Pengertian Cache Memory
Cache memory merupakan lokasi data sementara antara prosesor dengan main memory. Penempatan cache memory ditujukan untuk mengurangi gap antara kecepatan prosesor dengan kecepatan main memory.
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.

Gambar di bawah ini menunjukkan posisi cache memory yang diletakkan antara Prosesor (CPU) dengan main memory. Sedangkan gambar 1.2. memperlihatkan sistem interkoneksi untuk cache memory.


Gambar 1.1 Posisi Cache memory pada sistem memory.




 Gambar 1.2. Sistem Interkoneksi yang terkait dengan cache memory.


A. Cache memory merupakan komponen penting pada hirarki memory, berikut ini adalah hal-hal penting terkait dengannya :
Dibandingkan dengan ukuran main memory, cache memory relatif kecil.
Bekerja dengan kecepatan mendekati kecepatan prosesor
Sangat mahal dibandingkan main memory
Cache diisi salinan main memory yang kemungkinan besar akan diakses prosesor.

B. Interface atau perantara cache memory dengan main memory :
Dimisalkan, K word adalah ukuran blok main memory yang akan disalin ke dalam cache
Block tsb ditransfer dari main memory dan disimpan dalam cache dalam satuan yang disebut slot, line atau page.
Setelah disimpan di cache, setiap word dalam sebuah line dapat diakses oleh prosesor.
Karena harus berkecepatan tinggi, managemen data transfer dan simpan dalam cache harus dilakukan secara hardware. O/S (Operating System) tidak menyadari hal ini.
Jika ada 2n word dalam memory, maka akan ada M = 2n/K blok dalam memory.
M akan jauh lebih besar dari C, jumlah line pada cache.
Setiap line pada cach harus diberi label atau tag untuk identifikasi blok main memory mana yang diwakilinya. Data pada line dan tag-nya tersebut disimpan dalam cache.
Faktor yang perlu diperhatikan dalam disain cache antara lain :
» Mapping function antara main memory dengan cache
» Algoritma pergantian isi Line.
» Kebijakan penulisan atau write policy
» Ukuran blok
» jumlah dan tipe cache.




Gambar 1.3. Struktur Cache Memory (a) dan Main Memory (b).

 Gambar 1.4. Operasi Baca pada cache memory.


C. Cara kerja dari Cache Memory
Jika prosesor membutuhkan suatu data, pertama-tama dia akan mencarinya
pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan. Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.
Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.

1.2.  Level Cache Memory

Hingga saat ini, cache memory terbagi atas tiga level yaitu L1, L2 dan L3. Cache memory memori level 1 (L1) adalah cache memory yang terletak dalam prosesor (internal cache). Cache memory ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8KB, 64KB dan
128KB. Cache memory level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256KB sampai dengan 2MB. Namun, cache memory L2 ini memiliki kecepatan yang lebih rendah dari cache memory L1. Cache memory L2 terletak terpisah dengan prosesor atau disebut dengan external cache.
Sedangkan cache memory level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari tembolok L2 dari masing-masing inti prosesor. Level 2 atau L2 cache merupakan bagian dari strategi penyimpanan multi level untuk meningkatkan performa komputer. Terdapat tiga level cache yang digunakan pada komputer, yaitu L1, L2 dan L3 cache. Tiap-tiap cache tersebut menjembatani jarak (gap) diantara processor yang sangat cepat, dengan memori RAM (Random Access Memory) yang jauh lebih lambat.
Sementara desainnya terus mengalami perubahan, L1 cache biasanya telah terintegrasi (built in) ke dalam processor, sementara L2 cache biasanya terintegrasi pada motherboard (bersamaan dengan L2 cache). Namun, beberapa processor kini menggabungkan L2 cache serta L1 cache, dan bahkan beberapa diantaranya juga menggungkan L3 cache. Kecepatan yang paling tinggi terdapat pada L1 cache, kemudian menurun pada L2 dan L3 cache. Namun kebalikannya, semakin besar angka cache, maka semakin besar pula kapasitas penyimpanan datanya.
 Gambar 1.5. Gambar Contoh Level Cache pada Processor.

Tugas dari cache processor adalah untuk mengantisipasi data request, sehingga ketika pengguna mengakses sebuah program yang sering digunakan, sebagai contohnya, instruksi-instruksi yang dibutuhkan untuk menjalankan program tersebut telah siap digunakan, disimpan pada cache. Ketika hal ini terjadi, CPU dapat memproses request tanpa adanya jeda (delay), sehingga dapat meningkatkan performa komputer secara drastis.
CPU pertama-tama akan memeriksa L1 cache, diikuti dengan L2 dan L3 cache. Jika processor telah menemukan bit data yang dibutuhkan, maka disebut dengan cache hit. Namun jika cache tidak menyediakan bit data yang dibutuhkan, processor mendapatkan sebuah cache miss, dan data perlu ditarik dari RAM yang lebih lambat atau hard disk yang juga lebih lambat.

1.3 Kapasitas Cache

Menentukan ukuran cache memory sangatlah penting untuk mendongkrak kinerja komputer. Dari segi harga cache memory sangatlah mahal tidak seperti memori utama. Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses.
Kita bisa melihat beberapa merek prosesor di pasaran beberapa waktu lalu. AMD mengeluarkan prosesor K5 dan K6 dengan cache memory yang besar (1MB) tetapi kinerjanya tidak bagus. Kemudian Intel pernah mengeluarkan prosesor tanpa cache memory untuk alasan harga yang murah, yaitu seri Intel Celeron pada tahun 1998-an hasil kinerjanya sangat buruk terutama untuk operasi data besar, floating point, 3D. Intel Celeron versi berikutnya sudah ditambah cache memory sekitar 128KB. Lalu berapa idealnya kapasitas cache memory? Sejumlah penelitian telah
menganjurkan bahwa ukuran cache antara 1KB dan 512KB akan lebih optimum.
1.4 Fungsi Dan Manfaat Cache Memory

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.
1.5 Ukuran Blok

Elemen rancangan yang harus diperhatikan lagi adalah ukuran blok. Telah dijelaskan adanya sifat lokalitas referensi maka nilai ukuran blok sangatlah penting. Apabila blok berukuran besar ditransfer ke cache akan menyebabkan hit ratio mengalami penurunan karena banyaknya data yang dikirim disekitar referensi. Tetapi apabila terlalu kecil, dimungkinkan memori yang akan dibutuhkan CPU tidak tercakup.
Apabila blok berukuran besar ditransfer ke cache, maka akan terjadi :
1. Blok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache. Karena isi cache sebelumnya akan ditindih.
2. Dengan meningkatnya ukuran blok maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya digunakan cepat.
Hubungan antara ukuran blok dan hit ratio sangat rumit untuk dirumuskan,
tergantung pada karakteristik lokalitas programnya dan tidak terdapat nilai optimum
yang pasti telah ditemukan. Ukuran antara 4 hingga 8 satuan yang dapat dialamati
(word atau byte) cukup beralasan untuk mendekati nilai optimum
Itu saja dulu yang dapat MajidWeb share. Semoga bermanfaat.

1 komentar: