Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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 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.
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
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 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
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.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 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.
9
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.
10
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
11
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
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.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.