Intel 8087 – chippet som lärde PC:n att räkna på riktigt

När persondatorn slog igenom i början av 1980-talet var den förvånansvärt dålig på matematik. Heltalsberäkningar gick bra, men så fort man behövde arbeta med decimaltal, trigonometriska funktioner eller avancerade vetenskapliga beräkningar blev allt långsamt. Lösningen fick ett eget chip: Intel 8087, världens första flyttalsprocessor för x86-plattformen.

Detta tillägg förvandlade PC:n från en ren kontorsmaskin till ett verktyg som kunde användas för tekniska, vetenskapliga och ingenjörsmässiga beräkningar.

Varför behövdes en separat matematikprocessor?

De tidiga x86-processorerna, som Intel 8086 och Intel 8088, saknade hårdvarustöd för flyttalsaritmetik. Alla beräkningar med decimaltal fick därför utföras i mjukvara, vilket ofta var hundratals gånger långsammare än motsvarande hårdvara.

8087 konstruerades som en koprocessor som arbetade parallellt med huvudprocessorn. Den tog hand om flyttalsoperationer som addition, multiplikation, division, kvadratrötter samt mer avancerade funktioner som logaritmer och trigonometri. I många program ökade prestandan dramatiskt, i vissa fall med flera hundra procent.

Hur samarbetade 8087 med huvudprocessorn?

Samarbetet mellan 8087 och huvudprocessorn var ovanligt elegant för sin tid. När huvudprocessorn stötte på en särskild instruktion markerad som ett så kallat escape-opcode ignorerade den själv operationen. I stället snappade 8087 upp instruktionen direkt från databussen och utförde beräkningen.

Under tiden kunde huvudprocessorn fortsätta exekvera annan kod. Det innebar att systemet faktiskt kunde arbeta parallellt: heltalsberäkningar i CPU:n och flyttalsberäkningar i koprocessorn samtidigt. För att undvika att 8087 fick nya instruktioner innan den var klar användes ibland WAIT-instruktionen, men trots detta var vinsten i beräkningshastighet betydande.

Stackarkitekturen som förbryllade programmerare

Till skillnad från vanliga x86-register använde 8087 inte ett direkt adresserbart registerset. I stället arbetade den med en stack av åtta flyttalsregister, numrerade från st0 till st7. Instruktionerna placerade värden på stacken, utförde beräkningar och tog bort resultat igen.

Denna modell gjorde instruktionerna kraftfulla och kompakta, men den krävde noggrann hantering. Felaktig användning kunde leda till stacköver- eller underflöden, något som både programmerare och kompilatorer fick lära sig att hantera. Stackmodellen kom senare att leva vidare i hela x87-familjen.

Grunden till IEEE:s flyttalsstandard

Under utvecklingen av 8087 lade Intel stor vikt vid numerisk korrekthet. Avrundning, representation av mycket stora och mycket små tal samt förutsägbara resultat var centrala mål. Detta arbete blev en viktig grund för den internationella standarden IEEE 754, som än i dag definierar hur flyttal fungerar i de flesta datorer.

8087 introducerade även ett internt 80-bitars flyttalsformat med extra precision. Detta format används fortfarande internt i x87-enheter för att minska avrundningsfel vid långa och komplexa beräkningar.

Ett genombrott för PC-plattformen

När IBM inkluderade en särskild koprocessorsockel på IBM PC:s moderkort ökade intresset för 8087 kraftigt. Program för CAD, teknisk simulering och vetenskapliga beräkningar kunde nu köras på en vanlig PC i stället för på dyra minidatorer.

Detta bidrog starkt till att etablera persondatorn som ett seriöst arbetsverktyg även inom tekniska och akademiska miljöer.

Från separat chip till integrerad funktion

Efter 8087 följde 80287 och 80387, men med Intel 80486DX integrerades flyttalsenheten direkt i huvudprocessorn. Därmed försvann behovet av separata matematikprocessorer.

Trots detta lever arvet kvar. Många av de principer, instruktioner och format som introducerades med 8087 finns fortfarande kvar i moderna system, om än ofta dolda bakom mer avancerade exekveringsenheter.

Slutsats

Intel 8087 var ett specialiserat och relativt dyrt chip, men dess betydelse kan knappast överskattas. Den gjorde avancerad matematik praktiskt möjlig på persondatorer, lade grunden för internationella standarder och förändrade hur PC-plattformen användes.

Det var chippet som gav persondatorn förmågan att räkna på riktigt.

Youtube innehåll om Intel 8087

Teknisk faktaruta: Intel 8087

Typ
Flyttalskoprocessor (FPU) för 8086/8088
Introducerad
1980
Klockfrekvens
Ca 4–10 MHz (beroende på variant)
Arkitektur
x87 (tillägg till x86-16)
Register
8 nivåer djup flyttalsstack (st0–st7), intern 80-bitars precision
Dataformat
32-bit (single), 64-bit (double), 80-bit (extended) samt BCD- och heltalsformat
Instruktioner
Flyttalsinstruktioner (ofta med F-prefix, t.ex. FADD, FMUL); kodas via ESC/”11011”-mönster
Samarbete med CPU
Parallell exekvering: 8087 övervakar buss/instruktionsflöde och arbetar samtidigt som 8086/8088
Synkronisering
Program kan behöva vänta in coprocessorn med WAIT/FWAIT
Antal transistorer
Uppges ofta till runt 65 000 (källor varierar)
Tillverkningsteknik
HMOS, ungefär 4,5 µm (senare krympt till cirka 3 µm)
Kapsel
40-pin DIP (vanligtvis keramisk för bättre värmeavledning)
Efterföljare
80287 (senare integrerad FPU från och med 80486DX)

Annons

Strul med e-posten? Hjälp med TV? Problem med wifi?
Digital Fixare

Annons

Hjälp att byta dator? Trasig dator? Speldator som strular? Problem med wifi?
Datorhjälp

5G 8-bit 8-bitarsdator 1970-tal 1970-talet 1980-tal 1980-talet 1980-talets datorer 1984 1990-tal 2025 Amiga Apple arkadspel Atari Atari ST BASIC Bluetooth 2.0 budgettelefon Bärbar dator Commodore Commodore 64 CP/M CRT-skärm datorhistoria datorteknik datorterminal dual SIM elektronik Ericsson feature phone fickdator flaggskepp FM-radio GSM hemdator hemdatorer hemelektronik inbyggda system infraröd port joystick kassettband klassiker klassiska datorer klassisk dator klassisk hårdvara kontorsdator LED-display Linux Mikrodatorer mikroprocessor minidator mobilhistoria mobilkamera mobiltelefon monokrom skärm MOS 6502 Motorola 68000 ms-dos Nokia PDA pekskärm portabel dator programmering QWERTY tangentbord retro Retro-datorer retro-teknik retrocomputer Retrocomputing retro computing retrodata retrodator retro dator retrodatorteknik retro mobil retrospel röststyrning samlarobjekt Samsung smartphone Sony Ericsson spelhistoria Symbian teknik teknikhistoria tekniknostalgi Texas Instruments tidiga persondatorer USB-C vintage computer vintage computing vintage dator WAP Wi-Fi z80 Zilog Z80 ZX Spectrum

Fler inlägg

Nördleksaker då och nu