Etikett: pc-historia

  • 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

  • Intel 8086 – processorn som formade PC-världen

    En processor framtagen som en tillfällig lösning kom att lägga grunden för nästan all modern PC-teknik. När Intel 8086 lanserades i slutet av 1970-talet var den varken den snabbaste eller mest eleganta på marknaden – men genom smarta kompromisser, oväntade designval och ett avgörande genombrott i IBM PC:n blev den startpunkten för x86-arkitekturen som än i dag driver världens datorer.

    Intel 8086 – processorn som formade PC-världen

    När Intel lanserade 8086 år 1978 var det inte med ambitionen att skapa en tidlös standard. Processorn var snarare ett praktiskt steg vidare från tidigare 8-bitarskonstruktioner, framtagen under tidspress och med tydliga tekniska kompromisser. Ändå är det just denna krets som lade grunden för x86-arkitekturen – den arkitekturfamilj som fortfarande driver merparten av världens persondatorer och servrar.

    Ett steg upp till 16 bitar

    8086 var Intels första fullt 16-bitars mikroprocessor. Det innebar att den kunde hantera större tal, effektivare textbearbetning och mer avancerade program än sina föregångare som 8080 och 8085. För programmerare och systemkonstruktörer betydde det att mikrodatorer nu började närma sig de möjligheter som tidigare varit förbehållna minidatorer.

    Samtidigt ville Intel behålla kontinuitet. Instruktionsuppsättningen och programmeringsmodellen hade tydliga rötter i de äldre 8-bitarsprocessorerna, vilket gjorde det relativt enkelt att porta befintlig programvara. Det här visade sig bli en av 8086-familjens största styrkor.

    En megabyte minne – tack vare segmentering

    En av de mest omtalade egenskaperna hos 8086 är dess sätt att hantera minne. Processorn kunde adressera upp till en megabyte, vilket var enormt vid slutet av 1970-talet. Problemet var att dess register bara var 16 bitar breda, vilket normalt sett bara räcker till 64 kilobyte.

    Lösningen blev den berömda segmenteringen. I stället för en enda adress använde processorn två delar: ett segment och ett offset. Segmentet flyttades fyra bitar åt vänster och adderades med offset, vilket gav en 20-bitars fysisk adress. På så sätt kunde man nå hela minnesområdet utan att göra registren bredare.

    Tekniskt sett var detta elegant, men i praktiken blev det en källa till komplexitet. Samma minnesadress kunde beskrivas på många olika sätt, och programmerare tvingades förhålla sig till begrepp som ”near” och ”far” pekare. Segmenteringen löste ett akut hårdvaruproblem men skapade långvariga mjukvarumässiga konsekvenser.

    Två arbetsenheter i samma processor

    8086 var också ovanligt modern i sin interna uppdelning. Den bestod i praktiken av två samarbetande delar. Den ena, bussgränssnittsenheten, hämtade instruktioner från minnet och lade dem i en liten kö. Den andra, exekveringsenheten, tolkade och utförde instruktionerna.

    Detta innebar att instruktioner kunde hämtas i förväg medan tidigare instruktioner fortfarande kördes. Det var en tidig form av parallellism, långt ifrån dagens avancerade pipelines men ändå ett viktigt steg mot effektivare utnyttjande av processorns tid.

    När programkoden flöt på utan många hopp fungerade detta mycket bra. Vid täta hopp och minnesåtkomster minskade vinsten. Ändå visade konstruktionen tydligt hur framtida processorer skulle komma att byggas.

    Inte snabbast, men mest användbar

    8086 var inte den snabbaste eller mest eleganta 16-bitarsprocessorn på marknaden. Konkurrenter som Motorola 68000 hade en renare arkitektur och var enklare att programmera. Trots detta var det Intels processor som vann.

    En viktig anledning var att Intel även tog fram 8088, en variant med 8-bitars databuss. Den var långsammare men billigare att bygga system kring, eftersom den kunde använda enklare och billigare kringkretsar. Det var denna processor som valdes till den första IBM PC:n.

    När IBM hade valt 8088 följde resten av marknaden efter. Programvara, expansionskort och operativsystem anpassades till x86-familjen, och plötsligt spelade det mindre roll om arkitekturen var perfekt. Det viktiga var att allt fungerade tillsammans.

    Ett arv som fortfarande lever

    Efter 8086 följde 80286, 80386, 80486 och senare Pentium-generationerna. Varje ny processor blev kraftfullare, bredare och snabbare, men nästan alltid med bakåtkompatibilitet som ledstjärna. Instruktioner och idéer från slutet av 1970-talet finns därför fortfarande kvar i moderna processorer, ibland djupt begravda men fortfarande nödvändiga.

    Till och med dagens datorer startar i ett läge som är kompatibelt med 8086, innan de växlar över till modernare driftlägen. Det är ett tydligt tecken på hur djupt denna processor har präglat datorteknikens utveckling.

    Slutsats

    Intel 8086 var inte en perfekt konstruktion. Den var full av kompromisser, särskilt i sin minnesmodell. Men just dessa kompromisser gjorde den möjlig att bygga, sälja och använda i stor skala. I teknikhistorien är det ofta inte den elegantaste lösningen som vinner, utan den som råkar passa bäst in i sin tid.

    8086 är ett skolexempel på detta. Den var tillräckligt bra, tillräckligt flexibel och tillräckligt tidig. Resultatet blev en arkitektur som, nästan ett halvt sekel senare, fortfarande formar hur datorer fungerar.

    Innehåll ifrån youtube om 8086 och 8088

    Teknisk faktaruta: Intel 8086

    Lanserad
    8 juni 1978
    Ordlängd
    16 bitar
    Adressbuss
    20 bitar (upp till 1 MiB adressrymd)
    Databuss
    16 bitar (extern, multiplexad med adresslinjer)
    Klockfrekvens
    Typiskt 5–10 MHz (beroende på variant)
    Register
    8 st 16-bitars huvudregister (AX, BX, CX, DX, SI, DI, BP, SP) + IP, flaggor och 4 segmentregister (CS, DS, SS, ES)
    Minnesmodell
    Segment:offset (fysisk adress = 16×segment + offset)
    Instruktionshämtning
    6-byte förhämtningskö (BIU/EU-separation för överlappad fetch/execute)
    Avbrott
    256 vektorer, vektortabell vid 0x0000–0x03FF
    I/O
    Separat I/O-adressrymd: 64 KiB portar
    Förpackning
    40-pin DIP (DIP40)
    Transistorer
    ≈29 277
    Varianter
    8088 (8-bitars extern databuss), 80C86 (CMOS)
    Typiska stödchips
    8237 (DMA), 8253/8254 (timer), 8255 (PIO), 8259 (PIC), 8284 (klockgenerator), 8288 (bus controller)

    Annons

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

  • Intel 80286 – processorn som tog PC:n in i framtiden

    Intel 80286 var en av de där komponenterna som sällan får hjälterollen i datorhistorien, men som ändå förändrade allt i bakgrunden. Den dök upp i en tid när PC:n höll på att växa ur rollen som enkel kontorsmaskin och tog de första stegen mot att bli ett seriöst fleranvändar- och multitaskingsystem. Med stöd för mer minne, hårdvarubaserat skydd och nya arbetssätt lade 286:an grunden för den moderna PC-arkitekturen, även om samtiden inte fullt ut var redo att ta vara på dess möjligheter.

    Intel 80286

    I början av 1980-talet stod persondatorn inför ett vägskäl. Den första generationens PC hade visat att datorer kunde bli folkliga, men de var fortfarande enkla maskiner med tydliga begränsningar. Lösningen hette Intel 80286, ofta kallad 286: en processor som i tysthet lade grunden för hur moderna datorer fungerar.

    Ett stort steg efter 8086

    När Intel lanserade 80286 år 1982 var den en uppföljare till 8086/8088 – processorerna som drivit de första IBM-PC:erna. På ytan såg 286:an ut som ett evolutionärt steg: fortfarande 16-bitars och i hög grad kompatibel med äldre program.

    Den stora skillnaden var adressrymden. 80286 kunde adressera 16 megabyte minne, jämfört med 8086:ans 1 megabyte. I dag låter det litet, men då var det ett enormt kliv som öppnade för mer avancerade system och större program.

    Skyddat läge – en ny idé

    80286 var den första x86-processorn som fick ett så kallat skyddat läge, protected mode. Det innebar att processorn kunde hålla isär program så att de inte skrev över varandras minne, ge olika rättigheter till olika program och stödja multitasking på riktigt.

    Problemet var att PC-världen inte var redo. De flesta DOS-program var skrivna för ett fritt och oreglerat minneslandskap och fungerade dåligt i skyddat läge. Dessutom var 80286 konstruerad så att den inte enkelt kunde växla tillbaka till real mode utan en hårdvaruåterställning, vilket gjorde utvecklare frustrerade.

    PC/AT – standardmaskinen

    Det stora genombrottet kom 1984 när IBM använde 80286 i IBM PC/AT. Den maskinen blev snabbt en industristandard och startskottet för en våg av AT-kompatibla datorer.

    Under andra halvan av 1980-talet byggdes mängder av datorer med 286-processorer, ofta klockade mellan 6 och 12 MHz, och senare upp till 20–25 MHz från tillverkare som AMD och Harris. Tack vare förbättrad intern design kunde 286:an göra betydligt mer arbete per klockcykel än 8086, och i många program upplevdes den som ungefär dubbelt så snabb vid samma klockfrekvens.

    Ett missförstått mellansteg

    Trots sina tekniska framsteg hamnade 80286 i en märklig historisk position. Den var för avancerad för det gamla DOS-tänket, men samtidigt inte flexibel nog för att bli den perfekta bryggan till framtiden.

    När Intel 80386 kom, med 32-bitars arkitektur och ett virtuellt 8086-läge som gjorde äldre program enklare att köra, blev det tydligt hur mycket PC-marknaden längtat efter just den sortens smidighet. Till och med Bill Gates kritiserade 286:ans begränsningar kring kompatibilitet och multitasking, vilket säger en del om hur hårt den tidens mjukvaruvärld pressade hårdvaran.

    Arvet efter 80286

    Även om 80286 i dag är bortglömd av de flesta var den avgörande för PC-utvecklingen. Den introducerade minnesskydd, hårdvarustöd för multitasking och idén att en PC kunde vara mer än en enkel “ett-program-i-taget”-maskin.

    Intel 80286 var inte slutmålet, men den blev bron som gjorde nästa stora steg möjligt.

    Innehåll på youtube om Intel 80286

    Annons

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