Minggu, 12 Juli 2009

Apa Itu Cache ?

Saat hendak membeli sebuah PC baru, seorang teman yang akrab dengan seluk beluk hardware komputer memberi sebuah saran, “Jangan beli processor Celeron. Soalnya cepat panas dan tidak punya cache.” Apa sih yang sebenarnya dimaksud dengan cache itu?CACHEMEM

Cache adalah teknologi yang berbasis pada subsystem memory di komputer. Tujuan utama dari cache adalah untuk mengakselarasi kinerja komputer. Dengan teknologi ini, komputer akan bekerja lebih cepat. Untuk memahami gagasan dasar di balik sistem cache, mari kita perhatikan ilustrasi ransel berikut.
Ransel Pustakawan
Seorang pustakawan berada di meja kerjanya. Kehadirannya di sana adalah untuk memberikan buku yang diminta oleh pengunjung. Anggaplah seorang pengunjung tidak dapat mencari dan mengambil sendiri buku di rak, dan pengunjung harus meminta bantuannya untuk mengambilkan setiaap buku yang akan dibaca pengunjung dari rak penyimpanan. Ada dua jenis pustakawan, yakni tanpa cache dan dengan cache.
Pertama, mari kita lihat cara kerja pustakawan tanpa cache. Seorang pengunjung datang ke perpustakaan. Dia meminta buku “Kisah 1001 Malam”. Selanjutya pustakawan pergi menuju rak penyimpanan, mengambil buku yang dimaksud, kembali ke meja kerjanya, dan menyerahkan buku tersebut kepada si pengunjung.
Selesai membaca, pengunjung tersebut mengembalikan buku kepada pustakawan. Selanjutnya, pustakawan menerima buku itu, dan menyimpannya kembali ke dalam rak. Kemudian dia kembali ke meja kerjanya, menunggu pengunjung berikutnya. Tak lama kemudian datang pengunjung kedua. Dia meminta kepada pustakawan untuk diambilkan buku berjudul sama.
Mendengar judul buku tersebut, pustakawan berjalan menuju rak penyimpanan, mengambil buku yang baru saja dia simpan di sana, kembali ke meja kerjanya, dan menyerahkan buku tersebut kepada pengunjung kedua. Dalam model ini, si pustakawan harus mondar-mandir ke tempat yang sama untuk mengambil buku yang sama. Adakah cara agar si pustakawan tidak harus sering-sering meninggalkan meja kerjanya?
Ya, yakni dengan memberikan cache kepadanya. Cache tersebut adalah ransel yang bisa memuat 10 judul buku (dalam istilah komputer, pustakawan tersbut kini memiliki 10 buku cache). Dalam ransel ini, dia akan menyimpan sementara buku yang dikembalikan oleh pengunjung kepadanya (maksimal 10 buku).
Saat perpustakaan baru dibuka, ransel si pustakawan masih kosong. Pengunjung pertama datang, dan meminta buku “Kisah 1001 Malam”. Seperti pada ilustrasi dia atas, pustakawan pergi ke rak penyimpanan buku, mengambil buku yang dimaksud, kembali ke meja kerjanya, dan menyerahkan buku tersebut kepada pengunjung pertama.
Selesai membaca, pengunjung tersebut mengembalikan buku kepada pustakawan. namun, alih-alih berjalan ke rak penyimpanan untuk menyimpan buku, pustakwan tertap berada di meja kerjanya, dan menyimpan buku tersebut ke dalam ranselnya. Tak lama kemudian datang pengunjung kedua, dan meminta buku yang sama.
Sebelum berjalan ke rak penyimpanan, pustakawan terlebih dahulu mencari buku yang diminta di dalam ransel. Ya, buku tersebut masih ada di dalam ransel! Tanpa harus berkeringat berjalan ke rak penyimpanan, pustakawan dapat langsung memberikan buku tersebut kepada pengunjung kedua.
Cache Komputer
Saat mengakses memory utama (RAM), dia membutuhkan waktu sekitar 60 nanosecond (1/60 miliar detik). Cepat sekali, bukan? Ya, bila dibandingkan dengan waktu yang dibutuhkan pustakawan untuk berjalan dari meja kerjanya ke rak panyimpanan, dan sebaliknya.
Namun tidak bagi prosesor modern. Beberapa prosesor hanya membutuhkan waktu 2 nanosecond untuk mengakses RAM (diebut cycle time). bagi prosesor ini, 60 nanosecond cycle time ibarat pustakawan yang berjalan ke rak penyimpanan dengan cara merangkak.
Bagaimana jika kita membangun bank memory di motherboard, yang kecil namun sangat cepat (sekitar 30 nanosecond)? Itu sudah kali dua lebih cepat daripada akses ke memory utama. Bank ini disebut level 2 cache atau L2 cache. Bagaimana jika kita membangun sistem memory yang lebih kecil, tapi lebih cepat langsung di dalam chip prosesor? Dengan demikian, memory ini akan diakses dengan kecepatan prosesor, bukan kecepatan memory bus? Inilah yang disebut dengan L1 cache yang lebih cepat dari pada L2 cache.
Pada beberapa tipe prosesor, terdapat dua level cache yang tertanam langsung di dalam chip. Dalam kasus ini, cache yang berada di motherboard di antara prosesor dan sistem memory utama turun peringkat menjadi level 3 atau disebut L3 cache.
Sekarang jelas kan, mengapa teman Anda tidak merekomendasikan prosesor tanpa L! dan L2 cache, dan mengapa prosesor yang demikian lebih cepat panas? Karena si pustakawan (prosesor) harus bolak balik ke rak penyimpanan (sistem memory utama) untuk mengambil dan menyimpan buku (data).

Sumber : PC Mild Edisi 13/2009 (25 Juni – 8 Juli 2009)