Minggu, 12 Mei 2013

MENGAPA CACHE MEMORY MASIH DIPERLUKAN DALAM KOMPUTER


Ø  Sekilas tentang memori
Memori adalah salah satu piranti dari komputer yang berfungsi untuk menyimpan data sementara ketika program sedang berjalan dan dieksekusi oleh CPU. Umumnya kita mengenal memori yang berbentu fisik seprti RAM, SDRAM namun jika kita cermati lebih dalam memori ini memiliki banyak jenis dan digolongkan menjadi beberapak kelompok.
Berdasarkan media penyimpanan memori dibagi menjadi 2 kelompok yaitu :
1.      Memori Internal
Memori jenis ini dapat diakses secara langsung oleh prosesor. Memori internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Secara lebih tinci, fungsi dari memori utama adalah :
Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses* Menyimpan daya hasil pemrosesan ALU sebelum dikirimkan ke peranti keluaran Menampung program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder.
Memori biasa dibedakan menjadi dua macam: ROM dan RAM. Selain itu, terdapat pula memori yang disebut Cache Memory. Dalam presentasi ini selanjutnya akan membahas cache memori untuk komputer.
  1. Memori Eksternal
Merupakan memori tambahan yang berfungsi untuk menyimpan data atau program.Contoh: Hardisk, Floppy Disk
Konsep dasar memori eksternal adalah :
-          Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak.
-          Memori eksternal biasa disebut juga memori eksternal yaitu perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama
-          Memori eksternal mempunyai dua tujuan utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.
Ø  Apakah Cache Memori itu?
Cache memori adalah memori kecepatan tinggi, tetapi berukuran kecil, yang digunakan untuk menyimpan salinan data / instruksi yang sering diakses oleh CPU. Selain itu, chace berkecepatan tinggi berada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu kepada memori utama tetapi di cache memory yang kecepatan aksesnya yang lebih tinggi, metode menggunakan cache memory ini akan meningkatkan kinerja sistem.
Dalam istilahnya yang paling sederhana, cache memory adalah memory buffer berkecepatan tinggi yang secara temporer menyimpan data yang diperlukan oleh procesor, membuat prosesor dapat memanggil kembali data tersebut dengan lebih cepat ketimbang jika data itu datang dari memory utama.
Buffer menyimpan data acak (random data), biasanya pada basis yang pertama kali masuk adalah yang pertama kali keluar (first in first out), atau yang pertama kali masuk adalah yang terakhir keluar (first in last out). Cache memori menyimpan data yang kemungkinan besar diperlukan oleh prosesor sebelum data itu diperlukan secara aktual. Hal ini membuat prosesor dapat melanjutkan bekerja pada kecepatan penuh atau mendekati kecepatan penuhnya tampa harus menunggu data diambil dari memory utama yang lebih lambat. Cache memory biasanya dibuat dari chip static RAM (SRAM) yang diinstall pada motherboard atau built in pada prosesor.

Jika prosesor membutuhkan suatu data, pertama - tama ia 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 computer 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. 


Ketika data dibaca/ditulis di main memori (RAM) oleh prosesor, salinan data beserta address-nya (yang diambil/ditulis di memori utama) disimpan juga di cache. Sewaktu prosesor memerlukan kembali data tersebut, prosesor akan mencari ke cache, tidak perlu lagi mencari di memori utama.
Jika isi cache penuh, data yang paling lama akan dibuang dan digantikan oleh data yang baru diproses oleh prosesor. Proses ini dapat menghemat waktu dalam proses mengakses data yang sama, dibandingkan jika prosesor berulang-ulang harus mencari data ke memori utama.
Jika dilihat dari hirarkinya maka cache memori berada pada tingkat kedua setelah register pada CPU berikut gambarnya
Cache memori sendiri dibagi tiga golongan :
  1. level-1: memiliki ukuran paling kecil di antara semua cache, sekitar puluhan kilobyte saja. Kecepatannya paling cepat di antara semua cache.
  2. level-2: memiliki ukuran yang lebih besar dibandingkan dengan cache level-1, yakni sekitar 64 kilobyte, 256 kilobyte, 512 kilobyte, 1024 kilobyte, atau lebih besar. Meski demikian, kecepatannya lebih lambat dibandingkan dengan level-1, dengan nilai latency kira-kira 2 kali hingga 10 kali. Cache level-2 ini bersifat opsional. Beberapa prosesor murah dan prosesor sebelum Intel Pentium tidak memiliki cache level-2.
  3. level-3: memiliki ukuran yang lebih besar dibandingkan dengan cache level-2, yakni sekitar beberapa megabyte tapi agak lambat. Cache ini bersifat opsional. Umumnya digunakan pada prosesor-prosesor server dan workstation seperti Intel Xeon atau Intel Itanium. Beberapa prosesor desktop juga menawarkan cache level-3 (seperti halnya Intel Pentium Extreme Edition), meski sangat tinggi.
Mengapa cache memori masih diperlukan dalam komputer?
Fungsinya adalah untuk menjaga salinan data yang sedang digunakan oleh CPU. Sementara CPU mengeksekusi proses, diperlukan berbagai data yang digunakan dalam proses. Jadi data yang disimpan dalam hard disk atau hadir dalam memori utama yang diambil setiap kali mereka dibutuhkan dalam proses. Sebuah prosesor komputer biasa mampu menyelesaikan operasi sederhana dalam waktu kurang dari 2 nanodetik sedangkan waktu yang dibutuhkan untuk mengakses memori RAM sekitar 60 nanodetik.
Untuk mengurangi penundaan ini mengakses data cache yang digunakan dengan tingkat yang berbeda. Sebagai cache memori menyimpan data yang paling sering diakses, jadi sementara CPU membutuhkan data untuk pengolahan cpu tidak mengambil dari lokasi asli data, pertama kali cek dalam cache memori jika data yang diminta ada maka akan diambil untk dieksekusi. Jika menemukan data dalam cache itu kemudian diambi itu disebut cache hit.
Keefektifan mekanisme cache didasarkan pada property program computer yang disebut locality of reference. Analisa program menunjukan bahwa sebagian besar waktu eksekusinya digunakan untuk rountine, dimana banyak intrksi dieksekusi secara berulangkali.

Instruksi tersebut dapat merupakan loop sederhana,nested loop, atau beberapa prosedur yang berulangkali saling memanggil. Pola detil actual dari rangkaian instruksi tidaklah penting, yang utama adalah banyak intruksi dalam area program yang terlokalisasi dieksekusi berulangkali selama beberapa periode, dan baian program yang lain relatifjarang diakses.

SUMBER :