download

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