Kamis, 12 April 2012

Cache Memory


Cache Memory



Pengertian cache memori

 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 memoy utama, namun ada satu fitur tambahan pada sebuah cache, melebihi buffer sederhana, cache adalah buffer dilengkapi dengan otak.
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, di lain pihak, 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 motherboar atau built in pada prosesor.


Fungsi dan kegunaan cache memory
• Cache memory berfungsi menjembatani perbedaan kecepatan antara CPU dan Memori Utama.
• Dalam implementasinya jenis memori yang digunakan untuk cache adalah statik RAM (SRAM).
• Cache memory terdiri atas:
1. Internal, digunakan untuk komputasi berkecepatan tinggi.
2. External, digunakan sebagai buffer untuk menyimpan program dan data.
• Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.
• Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang.
• Compiler menyimpan array dalam blok lokasi memori yang bersebelahan.
• Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data.

Jenis cache memory

Pada saat ini, cache memory ada 3 jenis, yaitu L1 cache, L2 cache, dan L3 cache.
Chace memory terbagi menjadi dua yaitu :
1. Cache Memory yang terdapat pada internal Processor , chace memory jenis ini kecepatan aksesnya sangat tinggi, dan harganya sangat mahal. Hal ini bisa terlihat pada Processor yang berharga mahal seperti P4,P3,AMD-Athlon dll, semakin tinggi kapasitas L1,L2 Chace memori maka semakin mahal dan semakin ceppat Processor.
2. Chace Memory yang terdapat diluar Processor, yaitu berada pada MotherBoard, memori jenis ini kecepatan aksesnya sangat tinggi, meskipun tidak secepat chache memori jenis pertama ( yang ada pada internal Processor). Semakin besar kapasitasnya maka semakin mahal dan cepat. Hal ini bisa kita lihat pada Motherboard dengan beraneka ragam kapasitas chace memory yaitu 256kb, 512kb, 1Mb, 2Mb dll.

Chace sebagai perantara antara CPU dengan memori. Ada 2 jenis chace, yaitu:
1. Software chace (caching disk controller); akan mempercepat akses data pada disk dengan menyimpan data yang baru saja digunakan dalam memori.
2. Hardware chace (on−the−board chace); akan mempercepat akses memori itu sendiri dapat menyimpan data yang baru saja digunakan dalam memori.

Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu
1. Memori Cache
• merupakan SRAM berkecepatan tinggi
• data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori.
2. Address Tag (Tag Alamat)
• Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid


Letak cache memory
L1 cache terintegrasi dengan chip prosesor, artinya letak L1 cache sudah menyatu dengan chip prosesor (berada di dalam keping prosesor). Sedangkan letak L2 cache, ada yang menyatu dengan chip prosesor, ada pula yang terletak di luar chip prosesor, yaitu di motherboard dekat dengan posisi dudukan prosesor. Pada era prosesor intel 80486 atau sebelumnya, letak L2 cache kebanyakan berada di luar chip prosesor. Chip cache terpisah dari prosesor, berdiri mandiri dekat chip prosesor. Sejak era prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi dengan chip prosesor (menyatu dengan keping prosesor). Posisi L2 cache selalu terletak antara L1 cache dengan memori utama (RAM). Sedangkan L3 cache belum diimplementasikan secara umum pada semua jenis prosesor. Hanya prosesor-prosesor tertentu yang memiliki L3 cache.
Cache memory yang letaknya terpisah dengan prosesor disebut cache memory non integrated atau diskrit (diskrit artinya putus atau terpisah). Cache memory yang letaknya menyatu dengan prosesor disebut cache memory integrated, on-chip, atau on-die (integrated artinya bersatu/menyatu/ tergabung, on-chip artinya ada pada chip).
L1 cache (Level 1 cache) disebut pula dengan istilah primary cache, first cache, atau level one cache. L2 cache disebut dengan istilah secondary cache, second level cache, atau level two cache.


Kecepatan cache memory
Transfer data dari L1 cache ke prosesor terjadi paling cepat dibandingkan L2 cache maupun L3 cache (bila ada). Kecepatannya mendekati kecepatan register. L1 cache ini dikunci pada kecepatan yang sama pada prosesor. Secara fisik L1 cache tidak bisa dilihat dengan mata telanjang. L1 cache adalah lokasi pertama yang diakses oleh prosesor ketika mencari pasokan data. Kapasitas simpan datanya paling kecil, antara puluhan hingga ribuan byte tergantung jenis prosesor. Pada beberapa jenis prosesor pentium kapasitasnya 16 KB yang terbagi menjadi dua bagian, yaitu 8 KB untuk menyimpan instruksi, dan 8 KB untuk menyimpan data.
Transfer data tercepat kedua setelah L1 cache adalah L2 cache. Prosesor dapat mengambil data dari cache L2 yang terintegrasi (on-chip) lebih cepat dari pada cache L2 yang tidak terintegrasi. Kapasitas simpan datanya lebih besar dibandingkan L1 cache, antara ratusan ribu byte hingga jutaan byte, ada yang 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, bahkan 8 MB, tergantung jenis prosesornya. Kapasitas simpan data untuk L3 cache lebih besar lagi, bisa ratusan juta byte (ratusan mega byte).


Prioritas penyimpanan dan pengambilan data
Dalam mekanisme kerjanya, data yang akan diproses oleh prosesor, pertama kali dicari di L1 cache, bila tidak ada maka akan diambil dari L2 cache, kemudian dicari di L3 cache (bila ada). Jika tetap tidak ada, maka akan dicari di memori utama. Pengambilan data di L2 cache hanya dilakukan bila di L1 cahe tidak ada.
Lebih jelasnya proses baca tulis data yang dilakukan oleh prosesor ke memori utama dapat dijelaskan sebagai berikut:
Ketika data dibaca/ditulis di memori utama (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.
Secara logika, kapasitas cache memory yang lebih besar dapat membantu memperbaiki kinerja prosesor, setidak-tidaknya mempersingkat waktu yang diperlukan dalam proses mengakses data.

Tidak ada komentar:

Posting Komentar