X86-arkitektur

x86-arkitekturen er en instruksjonssettarkitektur som ble introdusert i 8086-prosessoren fra Intel i 1978. Den har siden blitt benyttet i en mengde andre mikroprosessorer, og denne arkitekturen brukes fortsatt i de fleste PC-er. Navnet kommer av at hovedprosessoren i hver av de første prosessorgenerasjonene hadde navn som sluttet på 86. Arkitekturen har vært i stadig utvikling siden starten, noe som leder til mange undervarianter. IA-32/x86-32 er en videreutvikling av x86-arkitekturen, og x86-64 en videreutvikling av x86-32. Begge er bortimot fullt ut bakoverkompatible med den opprinnelige x86-arkitekturen.

Suksessen til denne arkitekturen kom egentlig ikke av dens oppbygning. Arkitekturen presterte ikke noe bedre enn andre typer, og Intel hadde planer om å lansere en nyere prosessor med ny arkitektur tidlig på 80-tallet. IBMs suksess med PC-en, som brukte en 8088-prosessor, gjorde det mest lønnsomt å fortsette med x86-arkitekturen. De kansellerte fremtidsplanene, og fortsatte med å videreutvikle arkitekturen. Dette har ført til både positive og negative sider om den. Den største ulempen er kanskje at arkitekturen har mye gammel tankegang helt tilbake fra 70-tallet, men fordelen er at programmer for x86-prosessorer kan kjøres på utrolig mange PC-er fra 80-tallet og frem til i dag.

x86-prosessorer produseres av Intel og AMD. Også NEC, Harris, Cyrix (senere VIA), IBM m.fl. har produsert X86-prosessorer.

Arkitekturen
x86 er en CISC-arkitektur, noe som gjenspeiles i at instuksjonssettet inneholder mange og til dels kompliserte instruksjoner. Den opprinnelige x86-arkitekturen hadde en standard ordlengde på 16 biter, men dette ble økt til 32 biter i IA-32 og 64 biter i x86-64. Lenge hadde arkitekturen relativt få prosessorregistre, men dette endret seg med tiden, spesielt med introduksjonen av x86-64-arkitekturen.

Som de fleste datamaskinarkitekturer benytter x86-arkitekturen toerkomplement for å representere negative heltall. Dette gjør at man for addisjon og subtraksjon kan bruke de samme instruksjonene for å regne på tallverdier som kan være negative og tallverdier som kun er positive, siden logikken er den samme.

En underarkitektur av x86-arkitekturen er x87. De første x86-prosessorene støttet bare heltallsoperasjoner, så hvis man hadde behov for å regne med flyttall måtte man enten gjøre det i programvaren eller koble til en x87-prosessor. Navnet gjenspeiler som for x86 det faktum at disse prosessorene hadde navn som sluttet på 87. Med Intel 80486 prosessoren begynte man å inkludere FPUen i x86-prosessorene. Etter at SSE ble introdusert har man faset ut x87-instruksjonene som hovedmåten å utføre flyttallsoperasjoner på, men de forblir tilgjengelig av hensyn til bakoverkompatibiliteten. x86/x87 følger hovedsakelig IEEE 754-standarden. Flyttall kan representeres i enkel presisjon (32 bit), dobbel presesjon (64 bit) eller i det interne 80-bit formatet (kun x87-operasjoner).

Støtte for SIMD ble introdusert av Intel med MMX i 1997, noe som hjelper med multimedia-operasjoner og andre tunge kalkulasjoner, og har siden blitt utvidet av AMDs midlertidige 3DNow! og Intels SSE og AVX.

Intels prosessorer

Forgjengere til x86-serien (4-bit og 8-bit)
 Navn  Lansert  Register-bredde  Data-buss  Adresse-buss  MaksimalRAM  Merknad 4004  1971  4  4  10  1 Kb  Første mikroprosessor på en brikke 4040  1974  4  4  13  8 Kb   8008  1972  8  8  14  16 Kb  Første 8-bit mikroprosessor  8080  1974  8  8  16  64 Kb  Første mikroprosessor til generelt bruk på en brikke 8085  1977  8  8  16  64 Kb  Annen produsent Zilog Z80  1976  8  8  16  64 Kb  Forbedret utgave av 8080 / 8085

 x86-serien (16-bit) 
 Navn  Lansert  Register-bredde  Data-buss  Adresse-buss  MaksimalRAM  Merknad 8086  1978  16  16  20  1 Mb  Første 16-bit mikroprosessor på en brikke 8088  1979  16  8  20  1 Mb  Mikroprosessoren brukt i IBM PC 80186  1982  16  16  20  1 Mb  8086 med input/output støtte på en brikke 80188  1982  16  8  20  1 Mb  8088 med input/output støtte på en brikke 80286  1982  16  16  24  16 Mb  Første mikroprosessor med integrert MMUAndre produsenter AMD 8086  1979  16  16  20  1 Mb  Harris 8086    16  16  20  1 Mb  OKI 8086    16  16  20  1 Mb  MHS 8086    16  16  20  1 Mb  NEC 8086    16  16  20  1 Mb  Siemens 8086    16  16  20  1 Mb  Mitsubishi 8086    16  16  20  1 Mb  Fujitsu 8086    16  16  20  1 Mb  USSR 8086    16  16  20  1 Mb  Klone av 8086 produsert i Sovjetunionen AMD 8088  1979  16  16  20  1 Mb 

 x86-serien (32-bit) 
 Navn  Lansert  Register-bredde  Data-buss  Adresse-buss  MaksimalRAM  Merknad 80386  1985  32  32  32  4 Gb  Første 32-bit x86-prosessor 80386 SX  1988  32  16  32  4 Gb  80386 med 16-bit databuss 80486  1989  32  32  32  4 Gb  Integrert flyttallsenhet+ 8 Kb nivå 1 Cache for dataog instruksjoner 80486 SX  1991  32  32  32  4 Gb  80486 uten flyttallsenhet 80486 DX2  1992  32  32  32  4 Gb  80486 med klokkedobling 80486 DX4  1992  32  32  32  4 Gb  80486 med 3 x klokkefrekvens Pentium  1993  32  32  32  4 Gb  Hyperskalær prosessor: 2 heltallsenheter og 1 flyttallsenhet + 8 Kb nivå-1Cache for data og 8 Kb Nivå-1 Cache for instruksjoner Pentium MMX  1995  32  32  32  4 Gb  Ekstra multimediaenhet (MMX)+ 16 Kb nivå-1 Cache for data og16 Kb Nivå-1 Cache for instruksjoner Pentium Pro  1995  32  32  36  36 Gb  Hyperskaler prosessor (3 instruksjoner samtidig), RISC-kjerne, register renaming, 40 nye generelle registre, out-of-orderexecution, spekulativ utførelse,ikke-blokkerende Nivå-2 Cache-RAM Pentium II  1997  32  32  36  36 Gb  Pentium Pro med innebygd MMX Pentium III  1997  32  32  36  36 Gb  Pentium II med forbedret MMX +innebygd støtte for AMDs SSE Pentium 4  2000  32  32  36  36 Gb  Ytterligere forbedret MMX og SSE +SSE2 og SSE3

Andre produsenter av x86-prosessorer
 AMD
 Cyrix
 Zhaoxin


Kategori:IT-relaterte introduksjoner i 1978