Transistorbastu: varför blir inte datorer snabbare längre?
av Kai Nordlund Forum 2019-03, sida 13, 04.04.2019
De lite äldre av oss minns säkert ännu gott den tid då datorerna hela blev tiden snabbare: på två år fördubblades en helt vanlig ny hemdators hastighet. Detta mättes med datorers klockfrekvens. Då de första hemdatorerna kom i början av 1980-talet rörde sig hastigheterna kring en miljon hertz (operationer per sekund), alltså 1 MHz. Kring år 2000 hade de kommit upp till en miljard Hz, med andra or en GHz. Datorerna hade alltså blivit tusen gånger snabbare inom loppet av 20 år. Denna exponentiella ökningstrend av antalet transistorer som får plats på ett chip kallades för Moores lag (uppkallad efter en av Intels grundare Gordon E. Moore).
Evig fördubbling? Det var trevliga tider för oss som programmerade: om koden fungerade onödigt långsamt visste man att saker redan efter ett par år skulle löpa hyfsat snabbt.
Orsaken till denna fenomenala utveckling var en relativt enkel fysikalisk lag, som säger att operationshastigheten för en typisk transistor (den minsta operativa delen, som används till att skapa de nollor och ettor som är grunden till datorns operation) inne i en modern datorprocessor är proportionerlig mot den inverterade kvadraten på längden av den ledande kanalen.
Enklare uttryckt: om man gör transistorn dubbelt mindre, blir den fyra gånger snabbare. Enbart genom att krympa transistorerna kunde man öka på deras hastighet. Samtidigt kunde man packa allt fler på samma kiselskiva – alltså öka på storleken på system som datorn kan behandla samtidigt.
50-åringen som räknades ut. Moores lag är bakgrunden till att de enskilda processorerna faktiskt kontinuerligt blev snabbare från 1965 till början av 2000-talet. Ännu vid millennieskiftet trodde man att utvecklingen kunde fortsätta. Jag har sparat ett officiellt dokument, ”The International Technology Roadmap for Semiconductors” från 2001, där man förutspådde att datorernas klockfrekvens vore 28 GHz år 2016. Så är det verkligen inte: dagens datorer har en klockfrekvens på ungefär 3 GHz, och denna siffra har inte ökat på ett tiotal år. Vad gick fel?
Problemet är enkelt: samtidigt som elektronerna rör sig i den ledande transistorkanalen, hettar de också upp komponenten. När komponenterna blev mindre och mindre och hela kiselskivan mer och mer tätpackad med transistorer, blir det svårare och svårare för hettan att flöda bort. Det är lite som om att sätta transistorn i en bastu. Liksom människor (eller åtminstone finländare) kan nog transistorerna tåla en temperatur kring 100 grader. Men därefter börjar transistorerna gå sönder (de kan tyvärr inte lämna sin bastu för en svalkande öl på terrassen).
Denna upphettning är grundorsaken till att en enskild processorkärnas klockfrekvens har stannat kring 3 GHz. Med trick som att sänka ner processorn i flytande kväve med temperaturer kring minus 200 grader kan man få dem att köra på något kring 6 GHz, men få människor vill ha vätska vid minus 200 grader på sitt arbetsbord.
Lösningen: parallell beräkning. Finns någon utväg? Visst: i praktiken kan man få ut mer effekt genom att öka på antalet processorkärnor och skriva program som kan använda flera kärnor parallellt. Detta sker redan; helt vanliga datorers och mobiltelefoners processorer har ofta fyra eller åtta kärnor, och det är tekniskt fullt möjligt att ytterligare öka på antalet.
Detta gör att Moores lag faktiskt fortfarande mer eller mindre gäller, för den ursprungliga formen av lagen talade inte egentligen om hastighet, utan om antalet transistorer på en kiselbit. Samtidigt har den grundläggande transistordelen gjorts om till komplicerade tredimensionella strukturer som möjliggjort att man kan få ut lite mer hastighet vid samma klockfrekvens. Men inget av detta verkar möjliggöra en klockfrekvens i närheten av det utopistiska 28 GHz som en gång projicerades.
För detta krävs radikalt nya lösningar. Om man kunde byta ut basmaterialet kisel mot diamant – där elektroner rör sig mycket snabbare – skulle man genast få en stor ökning. Men tekniska lösningar för att tillverka alla processordelar i diamant existerar inte ännu. Ett något futuristiskt alternativ är att använda ljus istället för elektroner. Ljus rör ju sig med ljusets hastighet, tusentals gånger snabbare än elektroner. Detta kan kanske lyckas, men en annan fysikalisk lag begränsar hur praktiskt detta är: ljusets våglängd är flera hundra nanometer, så en ljusprocessor skulle vara hundratals gånger större än dagens kiselprocessorer. Detta skulle göra dem så stora att man nog inte kunde bära dem med sig i sin mobiltelefon eller bärbara dator.
Det tredje – mest fjärran – alternativet är kvantdatorer, där kvantmekanik används till att behandla information som kodas i kvantbits (i form av fotoner, atomkärnor eller elektroner) i stället för nollor och ettor. Kvantdatorer ligger nära ett genombrott för att lösa vissa klasser av problem otroligt snabbt, men tills vidare vet man inte hur man kan tillverka ett datoroperativsystem med bara kvantmekanik – så det är också omöjligt att tillverka en självständig komplett kvantdator.
Dessa lösningsmodeller är både spännande och lovande, men än så länge finns det nog inget sätt att få transistorerna i en vanlig hemdator ut ur sin bastu.