Senin, 17 Mei 2010

managing memory: paging

Paging unit mengubah linear addresses ke physical adresses. Paging unit mengecek tipe permintaan akses yang melanggar hak akses dari linear address. Jika akses memori tidak valid, maka akan menghasilkan eksepsi page fault.


Untuk efisiensi, linear address dikelompokkan dalam interval fixed-length yang disebut pages; linear addressess kontigu pada sebuah page dipetakan ke physical addresses kontigu. Paging unit menganggap semua RAM terpartisi menjadi fixed-length page frames. Setiap page frame mengandung sebuah page. Struktur data yang memetakan linear ke physical addressses disebut page tables, tersimpan dalam memori utama dan harus diinisialisasi secara tepay oleh kernel sebelum memfungsikan paging unit.


• Regular Paging
Linear address 32 bit dibagi menjadi 3 :
- Direktori, 10 bit most significant
- Tabel, 10 bit intermediet
- Offset, 12 bit least significant

Pengubahan linear address terjadi 2 dalam 2 tahap, masing-masing berdasar pada tipe tabel translasi. Tabel translasi yang pertama disebut page directory dan yang kedua disebut page table.


• Extended Paging
Dimulai pada model Pentium, mikroprosesor Intel 80x86 memperkenalkan extended paging, yang memungkinkan page frames berukuran 4KB atau 4 MB. Extended paging dimungkinkan dengan men-set Page Size flag dari sebuah entri Page Directory. Pada kasus ini, paging unit membagi 32 bit linear address menjadi 2 bagian:
- Direktori, 10 bit most significant
- Offset, 22 bit sisanya

Entri page directory untuk extended paging sama dengan untuk paging biasa, kecuali :
- Page Size flag harus diset.
- Hanya 10 bit most signifcant pertama dari 10 bit physical address field yang signifikan


• Transaction Lookaside Buffers (TLB)
Selain cache general purpose hardware, Intel 80x86 menyediakan juga cache yang lain, disebut translation lookaside buffers (TLB) untuk meningkatkan kecepatan translasi linear address.



Tidak ada komentar:

Posting Komentar