1 / 33

Hierarki Memori Dan Cache Memori.

Hierarki Memori Dan Cache Memori. Hirarki Memory. Desain memory dipangaruhi oleh beberapa hal, yaitu : kecepatan, kapasitas, dan cost . Terdapat beberapa kaitan yang menjadi trade off dalam upaya desain memory : Semakin cepat waktu akses, semakin mahal cost per-bit.

axl
Télécharger la présentation

Hierarki Memori Dan Cache Memori.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hierarki Memori Dan Cache Memori.

  2. Hirarki Memory Desain memory dipangaruhi oleh beberapa hal, yaitu : kecepatan, kapasitas, dan cost. Terdapat beberapa kaitan yang menjadi trade off dalam upaya desain memory : Semakin cepat waktu akses, semakin mahal cost per-bit. Semakin besar kapasitas memory, cost tiap bit semakin murah. Semakin besar kapasistas, semakin lambat waktu aksesnya.

  3. Trade-Off Pada Desain Memory

  4. Trade-Off PadaDesain Memory (2) Berdasarkan kondisi yang dijelaskan sebelumnya, designer mencoba untuk merancang memory yang berkapasitas besar, namun tetap memperhatikan faktor performa. Solusinya adalah kombinasi antara memory yang berkapasitas besar, dengan memory yang kapasitasnya lebih kecil dengan waktu akses yang cepat.

  5. Solusinya … ? Berdasarkan kondisi yang dijelaskan sebelumnya, designer mencoba untuk merancang memory yang berkapasitas besar, namun tetap memperhatikan faktor performa. Solusinya adalah kombinasi antara memory yang berkapasitas besar, dengan memory yang kapasitasnya lebih kecil dengan waktu akses yang cepat.

  6. ContohKasus (1) Misalkan processor memiliki level memory 2 tingkat, tingkat 1 berisi 1000 word dengan waktu akses 0.1 µs, sedang tingkat 2 dengan kapasitas yang lebih besar 100.000 word dengan waktu akses 1 µs. Jika word yang akan diakses berada pada tingkat 1, maka processor akan langsung akses. Jika word yang akan diakses ada pada tingkat 2, maka word yang ada pada tingkat 2 akan dipindah ke tingkat 1 dan kemudian akan diakses oleh processor.

  7. ContohKasus (lanjutan) Misalkan 95% waktu akses ada pada tingkat 1, dan 5% ada pada tingkat 2. Sehingga : (0.95)(0.1 µs) + (0.05)(0.1 µs + 1 µs) = 0.095 + 0.055 = 0.15 µs Nilai yang didapatkan mendekati waktu akses memory tingkat 1. Inilah strategi yang digunakan dalam menyediakan mekanisme processing yang membutuhkan kecepatan akses dan kapasitas yang besar.

  8. Cache Memory 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.

  9. 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.

  10. 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

  11. PRINSIPKERJA MEMORI CACHE • 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

  12. 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.

  13. Memory Stack

  14. Cache & Memory Structure

  15. Cache & Memory Structure

  16. Cache Design Beberapa point yang diperhatikan dalam design suatu cache memory adalah sebagai berikut : Cache size Block size Mapping function Replacement algorithm Write policy

  17. Memory-Mapped File • 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.

  18. Memory Mapped Files

  19. Page Replacement • 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.

  20. Kebutuhan Page Replacement

  21. Basic 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.

  22. Page Replacement

  23. Algoritma 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.

  24. How is the hierarchy managed? • Registers ↔ Memory • by compiler (programmer) • Cache ↔ Memory • by the hardware • Memory ↔ Disks • by the hardware and operating system (virtual memory) • by the programmer (files)

  25. I/O Communication Technique Terdapat beberapa mekanisme komunikasi yang berhubungan dengan I/O, yaitu : Programmed I/O Interrupt-driven I/O Direct Memory Access (DMA)

  26. Programmed I/O (1) Pada mekanisme ini, processor bertanggung jawab dalam transfer data dari perangkat eksternal ke memory dan sebaliknya. Pada saat processor melakukan eksekusi dan mendapatai instruksi yang berkaitan dengan I/O, maka akan menerbitkan perintah ke modul I/O yang bersangktan. Modul I/O yang bersangkutan akan melakukan aksi yang diminta processor. Sebagai mekanisme untuk menentukan status transfer I/O, modul I/O tidak dapat melakukan interrupt pada processor, sehingga, processor secara periodik melakukan pengecekan akan status tersebut.

  27. Programmed I/O (2) Dengan demikian, instruksi untuk mekanisme I/O pada programmed I/O mencakup beberapa hal dibawah ini : Control Digunakan untuk aktivasi perangkat eksternal dan menginformasikan tentang aksi apa yang harus dilaksanakan. Status Digunakan untuk mengetahui status akan transfer data dari perangkat I/O ke main memory. Transfer Digunakan untuk memindahkan data antara register processor dengan perangkat eksternal.

  28. Programmed I/O (3) Pada gambar disamping ditunjukan mekanisme eksekusi instruksi yang melibatkan I/O. Processor secara periodik melakukan pengecekan untuk mengetahui status daripada transfer data dari perangkat ekstenal ke main memory dan sebaliknya. Sehingga processor disibukan dengan proses untuk mengetahui status transfer.

  29. Interrupt-Driven I/O (1) Masalah pada programmed I/O adalah bahwa processor harus menunggu hingga modul I/O siap untuk melakukan transfer yang mengakibatkan processor musti melakukan pengecekan yang berulang-ulang atas status modul I/O. Alternatifnya, processor menerbitkan perintah ke modul I/O dan kemudian processor melanjutkan eksekusinya atas instruksi yang lain. Modul I/O akan melakukan interrupt ke processor untuk meminta layanan jika modul I/O telah siap saling bertukar data dengan processor. Processor kemudian melakukan eksekusi atas instruksi perpindahan data. Setelah selesai, processor akan melanjutkan eksekusi instruksi sebelumnya, sebelum peocessor di interrupt oleh modul I/O.

  30. Interrupt-Driven I/O (2) Pada gambar disamping dapat diketahui, processor melakukan intervensi atas proses transfer setelah mendapatkan interrupt dari modul I/O.

  31. Direct Memory Access (DMA) - 1 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.

  32. Direct Memory Access (DMA) - 2 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 ?

  33. Direct Memory Access (DMA) - 3 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.

More Related