Bab 6 Pengelolaan Memori 3
A. Memori Semu Bab 6 PENGELOLAAN MEMORI 3 1. Memori Dukung dan Memori Kerja Memori dukung dan memori kerja saling bekerja sama, saling muat muatan sehingga memori dukung dianggap sebagai memori (kerja) semu Memori kerja Memori dukung
Ketika bekerja, prosesor sering mencari muatan di memori kerja ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 2. Gagal Suku Ketika bekerja, prosesor sering mencari muatan di memori kerja Dalam hal muatan pilah suku, prosesor mencari suku di memori kerja Jika suku yang dicari tidak ada maka terjadi gagal suku Prosesor Mencari suku
Pemuatan suku ini disebut muat suku ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 3. Muat Suku Jika suku yang diperlukan olen prosesor tidak ada di memori kerja maka suku itu dimuat dari memori dukung ke memori kerja Pemuatan suku ini disebut muat suku Biasanya ukuran suku = 4 kb = 4096 bait Prosesor Memori kerja Memori dukung
4. Memori Kerja Penuh dan Penggantian Suku ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 4. Memori Kerja Penuh dan Penggantian Suku Pada suatu ketika, memori kerja terisi penuh (rangka suku terisi penuh) Jika terjadi gagal suku, maka suku itu tidak dapat dimuat lagi ke memori kerja Untuk melakukan muat suku maka ada suku di memori kerja yang dikeluarkan (diganti) Memori kerja penuh Memori dukung
5. Sistem Memori Cadangan ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 5. Sistem Memori Cadangan Jika memori kerja penuh dan terjadi gagal suku maka ada suku yang perlu dikeluarkan agar suku dapat dimuat; pengeluaran suku ini tidak dapat ditunda Agar dapat ditunda jika diperlukan, memori kerja menyediakan rangka suku cadangan Muat suku ke cadangan dan cadangan dapat digandi kemudian Memori cadangan Memori kerja Memori dukung
Yang diganti hanya suku dari proses yang sama ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 6. Lokasi Penggantian Penggantian Lokal Yang diganti hanya suku dari proses yang sama A0 A0 A1 A1 A2 A2 A3 A3 A4 B0 A5 B1 B0 B2 B1 C0 B2 C1 B3 B4 A4 hanya boleh mengganti A0 sampai A3
Boleh mengganti semua suku yang ada di memori kerja ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ Penggantian Global Boleh mengganti semua suku yang ada di memori kerja A0 A0 A1 A1 A2 A2 A3 A3 A4 B0 A5 B1 B0 B2 B1 C0 B2 C1 B3 B4 A4 boleh mengganti dari A0 sampai C1
7. Suku Reentran dan Nonreentran Setelah dimuat ke memori kerja, ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 7. Suku Reentran dan Nonreentran Setelah dimuat ke memori kerja, Ada suku yang tidak berubah, dikenal sebagai suku reentran Ada suku yang berubah, dikenal sebagai suku nonreentran Suku reentran dapat diganti begitu saja karena masih ada di memori dukung Suku nonreentran akan hilang jika diganti sehingga perlu dimuat ke memori dukung r r = reentran nr = nonreentran nr Memori kerja Memori dukung
8. Kerja Sia-sia dan Parakor ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 8. Kerja Sia-sia dan Parakor Jika memori kerja besar maka setiap muat suku dapat ditampung; bahkan ada memori yang tidak terpakai Jika memori kerja kecil maka terjadi perebutan memori; terjadi banyak penggantian Jika muatan yang baru dimuat sudah diganti dan penggantinya diganti lagi maka terjadi kerja sia-sia (thrashing) Saling gandi Memori dukung Memori kerja
Banyak panggantian suku; kerja sia-sia tinggi ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ Lengkungan Parakor Hubungan di antara kecepatan muat suku dengan banyaknya rangka suku di memori kerja Kece-patan muat suku Banyaknya rangka suku Banyak panggantian suku; kerja sia-sia tinggi Banyak rangka suku tidak terpakai
Sedikit penggantian suku menyebabkan sedikit gagal suku 9. Anomali Belady Biasanhya, makin besar ukuran memori kerja, maka besar daya tampungnya, sehingga penggantian suku menjadi sedikit Sedikit penggantian suku menyebabkan sedikit gagal suku Ada kalanya (jarang sekali) terjadi sebaliknya yakni makin besar ukuran memori kerja makin banyak gagal suku Kejadian ini dikenal sebagai anomali Belady (ditemukan oleh Belady); makin besar ukuran memori kerja makin banyak gagal suku Banyaknya gagal suku Banyaknya rangka suku
B. Penggantian Suku Berdasarkan Permintaan ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ B. Penggantian Suku Berdasarkan Permintaan 1. Permintaan Suku dan Antrian Suku Prosesor mencari isi rangka suku untuk diakses; pencarian ini dapat berbentuk antrian suku Antrian suku ini ditimbulkan oleh program yang dikerjakan oleh prosesor Contoh antrian suku 01230140123433122412… Agar mudah terbaca, antrian dipecah empat-empat 0123 0140 1234 3312 2412 … Arah antrian
2. Gagal Suku, Muat Suku, dan Penggantian Suku ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 2. Gagal Suku, Muat Suku, dan Penggantian Suku Jika suku yang akan diakses oleh prosesor tidak ada di memori kerja maka terjadi gagal suku Agar dapat dikerjakan suku yang gagal diakses itu dimuat dari memori dukung Jika memori kerja sudah penuh maka untuk dapat memuat suku yang dicari, ada suku di rangka suku yang perlu diganti Urutan peristiwa Prosesor mengkases suku Jika tidak ada, gagal suku Jika gagal suku, muat suku Jika memori kerja penuh, penggantian suku
3. Algoritma Penggantian Suku ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 3. Algoritma Penggantian Suku Suku mana di memori kerja yang akan diganti ditentukan oleh algoritma penggantian suku Di sini dibicarakan beberapa algoritma penggantian suku sambil menghitung banyaknya gagal suku Beberapa algoritma penggantian suku Algoritma penggantian acak Algoritma pertama masuk pertama keluar Algoritma paling lama tidak dipakai Algoritma paling jarang dipakai Algoritma paling sering dipakai Algoritma peluang kedua
4. Algoritma Penggantian Acak Suku yang diganti ditentukan secara acak ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 4. Algoritma Penggantian Acak Suku yang diganti ditentukan secara acak Contoh 1 Ada 3 rangka suku • Suku yang diganti; x Gagal suku Penggantian suku dilakukan secara acak Antrian suku 0 1 2 3 0 1 4 0 1 2 3 4 Muat dan 0 0 0• 3 3 3 • 1• 2 2• 4 ganti 1 1 1 1 • 4 4 4• 3 3 2 2• 0 0 0 0 0 0 Gagal x x x x x x x x x x suku Terjadi 10 kali gagal suku
5. Algoritma Penggantian Pertama Masuk Pertama Keluar (PMPK) ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 5. Algoritma Penggantian Pertama Masuk Pertama Keluar (PMPK) First In First Out (FIFO) Contoh 2 Ada 4 rangka suku Antrian suku 1 2 3 4 1 2 5 1 2 3 4 5 Muat dan 1 1 1 1 • 5 5 5 5• 4 4 ganti 2 2 2 2• 1 1 1 1• 5 3 3 3 3• 2 2 2 2 4 4 4 4• 3 3 3 Gagal x x x x x x x x x x suku Terjadi 10 kali gagal suku
Contoh 3 (untuk anomali Belady) Tiga Rangka Suku Antrian ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ Contoh 3 (untuk anomali Belady) Tiga Rangka Suku Antrian Suku 0 1 2 3 0 1 4 0 1 2 3 4 Muat dan 0 0 0• 3 3 3• 4 4 4 Ganti 1 1 1• 0 0 0 • 2 2 2 2 2• 1 1 1• 3 Gagal x x x x x x x x x 9 kali Suku Empat Rangka Suku Muat dan 0 0 0 0 • 4 4 4 4• 3 3 Ganti 1 1 1 1• 0 0 0 0• 4 2 2 2 2• 1 1 1 1 3 3 3 3• 2 2 2 Gagal x x x x x x x x x x 10 kali suku 3
6. Algoritma Penggantian Paling Lama Tidak Dipakai (PLTD) ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 6. Algoritma Penggantian Paling Lama Tidak Dipakai (PLTD) Least Recently Used (LRU) Contoh 4 Ada empat rangka suku Antrian suku 1 2 3 4 1 2 5 1 2 3 4 5 Muat dan 1 1 1 1 1 1 1• 5 ganti 2 2 2 2 2 2 2 3 3 • 5 5• 4 4 4 4 • 3 3 3 Gagal x x x x x x x x suku Terjadi 8 kali gagal suku
Paling Jarang Dipakai (PJD) Least Frequently Used ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 7. Algoritma Penggantian Paling Jarang Dipakai (PJD) Least Frequently Used Dalam contoh ini, jika frekuensi sama maka suku kecil yang diganti Contoh 4 Ada 4 rangka suku Antrian suku 1 2 3 4 1 2 5 1 2 3 4 5 Muat dan 1 1 1 1 1 1 1 ganti 2 2 2 2 2 2 3 3 • 5 5 5 4 4 • 3• 4 Frekuensi 1(2) 1(3) 1(3) dipakai 2(2) 2(3) 2(3) 3(1) 5(1) 5(1) 4(1) 4(1) 3(1) Gagal x x x x x x x suku Gagal suku 7 kali
Paling Sering Dipakai (PSD) Most Frequently Used ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 8. Algoritma Penggantian Paling Sering Dipakai (PSD) Most Frequently Used Dalam contoh ini, jika frekuensi sama maka suku kecil yang diganti Contoh 5 Ada 4 rangka suku Antrian suku 1 2 3 4 1 2 5 1 2 3 4 5 Muat dan 1 1 1 1 • 5 5 5 ganti 2 2 2 2• 1• 2 3 3 3 3 3 4 4 4 4 Frekuensi 1(2) 2(2) 1(1) dipakai 2(2) 3(1) 3(1) 3(1) 4(1) 4(1) 4(1)5(1)5(1) Gagal x x x x x x x suku Gagal suku 7 kali
9. Algoritma Penggantian ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 9. Algoritma Penggantian Peluang Kedua Suku diberi peluang sehingga pada peluang kedua baru diganti Diperlukan pointer untuk menunjuk suku secara berurutan; sampai di ujung, pointer mulai lagi dari awal
Bit untuk tanda peluang Peluang pertama 0 Peluang kedua 1 ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ Bit untuk tanda peluang Peluang pertama 0 Peluang kedua 1 Putaran pertama Putaran kedua Rangka Bit Rangka Bit 23 0 23 1 27 0 27 1 32 0 32 1 33 1 33 ganti 37 0 37 0 39 1 39 1 42 1 42 1
C. Penggantian Suku Berdasatkan Perkiraan 1.Dasar Perkiraan ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ C. Penggantian Suku Berdasatkan Perkiraan 1.Dasar Perkiraan Untuk dapat melakukan perkiraan diperlukan dasar untuk perkiraan Dasar yang umum digunakan adalah lokalitas yakni lokasi suku yang akan sering diakses untuk suatu waktu tertentu Ada dua macam lokalitas Lokalitas waktu Lokalitas ruang Lokasi ini dapat diperkirakan untuk dimuat sekaligus ke memori kerja
Pengulangan ini dilakukan melalui simpal (looping), misalnya, melalui ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 2. Lokalitas Waktu Ada kalanya program komputer melakukan proses yang sama berulang-ulang untuk sejumlah kali Pengulangan ini dilakukan melalui simpal (looping), misalnya, melalui Dari X = 1 sampai 100 A __________ B __________ C __________ D __________ E __________ F __________ Batas Ada lokasi A sampai F yang diulang 100 kali
Ada sejumlah alamat memori berurutan yang digunakan pada proses ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 3. Lokalitas Ruang Ada kalanya program komputer melakukan proses yang menggunakan alamat memori yang berdampingan Ada sejumlah alamat memori berurutan yang digunakan pada proses X(01) X(02) X(03) X(04) X(99) Ada 99 lokasi berurutan yang akan diakses
Ada kalanya ada sejumlah lokalitas membentuk peta perkiraan ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 4. Peta Perkiraan Ada kalanya ada sejumlah lokalitas membentuk peta perkiraan Secara bergantian setiap lokalitas dimuat sekaligus ke memori kerja Banyaknya suku L = lokalitas P = peralihan P L1 L2 P P L4 L3
4. Model Perangkat Kerja (Working Set Model) ------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 4. Model Perangkat Kerja (Working Set Model) Suku di dalam suatu lokalitas merupakan suatu perangkat kerja Mereka menempati suatu bentangan waktu berupa jendela perangkat kerja Lebar jendela perangkat kerja adalah waktu (dapat berupa cacahan pada memori) Suku di luar jendela dikeluarkan dari memori kerja w Waktu tw t
------------------------------------------------------------------------------ Bab 6 ------------------------------------------------------------------------------ 5. Contoh perangkat kerja dengan w = 12 000 Memori Suku Perangkat Letak Suku tak Teracu teracu kerja perubahan terpakai 00 000 123 123 123 123 10 000 145 12345 145 12345 14 000 456 123456 456 123456 22 000 1 1456 24 000 174 14567 26 000 176 14567 176 14567 32 000 18 145678 18 14678 38 000 178 1678 178 1678 46 000 178 178 48 000 90 17890 2 3 (10 000 – 22 000) 5 (22 000 – 34 000) 4 (26 000 – 38 000) 6 (32 000 – 44 000