Matakuliah Tahun Versi : H0162/ Mikroprosesor : 2006 : 1/0 Pertemuan 04 Hirarki Memory 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • menjelaskan hirarki memory (C2) 2 Outline Materi • • • • Register File Cache Virtual Memory Paging Segmentation 3 4 Definisi • Processors use memory of various types to store the data on which a program operates. Data may start in a file on a magnetic disc ("hard disc"), be read into semiconductor memory ("DRAM") for processing, transformed and written back to disc. • As part of the transformation process, individual words of data will be transferred to the processor's registers and thence to the ALU. Transfers from semiconductor memory to registers will usually pass (transparently to a programmer) through one or more levels of cache. 5 Hirarki Memory 6 Register File • Register file yang kecil dan mempunyai waktu akses yang cepat. Merupakan bagian dari CPU dan juga dikenal sebagai level 0 dalam hirarki memori. banyak dari register ini yang difungsikan untuk tugastugas khusus seperti sebagai sebuah program counter, atau sebuah stack pointer, dan lain sebagainya. 7 Cache • Operasi cache berdasarkan prinsip lokalitas, ada dua jenis lokalitas yaitu lokalitas sementara dan lokalitas ruang. lokalitas sementara berarti jika sebuah item informasidiakses oleh CPU, maka akan ada kemungkinan yang tinggi bahwa informasi tersebut akan diakses lagi dalam waktu yang dekat(mungkin dalam bebrapa nono second). Lokalitas ruang jika ada item informasi yang diakses, maka ada kemungkinan yang tinggi bahwa item-item lain yang berada disekitarnya juga akan diakses dalam waktu dekat. • Address Mapping • Average Access Time • Second-level Cache • Cache Operation • Design Consideration 8 Virtual Memory and Paging • Virtual memori adalah sistem penyimpanan hirarkis dengan minimal 2 level, yang diatur oleh sebuah opeating sistem yang tampak bagi user seperti sebuah memori utama yang besar dan dapat dialamatkan secara langsung. • Virtual memori dialamatkan menggunakan alamat-amat virtual atau logis, CPU biasa mengakses memori dengan menghasilkan sebuah alamat virtual, walaupun demikian memori fisikal harus dialamatkan oleh alamat fisikal, maka alamat virtual harus diterjemahkan ke alamat fisikal. 9 Harga memory mahal dari Harddisk • The MIPS has an address space of 232 bytes. A Gigabyte is 230, so the MIPS has 4 gigabytes of address space. Ideally, all of these memory locations would be implemented using memory chips (usually called RAM). RAM costs about $200 per gigabyte. Installing the maximum amount of memory as RAM would cost about $800. This might be more than you want to spend. Hard disk storage costs much less per gigabyte. Hard disks cost about $50 per gigabyte (winter, 2005). 10 Virtual Memory • Secara fisik memory hanya 2 GB RAM • Dengan bantuan harddisk maka seolah-olah bisa mengolah 4 GB • Ada swapping memory dengan harddisk • Diperlukan Address Translation 11 12 Figure: The name space to physical address mapping Figure: A direct mapped virtual to physical address translation 13 Figure: A virtual to physical address translation mechanism with a TLB Baca detil cara kerjanya di http://www.cs.mun.ca/~paul/cs3725/mate rial/web/notes/node11.html 14 Page Table Mechanism • Informasi antara memori utama dengan secondary ditrasfer dalam satuan page, setiap page dalam memori mempunyai PTE(page table entry), PTE mengandung upper bit dari alamat dasar page dan juga mengandung status dan protection bit yang berhubungan dengan page. PTE disimpan dalam page table sebuah sisitem dapat mempunyai beberapa level page table 15 16 Cara Kerja TLB 17 Page Size Consideration • Jika kita naikan ukuran page hingga sama dengan ukaran memori, jumlah total dari page range akanlebih kecil maka kita akan mempunyai page table yang lebih kecil dan lebih sedikit dan yang mengakibatkan penghematan ruang pada memori. Karena page yang lebih besar mengandung informasi yang lebih banyak, transfer dari page apapun akan lebih efisien. Pada sisi lainnya ukuran page yang lebih kecil dapat ditrasfer lebih cepat dalam bus yang sama, hemat waktu dan mengurangi page foult penalty. Jika struktur informasi tidak sama dengan jumlah page, maka akan lebih sedikit ruang memori yang disia-siakan dalam page yang tidak terisi untuk page yang lebih kecil. 18 Segmentation • Segment adalah sebuah set dari word yang berdampingan, yang berhubungan secara logika yang dibuat oleh kompiler atau programer. Segmentasi adalah sebuah mekanisme manajemen dari memori yang mengallocasikan memori utama dengan segment-segment dan mengawasi aktifitas yang berhubungan dengan segment apa pun. 19 Keuntungan dari segmentasi • segmentasi mendukung software yang terstruktur secara baik, karena segment dapat mengandung unit informasi yang berarti • mendukung kode-kode yang lebih rapi, karena hubungan antar sebuah segment dapat lebih pendek • segmentasi memberikan implementasi yang lebih efisien terhadap menajemen memori yang rumit, virtual memori, dan teknik-teknik proteksi memori • segmentasi mendukung klasifikasi data yang lebih efisien 20 Kerugian segmentasi • menambah kompleksitas hardware • banyaknya waktu eksekusi dalam menangani resource segmentasi • membutuhkan memori ektra untuk tabel segmentasi • penambahan fragmentasi memori untuk segmen yang kecil 21