Monday, September 29, 2014

All About Cache Memory



Pengertian Cache memory
Cache memory adalah memory berukuran kecil berkecepatan tinggi yang berfungsi untuk menyimpan sementara instruksi dan/atau data (informasi) yang diperlukan oleh prosesor. Boleh dikatakan bahwa cache memory ini adalah memory internal prosesor. Cache memory ini berbasis SRAM yang secara fisik berukuran kecil dan kapasitas tampung datanya juga kecil atau sedikit. Pada saat ini, cache memory ada 3 jenis, yaitu L1 cache, L2 cache, dan L3 cache.



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.

a.      Apa itu elemen cahce memory?

Elemen cache memory adalah bagian penyusun dari cache memory. Walaupun terdapat banyak implementasi cache, hanya terdapat sedikit elemen-elemen dasar rancangan yang dapat mengklasifikasikan dan membedakan arsitektur cache. Adapun elemen yang akan dibahas pada subbab ini adalah elemen pertama yaitu ukuran cache. Semakin besar cache maka semakin besar jumlah gate yang terdapat pada pengalamatan cache. Akibatnya adalah cache yang berukuran besar cenderung untuk lebih lambat dibanding dengan cache berukuran kecil (walaupun dibuat dengan teknologi rangkaian terintegrasi yang sam adan pitaruh pada tempat pada keping dan board yang sama. Kinerja cache juga sangat sensitif terhadap sifat beban kerja, maka tidaklah mungkin untuk mencapai ukuran cache yang ‘optimum’.

Elemen-elemen penting dari rancangan memory cache adalah sebagai berikut:
  • Ukuran cache, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache.
  • Fungsi Pemetaan (Mapping), terdiri dari Pemetaan Langsung, Asosiatif, Asosiatif Set.Pemetaan langsung merupakan teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Pemetaan asosiatif dapat mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Hal ini menurut artikel dari Yulisdin Mukhlis, ST., MT
  • Algoritma Penggantian, terdiri dari Least Recently Used (LRU) / algoritma penggantian cache, First in First Out (FIFO),Least Frequently Used (LFU), Acak. Algoritma penggantian digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat bagi blok baru. Ada 2 metode algoritma penggantian yaitu Write-through dan Write-back.Write-through adalah Cache dan memori utama diupdate secara bersamaan waktunya. Sedangkan Write-back melakukan update data di memori utama hanya pada saat word memori telah dimodifikasi dari cache.
  • Ukuran blok, blok-blok yang berukuran Iebih besar mengurangi jumlah blok yang menempati cache. Setiap pengambilan blok menindih isi cache yang lama, maka sejumlah kecil blok akan menyebabkan data menjadi tertindih setelah blok itu diambil. Dengan meningkatnya ukuran blok, maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta,sehingga menjadi lebih kecil kemungkinannya untuk di perlukan dalam waktu dekat.(Dikutip dari artikel milik Yulisdin "Mukhlis, ST., MT")
  • Line size, Jumlah cache, Satu atau dua dua tingkat, kesatuan atau terpisah
b.      Prinsip cache memory
Prinsip elemen cache memory adalah mekanisme penyimpanan data sekunder berkecepatan tinggi yang digunakan untuk menyimpan data atau intruksi yang sering di akses. Memori ini merupakan memori berkapasitas terbatas, berkecepatan tinggi yang lebih mahal dibanding memori utama. Cache memori terletak diantara memori utama dan register CPU, dan berfungsi agar CPU tidak langsung mengacu  ke memori utama tetapi di cache yang kecepatan aksesnya lebih tinggi. Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut cache ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache tersebut. Sehingga apabila ada data yang ingin diakses adalah data yang sama maka akses akan dapat dilakukan lebih cepat. Cache memori ini terletak antara register dan memori utama hingga pemprosesan data tidak langsung mengacu pada memori utama.
c.       Organisasi Cache Memory pada Pentium dan Power PC
I. ORGANISASI CACHE PENTIUM
A. Evolusi organisasi
è dilihat jelas pada è
1. Evolusi microprosesor Intel 80386
è tidak memiliki on-chip.
2. Cache 80486 menggunakan on-chip cache tunggal 8 byte dengan memakai saluran berukuran 16 byte.
3. Organisasi asosiatif set 4 pentium menggunakannya 2 on-chip cache.
4. Data cache -> operasi integer maupun floating point.
5. Data cache -> dua port dan menggunakan write-back policy.

B. Gambar Struktur Cache Data Internal Pentium [ANDE93]


C. Konsistensi Data Cache
•Data cache mendukung protokol -> yang dikenal sebagai MESI (modified/exclusive/shared/invalid). -> dirancang -> mendukung persyaratan konsitensi cache sistem multiprosesor dan organisasi pentium berprosesor tunggal.
• Tabel Keadaan-keadaan Saluran Cache MESI
M E S I
Modified Exclusive Shared Invalid

Saluran cache ini invalid? Ya Ya Ya Ya
Salinan memorynya… out of date valid valid __
Salinan ada dalam cache lain? Tidak Tidak Mungkin Mungkin
Suatu write pada saluran ini… Tidak Tidak Pergi Pergi
Pergi ke bus pergi ke bus ke bus dan langsung
Meng-update ke bus Cache

-> Modified: Saluran pada cache telah dimodifikasi (berbeda dengan memory utama).
-> Exclusive: Saluran pada cache sama seperti saluran pada memori utama dan tidak terdapat pada cache lainnya.
-> Shared: Saluran pada cache sama seperti pada saluran pada memori utama dan dapat berada pada cache lainnya.
-> Invalid: Saluran pada cache tidak berisi data yang valid.

Cache Control
1. Cache internal dikontrol oleh dua bit pada salah satu resgister kontrol, yang berlabel bit CD (cache disable) dan bit NW (Not writethrough).
2. Tabel Mode Pengoperasian Cache Pentium
Control Bits Operating Mode
CD NW Cache Fills Write-Throughs Invaliddates
0 0 Enabled Enabled Enabled
1 0 Disabled Enabled Enabled
1 1 Disabled Disabled Disabled


II. ORGANISASI CACHE POWER PC
A. Organisasi cache Power PC telah mengalami modifikasi dengan masing-masing model dalam kelompok PowerPC.
B. Gambar dibawah ini -> bentuk yang disederhanakan dari organisasi PowerPC 620. Unit-unit eksekusi inti merupakan arithmetic.


1 comment:

  1. Casino Online NJ - jtmhub.com
    The BetMGM online 영천 출장마사지 casino 천안 출장안마 is here! 양주 출장마사지 The brand has made the most of New Jersey online gaming by taking a massive step 강원도 출장샵 into the world's largest online gaming 김포 출장샵

    ReplyDelete