Intel 8086

**8086** adalah satu cip mikropemproses 16-bit yang direkabentuk oleh Intel pada1978, yang memberi kenaikan kepada senibina x86. Intel 8088 (yang dikeluarkan tidak lama selepas 8086) pada asasnya adalah cip yang sama tetapi berbeza dengan ciri data bas luaran 8-bitnya yang membenarkan penggunaan chipset yang murah. 8088 dikenali dan popular kerana digunakan sebagai pemproses dalam PC IBM yang asal.

Rekabentuk kedua-dua pemproses adalah berdasarkan rekabentuk 8080 and 8085 dengan penggunaan set daftar (register) yang sama (8086 dan 8088 merupakan bahasa himpunan yang mempunyai keserasian sumber dengan 8080), tetapi ciri-cirinya kemudian diperkembangkan untuk menyokong proses yang menggunakan 16-bit. Unit antara muka bas memberi strim arahan kepada Unit Pelakuan (Execution Unit) melalui baris gilir (queue) pra-ambilan (prefetch) 6 Bait, maka masa ambilan (fetch) dan pelakuan adalah serentak ; satu bentuk primitif bagi penalian paip (arahan 8086 berbeza dari 1 hingga 4 Bait).

Jenis bas:
* Bas Alamat - bas alamat 20-bit. Mampu mengakses 220 lokasi ingatan, misalnya 1 MB (1 x 1024 x 1024 bit).
* Bas Data - bas data 16 bit. Boleh mengakses data 16-bit data dalam satu-satu operasi. Oleh itu, ia dipanggil mikropemproses 16-bit.
* Bas Kawalan - membawa isyarat-isyarat penting untuk pelbagai jenis operasi.

8086 menampilkan empat daftar 16-bit yang lazim serta berkemungkinan juga mampu diakses sebagai daftar 8-bit, dan empat 16-bit daftar indeks (termasuklah penunjuk tindan). Daftar data sering digunakan sepenuhnya dalam arahan bagi tujuan perumitan peruntukan data untuk nilai-nilai yang sementara. Ia mempunyai port 64K 8-bit I/O (atau 32K 16-bit) dan sampukan bervektor tetap. Kebanyakan arahan hanya mampu mengakses satu lokasi memori, maka, satu-satu kendalian (operand) seharusnya adalah sejenis daftar. Hasil perlaksanaan arahan akan disimpan dalam mana-mana kendalian yang berkenaan.

Pendaftar segmen membolehkan CPU mencapai satu megabait + 64KB –16 bait ingatan pada keadaan biasa. 8086 bukan sahaja memberikan bait yang hilang seperti dalam kebanyakan pemproses segmen, malah menganjakkan pendaftar segmen 4 bit ke kiri dan ditambahkan kepada alamat. Hasilnya, segmen bertindan dan memberikan rekabentuk yang kurang baik. Walaupun keadaan ini masih boleh diterima secara meluas (masih berguna) untuk bahasa himpunan, di mana kawalan segmen adalah secara penuh, ia telah mengakibatkan kekeliruan dalam bahasa yang menggunakan penunjuk yang berat(seperti C). Ia membuatkan perwakilan efisien bagi penunjuk yang susah, dan membolehkan kewujudan lebih daripada 4096 penunjuk dengan nilai yang berlainan menuju ke lokasi yang sama. Lebih buruk lagi, skema ini telah membuatkan pengembangan ruang alamat lebih daripada satu megabait + 64KB –16 bait susah. Ia dikembangkan dengan menukar skema pengalamatan dalam 80286.

Pemproses berjalan pada kelajuan jam di antara 4.77 (seperti dalam versi 8088 yang digunakan dalam PC IBM yang asal) dan 10 MHz.

Masa pelaksanaan biasa dalam kitaran (anggaran):
* Penambahan : 3-4 (pendaftar), 9+EA-25+EA (capaian ingatan)
* Pendaraban : 70-118 (pendaftar), 76+EA-143+EA (capaian ingatan)
* Pindah : 2 (pendaftar), 8+EA-14+EA (capaian ingatan)
* Lompatan dekat : 11-15, 18+EA (capaian ingatan)
* Lompatan jauh : 15, 24+EA (capaian ingatan)
EA : masa untuk mengira alamat efektif, pada kitaran 5 hingga 12

8086 tidak mengandungi sebarang arahan titik apungan, tetapi boleh disambungkan kepada kopemproses matematik untuk menambahkan kemampuan ini. Intel 8087 adalah versi piawai dan digunakan sebagai Ko-pemproses Matematik beroperasi dalam 80 bit nombor, tetapi pengeluar yang lebih menyukai Weitek telah menawarkan alternatif dengan prestasi yang lebih tinggi. 8086 telah diklonkan oleh pemproses NEC V20, V25 dan V30.

## Mikrokomputer yang menggunakan 8086

Mikrokomputer komersial yang pertama dibina berasaskan kepasa 8086 adalah Mycron 2000.

Mesin pemprosesan perkataan IBM Displaywriter dan *Wang Professional Computer* juga menggunakan 8086. Mikrokomputer yang paling berpengaruh di antara semua, PC IBM, digunakan oleh Intel 8088, suatu versi daripada 8086 dengan satu bas ingatan yang lebih sempit.

## Rujukan
* Intel 8086