dan diberi sebuah kode nomor yang sama. Jadi, untuk mengambil atau menaruh
data pada satu kode nomor itu, 8 sel memori sekaligus teralamati. Deretan
8 buah sel memori itu kemudian disusun lagi secara vertikal, dan ditumpuk-
tumpuk sedemikian, sampai mencapai jumlah ribuah susun banyaknya.
Setiap susun, memiliki kode nomor sendiri-sendiri dan merupakan satu
lokasi memori (sebagai 'alamat memori' / memory address).
Alamat memori terdiri dari alamat genap dan alamat ganjil.
Alamat genap adalah alamat yang secara binary bit terendahnya
(LSB=Least Significant Bit-nya) '0', sedangkan alamat ganjil mempunyai
LSB '1'.
Susunan chip prosesor Intel 8088.
· Catu Daya/VCC (pin 40) dan GND (pin 1 dan 20)
· Bus Data (AD0 - AD7)
· Bus Alamat (AD0 - AD7 dan A8 - A19)
· Bus Kendali (NMI, INTR, CLK, Reset).
Dalam mikroprosesor 8088 secara fisik, bus alamat terdiri dari 20 bit
(A0-A19), sementara register-register internal terbentuk dari 16 bit data.
Oleh sebab itu, untuk menyesuaikan perbedaan jumlah bit antara bus alamat
8088 dengan register internal, sistem pengalamatan memori dilaksanakan
dengan format segment:offset. Format yang membutuhkan 32 bit ini dibentuk
dengan jalan menggabungkan data dari 2 buah register sekaligus.
Register pertama adalah satu satu dari 4 register segment, sedangkan
register lainnya diambil dari salah sebuah register pointer atau register
indeks.
Kenyataannya, segment-segment yang didefinisikan pada ruang memori itu
boleh dibuat saling berdampingan, terpisah atau tumpang tindih sekalipun.
Prosesor memiliki bus alamat sebanyak 20 bit, yang berarti ia mampu
mengalamati hingga 1.048.575 lokasi memori. Secara heksadesimal, jumlah
ini dinyatakan sebagai angka 00000 sampai dengan FFFFF. Ini adalah
alamat-alamat fisik (physical addresses) dari mikroprosesor. Untuk 8088
dan 8086 yang bus alamatnya terdiri dari 20 bit, otomatis penulisan
alamat fisiknya terdiri dari 5 digit heksadesimal.
Sistem segmentasi pada IBM PC dilaksanakan agak unik. 1 segment adalah
bagian dari ruang memori yang besarnya 65536 byte atau 64 Kb. Namun,
segment-segment itu tidaklah diletakkan secara berdampingan sambung
menyambung satu sama lain, akan tetapi saling tumpang tindih sehingga
jarak antara titik awal suatu segment hanya terpaut 16 byte terhadap
segment lainnya.
Segment pertama, diawali dari alamat 0000:0000 (alamat fisik 00000) dan
berakhir pada 0000:FFFF (alamat fisik 0FFFF). Akan tetapi, segment kedua
dimulai pada alamat 0000:0010 (alamat fisik 00010), berjarak hanya 16
bit dari titik awal alamat segment pertama. Pada kenyataannya, alamat
awal segment kedua ini identik dengan alamat 0001:0000. Sebagai akibatnya,
dalam sistem segmentasi semacam ini, akan banyak didapati penulisan
alamat-alamat segment:offset yang sebenarnya menunjuk pada lokasi yang
persis sama. Sebagai contoh,alamat 0000:0020 sesungguhnya adalah juga
alamat 0001:0010, sekaligus sama dengan alamat lokasi 0002:0001.
0 komentar:
Posting Komentar