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.
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 :
- lokalitas temporal
- 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:
- data store
- 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