Kunjungi Kami di Youtube.com/Tarbitek

Main Menu Bar

banner image

Pengalamatan Memori

  
Pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi directaddressing, indirect addressing, dan immediate addressing.

 Tugas untuk mereferensi kode instruksi atau data di memori utama secara tepat merupakan tanggung jawab dari compiler.
● Compiler berfungsi mengubah source code yang ditulis programmer menjadi file yang berisi kode instruksi program yang dapat dijalankan prosessor
● Dalam menentukan alamat instruksi atau data, compiler mengacu pada metode pengalamatan memori yang dipakai sistem komputer
● Metode pengalamatan memori
mendefinisikan:
– Model alamat yang dituliskan pada kode instruksi program
– Mekanisme penyalinan
– Kapan dan bagaimana alamat dalam kode instruksi program diterjemahkan dalam alamat fisik
memori sesungguhnya.
Secara garis besar metode pengalamatan memori dapat dibedakan atas :
1. Pengalamatan secara fisik (Physical / absolute address)
alamat yang ditulis pada kode instruksi adalah alamat fisik memori utama yang sesungguhnya
2. Pengalamatan secara logika (Logical Addressing)
● perlu ditranslasikan ke alamat fisik memori utama.
● Pada saat eksekusi, pengaksesan alamat akan
ditranslasi dengan menjumlahkan alamat referensi awal
pada instruksi dengan isi register alokasi untuk
mendapatkan alamat fisik memori
● Relokasi program dapat dilakukan secara fleksibel


ADDRESS BINDING

● Alamat yang terdapat dalam kode instruksi tidak selamanya berupa alamat fisik, tapi dapat berupa alamat logika yang perlu ditranslasi lebih dahulu.
● Aktivitas translasi alamat ini disebut dengan address binding.
● Address binding dapat terjadi pada saat:
– Compile Time
● apabila dimungkinkan letak / alamat fisik memori diketahui
sebelum diekseskusi agar langsung dapat ditulis pada source
code.
● Kelemahan: program tidak dapat direlokasi selama eksekusi.
– Loading Time
● Dilakukan pada saat loading program ke memori utama
● Hasil kompilasi disimpan dalam file yang berisi alamat fisik.
● Jika terjadi perubahan relokasi maka code di-load ulang

– Execution Time
● membutuhkan perangkat keras seperti MMU (Memory Management Unit)
● MMU bertanggung jawab membantu proses perhitungan transasi alamat logika ke alamat fisik pada
saat eksekusi.
● Dimungkinkan suatu proses berpindah alamat sewaktu dieksekusi.
Memory-Management Unit
(MMU)
● Perangkat Hardware yang memetakan alamat logik
(virtual) ke alamat fisik.
● Dalam skema MMU
– Menyediakan perangkat register yang dapat di set oleh setiap CPU: setiap proses mempunyai data set register tsb (disimpan di PCB).
● Base register dan limit register.
– Harga dalam register base/relokasi ditambahkan ke setiap address proses user pada saat run di memori
– Program user hanya berurusan dengan address logik saja
Dynamic Loading
● Tidak semua bagian program diambil ke memori.
● Dengan dynamic loading, Routine yang tidak digunakan tak akan
pernah di-load ke memori.
● Mekanisme dasar:
– Program utama di-load dan dieksekusi.
– Pada saat suatu routine butuh memanggil routine yang lain, maka pertama routine pemanggil mengecek apakah rotine yang dibutuhkan sudah pernah diambil. Jika belum, maka routine yang dipanggil tersebut akan diambil dan dialokasikan di memori utama
● Keuntungan dynamic loading :
– Rutin yang tidak digunakan tak akan pernah di-load ke memori.
– Untuk menghindari pemakaian rutin yang salah dalam program dengan jumlah kode yang besar.
– Tidak memerlukan bantuan sistem operasi. Metode ini menjadi tanggung jawab user/programmer. SO hanya menyediakan routine library
Dynamic Linking
● Konsep sama dengan dynamic loading, hanya saja
penekanan pada proses linking.
● Dimungkinkan adanya share library yang dibuat oleh
suatu aplikasi untuk digunakan oleh aplikasi lainnya.
– Mengurangi pemakaian space: satu routine library di memory
digunakan secara bersama oleh sekumpulan proses.
● dapat digunakan untuk pembaharuan library secara otomatis bila ada versi yang lebih baru.
● File yang mendukung dynamic linking: dll (Dynamic Link Libraries), .sys , .drv
● sistem operasi dibutuhkan untuk memeriksa apakah routine yang diperlukan ada di ruang memori proses yang lain.

Overlay

● Overlay membagi program yang besar menjadi bagian-bagian yang lebih kecil dan dapat dimuat dalam memori utama.
● Dibutuhkan ketika proses yang ada lebih besar dibandingkan memori yang tersedia
● Diimplementasikan oleh user, tidak ada dukungan khusus
dari sistem operasi, desain program pada struktrur
overlay cukup kompleks.

Ide dari overlay adalah yang disimpan di memori adalah hanya instruksi dan data yang
diperlukan pada waktu tertentu. Bila instruksi lain yang diperlukan, maka akan diletakkan
ditempat instruksi lama yang tidak diperlukan lagi.
● Untuk load keseluruhan dibutuhkan memori 200K. Jika yang tersedia hanya 150K, maka
tidak bisa dieksekusi.
● Dengan menggunakan overlay, maka routine dibagi menjadi 2 overlay
– Overlay A terdiri dari symbol table, common routine dan pass 1 (butuh 120K)
– Overlay B terdiri dari symbol table, common routine dan pass 2 (butuh 130K)
● Membutuhkan overlay driver 10K





Pengalamatan Memori Pengalamatan Memori Reviewed by Husni Mubarok on 14.16 Rating: 5

Tidak ada komentar:

Terima kasih telah Membaca Blog saya , silahkan tinggalkan komentar..

Diberdayakan oleh Blogger.