© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website: Arsitektur Komputer
Cache Memory Pertemuan 5
Levels of the Memory Hierarchy Part of The On-chip CPU Datapath ISA Registers One or more levels (Static RAM): Level 1: On-chip 16-64K Level 2: On-chip 256K-2M Level 3: On or Off-chip 1M-16M Registers Cache Level(s) Main Memory Magnetic Disc Optical Disk or Magnetic Tape Farther away from the CPU: Lower Cost/Bit Higher Capacity Increased Access Time/Latency Lower Throughput/ Bandwidth Dynamic RAM (DRAM) 256M-16G Interface: SCSI, RAID, IDE, G-300G CPU
Memory Hierarchy Comparisons CPU Registers 100s Bytes <10s ns Cache K Bytes ns cents/bit Main Memory M Bytes 200ns- 500ns $ cents /bit Disk G Bytes, 10 ms (10,000,000 ns) cents/bit -5-6 Capacity Access Time Cost Tape infinite sec-min Registers Cache Memory Disk Tape Instr. Operands Blocks Pages Files Staging Xfer Unit prog./compiler 1-8 bytes cache cntl bytes OS 4K-16K bytes user/operator Mbytes faster Larger
Inventor of Cache M. V. Wilkes, “Slave Memories and Dynamic Storage Allocation,” IEEE Transactions on Electronic Computers, vol. EC-14, no. 2, pp , April 1965.
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 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
Cache Memory Karakteristik Cache 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”
Cache Memory Cache 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 1.Direct Mapping 2.Associative Mapping 3.Set Associative Mapping
Cache Memory Direct Mapping Sifat2: 1.Data dalam cache memiliki “Slot No.” yang terurut (sorted) 2.Proses Searching data dalam cache lebih cepat 3.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. 4.Jika Sering terjadi “swapping” dalam cache hal ini akan menurunkan kinerja Cache
Cache Memory Direct Mapping
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
Cache Memory Associative Mapping
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
Cache Memory Set Associative Mapping
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 2 24 = (a) TOTAL field = 24 bit (16 M = 2 24 ) (b) WORD field = 2 bit ( 1 block = 4 = 2 2 ) ( c) TAG field = 8 bit(16 M / 64 k = 256= 2 8 ) (d) SLOT field = (24 – 2 – 8 ) = 14 bit
Cache Memory HASIL: DIRECT MAPPING
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 2 24 = (a) TOTAL field = 24 bit (16 M = 2 24 ) (b) WORD field = 2 bit ( 1 block = 4 = 2 2 ) (c ) TAG field = 24 – 2= 22bit
Cache Memory Hasil: Associative Mapping
Cache Memory Studi Kasus : Set Associative Mapping Jika diketahui sebuah sistem komputer dengan Main Memory = 16 MB, dilengkapi dengan Cache = 32 kB, 1 Block Data = 4 byte Ditanyakan: Struktur Address Set Associative Mapping Solusi: 16 MB memory memiliki total address sebanyak 2 24 = (a) TOTAL field = 24 bit (16 M = 2 24 ) (b) WORD field = 2 bit ( 1 block = 4 = 2 2 ) (c) TAG field = 9 bit(16 M / 32 k = 512= 2 9 ) (d) SET field = (24 – 2 – 9 ) = 13 bit
Cache Memory Hasil : Set Associative Mapping
Cache Memory Terima Kasih