PENGERTIAN DAN PROSES SEGMENTASI PADA MIKROPROSESOR

  1. PENGERTIAN SEGMENTASI

Segmentasi adalah sebuah bagian dari managemen memori yang mengatur pengalamatan dari memori yang terdiri dari segmen-segmen.

  1. PROSES SEGMENTASI

Keuntungan lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan digunakan oleh dispatcher untuk menentukan tabel segmen dari perangkat keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi, sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling berbagi pakai.

Berikut segmen-segment yang digunakan :

Program Segment (CS:IP)
Code Segment (CS) menyimpan alamat segment dari program sebesar 64 kB. Instruction Pointer (IP) menyimpan alamat offset dari program yang akan menentukan instruksi mana dari 64 kB tersebut yang akan dieksekusi.

Data Segment (DS:BX)
Data Segment (DS) menyimpan alamat segment dari data sebesar 64 kB. Base Register (BX) menyimpan alamat offset dari data yang menentukan data mana dari 64 kB tersebut yang akan diakses.

Segment Stack (SS:SP)
Stack Segment (SS) menyimpan alamat segment stack sebesar 64 kB. Stack Pointer (SP) menyimpan (PUSH) alamat offset dari tumpukkan (stack) paling atas yang menentukan tumpukkan yang akan diambil (POP) dari stack 64 kB.

Extra Segment
Extra Segment (ES) menyimpan alamat segment 64 kB sebagai tambahan lokasi penyimpanan bila Data Segment tidak mencukupi.

Gambar dibawah ini memberikan ilustrasi tentang skema pengalamatan mode real pada memori, yang menggunakan alamat segment dan offset.

2016-01-25_204704

Gambar 8. Gambar Skema Real Mode Memory Addressing

Register segment pada gambar 4.2 berisi alamat segment 1000h, tetapi alamat segment berawal dari lokasi 10000h. Pada mode real pengalamatan memori, menyesuaikan dengan skema pengalamatan memori 20 bit, maka alamat segment tersebut ditambahkan dengan 0h pada digit paling kanan (LSB). Karena mode real dari segment pada memori adalah seluas 64 Kbyte, jika alamat awal diketahui, maka alamat akhirnya diperoleh dengan menambah FFFFh sebagai alamat offset. Sehingga, terlihat dari contoh skema diatas alamat awal segment 10000h dan alamat akhirnya 1FFFFh. Contoh lainnya diperlihatkan pada tabel dibawah ini.

2016-01-25_204746

Sesuai penjelasan diatas, Mikroprosesor 8088 memiliki format mode pengalamatan dimana antara segment dan offset ditulis dengan dipisahkan tanda titik dua ( : ) seperti berikut ini :

Segment : Offset

Dan masing-masing register segment memilik pasangan register offset-nya masing-masing, dijelaskan melalui tabel dibawah ini.

Tabel 8. Tabel kombinasi Segment dan Offset pada Mikroprosesor 8088

2016-01-25_204802

Nama : Ahmad Hidayat

NIM   : 1101144363

Kelas  : TT-38-03

STRUKTUR INTERNAL MIKROPROSESOR 8088

Fungsi dasar mikroprosesor terdiri dari 2 fungsi yaitu EU ( Execution Unit ) dan BIU ( Bus Interface Unit ).

  1. BIU ( Bus Interface Unit ), merupakan bagian yang terdapat pada mikroprosesor yang mempunyai fungsi utama sebagai penghubung antara mikroprosesor dengan sesuatu yang ada di luar mikroprosesor tersebut dan juga berfungsi untuk menangani semua operasi bus eksternal.

Adapun register yang terdapat pada BIU, yaitu :

  • Register CS ( Code Segment ), register ini berfungsi untuk mencatat alamat segment program.
  • Register DS ( Data Segment ), register ini berfungsi untuk menyimpan alamat segment letak suatu data.
  • Register SS ( Stack Segment ), register ini berfungsi untuk menyimpan alamat memori yang digunakan menjadi suatu stack.
  • Register ES ( Ekstra Segment ), register ini berfungsi untuk menyimpan data alamat segment tambahan.
  • Register IP ( Instruction Pointer ), merupakan register utama yang berhubungan dengan CS ( Code Segment ) untuk menunjukkan baris perintah program.
  1. EU (Execution Unit ), merupakan bagian yang terdapat pada mikroprosesor yang berhubungan dengan BIU dan berfungsi untuk menterjemahkan instruksi, menjalankan instruksi dan mengirimkan informasi ke BIU untuk mengambil data/instruksi.

Adapun register yang terdapat pada EU, yaitu :

  • AX ( Accumulator ), register ini berfungsi untuk menyimpan salah satu nilai yang akan dioperasikan oleh ALU dan menerima hasil operasi.
  • BX ( Basw Register ), register ini berfungsi sebagai pengalamatan.
  • CX ( Counter Register ), register ini berfungsi sebagai pencacah suatu instruksi.
  • DX ( Data Register ), register ini berfungsi untuk menyimpan alamat I/O apabila CPU melakukan akses terhadap peralatan I/O.
  • SP ( Stack Pointer ), register ini digunakan untuk menyimpan informasi alamat program yang ditinggalkan pada saat terjadi pemanggilan subrutin/subprogram, dengan kata lain register ini khusus digunakan oleh instruksi PUSH dan POP.
  • BP ( Base Poniter ), berdasarkan namanya yaitu base penunjuk atau sebagai base yang menunjuk ke parameter-parameter fungsi yang dipanggil.
  • SI ( Source Indeks ) dan DI ( Destination Indeks ), register indeks ini digunakan untuk menunjukkan tujuan dan menyimpan nilai ke suatu variable atau data yang digunakan untuk operasi string.