Intel 8086 (offisielt kalt iAPX 86) er en 16-bits mikroprosessor som ble utviklet av Intel og introdusert på markedet i 1978, noe som førte til fødselen av x86 arkitekturen. Å bruke en 16-bits prosessor ble for dyrt på denne tiden, så en kompatibel 8-bits versjon, Intel 8088, ble utviklet.

Intel 8086
Mikroprosessor
Produsert19781990-årene
ProdusentIntel
Klokkefrekvens4,77–10 MHz
Transistorer29 000
Databuss16 bit
Adressebuss20 bit
Prosessorsokkel40 pin DIP
Kjernex86-16
ForgjengerIntel 8080, Intel 8085
EtterfølgerIntel 80186, Intel 80286, Intel 8088

Historie rediger

Mikroprosessoren var egentlig tiltenkt som en erstatning for iAPX 432 prosjektet i et forsøk på å flytte oppmerksomheten fra andre produsenter som var på trappene med både 16 og 32-bits prosessorer. På grunn av dette ble både arkitekturen og den fysiske kretsen utviklet veldig raskt, og var basert på de tidligere 8080 og 8085 prosessorene med et lignende register sett.

Registre rediger

Intel 8086 har 14 stk 16-bit registre, hvorav 8 er generelle registre:

Beskrivelse Navn Øvre Nedre
Akkumulator AX AH AL
Baseregister BX BH BL
Telle-register CX CH CL
Dataregister
(akkumulatorutvidelse)
DX DH DL
Stakkpeker SP
Basepeker BP
Kildeindeks SI
Målindeks DI

Registrene AX, BX, CX og DX kan både brukes som 16-bit registre, og som 8-bit registre med en øvre (Høy) og nedre (Lav) halvdel. I det sistnevnte tilfellet inneholder de to 8-bit tall.

4 segmentregistre kombineres med generelle registre for å danne 20-bit adresser:

Beskrivelse Navn
Kodesegment CS
Datasegment DS
Stakksegment SS
Ekstrasegment ES

IP-registeret er en programteller som peker på den neste instruksjonen som skal utføres:

Beskrivelse Navn
Instruksjonspeker IP

Flaggregisteret inneholder 16 stk 1-bit flagg:

Beskrivelse 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Flaggregister OF DF IF TF SF ZF AF PF CF

Kontrollflagg:

  • DF (direction flag)
  • IF (interrupt flag)
  • TF (trap flag)

Statusflagg:

  • OF (overflow flag): Settes lik 1 ved aritmetisk overflyt. Dette skjer når et tall overskrider den lovlige maksimale størrelse.
  • SF (sign flag): Angir fortegnet til et tall. 0 er positive tall og 1 er negative tall.
  • ZF (zero flag): Settes når resultatet av en beregning er 0.
  • AF (auxiliary carry flag): Når dette flagget er 1, har det vært en mente fra nedre halvdel til øvre halvdel i et 16-bit register.
  • PF (paritetsflagg): Settes når resultatet av en operasjon er et like antall enere, og brukes til å kontrollere feil i dataoverføringer.
  • CF (carry flag): Settes ved mente i et 8-bit eller 16 bit resultat.

Datamaskiner med 8086 rediger