Cache Memory Cache Memory Sifat2: 1. Memori Cepat dg kapasitas yg sedikit (2KB – 512KB) 2. Terletak antara main memory dengan CPU 3. Bisa saja diletakkan dalam chip CPU atau module tersendiri
Cache Memory Cara Kerja Cache Parameter Cache Memory 1. CPU meminta isi data dari lokasi memori tertentu 2. Periksa data tersebut di cache 3. Jika ada ambil dari cache (cepat) 4. Jika tidak ada, baca 1 block data dari main memory ke cache 5. Ambil dari cache ke CPU Parameter Cache Memory 1.Ukuran Cache (size) 2.Fungsi Mapping 3.Algoritma penggantian (replacement algorthm) 4.Cara penulisan (write policy) 5.Ukuran Block 6.Jumlah Cache 2
Cache Memory Karakteristik Cache Prinsip Lokalitas 1. Cost - Semakin besar semakin mahal 2. Speed - Semakin besar semakin cepat - Check data di cache perlu waktu Prinsip Lokalitas 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” 3
Cache Memory Cache Mapping Ada 3 Teknik Mapping Untuk menentukan hubungan atau kaitan antara alamat data dalam Main Memory dengan alamat data tersebut ketika berada dalam Cache Memory Ada 3 Teknik Mapping Direct Mapping Associative Mapping Set Associative Mapping 4
Cache Memory Direct Mapping Sifat2: Data dalam cache memiliki “Slot No.” yang terurut (sorted) Proses Searching data dalam cache lebih cepat Swapping terjadi jika ada 2 block data memiliki Slot No. yang sama, sehingga terjadi “bentrok” dan salah satu yaitu block terlama harus dikeluarkan (di-swap) dari cache. Jika Sering terjadi “swapping” dalam cache hal ini akan menurunkan kinerja Cache 5
Cache Memory Direct Mapping 6
Cache Memory Associative Mapping Sifat: 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 7
Cache Memory Associative Mapping 8
Cache Memory 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 - 2 way associative mapping - Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set 9
Cache Memory Set Associative Mapping 10
Cache Memory Studi Kasus : Direct Mapping Jika diketahui sebuah sistem komputer dengan Main Memory = 16 MB , dilengkapi dengan Cache = 64 kB , 1 Block Data = 4 byte Ditanyakan: Struktur Address Direct Mapping Solusi: 16 MB memory memiliki total address sebanyak 224 = 16.777.216 (a) TOTAL field = 24 bit (16 M = 224) (b) WORD field = 2 bit ( 1 block = 4 = 22 ) ( c) TAG field = 8 bit (16 M / 64 k = 256= 28) (d) SLOT field = (24 – 2 – 8 ) = 14 bit 11
Cache Memory HASIL: DIRECT MAPPING 12
Cache Memory Studi Kasus : Associative Mapping Jika diketahui sebuah sistem komputer dengan Main Memory = 16 MB , dilengkapi dengan Cache = 64 kB , 1 Block Data = 4 byte Ditanyakan: Struktur Address Associative Mapping Solusi: 16 MB memory memiliki total address sebanyak 224 = 16.777.216 (a) TOTAL field = 24 bit (16 M = 224) (b) WORD field = 2 bit ( 1 block = 4 = 22 ) (c ) TAG field = 24 – 2= 22bit 13
Cache Memory Hasil: Associative Mapping 14
Cache Memory Studi Kasus : Set Associative Mapping Jika diketahui sebuah sistem komputer dengan Main Memory = 16 MB , dilengkapi dengan Cache = 64 kB , 1 Block Data = 4 byte Ditanyakan: Struktur Address Set Associative Mapping Solusi: 16 MB memory memiliki total address sebanyak 224 = 16.777.216 (a) TOTAL field = 24 bit (16 M = 224) (b) WORD field = 2 bit ( 1 block = 4 = 22 ) (c) TAG field = 9 bit (16 M / 32 k = 512= 29) (d) SET field = (24 – 2 – 9 ) = 13 bit 15
Cache Memory Hasil : Set Associative Mapping 16