Mikroprosesor 8086

14
Mikroprosesor 8086 1. Sejarah Pada tahun 1968 Gordon Moore, Robert Noyce, dan Andy Grove menemukan Intel Corp. untuk menjalankan bisnis “Integrated Elektronics”. Di tahun 1969 Intel mengumumkan produk pertamanya, RAM statis 1101, Metal Oxide Semikonduktor (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 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

Transcript of Mikroprosesor 8086

Page 1: Mikroprosesor 8086

Mikroprosesor 8086

1. Sejarah

Pada tahun 1968 Gordon Moore, Robert Noyce, dan Andy Grove menemukan Intel Corp.

untuk menjalankan bisnis “Integrated Elektronics”. Di tahun 1969 Intel mengumumkan produk

pertamanya, RAM statis 1101, Metal Oxide Semikonduktor (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 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.

Page 2: Mikroprosesor 8086

Pada tahun 1982, IBM menandatangani Advanced Micro Devices sebagai sumber kedua

Intel untuk mikroprosesor 8086 dan 8088. Ditahun yang sama Intel memperkenalkan prosesor

16-bit 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. Definisi

Mikroprosesor adalah suatu chip (keping) yang dapat melaksanakan operasi-operasi

hitungan, operasi nalar, dan operasi kendali secara elektronis (digital) dan merupakan otak atau

Page 3: Mikroprosesor 8086

pengolah utama dalam sebuah system komputer. Chip mikroprosesor difabrikasi dengan

teknologi LSI (Large Scale Integration) maupun VLSI (Very Large Scale Integration). Biasanya

mikroprosesor dikemas dengan plastik atau keramik. Kemasannya dilengkapi dengan pin-pin

yang merupakan terminal masukan dan keluaran dari chip. Mikroprosesor berfungsi sebagai

pemroses data digital dari input computer. Semakin tinggi kecepatan prosesor maka semakin

cepat hasil komputasi diperoleh. Mikroprosesor disebut juga CPU (Central Processing Unit).

Mikroprosesor 8086 ialah mikroprosesor dengan lebar bus data sebesar 16 bit secara internal

dan eksternal, maksudnya seluruh register lebarnya 16 bit dan terdapat bus data selebar 16 bit

untuk mentrasfer data kedalam dan keluar CPU.

3. Arsitektur

CPU 8086 terdiri dari dua prosesor terpisah, yaitu Bus Interface Unit (BIU) dan Execution

Unit (EU). Dua prosesor terpisah tersebut akan dijelaskan sebagai berikut :

a. 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

Page 4: Mikroprosesor 8086

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.

b. 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 instruksi-instruksi

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

Page 5: Mikroprosesor 8086

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. CX dapat digunakan sebagai register

count. DX dapat digunakan sebagai register data.

4. Karakteristik

a. Karakteristik Input

Karakteristik input mikroprosesor-mikroprosesor ini kompatibel dengan semua komponen

logika standar yang tersedia saat ini. Berikut ini merupakan table level tegangan input dan

persyaratan arus input untuk semua pin input pada kedua mikroprosesor. Level arus input sangat

kecil karena input merupakan koneksi gerbang MOSFET dan hanya mempresentasikan arus

bocor.

Level Logika Tegangan Arus

Page 6: Mikroprosesor 8086

0 0.8V maksimum ±10 μA maksimum

1 2.0V maksimum ±10 μA maksimum

Tabel 1. Karakteristik Input Mikroprosesor 8086 dan 8088

b. Karakterisrik output

Level tegangan logika 1 pada 8086/8088 kompatibel dengan sebagian besar keluarga logika

standar tetapi logika 0 tidak. Rangkaian standar logika memiliki tegangan maksimum logika 0

sebesar 0.4V dan 8086/8088 memiliki maksimum 0.45V. dengan demikian ada perbedaan 0.05V.

Perbedaan ini memperkecil kekebalan terhadap noise dari level standar sebesar 400mV

(0.V-0.45V) menjadi 350 mV. Kekebalan terhadap noise adalah perbedaaan antara level

tegangan output logika 0 dan level tegangan output logika 1.

Level Logika Tegangan Arus

0 0.45V maksimum 2.0 μA maksimum

1 2.4V mksimum -400 μA maksimum

Tabel 2. Karakteristik Output Mikroprosesor 8086 dan 8088

5. Fungsi Pin Out IC Mikroprosesor 8086

Gambar 1. Pin Out IC

Mikroproseosr 8086

AD15-AD8 Jalur bus

alamat/data 8086 terdiri dari bus alamat/data bagian atas 8086. Jalur-jalur

ini berisi bit-bit alamat A15-A8 jika ALE pada logika 1, dan hubungan

Page 7: Mikroprosesor 8086

bus data D15-D8. Pin-pin ini memasuki impedansi tinggi jika terjadi hold

acknowledge.

A19/S6-A16/S3 Bit-bit bus alamat/status dimultipleks untuk memberikan sinyal alamat

A19-A16 dan juga bit status S6-S3. Pin-pin ini juga mempertahankan

status impedansi tinggi selama hold acknowledge. Bit status S6 selalu

merupakan logika 0, bit S5 menunjukkan kondisi bit-bit flag 1F. S4 dan

S3 menunjukkan segmen mana yang diakses selama siklus bus pada saat

itu. Berikut ini fungsi status bit S3 dan S4 :

S4 S3 Fungsi

0 0 Segmen ekstra

0 1 Segmen stack

1 0 Kode atau tanpa segmen

1 1 Segmen data

Tabel 3.Fungsi Status Bit S3 dan S4

RD Jika sinyal baca berupa logika 0. Bus data bisa menerima data dari memori atau

alat I/O yang dihubungkan ke system. Pin ini naik ke status impedansi

tinggi selama acknowledge hold.

READY Input ini dikendalikan untuk menyisipkan status tunggu ke timing mikroprosesor.

Jika pin ready diletakkan pada level logika 0 mikroprosesor memasuki

status tunggu dan tidak bekerja. Jika pin ready diletakkan pada level

logika 1 tidak memiliki efek pada operasi mikroprosesor.

INTR Intrrupt request digunakan untuk meminta interrupt perangkat keras. Jika

INTR dijaga tetap high ketika IF=1. Mikroprosesor memasuki siklus

interrupt acknowledge setelah instruksi pada saat itu dijalankan

sepenuhnya.

TEST Pin test merupakan input yang dites oleh instruksi wait. Jika berlogika 0 maka

instruksi wait berfungsi sebagai NOP. Jika berlogika 1 maka instruksi wait

menunggu sampai TEST berlogika 0.

Page 8: Mikroprosesor 8086

NMI Input non-maskable interrupt sama dengan INTR kecuali interrupt NMI tidak

memeriksa apakah bit flah 1F merupakan logika 1. Jika NMI diaktifkan,

input interrupt ini menggunakan vector interrupt 2.

RESET Input reset menyebabkan mikroprosesor mereset dirinya sendiri jika pin ini tetap

high selama minimum empat periode clock.

CLK Pin clock menyediakan sinyal waktu/timming dasar ke mikroprosesor. Sinyal clock

harus memiliki siklus kerja 33% untuk memberikan timing internal yang

sesuai.

Vcc Input catu daya.

GND Hubungan ground merupakan jalur kembali catu daya.

MN/MX Pin mode minimum/maksimum memilih operasi mode minimum atau

maksimum untuk mikroprosesor. Jika dipilih mode minimum pin ini harus

dihubungkan langsung ke +5.0V.

BHE/S7 Pin bus high enable digunakan untuk enable bus data yang paling

signifikan (D15-D8) selama operasi baca atau tulis. Status S7 selalu

merupakan logika 1.

S2, S1, dan S0 Bit-bit status ini menunjukkan fungsi siklus bus saat itu. Sinyal-

sinyal ini biasanya didekode oleh bus controller 8288.

RO/GT1 dan Pin-pin request/grant ini meminta direct memory

access (DMA)

RO/GT0 selama operasi mode maksimum. Jalur-jalur ini bidireksional, digunakan untuk

meminta dan member hak operasi DMA.

LOCK Output lock digunakan untuk mengunci peripheral dari system. Pin ini

diaktifkan dengan menggunakan awalan LOCK untuk semua instruksi.

QS1 dan QS0 Bit queue status menunjukkan status antrian instruksi internal. Pin-pin ini

disediakan untuk akses oleh koprosesor numeric (8087). Berikut ini able

status bit antrian :

QS1 QS0 Fungsi

0 0 Antrian tidak aktif

Page 9: Mikroprosesor 8086

0 1 Byte pertama opcode

1 0 Antrian kosong

1 1 Byte opcode berurutan

Tabel 4. Status Bit Antrian

6. Persamaan dan Perbedaan Mikroprosesor 8086 dengan Mikroprosesor 8088

a. Persamaan

- Mikroprosesor 8086 dan 8088 sama-sama terkemas dalam dual in-line package (DIP) 40-pin.

- Mikroprosesor 8086 dan 8088 sama-sama membutuhkan tegangan catu sebesar +5.0V dengan

toleransi tegangan catu ± 10%.

- Mikroprosesor 8086 dan 8088 beroperasi pada temperature lingkungan antara 32o F dan sekitar

180o F.

- Mikroprosesor 8086 dan 8088 mempunyai karakteristik input dan karakteristik output yang sama.

b. Perbedaan

Perbedaan

8086 8088

Lebar bus data 16-bit Lebar bus data 8-bit

Panjang antrian instruksi 6-

byte

Panjang antrian instruksi 4-byte

Mempunyai pin M/IŌ Mempunyai pin IO/M

Pin 34 BHE/S7 Pin 34 SSO

Arus catu maksimum 360 mA Arus catu maksimum 340 mA

Tabel 5. Perbedaan Antara Mikroprosesor 8086 dan 8088