Mikroprosesor 8086
-
Upload
agung-widodo -
Category
Documents
-
view
84 -
download
3
Transcript of 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.
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
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
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
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
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
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.
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
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