Etikett: processorer

  • När RISC skulle ta över datorvärlden

    På 1980-talet rasade ett tekniskt kapplöpning i datorvärlden. Nya RISC-processorer lovade högre hastighet, enklare konstruktion och bättre framtidsmöjligheter än de etablerade CISC-processorerna bakom PC-revolutionen. Företag som Sun, IBM, HP, DEC och MIPS satsade stort på att forma nästa generations datorer – men till slut blev det inte bara den snabbaste tekniken som avgjorde striden, utan också programvara, kompatibilitet och marknadskraft.

    Under 1980-talet pågick ett av datorhistoriens mest intressanta teknikskiften. I ena ringhörnan stod de etablerade processorerna, framför allt Intels x86-familj, som redan drev den snabbt växande PC-marknaden. I den andra ringhörnan fanns en ny idé: RISC – processorer byggda på färre, enklare och snabbare instruktioner.

    Det här blev början på det som ibland kallas RISC-krigen. Men i praktiken handlade det mindre om ett krig och mer om ett kapplopp: kunde de nya, renodlade RISC-processorerna bli så mycket snabbare att kunderna var beredda att lämna den stora programvaruvärlden kring PC och x86?

    Idén bakom RISC

    RISC står för Reduced Instruction Set Computer. Grundtanken var enkel: i stället för att bygga processorer med många komplicerade instruktioner skulle man använda färre och enklare instruktioner som kunde köras mycket snabbt.

    Det var en reaktion mot äldre CISC-processorer, som exempelvis Motorolas 68000-serie och Intels x86. CISC stod för Complex Instruction Set Computer och byggde på tanken att processorn själv skulle kunna utföra mer avancerade instruktioner direkt i hårdvaran.

    RISC-förespråkarna menade att det var bättre att låta programvaran och kompilatorn göra mer av jobbet, medan processorn hölls enkel, snabb och effektiv. När halvledartekniken utvecklades och fler transistorer fick plats på samma chip blev det möjligt att bygga helt nya arkitekturer från grunden.

    HP, IBM och den första vågen

    Hewlett-Packard var tidigt ute. Företaget började utveckla sin nya processorarkitektur i början av 1980-talet. Resultatet blev High-Precision Architecture, senare mer känt som PA-RISC. HP såg inte bara detta som ännu en processor, utan som ett tillfälle att tänka om hela datorarkitekturen från grunden.

    IBM ville också vara med. Företaget tog fram IBM RT PC, en dator som kombinerade UNIX med en RISC-processor. Men projektet blev försenat, och när maskinen kom 1986 var den varken billigare eller snabbare än konkurrenterna. Den blev ingen större framgång, även om tekniken levde vidare i IBM:s UNIX-system AIX.

    Arbetsstationernas guldålder

    För att förstå RISC måste man förstå arbetsstationerna. Det här var inte vanliga hemdatorer eller kontors-PC. Arbetsstationer användes på universitet, forskningslabb, ingenjörsfirmor och inom tekniska branscher.

    De körde ofta UNIX, hade kraftfull grafik och kostade enorma summor. Priser på 100 000 till 250 000 dollar förekom. De användes till sådant som beräkningar, visualiseringar, teknisk design och avancerad grafik.

    Det var här RISC slog igenom först. Den som kunde leverera mer beräkningskraft per krona hade en chans att vinna stora kunder.

    Sun och SPARC

    Ett av de viktigaste företagen i utvecklingen var Sun Microsystems. Sun hade redan blivit känt för sina UNIX-arbetsstationer. Deras första maskiner använde Motorolas 68000-processor, men företagets tekniska ledning började tvivla på att CISC-processorer skulle kunna utvecklas snabbt nog.

    I stället tog Sun fram en egen RISC-arkitektur: SPARC. Namnet stod först för Sun’s Processor Architecture for RISC Computers, men ändrades senare till Scalable Processor Architecture.

    När Sun presenterade sina Sun-4-arbetsstationer med SPARC 1987 blev det tydligt att RISC inte längre bara var en akademisk idé. Sun hävdade att den nya maskinen var 2,5 gånger snabbare än föregångaren och kunde nå 10 miljoner instruktioner per sekund, alltså 10 MIPS.

    Det var imponerande, särskilt eftersom priset var långt lägre än för många äldre minidatorer. RISC började framstå som framtiden.

    Öppenhet – men på 1980-talets villkor

    Sun försökte också göra SPARC till en slags öppen standard. Andra företag kunde licensiera tekniken och bygga egna SPARC-processorer. Det var samma strategi som Sun tidigare hade använt med nätverksfilsystemet NFS, som blev mycket spritt.

    Företag som AT&T, Fujitsu, Cypress Semiconductor och LSI Logic anslöt sig. Men alla var inte bekväma med att licensiera teknik från Sun, som samtidigt var en aggressiv konkurrent. Därför växte flera alternativa RISC-läger fram.

    MIPS blir en stjärna

    Ett av de viktigaste alternativen var MIPS. Företaget MIPS Computer släppte sin första processor, R2000, 1986. Men det var efterföljaren R3000, lanserad 1988, som verkligen gjorde avtryck.

    R3000 kunde enligt MIPS nå omkring 20 MIPS med endast 115 000 transistorer. Som jämförelse låg Intel 386 långt efter i rå instruktionshastighet och behövde fler transistorer. Det gjorde MIPS attraktivt för arbetsstationer och tekniska system.

    Flera stora företag licensierade eller använde MIPS-tekniken, bland annat NEC, Sony och Siemens. Digital Equipment Corporation, DEC, valde också MIPS till sina nya UNIX-arbetsstationer.

    DEC och drömmen om en Sun-dödare

    DEC var en gång en av datorvärldens verkliga jättar, känd för sina PDP- och VAX-datorer. Men i slutet av 1980-talet började företagets traditionella minidatorer tappa mark. Arbetsstationer från Sun och andra aktörer tog över allt mer av marknaden.

    DEC behövde svara snabbt. Efter att ha testat MIPS-system lyckades ett team porta företagets UNIX-variant Ultrix på bara några veckor. Det visade att DEC inte behövde lägga flera år på att ta fram en helt egen lösning.

    Resultatet blev DECStation 3100, som internt kallades en ”Sun-Killer”. Maskinen blev tekniskt imponerande, men den stora utmaningen var programvaran. Utan ett starkt ekosystem av applikationer räckte inte snabb hårdvara hela vägen.

    IBM kommer tillbaka med RS/6000

    IBM:s första försök med RT PC hade misslyckats, men företaget gav inte upp. År 1990 lanserade IBM RISC System/6000, eller RS/6000.

    Den byggde på en ny och kraftfull idé: superskalär exekvering.

    En vanlig processor kan liknas vid ett löpande band där instruktioner behandlas steg för steg. Med pipelining kan flera instruktioner vara på olika steg samtidigt. Superskalär teknik går längre: processorn kan starta och köra flera instruktioner parallellt inom samma kärna.

    Man kan jämföra det med ett kafé. Om det bara finns en kaffemaskin måste varje beställning göras i tur och ordning. Men med flera maskiner, flera stationer och en skicklig barista kan flera drycker tillagas samtidigt. På samma sätt kan en superskalär processor skicka olika instruktioner till olika beräkningsenheter samtidigt.

    RS/6000 blev ett starkt tekniskt svar från IBM. Plötsligt skrattade ingen längre åt IBM:s RISC-satsning.

    DEC Alpha – superchippet som kom för sent

    DEC insåg till slut att VAX-arkitekturen inte hade framtiden för sig. Företaget började därför utveckla en helt ny processor: Alpha.

    Alpha presenterades 1992 och var en av de första riktigt uppmärksammade 64-bitarsarkitekturerna på marknaden. Den kördes i mycket hög klockfrekvens för sin tid och utlovade enorm prestanda.

    Men tekniken kom samtidigt som DEC hade stora ekonomiska problem. Företaget förlorade pengar, minidatormarknaden krympte och ledningen var pressad. Alpha var tekniskt imponerande, men den kunde inte ensam rädda DEC.

    Intel väljer en annan väg

    Samtidigt stod Intel inför ett strategiskt dilemma. RISC-processorerna blev allt snabbare, särskilt i arbetsstationer. Skulle Intel överge x86 och bygga något helt nytt?

    Svaret blev nej.

    Intel hade något som RISC-tillverkarna saknade: ett enormt programvaruekosystem. MS-DOS, Windows och mängder av applikationer var byggda för x86. Bakåtkompatibilitet var en enorm fördel.

    När Intel lanserade Pentium 1993 var den fortfarande en x86-processor, men den hade börjat låna idéer från RISC-världen. Pentium använde superskalär teknik för att kunna utföra mer än en instruktion åt gången.

    Med Pentium Pro 1995 gick Intel ännu längre. Processorn översatte komplexa x86-instruktioner till enklare interna mikroinstruktioner, så kallade micro-ops. På insidan började x86 alltså allt mer likna RISC, samtidigt som den fortfarande kunde köra gamla program.

    Det blev Intels stora kompromiss: behåll kompatibiliteten, men gör insidan modernare.

    När RISC förlorade sin enkelhet

    En av de ironiska vändningarna i historien är att RISC med tiden blev mer komplicerat. För att fortsätta öka prestandan började även RISC-processorer använda superskalär teknik, avancerad styrlogik och mer komplex instruktionshantering.

    Därmed försvann en del av den ursprungliga enkelheten. Om både RISC och CISC ändå blev komplicerade på insidan, började kunderna fråga sig något annat: vilken plattform har bäst programvara?

    Där hade x86 ett enormt övertag.

    Vinnaren blev inte den renaste tekniken

    I efterhand kan RISC-krigen ses som en kamp mellan teknisk elegans och ekosystem. RISC var ofta snabbare, renare och mer imponerande på pappret. Men x86 hade kompatibiliteten, PC-marknaden och pengarna.

    Intel behövde inte alltid vara snabbast. De behövde bara vara tillräckligt snabba för att kunderna inte skulle överge x86.

    Med Moores lag i ryggen, där antalet transistorer ökade kraftigt över tid, kunde Intel gradvis minska nackdelarna med bakåtkompatibilitet. Det som tidigare kostade mycket i transistorer blev med tiden en mindre del av hela processorn.

    Arvet efter RISC-krigen

    Många av 1980- och 1990-talens stora RISC-arkitekturer försvann eller hamnade i nischer. MIPS levde vidare i inbyggda system och spelkonsoler. PA-RISC och Alpha försvann så småningom från den breda marknaden. SPARC överlevde länge i servrar och arbetsstationer, men tappade också mark.

    IBM:s POWER-arkitektur däremot levde vidare och användes bland annat i superdatorer. Den låg också till grund för PowerPC, som utvecklades i samarbetet mellan Apple, IBM och Motorola.

    Och RISC-idén dog aldrig. Den återkom med enorm kraft i en annan värld: mobiltelefoner och strömsnåla enheter. Där blev ARM den stora vinnaren.

    Slutsats

    RISC-krigen visar att den bästa tekniken inte alltid vinner på egen hand. Prestanda är viktigt, men programvara, kompatibilitet, pris, marknad och timing kan vara ännu viktigare.

    RISC-processorerna förändrade datorvärlden genom att visa hur mycket snabbare och effektivare processorer kunde bli. Men Intel och x86 överlevde genom att anpassa sig. De tog till sig RISC-liknande idéer på insidan, utan att överge den gamla programvaruvärlden på utsidan.

    Det blev inte en enkel seger för CISC eller RISC. I stället smälte idéerna samman. Dagens processorer är ofta hybrider: de kan visa upp en gammal, kompatibel fasad mot programmen, men arbetar internt med moderna tekniker som en gång förknippades med RISC-revolutionen.

    Faktaruta: Skillnaden mellan RISC och CISC

    RISC och CISC är två olika filosofier för hur en processors instruktionsuppsättning är uppbyggd. Instruktionsuppsättningen är det ”språk” som processorn förstår direkt.

    Vad är CISC?

    CISC står för Complex Instruction Set Computer, alltså dator med komplex instruktionsuppsättning. Idén är att processorn ska kunna utföra ganska avancerade instruktioner direkt i hårdvaran. En enda instruktion kan till exempel göra flera moment som annars hade krävt flera enklare instruktioner.

    CISC blev vanligt under en tid då minne var dyrt och program gärna skulle ta så liten plats som möjligt. Genom att ha kraftfulla instruktioner kunde programmen ibland bli kortare. Klassiska exempel på CISC-arkitekturer är x86, som används i många PC-datorer.

    Vad är RISC?

    RISC står för Reduced Instruction Set Computer, alltså dator med reducerad instruktionsuppsättning. Här är tanken att processorn ska ha färre och enklare instruktioner, som ofta kan utföras mycket snabbt. I stället för en komplicerad instruktion används flera enkla instruktioner.

    RISC-idén växte fram när man såg att många komplicerade processorinstruktioner sällan användes av program. Genom att förenkla processorn kunde man ofta få högre prestanda, lägre energiförbrukning och enklare konstruktion. Exempel på RISC-arkitekturer är ARM, MIPS, PowerPC och RISC-V.

    Förenklad jämförelse

    Egenskap CISC RISC
    Instruktioner Många och ofta komplexa Färre och enklare
    Utförande En instruktion kan göra mycket Flera enkla instruktioner gör jobbet
    Historisk fördel Kompakta program när minne var dyrt Snabbare och enklare processordesign
    Exempel x86 ARM, MIPS, PowerPC, RISC-V

    Hur ser det ut i dag?

    Skillnaden mellan RISC och CISC är inte längre lika skarp som förr. Moderna x86-processorer kan internt bryta ned komplexa CISC-instruktioner till mindre, enklare mikroinstruktioner. Samtidigt har moderna RISC-processorer fått fler funktioner och mer avancerade instruktioner.

    En enkel tumregel är ändå att CISC historiskt satsade på kraftfulla instruktioner, medan RISC satsade på enkla instruktioner som kan köras snabbt och effektivt.

    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