33
Hierarki Memori Dan Cache Memori.

hirarki-memori.ppt

Embed Size (px)

DESCRIPTION

hierarki memori

Citation preview

Page 1: hirarki-memori.ppt

Hierarki MemoriDan

Cache Memori.

Page 2: hirarki-memori.ppt

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.

Page 3: hirarki-memori.ppt

Trade-Off Pada Desain Memory

Page 4: hirarki-memori.ppt

Trade-Off Pada Desain 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.

Page 5: hirarki-memori.ppt

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.

Page 6: hirarki-memori.ppt

Contoh Kasus (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.

Page 7: hirarki-memori.ppt

Contoh Kasus (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.

Page 8: hirarki-memori.ppt

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 yang lebih mahal dibanding memori utama.

Cache memori terletak diantara memori utama dan register CPU, dan berfungsi agar CPU tidak langsung mengacu ke memori utama tetapi di cache memori yang kecepatan aksesnya lebih tinggi. Metode ini akan meningkatkan kinerja system.

Page 9: hirarki-memori.ppt

CACHE MEMORY

• Dahulu cache disimpan di luar prosesor dan dapat ditambahkan. Untuk meningkatkan kinerja, saat ini cache ditanamkan di prosesor.

• Kecepatan memori utama sangat rendah dibandingkan kecepatan prosessor modern. Untuk performa yang baik, prosessor tidak dapat membuang waktunya dengan menunggu untuk mengakses instruksi dan data pada memori utama. Karenanya sangat penting untuk memikirkan suatu skema yang mengurangi waktu dalam mengakses informasi.

• Karena kecepatan memori utama dibatasi oleh batasan elektronik dan packaging, maka solusinya harus dicari pada sistem arsitektur yang berbeda.

Page 10: hirarki-memori.ppt

• Solusi yang efisien adalah menggunakan memori cache cepat yang sebenarnya membuat memori utama tampak lebih cepat bagi prosesor daripada sebenarnya.

• 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

Page 11: hirarki-memori.ppt

PRINSIP KERJA 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

Page 12: hirarki-memori.ppt

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.

Page 13: hirarki-memori.ppt

Memory Stack

Page 14: hirarki-memori.ppt

Cache & Memory Structure

Page 15: hirarki-memori.ppt

Cache & Memory Structure

Page 16: hirarki-memori.ppt

Cache Design Beberapa point yang diperhatikan dalam design suatu

cache memory adalah sebagai berikut : Cache size Block size Mapping function Replacement algorithm Write policy

Page 17: hirarki-memori.ppt

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.

Page 18: hirarki-memori.ppt

18

Memory Mapped Files

Page 19: hirarki-memori.ppt

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.

Page 20: hirarki-memori.ppt

20

Kebutuhan Page Replacement

Page 21: hirarki-memori.ppt

21

Basic Page Replacement1. Tentukan lokasi yang diminta page pada disk.

2. Tentuka frame bebas : Jika tersedia frame bebas, maka dapat digunakan Jika tidak tersedia frame bebas, gunakan algoritma

penggantian untuk memilih kandidat frame.

3. Baca page yang dituju ke dalam frame bebas (yang baru). Update page dan frame table.

4. Restart process.

Page 22: hirarki-memori.ppt

22

Page Replacement

Page 23: hirarki-memori.ppt

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.

Page 24: hirarki-memori.ppt

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)

Page 25: hirarki-memori.ppt

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)

Page 26: hirarki-memori.ppt

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.

Page 27: hirarki-memori.ppt

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.

Page 28: hirarki-memori.ppt

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.

Page 29: hirarki-memori.ppt

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.

Page 30: hirarki-memori.ppt

Interrupt-Driven I/O (2) Pada gambar disamping dapat diketahui,

processor melakukan intervensi atas proses transfer setelah mendapatkan interrupt dari modul I/O.

Page 31: hirarki-memori.ppt

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.

Page 32: hirarki-memori.ppt

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 ?

Page 33: hirarki-memori.ppt

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.