From WikiChip
Difference between revisions of "x86"

(History)
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{isa box
+
{{x86 isa main}}
| name          = x86
+
'''x86''' is a family of [[little-endian]] [[variable-length]] [[instruction set architectures]] and [[instruction set architectures extension|extensions]]. As its namesake indicates, the x86 ISA offers [[binary compatibility]] all the way from the original {{intel|8086}} to modern [[microarchitecture]]s as well as [[source code compatibility]] since the {{intel|8080}}. The x86 architecture is widely used in the [[desktop]] and [[server]] markets. Today, custom x86-based implementations are designed by a number of [[semiconductor companies|companies]] including [[Intel]], [[AMD]], [[VIA]], [[Zhaoxin]], [[DM&P]], and [[RDC Semiconductors|RDC]].
| developer      = Intel
+
 
| developer 2    = AMD
+
Generally speaking, the term 'x86' is most often used as an umbrella term encompassing the original {{x86|x86-16}}, {{x86|x86-32}} (IA-32), {{x86|x86-64}} (AMD64), and the various extensions such as {{x86|MMX}}, {{x86|3DNOW!}}, and {{x86|SSE}}.
| dev model      = Proprietary
 
| design        = Von Neumann
 
| data size      = 8 bit
 
| data size 2    = 16 bit
 
| data size 3    = 32 bit
 
| data size 4    = 64 bit
 
| inst size      = Variable
 
| inst count    =
 
| introduction  = 1978
 
| version        =
 
| format        = Register-Memory
 
| endianness    = Little-endian
 
}}
 
'''x86''' is a family of [[little-endian]] [[instruction set architectures]] and [[instruction set architectures extension|extensions]]. As its namesake indicates, the x86 ISA offers [[binary compatibility]] all the way from the original {{intel|8086}} to modern [[microarchitecture]]s as well as [[source code compatibility]] since the {{intel|8080}}. The architecture is widely used in the [[desktop]] and [[server]] markets by a number of [[semiconductor companies|companies]] including [[Intel]], [[AMD]], [[VIA]], [[DM&P]], and [[RDC Semiconductors|RDC]].
 
  
 
== History ==
 
== History ==
Line 26: Line 12:
 
=== Registers ===
 
=== Registers ===
 
{{empty section}}
 
{{empty section}}
 +
{| class="wikitable"
 +
|-
 +
! Quad word (8 bytes) !! Double word (4 bytes) !! Word (2 bytes) !! Byte 1 !! Byte 0
 +
|-
 +
| %rax ||  %eax ||  %ax ||  %ah ||  %al
 +
|-
 +
| %rcx ||  %ecx ||  %cx ||  %ch ||  %cl
 +
|-
 +
| %rdx ||  %edx ||  %dx ||  %dh ||  %dl
 +
|-
 +
| %rbx ||  %ebx ||  %bx ||  %bh ||  %bl
 +
|-
 +
| %rsi ||  %esi ||  %si ||      ||  %sil
 +
|-
 +
| %rdi ||  %edi ||  %di ||      ||  %dil
 +
|-
 +
| %rsp ||  %esp ||  %sp ||      ||  %spl
 +
|-
 +
| %rbp ||  %ebp ||  %bp ||      ||  %bpl
 +
|-
 +
| %r8 ||  %r8d ||  %r8w ||      ||  %r8b
 +
|-
 +
| %r9 ||  %r9d ||  %r9w ||      ||  %r9b
 +
|-
 +
| %r10 ||  %r10d ||  %r10w ||  ||  %r10b
 +
|-
 +
| %r11 ||  %r11d ||  %r11w ||  ||  %r11b
 +
|-
 +
| %r12 ||  %r12d ||  %r12w ||  ||  %r12b
 +
|-
 +
| %r13 ||  %r13d ||  %r13w ||  ||  %r13b
 +
|-
 +
| %r14 ||  %r14d ||  %r14w ||  ||  %r14b
 +
|-
 +
| %r15 ||  %r15d ||  %r15w ||  ||  %r15b
 +
|}
 
=== Operation Modes ===
 
=== Operation Modes ===
 
{{empty section}}
 
{{empty section}}
  
 
== Instruction Set ==
 
== Instruction Set ==
 +
{{empty section}}
 +
 +
=== Syntaxes ===
 
{{empty section}}
 
{{empty section}}
  
Line 35: Line 60:
 
{{empty section}}
 
{{empty section}}
  
=== Extensions ===
+
== Extensions ==
 +
{{empty section}}
 +
 
 +
== Implementations ==
 
{{empty section}}
 
{{empty section}}
  
== Syntaxes ==
+
== See also ==
 +
* [[ARM]]
 +
 
  
 
{{stub}}
 
{{stub}}
 +
 +
[[category:instruction set architectures]]
 +
[[category:x86]]
 +
 +
[[designer::Intel| ]]
 +
[[designer::AMD| ]]
 +
[[first launched::1978| ]]
 +
[[full page name::x86| ]]
 +
[[instance of:instruction set architecture| ]]
 +
[[name::x86| ]]
 +
[[word size::8 bit| ]]
 +
[[word size::16 bit| ]]
 +
[[word size::32 bit| ]]
 +
[[word size::64 bit| ]]
 +
[[dev model::Proprietary| ]]
 +
[[format::Register-Memory| ]]
 +
[[design::Von Neumann| ]]
 +
[[endianness::Little-endian| ]]

Latest revision as of 10:29, 10 July 2021

x86 is a family of little-endian variable-length instruction set architectures and extensions. As its namesake indicates, the x86 ISA offers binary compatibility all the way from the original 8086 to modern microarchitectures as well as source code compatibility since the 8080. The x86 architecture is widely used in the desktop and server markets. Today, custom x86-based implementations are designed by a number of companies including Intel, AMD, VIA, Zhaoxin, DM&P, and RDC.

Generally speaking, the term 'x86' is most often used as an umbrella term encompassing the original x86-16, x86-32 (IA-32), x86-64 (AMD64), and the various extensions such as MMX, 3DNOW!, and SSE.

History[edit]

Main article: History of x86
New text document.svg This section is empty; you can help add the missing info by editing this page.

Overview[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Registers[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.
Quad word (8 bytes) Double word (4 bytes) Word (2 bytes) Byte 1 Byte 0
 %rax  %eax  %ax  %ah  %al
 %rcx  %ecx  %cx  %ch  %cl
 %rdx  %edx  %dx  %dh  %dl
 %rbx  %ebx  %bx  %bh  %bl
 %rsi  %esi  %si  %sil
 %rdi  %edi  %di  %dil
 %rsp  %esp  %sp  %spl
 %rbp  %ebp  %bp  %bpl
 %r8  %r8d  %r8w  %r8b
 %r9  %r9d  %r9w  %r9b
 %r10  %r10d  %r10w  %r10b
 %r11  %r11d  %r11w  %r11b
 %r12  %r12d  %r12w  %r12b
 %r13  %r13d  %r13w  %r13b
 %r14  %r14d  %r14w  %r14b
 %r15  %r15d  %r15w  %r15b

Operation Modes[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Instruction Set[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Syntaxes[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Interrupts[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Extensions[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Implementations[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

See also[edit]


Text document with shapes.svg This article is still a stub and needs your attention. You can help improve this article by editing this page and adding the missing information.
1 octets
2 nibbles
2 octets
4 nibbles
4 octets
8 nibbles
8 octets
16 nibbles



Facts about "x86"
designVon Neumann +
designerIntel + and AMD +
dev modelProprietary +
endiannessLittle-endian +
first launched1978 +
formatRegister-Memory +
full page namex86 +
namex86 +
word size8 bit (1 octets, 2 nibbles) +, 16 bit (2 octets, 4 nibbles) +, 32 bit (4 octets, 8 nibbles) + and 64 bit (8 octets, 16 nibbles) +