Sabtu, 12 April 2014

Cache Memory


Definisi Cache
Cache merupakan salah satu bentuk memori internal selain main memory. Terletak antara register dan main memory. Ukuran memorinya lebih kecil, namun lebih cepat
Konsep Memori Cache
Terdapat main memory yang relatif besar dan lambat dipadukan dengan memory yang lebih kecil , dan lebih cepat . Cache berisi salinan bagian dari memori utama . Ketika prosesor membutuhkan suatu data pertama kali dicek dalam cache tersebut. Jika ada langsung dikirim ke processor. Jika tidak, blok memori utama dibaca ke cache lalu dikirim ke processor. Ada kemungkinan data tersebut dipanggil kembali.
Struktur System Cache
Memori utama terdiri dari sejumlah blok memory sedangkan cache terdiri dari sejumlah baris. Di setiap saat, beberapa subset blok memori berada pada baris dalam cache. Jika sebuah word di dalam blok memori dibaca, blok itu ditransfer ke salah satu baris cache. Namun karena jumlah blok lebih banyak dibanding dengan baris, maka blok hanya disimpan sementara dalam suatu baris.
Operasi Baca
Prosesor menghasilkan alamat read ( RA ) dari sebuah kata untuk dibaca . Jika kata itu terkandung dalam cache , langsung dikirim ke prosesor . Jika tidak , blok yang mengandung kata tersebut dimuat ke cache , dan kata tersebut dikirim ke prosesor . Gambar 4.5 menunjukkan dua operasi terakhir yang terjadi secara paralel dan mencerminkan organisasi yang ditunjukkan pada Gambar 4.6 , yang khas dari organisasi cache yang kontemporer.
Tipe Organisasi
Dalam organisasi ini, cache menghubungkan prosesor melalui data, kontrol, dan baris alamat. Data dan alamat baris juga melampirkan data buffer dan alamat buffer , yang menempel pada bus sistem dimana memori utama tercapai. Ketika cache hit terjadi, data buffer dan alamat buffer dinonaktifkan dan komunikasi hanya antara prosesor dan cache, tanpa lalu lintas sistem bus . Ketika cache miss terjadi , alamat yang diinginkan dimuat ke bus sistem dan data dikembalikan melalui buffer data untuk kedua cache dan prosesor . Dalam organisasi lain, cache secara fisik sela antara prosesor dan memori utama untuk semua data, alamat , dan saluran kontrol . Dalam kasus terakhir ini , untuk cache miss , kata yang dikehendaki pertama dibaca ke dalam cache dan kemudian ditransfer dari cache ke prosesor.
Elemen-elemen Rancangan Cache Memory
-          Ukuran cache, disesuaikan dengan kebutuhan untuk membantu kerja memori. Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang dalam pengalamatan cache. (Ukuran L1 < L2 < L3, kecepatan L1 > L2 > L3)
-          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), 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 artilek milik Yulisdin “Mukhlis, ST., MT”).
-          Jumlah cache, Satu atau dua dua tingkat, kesatuan atau terpisah.   Ada dua potensi keuntungan dari cache bersatu. Pertama, untuk ukuran cache yang diberikan , cache terpadu memiliki hit rate yang lebih tinggi daripada cache perpecahan karena menyeimbangkan beban antara instruksi dan data menjemput secara otomatis.Kedua, hanya satu Cache perlu dirancang dan diimplementasikan . Namun, tren yang ada lebih menuju ke cache dibagi. Karena menghilangkan pertentangan antara unit instruksi prefetcher / decode dan eksekusi unit pada cache. (mendahulukan eksekusi unit)
Multilevel Cache Memory
-          Cache L1
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. Terintegrasi dengan prosesor, Kecepatannya mendekati kecepatan register atau dikunci pada kecepatan yang sama dengan proseccor. Berguna untuk menyimpan secara sementara instruksi dan data, dan memastikan bahwa prosesor memiliki supply data yang stabil untuk diproses sementara memori mengambil dan menyimpan data baru.
-          Cache L2
Awalnya, terletak diluar chip proseccor. Posisi L2 cache selalu terletak antara L1 cache dengan memori utama (RAM). Transfer data tercepat kedua setelah L1 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.
-          Cache L3
Awalnya , cache L3 diakses melalui bus eksternal . Sekarang ini , mulai memasukkan sebuah L3 cache on-chip. L3 cache belum diimplementasikan secara umum pada semua jenis prosesor. Hanya prosesor-prosesor tertentu yang memiliki L3 cache. Kapasitas simpan data untuk L3 cache lebih besar lagi, bisa ratusan juta byte (ratusan mega byte).
Istilah penting yang berhubungan
          Cache hit, jika data yang diminta oleh unit yang lebih tinggi dan ada dalam cache disebut “hit”. Permintaan dapat dilayani dengan cepat. Maksud urutan unit dari rendah hingga tinggi yaitu: Streamer – Hardisk Memori – Second Level – First level – CPU cache.
-                     Cache miss, bila data yang diminta tidak ada dalam cache, harus diambil dari unit dibawahnya yang cukup memakan waktu. Ini disebut miss (gagal)
-                             Write back (WB), cache digunakan tidak hanya saat membaca, tetapi juga dalam proses menulis.
-                  Write through (WT), mementingkan keamanan: cache hanya digunakan saat membaca, sedangkan untuk menulis ditunggu hingga memori yang dituju selesai menulis.

      Download pdf

Tidak ada komentar:

Posting Komentar