Intel 8086

Intel 8086 Beskrivelse af dette billede, kommenteres også nedenfor En version i keramisk kuffert C8086. Generelle oplysninger
Produktion Fra 1978 til 1990'erne
Maker Intel
Forestillinger
Frekvens 4,77  MHz  til 10  MHz
Fysiske specifikationer
Boliger 40-polet keramik- eller plastdyp
Gravering finhed µm
Den header parameter er påkrævet.Arkitektur og klassificering
Arkitektur x86

Den Intel 8086 (også kendt som iAPX 86 ) er en 16- bit CISC mikroprocessor fremstillet af Intel starter i 1978 . Det er den første processor i x86- familien , der er blevet den mest populære processorarkitektur i verden af personlige computere , arbejdsstationer og computerservere på grund af IBMs valg om at bruge den som basis for den. ' IBM PC frigav et par år senere. Dens hovedkonkurrent var Motorola 68000, der blev udgivet i 1979 og især anvendt i Apple Macintosh .

Det blev lanceret i maj 1978 til en pris på 360 dollars .

Efterfølgeren til 8080 , en 8-bit processor, den vedtager en totalt 16-bit arkitektur: registrene, databussen og beregningerne udføres i 16 bit. Dens adressebus er 20 bit, hvilket gør det muligt at adressere 1 MB hukommelsesplads. Til sammenligning vil 68000 være en 16/32-bit hybridløsning et år senere ved hjælp af 32-bit-registre, en 24-bit adressebus og en 16-bit ALU og databus.

Den indeholder 29.000 transistorer, der er ætset i 3 µm . Dens computerkraft spænder fra 0,33 MIPS (når den er uret ved 4,77  MHz som i IBM PC ) til 0,75 MIPS til 10 MHz- versionen  .

I stand til at udføre de 4 grundlæggende operationer på heltal (ADD, SUB, MUL, DIV), kan den også udvides ved sammenkobling med en Intel 8087- coprocessor, som tilføjer behandlingsfunktioner med flydende nummer.

Historie

Projekt 8086 startede i Maj 1976. Det blev oprindeligt tænkt som en midlertidig erstatning for iAPX 432 , et meget ambitiøst projekt, som endnu ikke var afsluttet, og som et par år senere vil være en kommerciel fiasko. Intel håbede således at udkonkurrere konkurrenceprocessorer (inklusive Motorola , Zilog og MOS-teknologi ) mens de imødegik truslen fra Z80 , designet af en tidligere Intel-medarbejder, der arbejdede på 8080.

Arkitekturen på chippen blev hurtigt udviklet af en lille gruppe mennesker ved hjælp af de samme fremstillingsteknikker som til Intel 8085 for at sikre kompatibilitet.

Tilladelse af brugen af ​​det samme monteringssprog som for 8008, 8080 og 8085 blev 8086 således præsenteret som perfekt kompatibel, hvilket kræver ringe eller ingen ændringer af kildekoden til programmerne. Det tilbyder dog fuld 16-bit support i modsætning til 8080 og 8085, som kun havde meget grundlæggende 16-bit kapaciteter.

Stadig med det formål at lette vedtagelsen, vil fabrikanten i 1979 afvise en version med navnet 8088, hvis eksterne busser er reduceret til 8 bit (data) og 16 bit (adresse) for at gøre det mere kompatibelt med 8-bit bundkort designet til l ' Intel 8080 . Denne tilgang vil også eksistere for dens efterfølgere såsom 80186 (80188).

Anekdote

I 2002 blev NASA tvunget til at købe 8086 processorer på eBay på grund af forældelsen af ​​dets valideringssystemer, fordi de ikke var blevet produceret af Intel siden 90'erne.

I 2018 lancerede Intel en processor i begrænset udgave, Intel Core i7 - 8086K , for at fejre 40 år af Intel 8086.

Emballage

Der findes flere versioner af 8086 med forskellige boksetyper og flere maksimale frekvenser understøttet.

Husene kan være keramiske eller plastiske. 8086-suffikset angiver den maksimale frekvens: 5  MHz for 8086, 8  MHz for 8086-2 og 10  MHz for 8086-1.

Varianter

I 1979 lancerede Intel en variant af denne processor, men med en ekstern databus på kun 8 bit var det Intel 8088 . Det var denne billigere version, der blev valgt af IBM til at oprette den første IBM PC .

Arkitektur

Hovedtræk

Adressering af hukommelse

Processoren har en 20-bit adressebus, mens dens arkitektur er baseret på en 16-bit ALU. For at overvinde denne begrænsning bruger processoren en hukommelsessegmenteringsmekanisme: en-byte-adressen opnås ved kombinationen af ​​to 16-bit-registre via en additionsoperation, der producerer et 20-bit-resultat.

Konkret afgrænser et såkaldt segmentregister en 64 KB-hukommelsesblok, hvis startadresse er lig med værdi_af_register x 0x10 (derfor en venstre forskydning på 4 bit: værdien 0x1234 angiver derfor den reelle adresse 0x12340). Til denne værdi, der kommer fra segmentregistret, tilføjes en værdi kaldet offset, som enten kommer fra et andet mere generelt register eller fra en direkte værdi af programmet.

Adressen på en byte bestemmes derfor som følger: fysisk_adresse = segment_register_værdi x 0x10 + offset.

Segmentet identificeres altid af et af de 4 ALU-segmentregistre: CS, DS, SS eller ES.

Efter konvention bemærkes segmenterede adresser som følger: XX: YY eller XX er navnet på det anvendte segmentregister (eller undertiden en direkte værdi) og YY navnet på det register, der indeholder forskydningen (eller igen en direkte værdi).

F.eks. Er CS: IP en adresse dannet af en kombination af Code Segment register (CS) og Instruktion Pointer register (IP).

Registrerer

I modsætning til 68000, hvis meget ortogonale arkitektur gør det muligt at betragte de fleste af registre som ækvivalente, har registrene i 8086 enten en dedikeret funktion eller specifikke egenskaber, hvilket resulterer i operationer, der kun gælder for dem. Det er derfor vigtigt at have en god forståelse af kapaciteterne i hvert register og, at opbygge en effektiv kode, for at fremme den optimale anvendelse af disse.

Afbrydelser

Processoren har i alt 256 afbrydelser, nogle er relateret til hardware, andre kan bruges af software. Afbrydelsestabellen er en hukommelsesblok på 1024 byte, der starter ved den fysiske adresse 0x00000 og omfatter 256 markører i form Segment: Offset (derfor 4 bytes hver). Afbrydelsesvektortabellen strækker sig derfor til adressen 0x003FF. Hver markør angiver adressen på den tilknyttede afbryderhåndterer. Så den første markør svarer til afbrydelse 0 osv.

Når en afbrydelse af nummer X hæves, indlæser processoren markøren til stede ved hukommelsesadressen X * 4 i CS: IP-registre efter at have gemt deres indhold på stakken.

Afbrydelsens nummer afhænger af dets oprindelse:

Da den samme logik til beregning af lederens adresse bruges til hver type afbrydelse, er der ingen reel skelnen mellem hardware, ikke-maskerbar eller softwareafbrydelse. Det tilrådes derfor at undgå overlapninger i tildelingen af ​​numre.

De første 5 afbrydelser er reserveret og produceret af selve processoren, enten direkte eller i forbindelse med de perifere komponenter:

Af denne grund kan hardware- eller softwareafbrydelser 0 til 4 ikke bruges, og mere bredt afbryder specifikationsreserverne 5 til 31 til hardwarebrug.

Alle andre afbrydelser ud over 32 er gratis at bruge og kan især udløses af en INT x-instruktion.

Input / output porte

I / O-porte har deres eget adresseområde, der dækker i alt 64 KB.Portene spænder fra 0x0000 til 0xFFFF og håndteres af specifikke instruktioner:

Noter og referencer

  1. (i) S. Mazor, "  Intel 8086 s  " , IEEE Annals of History of Computing , bd.  32, nr .  1,Januar-marts 2010, s.  75-79 ( DOI  10.1109 / MAHC.2010.22 , læs online )
  2. William J. Broad, "  NASA kontrollerer EBay for forældede dele  " , New York Times ,12. maj 2002
  3. Intel, “  Tillykke med fødselsdagen, 8086: 8. generations Intel Core i7-8086K i begrænset udgave leverer den bedste spiloplevelse  ” , Intel Newsroom,5. juni 2018
  4. 8086 16-BIT HMOS MICROPROCESSOR 8086 / 8086-2 / 8086-1 (officielle tekniske data fra Intel)