Programvaruchippet

Vad är det med Transmetas vd Dave Ditzel som får dig att vilja tro honom? Kanske är det så han ogenerat använder ord som coolt och snyggt. Kanske beror det på att han hade fräckheten att bygga sitt uppkomna chipföretag med tanke på Intels huvudkontor. Kanske beror det på att han aldrig slutför en mening, så entusiastisk är han över Crusoe, hans företags märke av mikroprocessorer. Från januari förra året, när Crusoe tillkännagavs i en flammande fanfar, fram till mitten av augusti, när företaget ansökte om att offentliggöras, gjorde Ditzel sig hes när han tryckte på Crusoe-chippet. Oavsett om det stod inför 200 ingenjörer eller en enskild reporter, var hans budskap oförnuftigt: Crusoe - det Intel-kompatibla chippet med en tiondel av strömkraven för en Pentium III - kommer att förändra datorvärlden för alltid. Crusoe är energisnål, den är kompatibel och har hög prestanda, sa han i en av en serie intervjuer som hölls före anmälan i augusti. Det är vårt mantra.





I somras var företaget och Ditzel tysta under den lugna period som följer efter varje börsnotering. Men då hade Crusoe-meddelandet utvecklat ett eget liv: Inte sedan Apple iMac hade det varit ett sådant tjafs i Silicon Valley som det som Crusoe har tagit i land. Det är ingen överraskning att Valley insider rags Upside och Red Herring körde Transmeta som sina omslagsartiklar förra våren, men innan den tysta perioden började citerades Ditzel också i Time, USA Today och en hord av andra konsumentpublikationer. Transmetas publicitetsansträngningar har delvis matats av företagets anställning av Linux-författaren och mjukvarugurun Linus Torvalds med öppen källkod. Torvalds har varit en del av mjukvarudesignteamet på Transmeta och har på sistone arbetat med en version av Linux som kommer att komplettera Crusoes applikation på den exploderande marknaden för mobila enheter.

Skriv ut din nästa dator

Den här historien var en del av vårt novembernummer 2000

  • Se resten av frågan
  • Prenumerera

Själva börsintroduktionen är ett surt dokument med nära mun som avslöjar lite av Transmetas framtida designplaner, och istället är full av varningar om vad som kan gå fel på Transmetas väg mot lönsamhet. När detta skrivs har faktiskt inte en enda Crusoe-produkt skickats i märkbar volym. Företaget förlorade 41 miljoner dollar 1999 och ytterligare 43 miljoner dollar under de första sex månaderna 2000; prospektet gör det klart att investerare inte ska förvänta sig att se lönsamhet inom en snar framtid.



Men det skulle ändå vara svårt att hitta en startup som började mer gynnsamt, eller med ett bättre utbud av initiala kunder. I maj förra året deklarerade America Online och Gateway att Crusoe kommer att driva en ny linje med hushållsapparater som kommer att ha trådlös nätaccess. IBM, Hitachi, NEC och Fujitsu följde efter i juni, med tillkännagivanden av Crusoe-baserade bärbara datorer som kommer att köras hela dagen på vanliga batterier. Sony följde med ett tillkännagivande i augusti att Crusoe kommer att driva en framtida version av sin Vaio PictureBook-linje av bärbara datorer. Inte illa för ett chipföretag utan tillverkningsanläggning och utan meritlista – och vars främsta tillgång är, som Ditzel uttrycker det, en vision om ett bättre sätt att bygga mikroprocessorer.

Från och med nu kommer Transmeta-metoden att vara den smartaste, snabbaste, billigaste, mest pålitliga och flexibla tekniken för att lösa praktiskt taget alla datorrelaterade problem, säger John Wharton, konsult för mikroprocessordesign, Stanford-professor och tidigare designingenjör för Intel. För femtio år sedan byggdes de mest sofistikerade systemen med vakuumrör. För tio år sedan var den senaste tekniken komplexa, helt integrerade megaprocessorer som Pentium och PowerPC. Jag ser att Transmeta representerar nästa genombrott inom grundläggande designteknik.

Spåret som Transmeta banar kommer att leda till flis som använder betydligt mindre elkraft. Det är goda nyheter för alla som använder en bärbar dator eller andra bärbara elektroniska enheter. Men djupare, Transmeta har hittat ett sätt att radikalt förbättra chipdesigners förmåga att göra ändringar i sina produkter utan att alienera de enorma biblioteken av programvara som har skrivits för att köras på en viss hårdvara. De har, på sätt och vis, tagit bort den irriterande guvernören från motorn för framstegsframsteg.



Befrielsens arkitektur

Även om det har funnits gott om pressbevakning av Transmeta som en ny satsning, är det som ofta går vilse själva tekniken. Crusoe är ett hybridprogram-/hårdvaruchip vars enda syfte är att köra mjukvara designad för andra mikroprocessorer. Mycket av vad Intel och andra åstadkommer inom kisel har Transmeta gått över till mjukvara. Fördelarna? För det första tar själva chipsen mindre kisel, vilket gör dem billigare att bygga. För det andra, ett enklare chip förbrukar mindre ström - ett avgörande problem för bärbara datorer. Men den kanske mest långtgående effekten är att Transmeta, när det skapade Crusoe, har kommit med ett innovativt tillvägagångssätt fritt från många av de problem som har plågat chipdesign under de senaste två decennierna.

Före Crusoe har varje mikroprocessor som någonsin byggts kommit med sin egen publicerade instruktionsuppsättning - ett explicit kontrakt som anger hur chippet kommer att fungera med programvara. En instruktionsuppsättning lovar att om utvecklare skriver programvara som gör X, kommer den resulterande åtgärden från chipet att vara Y-nu och för alltid.



Problemet är att när ett nytt chip väl är designat så är det låst i tid. När mjukvaruinventeringen för chipet byggs blir det näst intill omöjligt att göra förbättringar av instruktionsuppsättningen. Mjukvaruutvecklingen försvåras också, eftersom alla nya program måste följa lagarna i chipets instruktionsuppsättning för att fungera. Mikroprocessordesigners vill att chips ska köras snabbare, men de måste också få dem att köras på befintlig programvara. Så de gnisslar ut stegvis hastighet med knep som att sekvensera instruktioner till processorn. Men att genomföra stora förändringar är näst intill omöjligt. Det är som ett väldigt dåligt trebent lopp, med mjukvaru- och hårdvaruingenjörer bundna vid höften - som aldrig kan gå snabbt mot att ta till sig toppmoderna produkter, så beroende är de av varandras designval och valen från tidigare generationer.

Ditzel har själv förstahandserfarenhet av svårigheten att göra grundläggande förbättringar i ett chips initiala design. På Sun Microsystems, där han arbetade innan han grundade Transmeta 1995, var han ansvarig för att ändra instruktionsuppsättningen för företagets SPARC-märke av mikroprocessor. Även om han påbörjade projektet 1990, var det inte förrän förra året som den nya instruktionsuppsättningen var klar att användas. Du behöver tid för branschen att komma ikapp, för att få ut mjukvara, för att få applikationer konverterade, sa Ditzel till TR innan företagets börsintroduktion. Det är en riktigt stor sak.

Programvara kamouflage



För att få bort sina chip från föråldrade instruktioner kommer mikroprocessordesigners med jämna mellanrum att kasta ut allt och börja om med ett helt nytt chip, komplett med en helt ny instruktionsuppsättning. Det är en process som Intel kämpar igenom med sin mycket försenade Itanium-mikroprocessor, som kommer att bli företagets första chip som dirigerar data runt i digitala strängar på 64 bitar, det vill säga på en 64-bitars bred buss. Att frigöra designers från den nuvarande generationens 32-bitars buss kommer att resultera i ett stort steg framåt i prestanda. Men att börja om resulterar också i ett chip som till en början inte har någon programvara att köra på, knappast ett idealiskt tillstånd. Även om mjukvaruutvecklare samarbetar och börjar skriva kod till den nya instruktionsuppsättningen, fungerar detta tillvägagångssätt bara en gång: sedan är du tillbaka där du började, med äldre mjukvara och en årslång cykel för att göra någon grundläggande förändring.

Ditzel har prövat att börja om till chipdesign mer än en gång i sin karriär. För två decennier sedan, som doktorand vid University of California i Berkeley, var han medförfattare till en artikel med titeln The Case for Reduced Instruction Set Computing. Detta framstående arbete inspirerade en hel skola för mikroprocessordesign; idag finns så kallade RISC-chips överallt.

Efter examensarbete med RISC-design på Berkeley gick han vidare till att designa en RISC-chipvariant som heter CRISP på Bell Labs; CRISP fick dock aldrig brett stöd från mjukvaruutvecklare. Ditzel gjorde sedan ett tredje försök att designa en ny mikroprocessor när han arbetade på ett galliumarsenidchip på Sun som aldrig tillverkades. Det var som att jag sa till folk: Titta! Du kan använda den här fantastiska nya mikroprocessorn - allt du behöver göra är att kasta ut all din programvara och börja om!’ sa Ditzel. Jag har kämpat den kampen i 20 år och jag har gett upp.

Men han gav inte upp riktigt. Istället hittade han en väg ut.

När Ditzel var på Sun i början av 90-talet, influerades Ditzel av den ryske superdatorexperten Boris Babayans arbete, som han informellt hade samarbetat med, och som han utnämner som en nyckelmentor i hans utvecklingstänkande om chipdesign. Vid den tiden experimenterade Babayan och hans företag Elbrus med en teknik som kallas dynamisk binär översättning och kompilering (som Transmeta har gett det mycket mer marknadsvänliga namnet kodförvandling, en term som de sedan dess har varumärkesskyddat).

Att skriva kod så att en typ av programvara kan köras på en annan typ av hårdvara är en gammal idé: IBM, till exempel, gjorde det redan på 1960-talet. Resultaten av dessa försök var dock alltid hopplöst tröga. Men markerna blev snabbare hela tiden. I början av 1990-talet postulerade designers att det kunde finnas ett sätt att översätta från en instruktionsuppsättning till en annan så snabbt att prestandan knappt skulle bli lidande. Istället för att vara en statisk, en-till-en-översättning av varje instruktion, kan tekniken vara dynamisk, undersöka applikationen för ineffektivitet i realtid, korrigera dem och komma ihåg korrigeringarna.

Det är kontraintuitivt att tro att ett extra lager av programvara mellan en applikation och en CPU inte skulle sakta ner saker och ting - det är som att säga att en krökt linje mellan två punkter är kortare än en rak linje. Men förhållandet mellan mjukvara och hårdvara är inte längre en rak linje: På grund av den ineffektivitet som orsakats av år av utveckling kring samma instruktionsuppsättning, kan dynamisk översättning i teorin förbättra prestandan. På hårdvarusidan kan processen att sätta fast fler och fler kretsar på ett chip för att få ut de senaste prestandavinsterna faktiskt slå tillbaka och sakta ner saker och ting. Också mjukvara är sällan så effektiv som den skulle kunna vara färdig: applikationsutvecklare med ett öga på ett leveransdatum kommer att frysa koden när den fungerar, inte när den är perfekt. Dynamisk översättning skulle teoretiskt kunna hitta slacket och dra åt det.

Innan Ditzel grundade Transmeta hade översättningstekniker endast använts för att få befintlig, icke-kompatibel mjukvara och hårdvara att tala med varandra. Ditzel och hans medgrundare tog ett intellektuellt språng: Om ett extra lager av mjukvara kunde få applikationer att köras på icke-kompatibel hårdvara, vad var det som hindrade dem från att göra radikala förändringar i själva den underliggande hårdvaran och dra nytta av de senaste funktionerna?

1994 kom Ditzel och medgrundaren Doug Laird båda från ett projekt på Sun som var utformat för att få Windows att fungera bättre på Sun-arbetsstationer, med hjälp av dynamiska binära översättningstekniker. Vi insåg att om vi bara kunde lägga till några funktioner till hårdvaran så kunde vi faktiskt få det här att gå ganska snabbt, säger Laird. Det var en cool idé, tillägger han och påminner om att Sun inte var intresserad av att ändra sin processordesign för att göra den bättre på att köra applikationer som hade skrivits för att köras på standard Intel-chips. Ditzel och Laird slog till på egen hand. Ditzel rekryterade Colin Hunter, en respekterad expert på emuleringstekniker, och Robert Cmelik, som hade arbetat med kodoptimering på Sun.

Som ofta är fallet inom teknologiinnovation visade sig praktiken vara svårare än teorin: Transmetas första chipdesign gick så långsamt att det tog chippet en halvtimme bara att starta operativsystemet. Men med var och en av fyra chiprevisioner lärde sig teamet mer om binär översättning. Fem år av mödosamt arbete utfört av en brigad på 200 ingenjörer med stöd av flera hundra miljoner dollar i riskkapital producerade ett chip som körde tillräckligt snabbt för att jämföras med Intel-processorer. I januari i år tillkännagav Transmeta de två första hybridkisel-/mjukvaruchipsen i Crusoe-linjen. Den första, kallad TM5400, är ​​ett 700 megahertz-chip för de ultratunna, ultralätta bärbara Windows-datorerna. Den kör programvara skriven för Intel-chips på en bråkdel av den ström som en Pentium förbrukar. Den andra, TM3120, är ​​ett 400-MHz-chip designat för att köra Internet-apparater med en version av Linux som Torvalds utvecklat för mobila enheter.

Båda chipsen presenterar ett ansikte för mjukvaruutvecklare som är helt kompatibelt med instruktionerna i Intels processorer. Under finns VLIW-chips, för mycket långa instruktionsord, en arkitektur med en 128-bitars bred buss som kan kombinera Intel-chipinstruktioner till längre strängar och därmed exekvera dem snabbare. Mellan den utåtvända instruktionsuppsättningen och den underliggande hårdvaran finns Transmetas kod-morphing-mjukvara, som översätter instruktionerna i Intel-stil till en form som Crusoe kan hantera, optimerar deras exekvering och lagrar de optimerade exekveringarna i minnet. Nästa gång chippet stöter på samma operation är översättning inte längre nödvändig. Programvaran för kodformning (som finns i ett skrivskyddat minneschip) är det första programmet som startar när processorn startar.

Eftersom så mycket av Crusoes funktionalitet har flyttats från hårdvara till mjukvara är chippet mycket enklare än en jämförbar Pentium-processor och kräver bara en fjärdedel så många transistorer. En sidofördel med färre transistorer är att Crusoe använder mycket mindre ström för att köra, därav Transmetas beslut att rikta sina första chips mot mobilmarknaden. En annan fördel med Crusoe-metoden är att den förkortar tiden som behövs för att utveckla ett nytt chip. Eftersom mycket av designen finns i mjukvara, säger Ditzel att vissa kunder redan har bett om ändringar i instruktionsuppsättningen och att Transmetas ingenjörer kan implementera dem inom 24 timmar. Även om detta förmodligen inte inkluderar tid för någon form av feltestning, är det ändå tydligt att Transmeta har hittat ett sätt att drastiskt förkorta utvecklingscykeln.

Nick Tredennick, medarkitekt till den ursprungliga Motorola 68000 (processorn som drev de första Macintosh-datorerna), och nu en oberoende konsult för mikroprocessordesign, är inte ensam om att dra slutsatsen att Ditzel är inne på något. När jag hörde talas om Crusoe för första gången trodde jag att det bara var den senaste modeflugan, eller en rehash av emulering, som aldrig har fungerat, säger Tredennick. Men efter att ha hört Ditzel tala blev Tredennick konvertit. Transmeta, säger han, gör något fundamentalt annorlunda än vad som har gjorts sedan datorns uppfinning.

Transmetas chips är till sin natur enklare att designa än konventionella, säger Stanfords Wharton. Du kan göra en mjukvaruändring, infoga den i en testversion, köra den och se om den fungerar, allt på en eftermiddag. På hårdvaruområdet kan handläggningstiden vara tre till nio månader. Intel kan lägga 500 eller 1 000 manår på att designa Itanium. Nästa Transmeta-chip kan kräva 10, eller 20 eller 50. Det är musnötter.

Rörelsen mot att tillverka chip som är hybrider av mjukvara och hårdvara, snarare än rent kisel, har fångat i stort sett. Men Transmeta kommer sannolikt att behålla ledningen under överskådlig framtid. Det beror på att Ditzel var den första personen som tog ut dessa idéer från labbet, anställde 200 anställda för att arbeta med dem och byggde ett chip som fungerade. Längs vägen skapade han minst två vägspärrar som kommer att bromsa hans konkurrens.

Den första är företagets testverktyg. Transmetas juveler är sannolikt inte ens själva chipsen, utan snarare den diagnostiska mjukvaran som företaget tvingades skapa i utvecklingsprocessen. De färdiga verktygen som finns för att checka ut konventionella chips utgår alla från att det finns ett statiskt samband mellan mjukvara, ett chip och en given instruktion. Transmeta behövde lösa problemet med att testa en mikroprocessor som förändras dynamiskt som svar på programvaran den kör. Andra företag kommer att behöva börja från början för att bygga sina egna testverktyg, vilket lätt kan ta ett år eller längre.

Dölj