Anda di halaman 1dari 33
olga ei Celi lenn-le CACHE Memori Fakultas Teknologi Informasi Ur sitas Budi Luhur ‘an Everhard R Pendahuluan "Cache memori difungsikan untuk mempercepat kerja memori sehingga mendekati kecepatan prosesor. = Cache merupakan memori cepat dengan kapasitas yg kecil. = Penghubung antara main memory dengan CPU. = Bisa saja diletakkan dalam chip CPU atau module tersendiri Block Transfer Word Transfer ma Main Memory Yan Everhard R, lv. MT Pendahuluan = Dalam organisasi komputer, memori utama lebih besar _kapasitasnya namun lambat_ operasinya, sedangkan cache memori berukuran kecil namun lebih cepat. = Cache memori berisi salinan memori utama. = Pada saat CPU membaca sebuah word memori, maka dilakukan_ pemeriksaan untuk mengetahui apakah word tersebut berada dalam cache memori. = Bila ada dalam cache memori maka dilakukan pengiriman ke CPU, bila tidak dijumpai maka dicari pada memori utama, selanjutnya blok yang berisi sejumlah_ word tersebut dikirim ke cache memori sebelum dikirim ke CPU. Yan Everhard R, ly. MT Pendahuluan = Karena fenomena lokalitas referensi, ketika blok data diberikan ke dalam cache memori, terdapat kemungkinan bahwa word-word berikutnya yang berada dalam satu blok akan diakses oleh CPU. = Konsep ini yang menjadikan kinerja memori lebih baik. = Sehingga dapat disimpulkan bahwa kerja cache adalah antisipasi terhadap permintaan data memori yang akan digunakan CPU. Yan Everhard R, lv. MT Pendahuluan = Ukuran cache memori adalah relatif kecil, sebab semakin besar kapasitasnya maka akan memperlambat proses operasi cache memori itu sendiri. = Harga cache memori yang cukup mahal, karena terbuat dari teknologi transistor. Yan Everhard R, ly. MT Elemen Perancangan ~ = Walaupun terdapat banyak implementasi cache, namun dari sisi organisasi maupun arsitekturnya tidak banyak macamnya. = Elemen Perancangan Cache meliputi : ° Kapasitas © Ukuran blok » Mapping > Algoritma pengganti ° Write Policy © Jumlah Cache Yan Everhard R, lv. MT Kapasitas = Menentukan ukuran memori cache sangatlah penting untuk mendongkrak kinerja CPU. = Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses. ® Sebagai contoh aplikasi untuk perbandingan. » AMD mengeluarkan prosesor K5 dan K6 dengan cache yang besar (1MB) tetapi kinerjanya tidak bagus. » Kemudian Intel pernah mengeluarkan prosesor tanpa cache untuk alasan harga yang murah, yaitu seri Intel Celeron pada tahun 1998-an tetapi hasil kinerjanya sangat buruk terutama untuk operasi data besar, floating point, 3D. Intel Celeron versi berikutnya sudah ditambah cache sekitar 128KB. Laluberapa idealnya kap: Cache yang optimal? > Sejumlah penelitian telah menganjurkan bahwa ukuran cache antara 1KB dan 512KB akan lebih optimum (William Stalling, 2006) Yan Everhard R, ly. MT EETTTT____i_._...___|] Ukuran Blok =Elemen rancangan yang harus diperhatikan lagi adalah ukuran blok. = Dikarenakan adanya sifat lokalitas referensi maka nilai ukuran blok sangatlah penting. = Apabila blok berukuran besar ditransfer ke cache akan menyebabkan hit ratio mengalami penurunan karena banyaknya data yang dikirim disekitar referensi. = Tetapi apabila terlalu kecil, dimungkinkan data memori yang akan dibutuhkan CPU tidak tereakupi dengan baik. Yan Everhard R, lv. MT Ukuran Blok Apabila blok berukuran besar ditransfer ke cache, maka akan terjadi : Blok — blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache. Karena isi cache sebelumnya akan ditindih. Dengan meningkatnya ukuran blok maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya digunakan cepat. Hubungan antara ukuran blok dan hit ratio sangat rumit untuk dirumuskan, tergantun pada karakteristik lokalitas emrogramnya dan belum ada nilai optimum yang dapat ijadikan rujukan. Ukuran antara 4 hingga 8 satuan yang dapat dialamati (word atau byte) cukup beralasan untuk mendekati nilai optimum (Willian Stalling, 2006). Yan Everhard R, ly. MT Mapping pada Cache «= Adalah prinsip yang digunakan untuk mereferensikan sebuah block-data kedalam cache memory, yaitu bahwa: Block-Data berikutnya yang diprioritaskan untuk bisa ditransfer kedalam Cache Memory adalah Block Data yang alamat memorinya berada disekitar block data yang telah terlebih dahulu direferensikan ke dalam cache memory disebut “Prinsip Tetangga Terdekat” = Mapping adalah untuk menentukan hubungan atau kaitan antara alamat data dalam Main Memory dengan alamat data tersebut ketika berada dalam Cache Memory Yan Everhard R, lv. MT Mapping pada Cache © Terdapat 3 Teknik Mapping yang digunakan pada Cache Memory, yaitu : BH . Direct Mapping to . Associative Mapping . Set Associative Mapping t—_—_——_ “are Yan Everhard R, ly. MT Mapping pada Cache ° Direct Mapping 1. Data dalam cache memiliki “Slot No.” yang terurut (sorted) 2. Proses Searching data dalam cache lebih cepat 3: Sapping tend jika ada 2 block data memiliki Slot No. yan; sama, sehingga terjadi “bentrok” dan salah satu yaitu block terlama harus dikeluarkan (di-swap) dari cache. 4. Jika Sering terjadi “swapping” dalam cache hal ini akan menurunkan kinerja Cache Strultur Alamat Direct Mapping or Tas SLOT WORD Yan Everhard R, lv. MT Mapping pada Cache * Yan Everhard R, ly. MT Mapping pada Cache * Associative Mapping 1) Block Data dalam cache disimpan secara “random” , tidak memiliki Slot Number (Slot No.) 2) Searching Data dalam Cache Lambat karena data cache tdk di “urutkan” 3) Alamat Memori di interpretasi sbg TAG dan WORD 4) TAG menunjukkan identitas block memori 5) Setiap baris TAG dicari kecocokannya Struktur Alamat Associativet Mapping TAG WORD Yan Everhard R, lv. MT Mapping pada Cache © Associative Mapping Cache Tag__Data miss in cache Yan Everhard R, ly. MT Mapping pada Cache Set Associative Mapping 1. Cache dibagi dalam sejumlah SET 2. Setiap SET berisi sejumlah line 3. Suatu blok di maps ke line mana saja dalam set, misalkan Block B dapat berada pada line mana saja dari set-i 4. Contoh: per set ada 2 line © 2way associative mapping © Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set Struktur Alamat Set-AssociativeMapping TAG SET WORD Yan Everhard R, lv. MT Mapping pada Cache °* Set Associative Mapping Main Memory is in cache) Yan Everhard R, ly. MT | Mapping pada Cache Contoh Kasus : Direct Mapping Jika sebuah sistem komputer — di Main Memory = 16 MB , gan Cache = 64kB , 1 Block Data = 4 byte Bagaimanakah bentuk Struktur Address Direct Mapping Jawab : 16 MB memory mem total address sebanyak 274 = 16.777.216 (a) TOTAL field =24bit (16 224) (b) WORD field =2bit (1block = 4=27) (c) TAG field =8bit (6M/ 64k=256= 2%) (d) SLOT field =(24-2-8)=14bit ~t 24 BIT = 8 BIT 14 BIT 2 BIT TAG SLOT WORD Yan Everhard R, ly. MT Mapping pada Cache HASIL : DIRECT MAPPING «5 248IT BIT 14BIT 2BIT TAG ‘SLOT Yan Everhard R, lv. MT WORD 00. 16. ca Fee) 11223344 Feec | 24682966 Line + Word Data ‘9000 008 FEE@ Pere Line Numbor S2E] 900 11295013 | oot ‘9000 ons || 13295818 FEDCRASS epcRASS | oce7 11729944 rere | 12345676 12345670 ' + Sots S2bits ence reine cache ‘32 bits 16-MByle main memory NNO ODIN’ Dada Cache Mapping pada Cache Contoh Kasus : Associative Mapping Jika diketahui sebuah sistem komputer dengan Main Memory = 16 MB, dilengkapi dengan Cache = 64 kB ,1 Block Data = 4 byte Bagaimanakah bentuk Struktur Address Associative Mapping Jawab: 16 MB memory memiliki total address sebanyak 274 = 16.777.216 (a) TOTAL field =24bit (a6 M = 274) (b) WORD field bit (1 block = 4 = 2?) (c )TAG field = 24-2= 22bit TAG WORD zBiT Yan Everhard R, ly. MT Mapping pada Cache Address Data. « on «_c00300 Hasil: Associative Mapping =: TAG WORD = ar 1S 0) 9399939 13579246 + ‘22 bis 32 bits 16 Kline Cache 99393329 11223344 ‘32 bits 16 MByle Main Memory Yan Everhard R, lv. MT Mapping pada Cache Contoh Kasus : Set Associative Mapping Jika sebuah sistem komputer dengan Main Memory = 16 MB, dilengkapi dengan Cache = 64 kB , 1 Block Data = 4 byte. Bagaimanakah Struktur Address Set Associative Mapping Jawab: 16 MB memory memiliki total address sebanyak 2*4 = 16.777.216 a) TOTAL b) WORD field c) TAG field (6M / 32k = 512= 29) d) SET field =(24-2-9) =13 bit TAG SET WORD 9 BIT 13 BIT [ 2BIT Yan Everhard R, ly. MT Mapping pada Cache Hasil : Set Associative Mapping Too SeteWiord_Data vere 46 Kine Cache 2 bie 16 MByte Main Memory TAG SET WORD OBIT 13 BIT 2BIT thard R, Iv. MT Algoritma Penggantian "Yang dimaksud Algoritma Penggantian adalah suatu mekanisme pergantian blok — blok dalam memori cache yang lama dengan data baru. = Dalam pemetaan langsung (direct mapping) tidak diperlukan algoritma ini, namun dalam pemetaan asosiatif dan asosiatif set, algoritma ini mempunyai peranan penting untuk meningkatkan kinerja cache memori. =Banyak algoritma penggantian yang telah dikembangkan, namun disini akan dijelaskan algoritma yang umum digunakan saja. Yan Everhard R, ly. MT Algoritma Penggantian Algoritma yang paling efektif adalah i) Least Recently Used (LRU), yaitu mengganti blok data yang terlama berada dalam cache dan tidak memiliki referensi. 2) First In First Out (FIFO), yaitu mengganti blok data yang awal masuk. 3) Least Frequently Used (LFU) adalah mengganti blok data yang mempunyai referensi paling sedikit. 4) Random, yaitu penggantian tidak berdasakan pemakaian datanya, melainkan berdasar slot dari beberapa slot kandidat secara acak. Yan Everhard R, ly. MT | Write Policy "Apabila suatu data telah diletakkan pada cache maka sebelum ada penggantian harus dicek apakah data tersebut telah mengalami perubahan atau tidak. "Apabila telah berubah maka data pada memori utama harus di-update. ="Masalah update data pada memory utama ini sangat kompleks, mengingat memori utama dapat diakses langsung oleh modul I/O, yang memungkinkan data pada memori utama berubah. =Hal ini dapat menjadikan data pada memory utama tidak valid. Yan Everhard R, ly. MT Write Policy Untuk mengatasi hal ini maka digunakan beberapa teknik diantaranya: "write through, yaitu operasi penulisan yang melibatkan data pada memori utama dan sekaligus pada cache memori sehingga data selalu valid. * Kekurangan teknik ini adalah menjadikan lalu lintas data ke memori utama dan cache sangat tinggi sehingga mengurangi kinerja sistem. "write back, yaitu teknik meminimasi penulisan dengan cara penulisan pada cache saja. Pada saat akan terjadi penggantian blok data cache maka baru dilakukan penulisan pada memori utama. * Masalah yang timbul adalah manakala data di memori utama belum di-update telah diakses modul 1/O sehingga data di memori utama tidak valid. Yan Everhard R, lv. MT Write Policy Penggunaan_ multi cache terutama untuk multi rosesor adan menjumpai masalah yang lebih kompleks. Masalah validasi data tidak hanya antara cache dan memori utama saja, namun antar cache juga harus diperhatikan. Pendekatan. penyelesaian masalah yang dapat dilakukan adalah beberapa teknik diantaranya : 1. Bus Watching with Write Through, yaitu setiap cache controller akan memonitoring Bus Alamat untuk mendeteksi adanya operasi tulis. * Apabila ada operasi tulis di alamat yang datanya digunakan bersama maka cache controller akan menginvalidasi data cache-nya. Yan Everhard R, ly. MT | Write Policy 2. Hardware Transparency, yaitu adanya perangkat keras tambahan yang menjamin semua updating data memori utama melalui cache direfleksikan pada seluruh cache yang ada. 3. Non Cacheable Memory, yaitu hanya bagian memori utama tertentu yang digunakan secara bersama. * Apabila terjadi pengaksesan terhadap data yang tidak di share, maka hal itu) merupakan kegagalan cache. Yan Everhard R, lv. MT Jumlah Cache Terdapat dua macam letak cache, yaitu : = Didalam keping prosesor yang disebut on chip cache atau cache internal. = Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus eksternal. = Waktu aksesnya akan cepat sekali, apalagi panjang lintasan internal bus prosesor sangat pendek untuk mengakses cache internal. = Cache internal selanjutnya disebut cache tingkat 1 (11). = Diluar chip prosesor yang disebut off chip cache atau cache eksternal. = Cache eksternal berada diluar keping chip prosesor yang diakses melalui bus eksternal. = Cache eksternal selanjutnya disebut cache tingkat 2 (L2) Yan Everhard R, lr. MT Jumlah Cache Pertanyaan yang sering muncul adalah : apakah masih diperlukan cache eksternal apabila telah ada cache internal ? Dari beberapa pengamatan, sampai saat ini masih diperlukan cache ekternal untuk : = Mengantisipasi permintaan akses alamat yang belum tercakup dalam cache internal. = Memudahkan desain perancangan mother board dari sistem komputer secara keseluruhan. Didalam perkembangannya, terdapat usaha untuk memisah cache data dan cache instruksi yang disebut unified cache. Yan Everhard R, lv. MT Jumlah Cache Keuntungan unified cache adalah : = Unified cache memiliki hit rate yang tinggi karena telah dibedakan antara informasi data dan informasi instruksi. Hanya sebuah cache saja yang perlu dirancang dan diimplementasikan. Namun terdapat kecenderungan untuk menggunakan split cache, terutama pada mesin — mesin superscalar seperti Pentium dan PowerPC yang menekankan pada _paralel proses dan perkiraan — perkiraan eksekusi yang akan terjadi. Kelebihan utama split cache adalah mengurangi persaingan antara prosesor instruksi dan unit eksekusi untuk mendapatkan cache, dimana hal ini sangat utama bagi perancangan prosesor — prosesor pipelining. Yan Everhard R, ly. MT Terima Kasih

Anda mungkin juga menyukai