X86

Sejarah

Arsitektur x86 pertama kali hadir melalui 8086 CPU pada tahun 1978; 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: di antaranya 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.

Real-Mode

Real-Mode adalah sebuah modus di mana prosesor Intel x86 berjalan seolah-olah dirinya adalah sebuah prosesor Intel 8086 atau Intel 8088, meski ia merupakan prosesor Intel 80286 atau lebih tinggi. Karenanya, modus ini juga disebut sebagai modus 8086 (8086 Mode). Dalam modus ini, prosesor hanya dapat mengeksekusi instruksi 16-bit saja dengan menggunakan register internal yang berukuran 16-bit, serta hanya dapat mengakses hanya 1024 KB dari memori karena hanya menggunakan 20-bit jalur bus alamat. Semua program DOS berjalan pada modus ini.
Prosesor yang dirilis setelah 8086, semacam Intel 80286 juga dapat menjalankan instruksi 16-bit, tetapi jauh lebih cepat dibandingkan 8086. Dengan kata lain, Intel 80286 benar-benar kompatibel dengan prosesor Intel 8086 yang didesain sebelumnya. Sehingga prosesor Intel 80286 pun dapat menjalankan program-program 16-bit yang didesain untuk 8086 (IBM PC), dengan tentunya kecepatan yang jauh lebih tinggi.
Dalam Real-mode, tidak ada proteksi ruang alamat memori, sehingga tidak dapat melakukan multi-tasking. Inilah sebabnya, mengapa program-program DOS bersifat single-tasking. Jika dalam modus real terdapat multi-tasking, maka kemungkinan besar antara dua program yang sedang berjalan, terjadi tabrakan (crash) antara satu dengan lainnya.

Protected Mode

Modus terproteksi (protected mode) adalah sebuah modus di mana terdapat proteksi ruang alamat memori yang ditawarkan oleh mikroprosesor untuk digunakan oleh sistem operasi. Modus ini datang dengan mikroprosesor Intel 80286 atau yang lebih tinggi. Karena memiliki proteksi ruang alamat memori, maka dalam modus ini sistem operasi dapat melakukan multitasking.
Prosesor Intel 80286 memang dilengkapi kemampuan masuk ke dalam modus terproteksi, tetapi tidak dapat keluar dari modus tersebut tanpa harus mengalami reset (warm boot atau cold boot). Kesalahan ini telah diperbaiki oleh Intel dengan merilis prosesor Intel 80386 yang dapat masuk ke dalam modus terproteksi dan keluar darinya tanpa harus melakukan reset. Inilah sebabnya mengapa Windows 95/Windows 98 dilengkapi dengan modus Restart in MS-DOS Mode, meski sebenarnya sistem operasi tersebut merupakan sistem operasi yang berjalan dalam modus terproteksi.

Virtual Protected Mode

Virtual Protected Mode juga kadang disebut sebagai Virtual Real Mode. Dalam modus ini, sebuah prosesor Intel x86 berjalan dalam modus terproteksi tetapi mengizinkan aplikasi-aplikasi 16-bit real-mode agar dapat dijalankan di atas sistem operasi. Microsoft Windows 3.1, yang berjalan di dalam modus Enhanced 386, Windows 95, serta Windows 98 mendukung modus ini sepenuhnya. Sistem-sistem operasi dapat menjalankan beberapa aplikasi 16-bit real-mode secara sekaligus, pada window MS-DOS Prompt yang berbeda-beda, karena memang Microsoft mengimplementasikan sebuah lapisan emulasi yang disebut sebagai DOS Protected Mode Interface (DPMI). Setiap window MS-DOS Prompt yang dibuat, aplikasi hanya berjalan dalam real mode, tetapi karena Windows 3.1 (yang berjalan dalam modus Enhanced 386) dan Windows 95/98 berjalan dalam modus terproteksi, aplikasi akan menganggap dirinya berjalan pada komputer yang berbeda, meski pada fisiknya mereka dijalankan pada modus yang sama. Hal ini mengizinkan aplikasi-aplikasi 16-bit real-mode agar dapat dijalankan secara serentak (multitasking), meski pada awalnya aplikasi 16-bit berjalan dalam kondisi single-tasking.
DPMI digunakan oleh Windows 3.1 ke atas untuk mengakses extended memory agar dapat digunakan oleh aplikasi Windows. DPMI mengizinkan program-program dapat menggunakan memori yang lebih banyak, meski pada aslinya program tersebut merupakan program 16-bit. Hal ini populer dilakukan, khususnya bagi program-program game komputer DOS, karena game-game tersebut dapat mengakses lebih dari 1 MB (diberi hak akses oleh sistem operasi). DPMI dapat melakukan switching prosesor dari real-mode ke protected mode atau sebaliknya.

IA32e/AMD64/x64/x86-64 Compatibility Mode

Modus kompatibilitas adalah sebuah modus prosesor berbasis IA32e (x86-64, AMD64, EM64T, atau x64) di mana prosesor sedang menjalankan instruksi 32-bit (sistem operasi 32-bit dan aplikasinya yang dijalankan di atas prosesor x64 atau sistem operasi 64-bit yang menjalankan aplikasi 32-bit). Dalam modus ini, prosesor tersebut bekerja seolah-olah dirinya adalah prosesor x86 32-bit, sehingga hanya dapat mengalamati memori hingga 4 GB saja.

IA32e/x86-64/AMD64/x64/EM64T Long Mode

Modus panjang (long mode) adalah sebuah modus prosesor 64-bit IA32e (x86-64/AMD64/x64/EM64T) yang berjalan di atas sistem operasi 64-bit, sehingga ia dapat mengeluarkan seluruh kemampuannya, seperti halnya mengakses memori lebih besar daripada 4 GB (hingga batasan yang dimiliki oleh prosesor dan sistem operasi), dan menjalankan aplikasi 64-bit. Hanya beberapa sistem operasi yang dapat menjalankan prosesor IA32e dalam modus ini, yakni Windows XP Professional x64 Edition, Windows Server 2003, GNU/Linux (versi kernel 2.6 ke atas), Solaris 10 dan beberapa varian UNIX lainnya.