Minggu, 05 Juli 2009

Perhitungan Alamat Absolut pada Paging dan Segmentation

Penghitungan Alamat Absolute pada Paging
Alamat referensi pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi, alamat referensi tersebut haruslah ditranslasi ke alamat fisik memori utama yang sesungguhnya.


Pada gambar diatas merupakan contoh translasi alamat pada system paging. Diasumsikan system memori computer menggunakan pengalamatan 16 bit, 16 bit pertama untuk menunjukkan nomor page,10 bit, terakhir untuk menunjukkan nilai offset, yaitu alamat relative dalam suatu page. Dengan kata lain, tiap page berukuran 20 bit atau 1024 alamat. Misalnya dalam program terdapat kode instruksi jump[1502]. Alamat 1502 dalam kode program adlah alamat logika proses sehingga jika instruksi ini dieksekusi di prosesor maka lamat 1502 harus ditranslasi terlebih dahulu.

Pehitungan Alamat Absolut Pada Segmentasi
Pada sistem segmentasi alamat logika pada kode instruksi program juga perlu ditranslasi pada saat dieksekusi.
Misalnya sistem memori computer menggunakan alamat 16 bit sehingga maksimal kapasitas memori utama adalah 64 kbyte. Bit alamat logika dapat dipecah atas nomor segmen dan alamat offset. Misalnya, nomor segmen menggunakan 4 bit atas alamat logika, yang berarti terdapat maksimal 212=4 kbyte. Misalnya dalam program terdapat instruksi jump[4848]. Pada saat eksekusi, berapakah alamat fisik hasil translasi dari referensi alamat logika 4848 pada instruksi jump tersebut?

Jika direpresentasikan dalam bentuk biner, alamt logika 4848 adalah 000100101111000, yang berarti nomor segmennya adalah 1 (0001) dan alamat offsetnya adalah 752 (001011110000). Dati tabel segmen proses terlihat bahwa segmen 1 dialokasikan pada memori fisik pada alamat awal 8224 sehingga pada saat dieksekusi alamat 4848 akan ditranslasi menjadi 8224 + 752 = 8976.

1 komentar:

  1. waduh bisa diperjelas lagi ngak ttg mencari alamat fisik ni khususnya yg segmentation...
    dan apa beda na dgn packing...
    dan kata "translasi" itu mksd na gmn??
    terima kasih....
    dari : erwin

    BalasHapus