X86
x86 nebo Intel 80x86 je obecné pojmenování architektury mikroprocesorů nejprve se vyvíjel a vyráběl Intel.
Introductrion
x86 CPUss je také vyráběn u různých stádií AMD, Cyrix, NEC, IDT, Transmeta (to používá to v PDAs příliš, vidět Crusoe) (pravděpodobně) a rozliční jiní výrobcové u různých stádií v jeho skoro 25-historie roku.
Kromě základní architektury sám, tato jména jsou také používána popisovat rodinu zvláštních mikroprocesorů vyráběl Intel, včetně Intel 8086, Intel 80186, Intel 80286, Intel 80386, Intel 80486, Pentium, Pentium Pro, Pentium II, Pentium III a Pentium 4. Pro důvody marketingu, Intel se odkazuje na procesory x86 jak IA-32 zatímco většina z jeho konkurentů nazývá je x86.
Intel je IA-64 architektura používaná v jeho Itanium procesorech je technicky zaostalá slučitelný s procesory x86 ale jeho výchozí hodnotou 64 bitový způsob práce odhalí žádnou podobnost s architekturou x86. AMD je AMD64 použitý v jeho Opteron a Athlon 64 procesorů je více přirozené rozšíření 32 bitového x86 instrukční sada a je také zaostalý-slučitelný s x86.
Historie
Architektura x86 nejprve vypadala jako vnitřek Intel 8086 CPUčko v 1978 jak následovat k 8008 procesoru (který sám následoval 4004). To bylo přijato (v jednodušší 8088 verze) tři roky pozdnější jako standardní CPUčko IBM PC. PC obrovský úspěch během posledních 20 roků garantoval, že architektura x86, která se stala nejpopulárnějším CPUčkem architektura někdy. Viz též Intel.
Design
To může být zevšeobecnil to architektura x86 je CISC s proměnnou instrukční délkou. Slovo klížilo přístup do paměti mít dovoleno unaligned adresy paměti. Slova jsou uložena v malý-endian objednat. Zpětná kompatibilita byla hnací síla za vývojem architektury x86, to způsobilo četného náhradníka-optimální a jinak neospravedlnitelná designová rozhodnutí v časných architekturách. Moderní x86 procesory překládají x86 instrukční sadu k více RISC- jako mikro-instrukce na kterém moderním mikre-architektonické techniky mohou být aplikovány.
Si všimnout toho jména pro instrukce a registruje (mnemotechnické pomůcky) to objevit se v tomto stručném přehledu být ones specifikovaný v Intel dokumentaci a použitý některými těmi assemblery. Instrukce, která je specifikovala v TASM syntaxi al mov, 30h je ekvivalent k u a T; - syntax movb $0 x30, % al, a oba překládají ke dvěma bajtům strojového kódu B0 30 (hexadecimální). Vy můžete vidět, že není tam žádná stopa vlevo v tomto kódu jednoho “mov” nebo “al”, který jsou originální Intel mnemotechnické pomůcky. Jestliže my jsme chtěli, my jsme mohli psát assembler, který by produkoval stejný strojový kód od příkazu”pohybovat bezprostředním bajtem hexadecimally kódoval 30 do nízké poloviny prvního registru”. Nicméně, konvence má držet se Intel originálových mnemotechnických pomůcek.
X86 jazyk symbolických instrukcí je projednán ve více detailu ve x86 jazyce symbolických instrukcí článek.
Intel 8086 a 8088 měl 14 16 -kousek se registruje. Čtyři je (sekyra, BX, CX, DX) byl obecný účel (ačkoli každý měl také další účel; například jen CX může být používán jako pult s smyčkovou instrukcí). Každý mohl být zpřístupňován jako dva oddělené bajty (tak BX vyšší bajt může být zpřístupňován jako BH a nižší bajt jako BL). Kromě nich, jsou tam 4 segmentové registry (CS, DS, SS a ES). Oni jsou zvyklí na formu adresa paměti. Jsou tam 2 ukazatel se registruje (SP který ukáže na dno zásobníku, a BP který může být zvyklý na bod na nějakém jiném místě v hromadě nebo paměti). Tam jsou dva indexové registry (Si a Di) který může být zvyklý na bod uvnitř sady. Konečně, tam být registr příznaku (obsahovat příznaky takový jak vysílat, přetékat, nula a tak na), a instrukční ukazatel (IP) který ukáže na aktuální instrukci. Oba nemohou být měněni přímo.
V reálném režimu, přístup do paměti je článkový. Toto je děláno tím, že sune segmentovou adresu nechanou 4 kousky a sčítá vyrovnaný aby přijal finále 20-adresa kousku. Tak úplný adresový prostor v reálném režimu je 220 kousky, nebo 1 MB, docela impozantní postava pro 1978. Jsou tam dva oslovovat režimy: blízký a daleký. V dalekém režimu, oba segment a vyrovnaný být specifikován. V blízkém režimu, jediný vyrovnaný je specifikován, a část je vzata od vhodného registru. Pro data registr je DS, pro kód je CS a pro zásobník to je SS. Například, jestliže DS je A000h a Si je 5677h, DS: Si ukáže na absolutní adresu DS × 16 + Si = A5677h.
V tomto schématu, dva různá část/vyrovnané páry mohou ukázat na jediné absolutní umístění. Tak, jestliže DS je A111h a Si je 4567h, DS: Si ukáže na stejný A5677h jak je uvedeno výše. Kromě duplicacy, toto schéma také dělá to nemožný mít víc než 4 segmenty najednou. Navíc, CS, DS a SS je zásadní pro správné působení programu, tak že jen ES může být zvyklý na bod někde jinde. Toto schéma, který byl určen jako míra kompatibility s Intel 8085 způsobil žádný konec žalu k programátorům.
Navíc k nahoře-říkal, 8086 také měl 64K 8-kousek (nebo alternativně 32K 16-bit) Já/O prostor, a podpora pro až 256 přerušení. 64K (jeden segment) hromada v paměti je podporován hardwarem. Jediná slova (2 bajty) mohou být tlačeny k hromadě. Hromada stane se dolů, jeho spodní bytí ukazovalo SS: SP. Tam je 256 přerušení, který může být vytvořen jak hardwarem tak softwarem. Přerušení mohou se valit, používat hromadu, aby uložil zpáteční adresu.
Intel 80286 mohl podporovat 8086 reálného režimu 16-ti bitový software bez některého se mění, nicméně to také podporovalo jiného způsob práce volal chráněný režim, který rozšířil adresovatelnou paměť k 16MB. Toto bylo děláno používáním část se registruje jen pro uložení index ke stolu segmentu. Segmentový stůl stanovil 24-kousl bázovou adresu, který mohl pak být zvětšen požadovaný vyrovnaný vytvořit absolutní adresu. Navíc, každý segment mohl být dáván jedna z čtyř výsadových úrovní (volala prsteny). Celkový, úvody byly zlepšení; nicméně oni nebyli použití široce na se, protože používání chránilo režim dělal software nekompatibilní s reálným režimem 8086.
Intel 80386 představený, snad, největší skok doposud v architektuře x86. To bylo 32-bit - všechny registry, instrukce, já/O prostor a paměť. Pracovat s latter, to používalo zvýrazněný režim, 32 bitové rozšíření chráněného režimu. Jak to bylo v 286, segmentové registry byly zvyklé na index uvnitř stolu segmentu, který popisoval rozdělení paměti. Unlike 286, nicméně, uvnitř každé části jeden mohl používat 32-bit vyrovná, který umožnil každé použití k přístupu nahoru k 4GB paměti. Navíc, zvýrazněný režim podporoval stránkování, mechanismus, který umožnil používat virtuální paměť.
Žádné nové univerzální registry byly přidány. Všechny 16-ti bitové registry kromě části ones byl rozšířen k 32 kouskům. Intel reprezentoval toto připočítáním “E” k mnemotechnickým pomůckám registru (tak rozšířená sekyra se stala EAX, Si se stal ESI a tak na). Protože tam bylo větší množství registrů, instrukce a operands, formát strojového kódu byl rozšířen také. Aby poskytoval zpětnou kompatibilitu, segmenty, které obsahují spustitelný kód mohou být označené jak obsahovat jeden 16 nebo 32 instrukcí kousku. Navíc, specialita předpona bajtu může být používána zahrnovat 32 bitová poučení v 16-ti bitové části a vice versa.
Stránkování a rozdělený přístup do paměti byli oba požadovaní aby podporoval moderní multitaskový operační systém. Linux, 386BSD, Windows NT a Windows 95 byli všichni zpočátku se vyvíjeli pro 386, protože to byl první procesor, který umožňoval to k spolehlivě podporovat oddělení programového pamětového prostoru (každý do jeho vlastního adresového prázdna) a nucené přerušení je v případě nutnosti (používat prsteny). Základní architektura 386 (který je také nazvaný IA-32) se stal východiskem pro celý další vývoj v x86 série a žádné závažné změny byli vyrobení k tomu protože, tak ilustrovat eleganci a škálovatelnost designu 386.
Intel 80387 co matematiky-procesor byl integrovaný do příštího procesoru v seriálu, Intel 80486. Nový FPU mohl být používán učinit plovoucí bodové kalkulace, důležitý pro vědeckou vypočítavost a design.
1996 viděl vznik MMX (rozšíření multimédií) technologie Intel. Zatímco nová technologie byla široce inzerována a nejasně, jeho esence je velmi jednoduchá: MMX definoval 8 64 bitových SIMD registrů overlayed na FPU hromadě ke Intel Pentium CPUčku navrhnou. Bohužel, tyto instrukce snadno mappable ke kódu vytvořený obyčejný C kompilátoři, a Microsoft, dominantní překladačový prodavač, byl pomalý podporovat je dokonce jako intrinsics. MMX také je omezený na operace celého čísla. Tyto technické krátké comings ten MMX měl malý vliv v jeho časné existenci. Nowadays, MMX je typicky užitý na některé 2D video aplikace.
V roce 1997 AMD představil 3DNow! který byl SIMD pohyblivá čárka enchancements instrukce k MMX (targetting stejné MMX registry). Zatímco toto nevyřešilo překladačové potíže, zavedení této technologie se shodovalo se vzestupem 3D zábavy aplikace v prostoru PC. 3D video vývojáři hry, a 3D grafika prodavači hardwaru používali 3DNow! pomoci zlepšit jejich výkon na AMD je K6 a Athlon řada procesorů.
V roce 1999 Intel instroduced SSE instrukční sadu, která sčítala 8 nový 128 registrů kousku (ne overlayed s jinými registry). Tyto instrukce byly podobné AMD 3DNow! v tom oni primárně přidali pohyblivou čárku SIMD.
V roce 2001 Intel instroduced SSE-2 instrukční sada, která sčítala 1) kompletní doplněk instrukcí celých čísel (analogických s MMX) k originálu SSE se registruje a 2) 64 bitová SIMD pohyblivá čárka instrukce k originálním SSE registrům. První sčítání dělalo MMX téměř zastaralý, a sekunda dovolila instrukcím být realisticky cílený konvenčními kompilátory. 64-bit
Jak 2002, architektura x86 začala dosáhnout některé designové limity přímo k 32 bitové délce slova. Toto dělá to více obtížný se zabývat masivními informačními obchody větší než 4 GB takový jako ti nalezený v databázích.
Intel a AMD vypadá, že je naplánování různých strategií pro přechod k 64 bitovým architekturám. AMD plánuje generaci čipů známý jak x86-64 (nebo Hammer) který být slučitelný s 32 bitovým x86 hranolky. Veřejně, Intel říkal, že to opouští architekturu x86 pro radikálně odlišný Itanium hranolky. Tam být pověsti, že Intel je tajně navrhovat 64 bitový x86 čip konkurovat Hammeru měl by AMD začít zachytit podíl na trhu. Intel také má licenci pro AMD x86-64 technologie, shodovat se k jejich kříži-licenční ujednání (Intel a AMD může používat každého jiný je technologie volně), [1], [1], [1].
Výrobcové
x86 a compatibles byly vyrobené množstvím společností, včetně: