280 likes | 460 Views
Cache Memori Oleh : Ahmad Fuad Hari ri Fitriana Nelvi Tino Arif Cahyo Sarwo Eddie Wibowo. Idealnya, kecepatan processor harus diimbangi oleh kecepatan memory yang dalam hal ini adalah main memory.
E N D
Cache Memori Oleh : • Ahmad Fuad Hariri • Fitriana Nelvi • Tino Arif Cahyo • Sarwo Eddie Wibowo
Idealnya, kecepatan processor harus diimbangi oleh kecepatan memory yang dalam hal ini adalah main memory. • Cache memory adalah memori berkapasitas terbatas, berkecepatan tinggi yanglebih mahal dibanding memori utama. • Cache memori terletak diantara memori utama dan register CPU, dan berfungsi agar CPU tidak langsung mengacu ke memori utamatetapi di cache memori yang kecepatan aksesnya lebih tinggi. Metode ini akanmeningkatkan kinerja system. Cache Memory
Dahulu cache disimpan di luar prosesor dan dapatditambahkan. Untuk meningkatkan kinerja, saat ini cache ditanamkan di prosesor. Kecepatan memori utama sangat rendah dibandingkan kecepatan prosessormodern. Untuk performa yang baik, prosessor tidak dapat membuang waktunyadengan menunggu untuk mengakses instruksi dan data pada memori utama.Karenanya sangat penting untuk memikirkan suatu skema yang mengurangi waktudalam mengakses informasi. Karena kecepatan memori utama dibatasi oleh batasanelektronik dan packaging, maka solusinya harus dicari pada sistem arsitektur yangberbeda. CACHE MEMORY
Solusi yang efisien adalah menggunakan memori cache cepat yangsebenarnya membuat memori utama tampak lebih cepat bagi prosesor daripadasebenarnya. Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama Waktu akses memori cache lebih cepat 5 – 10 kali dibandingkan memori utama
Syarat Virtual Memori • Agar memori virtual dapat diterapkan dan efektif, diperlukan 2 hal : • Hardware yang mendukung teknik pagging / segmentasi dapat dilakukan. • SO harus memiliki software untuk mengatur perpindahan page / segmen antara memori utama dan sekunder.
Paging • Memori utama dipartisikan menjadi chunk-chunk kecil berukuran tetap yang disebut frame. • Program di pecah-pecah menjadi page-page oleh compiler atau sistem manajemen memori. • Fragmentasi internal di dalam frame. • SO harus memiliki page tabel bagi setiap proses yang menunjukkan frame mana tempat berada masing-masing page.
Segmentasi Implikasi Virtual Memori • Menyederhanakan penanganan perkembangan struktur data. • Memungkinkan program untuk di ubah dan dikompilasi ulang secara independen. • Membiarkan dirinya berbagi-pakai proses. • Memungkinkan dilakukan proteksi.
Gabungan Paging dan Segmentasi • Sebuah ruang alamat pengguna dipecah menjadi beberapa segmen yang diinginkan dengan keinginan pemrogram. • Kemudian setiap segmen dibagi menjadi beberapa page berukuran tetap, yang panjangnya sama dg frame memori utama.
Beberapa Masalah • Beberapa masalah rancangan dukungan sistem operasi yg berkaitan dg manajemen memori : • Kebijakan pengambilan • Kebijakan penempatan • Kebijakan penggantian • Manajemen resident set • Kebijakan pembersihan • Kontrol pemuatan
Cache berisi salinan sebagian isi memori utama Pada saat CPU membaca sebuah word memory, dilakukan pemeriksaan untuk mengetahui apakah word berada berada di cache Jika word berada di cache, maka akan dikirimkan ke CPU yang dikenal sebagai proses HITT Jika tidak ada, maka blok memori utama yang terdir idari sejumlah word tetap akan diletakkan di cache yang dikenal sebagai proses MISS dan selanjutnya dikirim ke CPU PRINSIPKERJA MEMORI CACHE
Cache memory berisi copy dari sebagian isi dari main memory. • Processor akan mencari word pada cache memory terlebih dahulu jika membutuhkan suatu word. • Jika word yang dicari ada pada cache, maka processor langsung akan membacanya. • Jika word yang dicari tidak ada, maka beberapa blok dari main memory akan di load ke cache, dan dedeliver ke processor.
Beberapa point yang diperhatikan dalam design suatu cache memory adalah sebagai berikut : • Cache size • Block size • Mapping function • Replacement algorithm • Write policy Cache Design
Memory-mapped file I/O membolehkan file I/O diperlakukan sebagai rutin akses memori yang dipetakan sebagai blok disk ke dalam page memori • Suatu file diinisialisasikan menggunakan demand pagin. Suatu bagian page file dibaca dari file sistem ke page fisik. Subsequent membaca/menulis ke/dari file yang diperlakukan dalam urutan memori akses. • Secara sederhana file akses memperlakukan file I/O melalui memori melalui read()write() system calls. • Beberapa proses juga dapat dipetakan pada fiel yang sama pada memori yang di-share. Memory-Mapped File
Mencegah alokasi yang berlebihan dari memori dengan memodifikasi layanan rutin page-fault melalui page Menggunakan modify bit untuk mengurangi overhead transfer page – hanya modifikasi page yang ditulis di disk. Page replacement melengkapi pemisahan antara memori logik dan memori fisik – virtual memori yang besar dapat memenuhi kebutuhan memori fisik yang kecil. Page Replacement
Tentukan lokasi yang diminta page pada disk. • Tentuka frame bebas : • Jika tersedia frame bebas, maka dapat digunakan • Jika tidak tersedia frame bebas, gunakan algoritma penggantian untuk memilih kandidat frame. • Baca page yang dituju ke dalam frame bebas (yang baru). Update page dan frame table. • Restart process. Basic Page Replacement
Pilih page fault terendah. Evaluasi algoritma dengan menjalankan particular string dari memori acuan (reference string) dan menghitung jumlah page fault dari string. Contoh, reference string sebagai berikut : 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5. Algoritma Page Replacement
Registers ↔ Memory • by compiler (programmer) • Cache ↔ Memory • by the hardware • Memory ↔ Disks • by the hardware and operating system (virtual memory) • by the programmer (files) How is the hierarchy managed?
Interrupt-Driven I/O dirasa lebih efisien daripada programmed I/O, namun Interrupt-Driven masih memerlukan intervensi aktif dari processor. • Kesulitan yang dihadapi oleh programmed I/O dan Interrupt-Driven I/O adalah : • Kecepatan transfer I/O dibatasi oleh kecepatan processor dalam memeriksa dan melayani perangkat eksternal. • Processor terikat oleh kegiatan mengatur transfer I/O. Direct Memory Access (DMA) - 1
Jika terdapat data yang bervolume besar, diperlukan teknik yang lebih efisien. • Direct Memory Access (DMA) diperkenalkan sebagai solusi untuk menyediakan modul yang terpisah yal ng terdapat pada sistem BUS atau menggabungkanya dengan modul I/O. • Pada saat akan melakukan pembacaan atau penulisan suatu blok data, processor mengeluarkan perintah ke modul DMA dengan cara mengirimkan informasi sebagai berikut : • Apakah read atau write yang diminta ? • Apakah perangkat I/O terlibat ? • Lokasi awal dalam memory yang akan dibaca atau ditulis ? • Jumlah word yang akan dibaca atau ditulis ? Direct Memory Access (DMA) - 2
Setelah memberikan perintah ke DMA, processor melanjutkan eksekusinya atas instruksi yang lain. • DMA melakukan transfer data dari perangkat eksternal ke main memory tanpa intervensi processor. • Setelah process transfer selesai, DMA akan melakukan interrupt ke processor. • Sehingga processor hanya dilibatkan pada permulaan dan akhir dari proses transfer. Direct Memory Access (DMA) - 3
Kesimpulan • Memori Virtual digunakan untuk menampung proses sebanyak mungkin dan membebaskan pemrogram dari batasan-batasan ukuran dalam membuat program. • Semua referensi alamat merupakan referensi-referensi logika yg ditranslasikan pada saat run time menjadi alamat real. • Dua pendekatan untuk terciptanya memori virtual adalah paging dan segmentasi. • Pada paging, setiap proses dibagi menjadi page-page berukuran kecil yang berukuran tetap. • Pada segmentasi, dibuat menggunakan potongan-potongan yang ukurannya dapat berubah-ubah. • Teknik virtual memori memerlukan dukungan hardware (software) dan software.