Abstrak - Banyak desain arsitektur mesin yang programer ketika besar data dan programnya
dimunculkan dan mesin yang diproduksi, dan akan melampaui kapasitas memori utama. Sebuah proses
memunculkan pula macam-macam keuntungan atau multiprogramming yang membutuhkan address-space
kerugian yang dihasilkan. Seperti yang ada dalam desain yang besar, keamanan proses merupakan sebuah
arsitektur komputer. Pada desain arsitektur komputer
teknologi yang sudah secara umum digunakan dan
terdapat berbagai macam mekanisme yang terjadi, salah
satunya adalah mekanisme memori virtual. prosesor-prosesor yang ada sekarang pun telah
Mekanisme memori virtual di buat agar sebuah memiliki teknologi yang mendukung proses ini.
mesin yang mempunyai sistem operasi dapat berjalan Tetapi sampai sekarang belum ada kesepakatan
secara efisien tanpa mengurangi salah satu faktor mengenai teknologi seperti apa yang mendukung
keuntungannya. proses ini. Hal ini disebabkan oleh ketidak-
Paper ini membahas teknologi mekanisme memori kompatibel-an mekanisme hardware pada masing-
virtual. Dan memaparkan desain manajemen memori masing arsitektur computer. Dan tidak ada usaha yang
pada tiga mikroarsitektur ,yaitu MIPS, PowerPC dan x86. cukup serius untuk membuat sebuah manajemen
Disini ditunjukkan keberagaman dukungan memori memori yang sama dan sebuah standar interface yang
virtual pada sistem operasi dan secara pengertian
dapat digunakan. Sehingga para desainer mempunyai
bagaimana keberagaman ini dapat memunculkan
kesulitan atau memberikan kemudahan pada sistem dua pilihan : pertama, membuat software yang mampu
operasi. berjalan di semua arsitektur sehingga meningkatkan
Detail spesifik dari sebuah arsitektur manajemen performa dan ketangguhan sebuah hardware.
memori prosesor tidak begitu memberikan keuntungan Atau para desainer membuat sebuah software
performa antara satu dengan yang lainnya. Karena yang mampu menjadi sebuah interface sehingga
inkompatibilitas membuat aplikasi dan sistem operasi sebuah hardware dapat didesain menjadi mirip dengan
lebih sulit dijalankan. Sesungguhnya sebuah sistem hardware lain yang desain arsitekturnya berbeda.
dibangun lebih sering menggunakan bagian kecil subset Disini akan dibahas mengenai mekanisme
dari fungsi yang komplit dari unit manajemen memori memori virtual dipandang dari sisi hardware dan
sehingga lebih mudah diatur.
beberapa contoh hardware (tiga arsitektur) dan
Secara de facto standar yang ada pada arsitektur
memori virtual Intel x68 tidak dapat disaingi, Karena x86 bagaimana memori virtual memori bekerja pada
memberikan berbagai kebutuhan fungsi yang modern. hardware-hardware tersebut dan pengamatan ini
Arsitektur baru yang muncul mungkin akan difokuskan pada sistem operasi dan mikroprosesor
menggunakan standar x86 walaupun tidak sepenuhnya. dengan sistem memori virtual demand paging.
Ukuran cache yang terus bertambah,
memungkinkan manajemen memori hardware II. KONSEP DASAR
dihilangkan. Jika sebuah sistem membutuhkan indeks Pada desain sistem memori virtual, memori
virtual yang besar, hirarki virtual cache maka tnsalasi utama menyimpan sebagian alamat proses yang sering
alamat hardware tidak akan begitu diperlukan. Caches digunakan dan bagian lain disimpan dalam disk dan
virtual tidak membutuhkan translasi alamat ketika data
diambil sesuai dengan keinginan. Sehingga akan
ditemukan di dalam cache dan jika cache cukup besar
maka tidak perlu mencari di dalam memori utama. muncul anggapan bahwa waktu akses akan terjadi
Sebagai ganti penggunaan hardware maka sistem operasi lebih banyak di memori utama daripada di disk.
dapat berfungsi sebagai memori virtual-termasuk Sistem operasi yang mendukung anggapan ini akan
translasi alamat dan proteksi-sehingga menghasilkan menerjemahkan alamat virtual pada alamat fisik saat
penambahan fleksibilitas dan kesederhanaan pekerjaan proses berlangsung dan hal ini hanya terjadi sekali.
software. Penerjemahan ini terjadi pada bagian pages dengan
dukungan unit manajemen memori.
I. PENDAHULUAN Pada gambar 1 ditunjukkan ruang sebuah
1.1.Latar Belakang memori virtual yang di bagi menjadi bagian-bagian
Memori virtual dikembangkan untuk yang sama dan diidentifikasikan
mengotomatiskan perpindahan data dari memori dengan nomor virtual pages. Memori fisik di bagi
utama ke secondary storage sehingga seperti sebuah menjadi page frames yang berukuran sama dan
tempat penyimpanan yang berkapasitas besar. Dan diidentifikasikan dengan nomor page frames.
teknik ini akan memudahkan pekerjaan seorang
*
Dosen Departemen Teknik Elektro ITB
**
Mahasiswa S2 Jurusan Teknologi Informasi ITB
31
Transmisi, Vol. 8, No. 2, Desember 2004 : 31 – 36
pada page faults. Seperti yang terjadi pada TLB dan atau hirarki page table yang diindex oleh nomor
memori utama : jika sebuah page ada di dalam virtual page dan inverse-mapped yang diindex oleh
memori, mapping bisa terdapat pada TLB atau tidak, nomor frame page.
tetapi jika page yang dipetakan ada dalam TLB, page
tersebut pasti ada di memori fisik. Hirarki page tables
33
Transmisi, Vol. 8, No. 2, Desember 2004 : 31 – 36
virtual adalah suatu sistem kompleks yang di dalam user page table. Pada saat TLB mengalami
mengintegrasikan beberapa mekanisme hardware dan miss, register konteks berisi alamat virtual dari PTE
software yang berbeda. yang memetakan faulting address.
Table hirarki pertama kalinya diakses secara top MIPS menggunakan identitas address-space
down. Sanggahan yang biasa muncul untuk desain ini untuk menyediakan proteksi address-space. Untuk
adalah metode menyebabkan address space yang mengakses sebuah page, identitas address-space dari
tersebar di mana-mana. Metode ini melakukan proses yang aktif harus sesuai dengan identitas pada
pemborosan waktu karena membutuhkan lebih dari masukan page TLB. Pembersihan cache dan TLB
dua simpul untuk menutupi address space yang luas secara periodik tidak dapat dihindari, selama terdapat
dan tiap simpul membutuhkan referensi memori 64 identitas konteks yang unik pada R2000/R3000
selama proses table walking. Sedangkan metode dan 256 pada R10000. Banyak sistem memiliki lebih
bottom up, dimana muncul pertama kali secara banyak proses daripada sistem yang membutuhkan
komersial pada prosesor MIPS, lebih efisien walaupun pemakaian bersama identitas address-space dan
sama-sama membutuhkan lebih dari dua simpul untuk pemetaan ulang secara periodik ini.
memetakan address space yang luas. Karena user
PTES diperlukan untuk memetakan user address space 2.5.Arsitektur PowerPC
seperti di dalam cache, metode ini sering memerlukan Gambar 6. menunjukkan arsitektur PowerPC
referensi single memory untuk menutupi TLB miss. 604, dimana pemetaan alamat aplikasi “efektif” pada
Kedua macam metode tadi dapat memboroskan flat virtual address space global lebih besar dari pada
memori, karena ruang di dalam table dialokasikan address space masing-masing aplikasi. Arsitektur ini
oleh sistem operasi pada seluruh page seketika. mempunyai 256 Mb segmen yang daerah virtual space
Sebuah proses address space dengan single page nya berdekatan dan 16 segmen menyusun 4 Gb
didalamnya akan membutuhkan sebuah page PTE address space aplikasi. Empat bit paling awal dari
pada level user page table. Jika proses menambahkan alamat efektif 32 bit memilih sebuah identitas segmen
address space virtual page yang berdekatan dengan dari 16 register segmen hardware. Identitas segmen
page pertama kedalam metode ini, maka metode ini disambung dengan 28 bit paling akhir alamat efektif
akan dipetakan oleh page PTE yang ada. untuk membentuk sebuah alamat virtual yang
mengindeks cache dan dipetakan oleh TLB dan page
2.4. Arsitektur MIPS
table.
MIPS mendefinisikan sebuah arsitektur
manajemen memori yang sangat sederhana dimana
sistem operasi menangani TLB miss seluruhnya dalam
software. Sistem operasi menjalankan page table,
mengisi TLB dan dapat menerapkan penggantian TLB
secara virtual. Gambar 5. menunjukkan arsitektur
MIPS R 10000
2.6.Shared memory
Memori yang di-share sering digunakan melalui
memori virtual untuk meningkatkan efisiensi
penggunaan memori dan menurunkan waktu eksekusi. Gambar 7. Arsitektur x86
Shared memory memperkenankan referensi proses
multiple pada kode fisik yang sama dan data melalui Seperti pada PowerPC, x86 menggunakn
alamat virtual address yang berbeda. Ketika sebuah segmentasi untuk pemetaan awal alamat user level
contoh multiple program dijalankan maka kode pada address space global. Tidak seperti PowerPC,
program dibagi. mekanisme segmentasi x86 mendukung ukuran
Ada beberapa implementasi yang mungkin bagi segmen yang berubah-ubah dari 1 byte ke 4 Gb dan
shared memory. Salah satunya adalah virtual address virtual spsce global berukuran sama sebagai sebuah
aliasing. Pada skema ini setiap pemetaan pada fisik usel level address space individu (4 Gb). Aplikasi
page membutuhkan PTE logikanya sendiri. Mengatur user level mengeluarkan 32 bit alamat yang
multiple PTE memungkinkan shared memory untuk disambung dengan 16 segmen bit selector. Hardware
proses yang berbeda dengan menggunakan alamat menggunakan selector 16 bits untuk mengindeks satu
virtual yang berbeda pada fisik data yang sama., untuk dari dua software descriptor table untuk membuat
proses yang berbeda pada pemetaan fisik data yang base address segmen yang berhubungan dengan
sama dengan proteksi yang berbeda, atau untuk selector. Base address ini ditambahkan pada 32 bit
referensi virtual yang berbeda pada fisik data yang alamat virtual yang dikeluarkan oleh aplikasi untuk
sama yang mneyebabkan perilaku yang berbeda. membentuk sebuah alamat linear global 32 bit.
Sebagai contoh dua proses dapat dipetakan pada data Untuk performanya, hardware
yang sama dan lokasi yang berbeda pada address menyembunyikan enam selector proses pada chip
space nya. Sebuah proses dapat memetakan data read register segmen yang ditunjukkan oleh konteks.
only, dan proses yang lain memetakan data read write. Sebuah selector ditunjukkan secara implicit dengan
mengeksekusi intruksi. Selector yang lain meemtakan
2.7.Arsitektur x86 stasck. Dan empat selector yang lain memetakan
Gambar 7. menunjukkan arsitektur pada segmen data dan programer dapat merinci register
Pentium Pro, desain segmentasi yang ditunjukkan segmen mana yang menunjukkan proses load dan
tidak mempunyai identitas address space yang store yang berbeda.
explicit. Mekanisme segmentasinya lebih umum
daripada milik PowerPC, tatapi desain ini bisa lebih III. PENUTUP
membutuhkan ekstra referensi memori selama
instruksi dieksekusi untuk menegluarkan informasi 3.1.Kesimpulan
pemetaan segmen. Untuk alasan performa tersebut, Ada banyak keberagaman dalam bagaimana
maka mekanisme segmentasi pada x86 sering tidak prosesor komersial sekarang ini mendukung
digunakan pada sistem operasi yang ada sekarang ini. manajemen memori. Bagaimanapun juga detail
Setiap proses hirarki dari page table dijalankan oleh spesifik dari sebuah arsitektur manajemen memori
hardware. Sistem operasi menyediakan alamat fisik prosesor tidak begitu memberikan keuntungan
untuk root page table bagi hardware salah satu register performa antara satu dengan yang lainnya. Karena
control (CR3). Hardware menggunakan alamat ini inkompatibilitas membuat aplikasi dan sistem operasi
untuk menjalankan dua simpul table pada metode top lebih sulit dijalankan. Sesungguhnya sebuah sistem
down setiap TLB mengalami miss. Jika setiap proses dibangun lebih sering menggunakan bagian kecil
mempunyai page table nya sendiri maka TLB akan subset dari fungsi yang komplit dari unit manajemen
berisi prosesnya sendiri dan CR3 diubah. memori sehingga lebih mudah diatur.
35
Transmisi, Vol. 8, No. 2, Desember 2004 : 31 – 36
Hardware dan software yang tidak cocok pada sehingga menghasilkan penambahan fleksibilitas dan
memori virtual sepertinya tidak akan berubah dengan kesederhanaan pekerjaan software.
cepat. Walaupun secara de facto standar yang ada
pada arsitektur memori virtual Intel x68 tidak dapat
disaingi, Karena x86 memberikan berbagai ekbutuhan DAFTAR PUSTAKA
fungsi yang modern. Arsitektur baru yang muncul
mungkin akan menggunakan standar x86 walaupun 1. T. Kilburn et al., “One Level Storage System”,:
dalam bentuk yang lebih disederhanakan. IRE Trans.,April 1962. hal. 223-235.
Dengan ukuran cache yang terus bertambah, 2. B.L. Jacob dan T.N. Mudge,”Virtual Memory:
Issues of Implementation,”IEEE Micro,Juni 1998.
bisa dimungkinkan manajemen memori hardware
3. B.L. Jacob dan T.N. Mudge,”Virtual Memory in
akan dihilangkan. Jika sebuah sistem membutuhkan Contemporary Microprosessor,”IEEE
indeks virtual yang besar, hirarki virtual cache maka Micro,Agustus 1998.
tnsalasi alamat hardware tidak akan begitu diperlukan. 4. B.L. Jacob dan T.N. Mudge,”Software Managed
Caches virtual tidak membutuhkan translasi alamat Address Translation,”Proc. Third Int’l Symp. High
ketika data ditemukan di dalam cache dan jika cache Performance Computer Architecture (HPCA-
cukup besar maka tidak perlu mencarai did al;am 3),IEEE CS Press, Los Alamitos, Calif.,Februari
memori utama. Translasi alamat hanya akan dilakukan 1997.hal.156-167.
pada cache miss. Sebagai ganti penggunaan hardware 5. Stallings, William, “Computer Organization and
maka sistem operasi dapat berfungsi sebagai memori Architecture: Designing for Performance”,Pre.
Hall,2000.
virtual-termasuk translasi alamat dan proteksi-
36