Anda di halaman 1dari 10

Makalah Mikroprosesor

Mikroprosesor Intel 8086

Oleh:
Kelompok I
1. Silviana Sintia
2. Sutriono
3. Aida Sopiah

PROGRAM STUDI TEKNIK INFORMATIKA


SEKOLAH TINGGI MENAJEMEN INFORMATIKA KOMPUTER
STMIK BUDIDARMA
MEDAN
2015
BAB I
PENDAHULUAN

A.

LATAR BELAKANG
Generasi desktop dimulai ketika IBM mengenalkan PC yang diotaki oleh processor Intel
8086. Sejak saat itu komputer desktop terus berkembang dengan ditandai berkembangnya
processor dari Intel itu sendiri hingga saat ini. Processor 8086 (1978) merupakan CPU 16 bit
pertama Intel yang menggunakan bus sistem 16 bit. Tetapi perangkat keras 16 bit seperti
motherboard saat itu terlalu mahal, dimana komputer mikro 8 bit merupakan standart. Pada
1979 Intel merancang ulang CPU sehingga sesuai dengan perangkat keras 8 bit yang ada. PC
pertama (1981) mempunyai CPU 8088 ini. 8088 merupakan CPU 16 bit, tetapi hanya secara
internal. Lebar bus data eksternal hanya 8 bit yang memberi kompatibelan dengan perangkat
keras yang ada.Sesungguhnya 8088 merupakan CPU 16/8 bit. Secara logika prosesor ini dapat
diberi nama 8086SX. 8086 merupakan CPU pertama yang benar-benar 16 bit di keluarga ini.
B.
TUJUAN
Dengan adanya pembuatan makalah ini, diharapkan kita dapat memperoleh
pengetahuan, dan pemahaman tentang teori, sejarah maupun perkembangan Intel 8086
sehingga dapat menunjang pembelajaran Microprocessor khususnya pada materi yang akan
dibahas.
BAB II
INTEL 8086
1.

SEJARAH INTEL 8086


Pada tahun 1968 Gordon Moore, Robert Noyce, dan Andy Grove menemukan Intel Corp.
untuk menjalankan bisnis Integrated Electronics. Di tahun 1969 Intel mengumumkan produk
pertamanya, RAM statis 1101, Metal Oxide Semiconductor (MOS) pertama didunia. Hal ini
memberikan sinyal pada berakhirnya era memori magnetis. Kemudian pada tahun 1971, Intel
memperkenalkan mikroprosesor pertama didunia yaitu Intel 4004 yang didesain oleh Federico
Faggin, merupakan mikroprosesor 4-bit, yaitu controller yang dapat diprogram pada satu chip.
Mikroprosesor ini hanya mengalamatkan 4096 lokasi memori 4-bit. (bit adalah digit biner yang
bernilai satu atau nol. Memori yang lebarnya 4-bit disebut nibble). Kumpulan intruksi Intel
4004 hanya mengandung 45 instruksi. Mikroprosesor ini dibuat dengan teknologi P-channel
MOSFET (yang termasuk canggih pada waktu itu) yang membuatnya hanya dapat
mengeksekusi instruksi-instruksi tersebut pada kecepatan rendah dalam 50 KIPs.
Pada tahun 1972, Intel meluncurkan 8008 , mikroprosesor 8-bit pertama. Ini
mengimplementasikan set instruksi yang dirancang oleh Datapoint korporasi dengan
Programmable CRT terminal dalam pikiran, yang juga terbukti cukup tujuan umum. Perangkat
diperlukan beberapa tambahan IC untuk menghasilkan sebuah komputer fungsional, sebagian
karena itu yang dikemas dalam 18-pin kecil paket memori-, yang mengesampingkan
penggunaan bus alamat yang terpisah (Intel adalah terutama DRAM produsen di waktu).
Dua tahun kemudian, Intel meluncurkan 8080 , mempekerjakan 40-pin baru paket DIL
awalnya dikembangkan untuk kalkulator IC untuk mengaktifkan bus alamat yang terpisah. Itu
satu set instruksi yang diperpanjang sumber (tidak biner -) kompatibel dengan 8008 dan
juga termasuk beberapa 16-bit instruksi untuk membuat program lebih mudah. Perangkat
8080, sering digambarkan sebagai microprocessor pertama benar-benar berguna, akhirnya
digantikan oleh beban deplesi- berbasis 8085 (1977) yang bisa mengatasi dengan catu daya
5V tunggal bukannya tiga tegangan operasi yang berbeda dari chip sebelumnya. Lainnya
terkenal 8-bit mikroprosesor yang muncul selama bertahun-tahun adalah Motorola 6800
(1974), General Instrument PIC16X (1975), MOS Technology 6502 (1975), Zilog Z80 (1976),
dan Motorola 6809 (1978).
Pada tahun 1972, Intel mengumumkan prosesor 8-bit 8008. Bill Gades Muda dan Paul Allen
mencoba untuk mengembangkan bahasa pemrograman tersebut, namun saat itu masih
kurang kuat.
Pada tahun 1974, Intel memperkenalkan prosesor 8-bit 8080 dengan 4500 transistor
yang memiliki kinerja 10 kali dari pendahulunya. Kemudian di tahun 1975, chip 8080 ini
menemukan aplikasi PC pertamanya pada Altair 8800 sekaligus merevolusi PC. Ditahun ini
juga Bill Gades Muda dan Paul Allen sukses mengembangkan bahasa dasar altair, yang
kemudian menjadi Microsoft Basic untuk 8080.
Pada tahun 1978, Intel memperkenalkan mikroprosesor 16 bit bernama 8086 yang merupakan
pengembangan dari mikroprosesor sebelumnya, yaitu 8080/8085. Lahir dan suksesnya
mikroprosesor 8086 pada IBM PC menjadi batu loncatan.
Karena masih ada perangkat keras yang hanya berukuran 8 bit serta harga PCB dengan lebar
16 bit data yang sangat mahal, mikroprosesor ini mengalami masalah dengan lebar datanya.

Oleh karena itu pada tahun 1979, Intel meluncurkan mikroprosesor 8088 yang mampu
menangani data 16 bit dan juga 8 bit. Akibatnya tahun 1981 Intel mengubah computer IBM
sehingga menggunakan mikroprosesor 8088 yang ternyata sangat sukses dipasaran karena
kompatibilitasnya.
Pada tahun 1982, IBM menandatangani Advanced Micro Devices sebagai sumber kedua Intel
untuk mikroprosesor 8086 dan 8088. Ditahun yang sama Intel memperkenalkan prosesor 16bit 80286 dengan 134.000 transistor.
Pada tahun 1984, IBM mengembangkan PC generasi kedua, 80286-Based PC-AT. PC-AT
yang menjalankan MS-DOS, kelak menjadi standard PC selama hampir 10 tahun.
Pada tahun 1985, Intel keluar dari bisnis RAM dinamis untuk focus pada mikroprosesor, dan
akhirnya ia mengeluarkan prosesor 80386, sebuah chip 32-bit dengan 275.000 transistor dan
kemampuan menjalankan berbagai macam program sekaligus. Pada tahun 1989, 80486
diluncurkan dengan 1,2 juta buah transistor dan built-in math co-prosesor. Pada tahun 1993,
Transistor 3.1 juta, prosesor 66-MHz Pentium dengan teknologi superscalar diperkenalkan.
Pada tahun 1997, Intel meluncurkan teknologi prosesor 64-bit Epic. Ia juga memperkenalkan
MMX Pentium untuk aplikasi prosesor sinyal digital, yang juga mencakup grafik, audio, dan
pemrosesan suara. Pada tahun 1998, Intel memperkenalkan prosesor Celeron dibulan April.
Kemudian ditahun 2000 debut Pentium 4 dengan 42 juta transistor.
Pada tahun 2003, AMD memperkenalkan versi 64-bit dari x86 instruction set dan
ditahun 2004 AMD mendemonstrasikan x86 dual-core prosesor chip. Kemudian pada tahun
2005 Intel menjual prosesor dual-core pertamanya. Pada tahun 2006, Intel memperkenalkan
prosesor core 2 duo dibulan Juli dan tahun 2007 Intel memperkenalkan prosesor core 2 quad
dibulan Januari.

2. ARSITEKTUR 8086
CPU 8086 terdiri dari dua prosesor terpisah, yaitu Bus Interface Unit (BIU) dan
Execution Unit (EU). Dua prosesor terpisah tersebut akan dijelaskan sebagai berikut :
1. Bus Interface Unit (BIU)
BIU menyediakan fungsi-fungsi perangkat keras, termasuk pembangkitan memori dan
alamat I/O untuk transfer data. BIU berfungsi mengirim kode-kode alamat keluar, mengambil
instruksi dari memori serta membaca data dari port dan memori.
-Bus Interface Unit (BIU) : Register Antrian
Pada saat EU mendekode atau melaksanakan suatu instruksi, ia tidak perlu
menggunakan bus sehingga dapat digunakan oleh BIU untuk mengambil 6 byte instruksi
sebagai instruksi berikutnya yang akan dilaksanakan.Instruksi-instruksi tersebut dinamakan
prefetched instruction dan oleh BIU disimpan dalam register FIFO (First-In First-Out) yang juga
disebut register antrian.Ketika EU siap melaksanakan instruksi berikutnya, ia dengan mudah
membaca instruksi-instruksi dari register antrian dalam BIU. Jadi, ketika EU sedang
melaksanakan suatu instruksi, bus dapat digunakan oleh BIU untuk menulis dan membaca
memori serta mengambil instruksi berikutnya. Teknologi yang memungkinkan pengambilan
instruksi berikutnya sambil melaksanakan instruksi yang ada dinamakan pipelining.
- Bus Interface Unit (BIU) : Register Segmen
8086 mampu mengalamati 220 lokasi memori, sedangkan panjang register IP yang
dimilikinya hanya 16-bit. Untuk memperoleh 20-bit sinyal alamat, 8086 menggunakan
bantuan register segmen. Gabungan antara register segmen 16-bit dan IP 16-bit akan
menghasilkan 20-bit sinyal alamat. 8086 memiliki 4 buah register segmen yakni CS (Code
Segment), SS (Stack Segment), ES (Extra Segment) dan DS (Data Segment).
Jika suatu register segmen berisi kode misalnya CS berisi 348A, maka CS dianggap memiliki
alamat awal 348A0. BIU secara otomatis akan menambahkan angka 0 di belakang isi segmen.
Setiap segmen menempati 64 Kbyte memori dan dapat ditempatkan di mana saja di dalam
ruang alamat 1 Mbyte.
2. Execution Unit (EU)
EU menerima kode-kode instruksi program dan data dari BIU mengeksekusi instruksi
tersebut, dan menyimpan hasil pada register umum. Dengan melewatkan data kembali ke
BIU, data dapat disimpan di sebuah lokasi memori atau ditulis ke peralatan output. Sebagai
catatan, EU tidak mempunyai koneksi dengan bus-bus system, namun menerima dan
mengeluarkan seluruh data melalui BIU. EU mengandung rangkaian-rangkaian kontrol yang
berfungsi mengarahkan operasi-operasi internal. Dekoder pada EU menerjemahkan instruksiinstruksi yang telah diambil dari memori ke dalam urutan aksi. EU memiliki ALU 16-bit dan
dapat melakukan penjumlahan, pengurangan, AND, OR, XOR, increment, decrement,
complement atau shift bilangan biner.
- Execution Unit (EU) : Flag Register
8086 memiliki register bendera dengan panjang 16-bit. Dari 16-bit itu terdapat 9
bendera yang aktif. Dari 9 bendera yang aktif, 6 bendera di antaranya (bendera kondisi)
digunakan untuk menunjukkan kondisi-kondisi yang dihasilkan oleh pelaksanaan instruksi
yakni bendera CF (Carry Flag), PF (Parity Flag), AF (Auxilary Carry Flag), ZF(Zero Flag), SF
(Sign Flag), OF (Overflow Flag).Sedangkan 3 bendera lainnya (bendera kontrol) digunakan
untuk mengendalikan beberapa operasi prosesor. Bendera-bendera kontrol ini berbeda
dengan 6 bendera kondisi dalam hal cara set dan reset-nya. Keenam bendera kondisi diset
dan direset oleh EU, berdasarkan hasil operasi-operasi aritmatika atau logika, sedangkan 3
bendera kontrol diset dan direset oleh instruksi-instruksi khusus yang ada pada program.
Bendera itu adalah TF (Trap Flag), IF (Interrupt Flag) dan DF (Direction Flag).
Bendera paritas (Parity Flag) akan diset (PF=1), jika pelaksanaan perintah oleh ALU
menghasilkan jumlah bit 1 genap dan reset (PF=0) jika jumlah bit 1 ganjil. Bendera Zero akan
diset (ZF=1), jika operasi ALU memberikan hasil 0. Bendera Sign akan diset (SF=1), jika
pelaksanaan perintah oleh ALU menghasilkan bilangan negatif. Bendera OF (Overflow Flag)
akan diset (OF=1), jika terjadi overflow yakni jumlah bit hasil operasi lebih besar dari lebar
akumulator. Bendera TF (Trap Flag) digunakan pada mode operasi langkah tunggal (single
step atau trace). Jika bendera ini diset, maka pelaksanaan instruksi akan dilakukan langkah
demi langkah. Bendera IF digunakan untuk mengijinkan interupsi dari program. Bendera DF
digunakan pada operasi string.

- Execution Unit (EU): Register Serbaguna (General Purpose Registers)


8086 memiliki 8 buah register serbaguna yakni: AH, AL, BH, BL, CH, CL, DH, DL. Khusus
untuk AL dinamakan pula AKUMULATOR. Jika register-register tersebut akan digunakan
sebagai register 16-bit, maka pasangan AH dan AL membentuk AX, BH dan BL membentuk
BX, CH dan CL membentuk CX serta DH dan DL membentuk DX.AX merupakan akumulator,
sering digunakan untuk menyimpan hasil sementara setelah operasi aritmatika dan logika. BX
sering digunakan sebagai register base untuk menyimpan address base data yang terletak di
dalam memori dan juga address base tabel data. CXdapat digunakan sebagai register count.
DX dapat digunakan sebagai register data.

3. Contoh penerapan (program)


Instruksi yang difetch dari memori untuk kemudian diseksekusi oleh mikroprosesor
berformat biner (kombinasi angka 0 dan 1), yang disebut bahasa mesin. Sebagai contoh,
perintah untuk memindahkan data dalam register BX ke register CX adalah 10001011
11001011 ($8B CB), sedangkan bahasa mesin untuk menjumlahkan data dalam register AL
dengan angka 7 adalah 00000100 00000111 ($04 07), dan perintah membaca dari port 5
diberikan dengan 11100100 00000101 ($E4 05). Seperti terlihat pada ketiga contoh di atas,
bahasa mesin tidak mudah untuk dimengerti dan dihapalkan oleh seorang programer, apalagi
jumlah instruksi yang tersedia berkisar ribuan perintah. Di samping itu, akan mudah sekali
terjadi kesalahan ketika menuliskan angka-angka biner yang tersusun atas angka 0 dan 1
yang banyak sekali. Oleh karena itu biasanya kita tidak memprogram komputer langsung
dalam bahasa mesin, namun dalam bahasa assembly.
Dalam bahasa assembly, setiap instruksi diberi kata (mnemonic) yang sesuai dengan
maksud perintah itu, sehingga dapat membantu pemrogram dalam mengingat instruksi
kepada mikroprosesor tersebut. Kata yang dipakai biasanya berupa singkatan atau beberapa
huruf awal dari kata dalam bahasa Inggris untuk perintah tersebut. Misalnya, mnemonic untuk
perintah penjumlahan adalah ADD, untuk perintah pengurangan adalah SUB (dari kata
subtract), dan untuk memindahkan data(4) dari suatu register atau memori ke lokasi lain
adalah MOV (dari kata move). Sebagian besar instruksi terdiri atas mnemonic dan operand
yang merupakan parameter dari instruksi tersebut, yang dituliskan di belakang mnemonic
tersebut. Contoh bahasa assembly dari perintah-perintah dengan bahasa mesin di
atas diberikan dalam Tabel I-1.
Tabel I-1. Contoh Instruksi dalam bahasa mesin dan bahasa assembly
Instruksi
Memindahkan data dari register
BX ke register CX
Menjumlahkan data dalam
register AL dengan angka 7
Membaca port 5

Bahasa Mesin
$8B CB

Bahasa Assembly
MOV CX, BX

$04 07

ADD AL, 7

$E4 05

IN AL, 5

Secara umum instruksi mikroprosesor dikelompokkan menjadi (beserta contoh):


1. Operasi transfer data, yaitu operasi pemindahan (pengkopian) data antara register,
memori, dan port. Di antaranya:
MOV AX, BX ; mengkopi isi BX ke AX
MOV BL, [437AH] ; mengkopi data byte dari DS:437AH ke BL
IN AL, 34H ; membaca input byte dari port 34H ke AL
OUT 220H, AX ; menulis output word ke port 220H
PUSH CX ; menyimpan register CX ke stack (SS:SP)
2. Operasi aritmatika, yaitu operasi matematis antara register/memori (dilakukan ALU).
ADD DL, BL ; menambahkan isi BL ke DL
SUB CX, 437AH ; mengurangi isi CX dengan angka 437AH
MUL CX ; mengalikan AX dengan CX, hasil disimpan di AX
3. Operasi bit, yaitu operasi logika antara register/memori (dilakukan ALU).
AND BH, CL ; meng-AND-kan isi BH dengan CL
NOT DX ; menginvers isi register DX
4. Operasi string, yaitu operasi yang melibatkan sekumpulan data yang berurutan dalam
memori/port.
REP MOVSB ; mengkopi isi byte dari DS:SI ke ES:DI sebanyak CX
5. Operasi kontrol aliran program, untuk mengatur loop, lompatan, dan perulangan.

CALL 2323H ; memanggil subrutin di alamat CS:2323H


RET ; kembali ke pemanggil subrutin
JZ LBL1 ; lompat ke instruksi yang diberi label LBL1 jika
flag ZF bernilai 1 (set)
6. Operasi kontrol prosesor, yang mengatur kerja mikroprosesor.
7. STI ; menset flag interupsi (TF), membole

DAFTAR PUSTAKA
Andwi prima. 2009. Antara Intel 8080, 8086 dan 8088. (online),
(http://apvalentine.students.uii.ac.id/sejarah-intel-antara-intel-8080-8086-dan-8088/ diakses
tanggal 2 Oktober 2013)
Ryan Zakawaly. 2013. FUNGSI PIN Z80 DAN INTEL 8086. (online),
(http://ryanzakawly.blogspot.com/2013/04/fungsi-pin-z80-dan-intel-8086.html diakses tanggal
5 Oktober 2013)
Suwarno. 2010. PEMBELAJARAN INTEL 8086. (online), (http://suwarnopembelajaran.blogspot.com/2010/04/intel-8086.htmldiakses tanggal 2 Oktober 2013)
Wikipedia. 2013. X86. (online), (http://id.wikipedia.org/wiki/X86diakses tanggal 7 Oktober
2013)
Gunadarma. 2008. pendahuluan_mikroprosesor8086-8088. (online),
(http://elearning.gunadarma.ac.id/docmodul/peng.mikroprosesor/bab1pendahuluan_mikroprosesor8086-8088.pdfdiakses pada tanggal 8 Oktober 2013)
Mas Wakaka. 2012. MIKROPROSESOR. (online), (http://www.slideshare.net/tinktinx/mp-2jenismikroprosesordiakses pada tanggal 8 Oktober 2013)
Vhanoeshil. 2013. MIKROPROSESOR 8086. (online),
(http://vhanoeshil.wordpress.com/2013/02/28/mikroprosesor-8086/ diakses pada tanggal 22
Oktober 2013)

Perangkat Pengembang
x86 atau 8086 adalah nama umum dari arsitektur mikroprosesor yang pertama kali dikembangkan dan
diproduksi oleh Intel. Arsitektur x86 saat ini mendominasi komputer desktop, komputer portabel, dan pasar
server sederhana.
Arsitektur ini dikenal dengan nama x86 karena prosesor-prosesor awal dari keluarga arsitektur ini memiliki
nomor model yang diakhiri dengan urutan angka 86: prosesor 8086, 80186, 80286, 386, dan 486. Karena
nomor tidak bisa dijadikan merek dagang, Intel akhirnya menggunakan kata Pentium untuk merek dagang
processor generasi kelima mereka.
Arsitektur ini telah dua kali diperluas untuk mengakomodasi ukuran word yang lebih besar. Di tahun 1985,
Intel mengumumkan rancangan generasi 386 32-bit yang menggantikan rancangan generasi 286 16-bit.
Arsitektur 32-bit ini dikenal dengan nama x86-32 atau IA-32 (singkatan dari Intel Architecture, 32-bit).
Kemudian pada tahun 2003, AMD memperkenalkan Athlon 64, yang menerapkan secara lebih jauh
pengembangan dari arsitektur ini menuju ke arsitektur 64-bit, dikenal dengan beberapa istilah x86-64,
AMD64 (AMD), EM64T atau IA-32e (Intel), dan x64 (Microsoft).
Intel 8086 adalah pengembangan dari mikroprosesor Intel 8080 (yang dibangun mengikuti arsitektur dari
4004 dan 8008), dan program bahasa rakitan dari 8080 dapat diterjemahkan secara mekanik ke program
yang setara ke bahasa rakitan untuk 8086. Arsitektur ini diadaptasi (dengan versi yang lebih sederhana dari
versi 8088) tiga tahun kemudian sebagai standar dari CPU pada IBM PC. Kehadiran platform PC secara luas
membuat arsitektur x86 menjadi arsitektur CPU yang paling sukses selama ini. (Rancangan CPU lainnya
yang sangat sukses, yang dibagun berdasarkan 8080 dan kompatible pada set-instruksi hingga pada
tingkatan bahasa-mesin biner adalah arsitektur Zilog Z80.)
Perusahaan lain juga membuat atau pernah membuat CPU yang berdasarkan arsitektur x86: diantaranya
Cyrix (sekarang diakuisisi oleh VIA Technologies), NEC Corporation, IBM, IDT (juga telah diakuisisi oleh
VIA), dan Transmeta. Manufaktur yang paling sukses adalah AMD, dengan seri Athlon-nya, yang meskipun
belum se-populer seri Pentium, telah menguasai sebagian pangsa pasar secara nyata. Menurut beberapa
perusahaan riset pangsa pasar CPU AMD telah melampaui penjualan CPU Intel di pasar retail dekstop pada
tahun 2006.
2. Rancangan
Arsitektur x86 adalah rancangan Set Instruksi Komputer Kompleks (Complex Instruction Set Computer)
dengan panjang instruksi yang bervariasi. Word disimpan dengan urutan endian-kecil. Kompatibilitas
mundur menjadi motivasi terkuat dalam pengembangan arsitektur x86 (keputusan ini menjadi sangat penting
dan sering dikritik, terutama oleh pesaing dari pendukung arsitektur prosesor lainnya, yang dibuat frustasi
oleh sukses yang berkelanjutan dari arsitektur ini yang secara umum dipandang memilki banyak
kelemahan). Prosesor-prosesor terkini dari x86 menerapkan beberapa langkah penerjemah (dekoder)
tambahan untuk (saat eksekusi) memecah (sebagian besar) instruksi x86 kedalam potongan-potongan
kecil instruksi (dikenal dengan micro-ops) yang selanjutnya dieksekusi oleh arsitektur setara dengan
arsitektur RISC.
Bahasa rakitan dari x86 dibahas secara lebih terperinci di artikel Bahasa Rakitan x86.
2. 1. Mode Real (Real Mode)

Intel 8086 dan 8088 dilengkapi dengan 14 16-bit register. Empat diantaranya (AX, BX, CX, DX) dirancang
sebagai fungsi umum (general purpouse) (meskipun masing-masing juga memiliki fungsi khusus tambahan;
misalnya hanya register CX yang dapat digunakan sebagai penghitung (counter) dalam instruksi loop).
Setiap register dapat diakses sebagai dua byte (8-bit) terpisah (jadi byte-atas BXs dapat diakses sebagai BH
dan byte-bawah-nya sebagai BL). Selain itu, terdapat juga empat register segmen (CS, DS, SS dan ES).
Register ini digunakan untuk membangun alamat memori. Ada juga dua register penunjuk (pointer) (SP
yang menunjuk pada titik awal stack, dan BP yang dapat menunjuk pada titik manapun dalam stack atau
memori). Ada dua register indeks (SI dan DI) yang dapat digunakan sebagai penunjuk dalam array. Dan
terakhir, ada sebuah register penanda (register flag) yang terdapat didalamnya penanda-penanda seperti
carry, overflow, zero dan lain-lain, dan juga sebuah penunjuk instruksi (instruction pointer IP) yang
menunjuk ke alamat instruksi yang sedang dieksekusi.
Dalam mode real, memori diakses secara tersegmentasi. Hal ini dilakukan dengan menggeser (shifting)
alamat segmen 4 bit ke kiri dan menambah sebuah ofset untuk menghasilkan alamat akhir sepanjang 20-bit.
Contohnya, jika DS berisi nilai A000h dan SI berisi nilai 5677h, DS:SI akan mengacu pada titik alamat real
DS 16 + SI = A5677h. Jadi jumlah total alamat memori yang dapat diakses dalam mode real adalah 220
byte, atau 1 MiB, jumlah yang sangat mengesankan di tahun 1978. Seluruh alamat memori terbagi dalam
segmen dan ofset; dan setiap tipe akses (kode, data, atau stack) memiliki register segmen tertentu (untuk
data register yang digunakan DS, untuk kode digunakan register CS, dan untuk stack digunakan SS). Untuk
mengakses data, register segmen dapat secara langsung dipilih (dengan melakukan ubah-paksa (override)
prefik segmen) dari empat register segmen yang tersedia.
Dengan aturan ini, dua pasang segmen/ofset yang berbeda bisa mengacu ke lokasi memori absolut yang
sama. Jadi bila DS berisi A111h dan SI 4567h, DS:SI akan menunjuk ke alamat A56777h seperti di atas.
Lebih lanjut, CS dan SS berperan vital bagi program agar berfungsi secara benar, sehingga hanya DS dan ES
yang dapat dipakai untuk mengacu ke segmen data diluar program (atau lebih tepatnya, diluar segmen
program yang sedang dieksekusi) atau stack. Skema ini, yang semula bertujuan mempertahankan
kompatibilitas dengan Intel 8085, sering dikeluhkan oleh para programer (walaupun beberapa programer
tidak terlalu mempedulikannya, dan popularitas x86 sebelum tahun-tahun mode proteksi diperkenalkan
membuktikan bahwa hal ini bukan cacat yang sangat serius).
Selain itu, 8086 juga memiliki 64 KB alamat I/O 8-bit (atau 32 K-word dari 16-bit), dan satu 64 KB (satu
segmen) stack di memori yang didukung oleh hardware (memakai register-register SS, SP, dan BP). Hanya
word (2 byte) yang bisa di-push ke stack. Stack tumbuh ke bawah (ke arah alamat yang lebih rendah secara
numerik), dengan ujung bawah diacu oleh SS:SP. Ada 256 interrupt yang dapat diaktifkan oleh hardware
maupun software. Interrupt tersebut bisa bertingkat, memanfaatkan stack untuk menyimpan alamat balik.
CPU x86 32-bit yang modern masih mendukung real mode, bahkan memulai operasi pada real mode setelah
reset. Kode real mode yang dijalankan pada prosesor-prosesor tersebut bisa memanfaatkan register 32-bit
dan register segmen tambahan (FS dan GS) yang mulai tersedia sejak 80386.
2. 2. Mode terproteksi 16-bit (16-bit protected mode)
Prosesor 80286 dapat menjalankan Operating System yang menggunakan Mode Real 16-bit prosesor 8086
tanpa perubahan pada OS, namun prosesor ini juga mempunyai mode lain, yaitu mode terproteksi. Mode
terproteksi memungkinkan program untuk mengakses RAM yang berukuran 16MB, dan memiliki memori
virtual hingga 1GB. Hal ini dimungkinkan karena mode terproteksi menggunakan register segmen untuk
menyimpan index ke sebuah tabel segmen. Pada 80286, terdapat dua buah tabel segmen, yaitu tabel GDT
dan tabel LDT, masing-masing dapat menyimpan hingga 8192 perinci segmen, tiap segment memberi akses
untuk memori sebesar hingga 64KB. Tabel segmen ini menyimpan alamat dasar yang berukuran 24-bit, yang
akan digunakan untuk menghitung alamat absolut dari memori yang akan digunakan. Selain itu, segmensegmen ini dapat diberikan salah satu dari empat jenis level akses.
Walaupun dibuatnya prosesor ini merupakan pengembangan yang baik, prosesor ini sangat jarang digunakan
karena mode terproteksi tidak dapat menjalankan program-program yang berjalan mode real yang sudah ada

sebagai proses, karena program-program mode real sering mengakses perangkat keras secara langsung dan
beberapa ada yang melakukan aritmatika segmen, sehingga tidak dapat dijalankan pada mode terproteksi.