Pertemuan 4
MEMORY
Karakteristik Memori
 Lokasi 
 Kapasitas 
 Unit transfer
 Metode Akses 
 Kinerja 
 Jenis fisik 
 Sifat-sifat fisik 
 Organisasi 
Lokasi
 CPU (register)
 Internal (main memori)
 External (secondary memori)
Kapasitas
 Ukuran Word
 Satuan alami organisasi memori 
 Banyaknya words
 atau Bytes
Satuan Transfer
 Internal
 Jumlah bit dalam sekali akses 
 Sama dengan jumlah saluran data (= ukuran word)
 External
 Dalam satuan block yg merupakan kelipatan word
 Addressable unit
 Lokasi terkecil yang dpt dialamati secara uniq 
 Secara internal biasanya sama dengan Word 
 Untuk  disk digunakan satuan Cluster 
Metode Akses
 Sekuensial 
 Mulai dari awal sampai lokasi yang dituju 
 Waktu akses tergantung pada lokasi data dan lokasi sebelumnya 
 Contoh tape
 Direct
 Setiap  blocks memilki  address yg unique
 Pengaksesan dengan cara lompat ke kisaran umum (general vicinity) ditambah pencarian sekuensial 
 Waktu akses tdk tergantung pada lokasi dan lokasi sebelumnya 
 contoh disk
 Random
 Setiap lokasi memiliki alamat tertentu 
 Waktu akses tdk tergantung pada urutan akses sebelumnya 
 Contoh RAM
 Associative
 Data dicarai berdasarkan isinya bukan berdasarkan alamatnya 
 Waktu akses tdk tergantung terhadap lokasi atau pola akses sebelumnya 
 Contoh: cache
Hierarki Memori
 Register
 Dalam  CPU
 Internal/Main memory
 Bisa lebih dari satu level dengan adanya cache
 “RAM”
 External memory
 Penyimpan cadangan 
Performance
 Access time
 Waktu untuk melakukan operasi baca-tulis 
 Memory Cycle time
 Diperlukan waktu tambahan untuk recovery sebelum akses berikutnya 
 Access time + recovery
 Transfer Rate
 Kecepatan transfer data ke/dari unit memori 
Jenis Fisik
 Semiconductor
 RAM
 Magnetic
 Disk & Tape
 Optical
 CD & DVD
 Others
 Bubble
 Hologram
Karakteristik
 Decay
 Volatility
 Erasable
 Power consumption
Organisasi
 Susunan fisik bit-bit untuk membentuk word
Kendala Rancangan
 Berapa banyak?
 Capacity
 Seberapa cepat?
 Time is money
 Berapa mahal?
Hierarki
 Registers
 L1 Cache
 L2 Cache
 Main memory
 Disk cache
 Disk
 Optical
 Tape
Locality of Reference
 Selama berlangsungnya eksekusi suatu program, referensi memori cenderung untuk mengelompok (cluster) 
 Contoh: loops
Memori Semiconductor
 RAM 
 Penamaan yang salah karena semua memori semiconductor adalah random access (termasuk      ROM) 
 Read/Write
 Volatile
 Penyimpan sementara 
 Static atau dynamic
Dynamic RAM
 Bit tersimpan berupa muatan dalam capacitor
 Muatan dapat bocor 
 Perlu di-refresh
 Konstruksi sederhana 
 Ukuran per bit nya kecil 
 Murah 
 Perlu  refresh-circuits
 Lambat 
 Main memory
Static RAM
 Bit disimpan sebagai switches  on/off 
 Tidk ada kebocoran 
 Tdk perlu  refreshing 
 Konstruksi lebih complex 
 Ukuran per bit lebih besar 
 Lebih mahal 
 Tidak memerlukan refresh-circuits
 Lebih cepat 
 Cache
Read Only Memory (ROM)
 Menyimpan secara permanen 
 Untuk 
 Microprogramming 
 Library subroutines
 Systems programs (BIOS)
 Function tables
Jenis ROM
 Ditulisi pada saat dibuat 
 Sangat mahal 
 Programmable (once)
 PROM
 Diperlukan peralatan khusus untuk memprogram 
 Read “mostly”
 Erasable Programmable (EPROM)
 Dihapus dg sinar UV
 Electrically Erasable (EEPROM)
 Perlu waktu lebih lama untuk menulisi 
 Flash memory
 Menghapus seleuruh memori secara electris 
Organisasi
 16Mbit chip dapat disusun dari 1M x 16 bit word 
 1 bit/chip memiliki 16 lots dengan bit ke 1 dari setiap word berada pada chip 1 
 16Mbit chip dapat disusun dari array: 2048 x 2048 x 4bit 
 Mengurangi jumlah addres pins
 Multiplex row address dg column address
 11 pins untuk address (211=2048)
 Menambah 1 pin kapasitas menjadi 4x 
Refreshing
 Rangkaian Refresh diamsukkan dalam chip
 Disable chip
 Pencacahan melalui baris 
 Read & Write back
 Perlu waktu 
 Menurunkan kinerja 
Koreksi kesalahan
 Rusak berat 
 Cacat/rusak Permanent
 Rusak ringan 
 Random, non-destructive
 Rusak non permanent
 Dideteksi menggunakan Hamming code
Operasi pada Cache
 CPU meminta isi data dari lokasi memori tertentu 
 Periksa data tersebut di cache
 Jika ada ambil dari cache (cepat)
 Jika tidak ada, baca 1 block data dari main memory ke cache
 Ambil dari cache ke CPU
 Cache bersisi tags untuk identitas block dari main memory yang berada di cache
Desain Cache
 Ukuran (size)
 Fungsi Mapping
 Algoritma penggantian (replacement algrthm)
 Cara penulisan (write policy)
 Ukuran Block
 Jumlah Cache
Size
 Cost
 Semakin besar semakin mahal 
 Speed
 Semakin besar semakin cepat 
 Check data di  cache perlu waktu 
Fungsi Mapping
 Ukuran Cache  64kByte
 Ukuran  block  4 bytes
 diperlukan 16k (214) alamat per alamat 4 bytes
 Jumlah jalur alamat cache 14
 Main memory 16MBytes
 Jalur alamat perlu 24 bit 
 (224=16M)
Direct Mapping
 Setiap block main memory dipetakan hanya ke satu jalur cache 
 Jika suatu  block ada di cache, maka tempatnya sudah tertentu 
 Address terbagi dalam 2 bagian 
 LS-w-bit menunjukkan word tertentu 
 MS-s-bit menentukan 1 blok memori 
 MSB terbagi menjadi field jalur cache r dan  tag sebesar s-r (most significant)
Table Cache Line pada Direct Mapping
 Cache line   blocks main memori 
 0    0, m, 2m, 3m…2s-m
 1    1,m+1, 2m+1…2s-m+1
 m-1   m-1, 2m-1,3m-1…2s-1
Keuntungan & Kerugian Direct Mapping
 Sederhana 
 Murah 
 Suatu blok memiliki lokasi yang tetap 
 Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sanagat tinggi 
Associative Mapping
 Blok main memori dpt di simpan ke cache line mana saja 
 Alamat Memori di interpresi sbg tag dan word
 Tag menunjukan identitas block memori 
 Setiap baris tag dicari kecocokannya 
 Pencarian data di Cache menjadi lama
Set Associative Mapping
 Cache dibagi dalam sejumlah  sets
 Setiap set berisi sejumlah line
 Suatu blok di maps ke line mana saja dalam set
 misalkan Block B dapat berada pada line mana saja dari set i 
 Contoh: per set ada 2 line
 2 way associative mapping
 Suatu block dpt berada pada satu dari 2 lines dan hanya dalam 1 set
Replacement Algorithms (1)
Direct mapping
 Tidak ada pilihan 
 Setiap block hanya di map ke 1 line
 Ganti line tersebut
Tidak ada komentar:
Posting Komentar