GUDANG ILMU thondynet

Jumat, 16 November 2012

Cache Memory


“Cache Memory”

Apa itu cache memory? kalian mau definisi? jika cuma definisi sepertinya aku gak perlu menjelaskan karena yang seperti itu bisa kalian cari di google. Lalu apa yang akan diuraikan, seperti yang saya sudah katakan, saya akan share yang saya pahami tentang cache. Yah secara sederhana saja, setidak nya kita bisa memahami dan mengerti apa itu memori cache dan fungsinya.

Memori cache berada sangat dekat dengan CPU, fungsi utamanya menghubungkan antara memori utama (biasa kita menyebutnya RAM) dengan CPU bukan prosesor, karena prosesor sendiri di dalamnya sudah terdapat memory cache.

Kenapa tidak dari CPU langsung aja tersambung ke RAM? kenapa melewati memori cache dulu? Nah sebelum kita bahas itu akan saya kenalkan tentang hirarki memori. Sudah tau kan gambar segita yang mempresentasikan bagaimana kasta memori penyimpanan. Kalau baru pertama kali membaca tentang hirarki memori, kalian bisa lihat dari gambar ini.  


Gambar memori yang tersusun ini bukan hanya tanpa makna, memori yang berada lebih atas memiliki kecepatan lebih tinggi akan tetapi dengan kapasitas (daya simpan) yang semakin menurun. Jika melihat dari sisi biaya, memori teratas memiliki biaya produksi termahal.

Sudah mengerti kan tentang hirarki memori? memori tersusun sesuai dengan kecepatan dan kapasitasnya. Bila kalian lihat yang menempati urutan teratas adalah register, memori yang hampir mengimbangi kecepatan prosesor itu sendiri. Diurutan kedua memori cache lalu memori utama.


Sekarang kembali ke pembahsan, apa yang terjadi jika dari CPU langsung terhubung dengan memori utama (RAM)? Jika kalian bayangkan, kasus ini serupa seperti botol kecap, memiliki badan botol yang besar tapi leher botol yang kecil. Kecepatan RAM tidak mampu mengimbangi kinerja CPU, hasilnya seperti botol kecap yang ditumpahkan, isi botol tidak bisa keluar semua secara langsung tapi harus menyesuaikan dengan ukuran leher botol yang kecil. Begitulah analogi yang terjadi jika dari CPU langsung terhubung dengan memori utama. Karenanya kasus seperti itu disebut sebagai bottleneck.

Sudah paham kan kenapa kita tidak bisa menghubungkan secara langsung CPU dengan memori utama. Untuk mengatasi ketimpangan / perbedaan kecepatan yang jauh antara memori utama dan CPU maka dibuatlah memori cache yang memiliki kecepatan lebih mendekati kecepatan CPU.

Kita akan bermain analogi lagi, jika CPU sebagai pekerja super, maka RAM adalah gudangnya, lalu memori cache adalah gudang VIP yang memiliki pengiriman data yang sangat cepat, tapi kapasitas yang kecil. Data-data yang sering diakses disimpan di gudang VIP, jadi jika pekerja membutuhkan data akan secara cepat didapatkan karena pelayanan gudang VIP yang cepat. Coba bayangkan kalau tidak ada gudang VIP, maka pekerja akan lebih sering menunggu kiriman data dari gudang biasa. Inilah yang disebut dengan CPU idle, kinerja CPU yang tidak bisa dilajutkan karena menunggu proses lain selesai.


Seperti inilah gambarannya, untuk data yang sering diakses maka akan tetap tersimpan di memori cache sehingga suatu saat ketika CPU memerlukan data itu tidak perlu lagi mengakses ke RAM yang jauh lebih lambat dibanding dengan memori cache.


Apa sih Cache memory itu?
Cache memory dapat didefinisikan sebagai tempat data atau informasi yang sifatnya sementara dan sering diakses oleh komputer. Cache memory sekarang ini digolongkan dua macam, yaitu cache level 1 dan cache level 2 atau sering juga diistilahkan dengan cache L1 dan L2. Prosesor-prosesor lama generasi x386 dan generasi sebelumnya, tidak menggunakan cache L1. Generasi terbaru saat ini prosesor sudah menggunakan cache memory yang berkembang sejak ukuran 8, 64, 128 KB. Sedangkan pada cache L2, prosesor-prosesor terbaru menggunakan ukuran 64, 128, 256, dan 512 KB, semua tergantung dari jenis dan tipe prosesor yang digunakan. Bahkan, cache pada server seperti pada intel Xeon dan intel Itanium ada yang mencapai ukuran 1 dan 2 Mb… wooooo
Sejarahnya lagi dong….
Pada awal digunakannya cache L2, cache tersebut ditanam pada motherboard atau ditanam terpisah dari core prosesornya. Komputer seri terbaru saat ini cache-cachenya sudah dibenamkan langsung pada inti prosesornya dan dikenal dengan istilah core. Dengan cara terbaru ini menyebabkan jarak pengaksesan prosesor ke cache akan semakin pendek sehingga berimbas pada waktu pengaksesan yang semakin singkat pula.
Apa lagi, apa lagi?
Terdapat dua jenis lokalitas di dalam cache memory, yaitu :
  1. lokalitas temporal
  2. lokalitas spasial.
Apa sih bedanya?
Cache dengan lokalitas temporal dirancang untuk menggunakan data atau instruksi yang sama secara berulang-ulang.
Cache dengan lokalitas spasial dirancang untuk mengantisipasi program-program yang membutuhkan pengaksesan secara berurutan.
Jalannya proses gimana?
Ketika pertama prosesor menjalankan perintah eksekusi prosesor tersebut akan mencari dan mengumpulkan informasi dari cache L1. Proses ini biasanya disebut dengan hit. Jika informasi yang dibutuhkan prosesor tidak tersedi pada cache L1, maka prosesor akan segera mencarinya di cache L2. Pencarian informasi di cache L2 ini biasanya memakan waktu lebih lama daripada pencarian informasi di cache L1.
Terus2?
Pada cache L2 terdiri dari dua komponen utama yaitu:
  1. data store
  2. tag RAM
Jelasin masing-masing
Data store dapat didefinisikan sebagai suatu ruang yang digunakan untuk menjaga aktualitas informasi atau data.
Tag RAM dapat didefinisikan sebagai suatu area kecil di dalam memori yang digunakan oleh cache untuk menjaga dan mengatur peletakan data di dalam cache.
Lanjut…
Jumlah memori utama yang dikontrol oleh tag RAM dapat disimpan di dalam cache. Cache memory L2 pada PC model terbaru biasanya diatur oleh chipset, pada bagian nortbridge.

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda