Rabu, 17 April 2013

Mengapa cache memori 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.
2. 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.
 
Blok cahce memori

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.
Register cpu Ukurannya yang paling kecil tapi memiliki waktu akses yang paling cepat, umumnya hanya 1 siklus CPU saja.


Tidak ada komentar:

Posting Komentar