211service.com
De software-chip
Wat is er met de CEO van Transmeta, Dave Ditzel, dat je hem wilt geloven? Misschien is het de manier waarop hij ongegeneerd woorden als cool en netjes gebruikt. Misschien is het omdat hij het lef had om zijn beginnende chipbedrijf op te bouwen in het zicht van het hoofdkantoor van Intel. Misschien komt het omdat hij nooit een zin afmaakt, zo enthousiast is hij over Crusoe, het merk microprocessors van zijn bedrijf. Vanaf afgelopen januari, toen Crusoe in een uitbarsting van fanfare werd aangekondigd, tot half augustus, toen het bedrijf zich aanmeldde om naar de beurs te gaan, maakte Ditzel zichzelf hees door de Crusoe-chip te duwen. Of het nu voor 200 ingenieurs was of voor een enkele verslaggever, zijn boodschap was onwrikbaar: Crusoe - de Intel-compatibele chip met een tiende van de stroomvereisten van een Pentium III - gaat de computerwereld voor altijd veranderen. Crusoe heeft een laag vermogen, is compatibel en presteert uitstekend, zei hij in een van een reeks interviews die vóór de indiening van augustus werden gehouden. Dat is onze mantra.
Deze zomer vielen het bedrijf en Ditzel stil tijdens de rustige periode die volgt op elke beursgang. Maar tegen die tijd was de Crusoe-boodschap een eigen leven gaan leiden: niet sinds de Apple iMac was er in Silicon Valley zo'n ophef geweest als die Crusoe aan land heeft gebracht. Het is geen verrassing dat Valley insider rags Upside en Red Herring Transmeta runden als hun coverstory afgelopen voorjaar, maar voordat de rustige periode begon, werd Ditzel ook geciteerd in Time, USA Today en een horde andere consumentenpublicaties. Transmeta's publiciteitsinspanningen hebben gedeeltelijk bijgedragen aan het inhuren van Linux-auteur en open-source softwaregoeroe Linus Torvalds. Torvalds maakte deel uit van het software-ontwerpteam van Transmeta en heeft de laatste tijd gewerkt aan een versie van Linux die de toepassing van Crusoe op de exploderende markt voor mobiele apparaten zal aanvullen.
Dit verhaal maakte deel uit van ons nummer van november 2000
- Zie de rest van het nummer
- Abonneren
De beursgang zelf is een streng document met een gesloten mond dat weinig onthult van Transmeta's toekomstige ontwerpplannen, en in plaats daarvan vol staat met waarschuwingen over wat er mis zou kunnen gaan op Transmeta's weg naar winstgevendheid. Op het moment van schrijven is er inderdaad geen enkel Crusoe-product in een aanzienlijk volume verzonden. Het bedrijf verloor $ 41 miljoen in 1999 en nog eens $ 43 miljoen in de eerste zes maanden van 2000; het prospectus maakt duidelijk dat beleggers in de nabije toekomst geen winstgevendheid mogen verwachten.
Maar het zou niettemin moeilijk zijn om een startup te vinden die gunstiger begon, of met een betere line-up van eerste klanten. Afgelopen mei hebben America Online en Gateway verklaard dat Crusoe een nieuwe lijn huishoudelijke apparaten zal voorzien van draadloze internettoegang. IBM, Hitachi, NEC en Fujitsu volgden in juni dit voorbeeld met de aankondiging van op Crusoe gebaseerde notebook-pc's die de hele dag op gewone batterijen zullen werken. Sony volgde in augustus met de aankondiging dat Crusoe een toekomstige versie van zijn Vaio PictureBook-lijn van notebooks zal aandrijven. Niet slecht voor een chipbedrijf zonder fabricagefabriek en zonder trackrecord - en wiens belangrijkste troef, zoals Ditzel het uitdrukt, een visie is op een betere manier om microprocessors te bouwen.
Vanaf nu zal de Transmeta-aanpak de slimste, snelste, goedkoopste, meest betrouwbare en meest flexibele technologie zijn om vrijwel elk computergerelateerd probleem op te lossen, zegt John Wharton, microprocessor-ontwerpconsultant, Stanford-professor en voormalig ontwerpingenieur bij Intel. Vijftig jaar geleden werden de meest geavanceerde systemen gebouwd met vacuümbuizen. Tien jaar geleden waren complexe, volledig geïntegreerde megaprocessors zoals de Pentium en PowerPC de stand van de techniek. Ik zie Transmeta als de volgende doorbraak in fundamentele ontwerptechnologie.
Het spoor dat Transmeta baant, zal leiden tot chips die beduidend minder stroom verbruiken. Dat is goed nieuws voor iedereen die een laptop of andere draagbare elektronische apparaten gebruikt. Maar meer diepgaand, Transmeta heeft een manier gevonden om het vermogen van chipontwerpers om veranderingen in hun producten aan te brengen radicaal te verbeteren zonder de enorme bibliotheken met software die zijn geschreven om op een bepaald stuk hardware te draaien, te vervreemden. Ze hebben in zekere zin de vervelende gouverneur verwijderd uit de motor van de vooruitgang van het maken van chips.
Architectuur van Bevrijding
Hoewel er in de pers veel aandacht is geweest voor Transmeta als een nieuwe onderneming, gaat de technologie zelf vaak verloren. Crusoe is een hybride software/hardware-chip waarvan het enige doel is om software uit te voeren die is ontworpen voor andere microprocessors. Veel van wat Intel en anderen in silicium bereiken, is Transmeta verschoven naar software. De voordelen? Ten eerste nemen de chips zelf minder silicium, waardoor ze goedkoper te bouwen zijn. Ten tweede verbruikt een eenvoudigere chip minder stroom - een belangrijk punt van zorg voor draagbare computers. Maar misschien wel de meest verstrekkende impact is dat Transmeta bij het maken van Crusoe een innovatieve aanpak heeft bedacht die vrij is van veel van de problemen die het chipontwerp de afgelopen twee decennia hebben geplaagd.
Vóór Crusoe kwam elke microprocessor die ooit werd gebouwd met zijn eigen gepubliceerde instructieset - een expliciet contract dat beschrijft hoe de chip met software zal werken. Een instructieset belooft dat als ontwikkelaars software schrijven die X doet, de resulterende actie van de chip Y-nu en voor altijd zal zijn.
Het probleem is dat zodra een nieuwe chip is ontworpen, deze in de tijd wordt vergrendeld. Naarmate de software-inventaris voor de chip groeit, wordt het bijna onmogelijk om verbeteringen aan te brengen in de instructieset. Softwareontwikkeling wordt ook belemmerd, omdat elk nieuw programma moet voldoen aan de wetten van de instructieset van de chip om te kunnen werken. Ontwerpers van microprocessoren willen dat chips sneller werken, maar ze moeten ze ook op bestaande software laten draaien. Dus ze piepen snelheidsverhogingen uit met trucs zoals het opnieuw rangschikken van instructies naar de processor. Maar grote veranderingen doorvoeren is bijna onmogelijk. Het is als een zeer slechte driebenige race, met software- en hardware-ingenieurs op de heupen die nooit snel kunnen gaan in de richting van het adopteren van ultramoderne producten, zo afhankelijk zijn ze van elkaars ontwerpkeuzes en de keuzes van eerdere generaties.
Ditzel heeft zelf ervaring uit de eerste hand met de moeilijkheid om fundamentele verbeteringen aan te brengen in het oorspronkelijke ontwerp van een chip. Bij Sun Microsystems, waar hij werkte voordat hij Transmeta oprichtte in 1995, was hij verantwoordelijk voor het wijzigen van de instructieset voor de SPARC-microprocessor van het bedrijf. Hoewel hij in 1990 aan het project begon, duurde het tot vorig jaar voordat de nieuwe instructieset klaar was voor gebruik. Je hebt tijd nodig voor de industrie om bij te praten, om software op de markt te brengen, om applicaties te laten converteren, vertelde Ditzel aan TR vóór de beursgang van het bedrijf. Het is echt een groot probleem.
Softwarecamouflage
Om hun chips te ontworstelen aan verouderde instructies, zullen microprocessorontwerpers periodiek alles weggooien en opnieuw beginnen met een geheel nieuwe chip, compleet met een gloednieuwe instructieset. Het is een proces waar Intel mee worstelt met zijn veel vertraagde Itanium-microprocessor, die de eerste chip van het bedrijf zal zijn die gegevens in digitale delen van 64 bits rondstuurt, dat wil zeggen op een 64-bits brede bus. Door ontwerpers te bevrijden van de 32-bits bus van de huidige generatie, zullen de prestaties een grote sprong voorwaarts maken. Maar opnieuw beginnen resulteert ook in een chip die in eerste instantie geen software zal hebben om erop te draaien, nauwelijks een ideale toestand. Zelfs als softwareontwikkelaars samenwerken en beginnen met het schrijven van code naar de nieuwe instructieset, werkt deze aanpak maar één keer: dan ben je terug waar je begon, met verouderde software en een jarenlange cyclus om elke fundamentele verandering aan te brengen.
Ditzel heeft de start-over-benadering van chipontwerp meer dan eens in zijn carrière geprobeerd. Twee decennia geleden, als afgestudeerde student aan de University of California in Berkeley, was hij co-auteur van een paper getiteld The Case for Reduced Instruction Set Computing. Dit baanbrekende werk inspireerde een hele school van microprocessorontwerp; tegenwoordig zijn er overal zogenaamde RISC-chips.
Na zijn afstuderen aan RISC-ontwerp in Berkeley, ging hij verder met het ontwerpen van een RISC-chipvariant genaamd CRISP bij Bell Labs; CRISP kreeg echter nooit brede steun van softwareontwikkelaars. Ditzel deed vervolgens een derde poging om een nieuwe microprocessor te ontwerpen toen hij bij Sun aan een galliumarsenide-chip werkte die nooit werd geproduceerd. Het was alsof ik tegen mensen zei: Kijk! Je kunt deze geweldige nieuwe microprocessor gebruiken, je hoeft alleen maar al je software weg te gooien en opnieuw te beginnen!' zei Ditzel. Ik heb die strijd 20 jaar gestreden en ik heb het opgegeven.
Maar hij gaf niet echt op. In plaats daarvan vond hij een uitweg.
Toen hij in het begin van de jaren '90 bij Sun werkte, werd Ditzel beïnvloed door het werk van de Russische supercomputerexpert Boris Babayan, met wie hij informeel had samengewerkt, en die hij noemt als een belangrijke mentor in zijn ontwikkeling van gedachten over chipontwerp. Destijds waren Babayan en zijn bedrijf Elbrus aan het experimenteren met een techniek die bekend staat als dynamische binaire vertaling en compilatie (waarvan Transmeta de veel marktvriendelijkere naam code-morphing heeft gegeven, een term die ze sindsdien als handelsmerk hebben gebruikt).
Het schrijven van code zodat het ene soort software op een ander soort hardware kan draaien, is een oud idee: IBM deed het bijvoorbeeld al in de jaren zestig. De resultaten van deze pogingen waren echter altijd hopeloos traag. Maar chips werden steeds sneller. Aan het begin van de jaren negentig postuleerden ontwerpers dat er een manier zou kunnen zijn om zo snel van de ene instructieset naar de andere te vertalen dat de prestaties er nauwelijks onder zouden lijden. In plaats van een statische, één-op-één vertaling van elke instructie, zou de techniek dynamisch kunnen zijn, waarbij de toepassing in realtime wordt onderzocht op inefficiënties, deze worden gecorrigeerd en de correcties worden onthouden.
Het is contra-intuïtief om te denken dat het plaatsen van een extra laag software tussen een applicatie en een CPU de zaken niet zou vertragen - het is alsof je zegt dat een gebogen lijn tussen twee punten korter is dan een rechte lijn. Maar de relatie tussen software en hardware is niet langer een rechte lijn: vanwege de inefficiënties veroorzaakt door jaren van ontwikkeling rond dezelfde instructieset, zou dynamische vertaling in theorie de prestaties kunnen verbeteren. Aan de hardwarekant kan het proces van het vastlopen van steeds meer circuits op een chip om de laatste prestatieverbeteringen eruit te halen een averechts effect hebben en de zaken vertragen. Ook software is zelden zo efficiënt als het out-of-the-box zou kunnen zijn: applicatieontwikkelaars met het oog op een verzenddatum zullen code bevriezen wanneer deze werkt, niet wanneer deze perfect is. Dynamische vertaling zou in theorie de speling kunnen vinden en aanscherpen.
Voordat Ditzel Transmeta oprichtte, werden vertaaltechnieken alleen gebruikt om bestaande, niet-compatibele software en hardware met elkaar te laten spreken. Ditzel en zijn mede-oprichters maakten een intellectuele sprong: als een extra softwarelaag applicaties op niet-compatibele hardware zou kunnen laten draaien, wat zou hen dan ervan weerhouden om radicale veranderingen aan te brengen in de onderliggende hardware zelf en gebruik te maken van de nieuwste mogelijkheden?
In 1994 kwamen Ditzel en mede-oprichter Doug Laird beiden uit een project bij Sun dat was ontworpen om Windows beter te laten werken op Sun-werkstations, met behulp van dynamische binaire vertaaltechnieken. We realiseerden ons dat als we gewoon wat functies aan de hardware konden toevoegen, we dit ding behoorlijk snel zouden kunnen laten werken, zegt Laird. Het was een cool idee, voegt hij eraan toe, eraan herinnerend dat Sun niet geïnteresseerd was in het veranderen van het processorontwerp om het beter te maken in het uitvoeren van applicaties die waren geschreven om op standaard Intel-chips te draaien. Ditzel en Laird sloegen hun slag. Ditzel rekruteerde Colin Hunter, een gerespecteerde expert in emulatietechnieken, en Robert Cmelik, die bij Sun had gewerkt aan code-optimalisatie.
Zoals vaak het geval is bij technologische innovatie, bleek de praktijk moeilijker dan de theorie: Transmeta's eerste chipontwerp liep zo langzaam dat de chip een half uur nodig had om het besturingssysteem op te starten. Maar met elk van de vier chiprevisies leerde het team meer over binaire vertaling. Vijf jaar nauwgezet werk, uitgevoerd door een brigade van 200 ingenieurs, ondersteund door honderden miljoenen dollars aan risicokapitaal, produceerden een chip die snel genoeg liep om gunstig af te steken bij Intel-processors. In januari van dit jaar kondigde Transmeta de eerste twee hybride silicium/software-chips in de Crusoe-lijn aan. De eerste, TM5400 genaamd, is een 700 megahertz-chip voor de ultradunne, ultralichte Windows-notebook-pc's. Het draait software die is geschreven voor Intel-chips op een fractie van het vermogen dat een Pentium verbruikt. De tweede, de TM3120, is een 400-MHz-chip die is ontworpen om internetapparaten te laten draaien met een versie van Linux die Torvalds heeft ontwikkeld voor mobiele apparaten.
Beide chips geven softwareontwikkelaars een gezicht dat volledig compatibel is met de instructieset in Intels processors. Daaronder bevinden zich VLIW-chips, voor zeer lange instructiewoorden, een architectuur met een 128-bits brede bus die Intel-chipinstructies kan combineren tot langere strings en ze dus sneller kan uitvoeren. Tussen de naar buiten gerichte instructieset en de onderliggende hardware bevindt zich Transmeta's code-morphing-software, die de instructies in Intel-stijl vertaalt in een vorm die Crusoe aankan, de uitvoering ervan optimaliseert en de geoptimaliseerde uitvoeringen in het geheugen opslaat. De volgende keer dat de chip dezelfde bewerking ondergaat, is vertaling niet meer nodig. De code-morphing-software (die zich in een alleen-lezen geheugenchip bevindt) is het eerste programma dat wordt gestart wanneer de processor opstart.
Omdat zoveel van Crusoe's functionaliteit van hardware naar software is verplaatst, is de chip veel eenvoudiger dan een vergelijkbare Pentium-processor en vereist hij slechts een kwart van het aantal transistors. Een bijkomend voordeel van minder transistors is dat Crusoe veel minder stroom verbruikt om te draaien, vandaar de beslissing van Transmeta om zijn eerste chips op de mobiele markt te richten. Een ander voordeel van de Crusoe-aanpak is het verkorten van de tijd die nodig is om een nieuwe chip te ontwikkelen. Omdat een groot deel van het ontwerp in software zit, zegt Ditzel dat sommige klanten al om wijzigingen in de instructieset hebben gevraagd en dat de technici van Transmeta deze binnen 24 uur kunnen implementeren. Hoewel dit waarschijnlijk geen tijd omvat voor het testen van bugs, is het niettemin duidelijk dat Transmeta een manier heeft gevonden om de ontwikkelingscyclus drastisch te verkorten.
Nick Tredennick, co-architect van de originele Motorola 68000 (de processor die de eerste Macintoshes aandreef), en nu een onafhankelijke microprocessor-ontwerpadviseur, is niet de enige die concludeert dat Ditzel iets van plan is. Toen ik voor het eerst over Crusoe hoorde, dacht ik dat het gewoon de nieuwste rage was, of een herhaling van emulatie, die nooit heeft gewerkt, zegt Tredennick. Maar nadat hij Ditzel had horen spreken, werd Tredennick een bekeerling. Transmeta, zegt hij, doet iets fundamenteel anders dan wat er is gedaan sinds de uitvinding van de computer.
De chips van Transmeta zijn inherent eenvoudiger te ontwerpen dan conventionele, zegt Wharton van Stanford. U kunt in één middag een softwarewijziging doorvoeren, verwerken in een testversie, uitvoeren en kijken of het werkt. Op hardwaregebied kan de doorlooptijd drie tot negen maanden zijn. Intel kan 500 of 1.000 manjaren besteden aan het ontwerpen van Itanium. Voor de volgende Transmeta-chip zijn er misschien 10, of 20 of 50 nodig. Dat is muisstil.
De beweging in de richting van het maken van chips die een hybride zijn van software en hardware, in plaats van puur silicium, is breed aangeslagen. Maar Transmeta zal waarschijnlijk de leiding behouden in de nabije toekomst. Dat komt omdat Ditzel de eerste persoon was die deze ideeën uit het lab haalde, 200 werknemers inhuurde om eraan te werken en een chip bouwde die werkte. Onderweg creëerde hij minstens twee wegversperringen die zijn concurrentie zullen vertragen.
De eerste zijn de testtools van het bedrijf. De juwelen van Transmeta zijn waarschijnlijk niet eens de chips zelf, maar eerder de diagnostische software die het bedrijf tijdens het ontwikkelingsproces moest maken. De kant-en-klare tools die er zijn om conventionele chips uit te checken, gaan er allemaal van uit dat er een statische relatie is tussen software, een chip en een bepaalde instructie. Transmeta moest het probleem oplossen van het testen van een microprocessor die dynamisch verandert als reactie op de software die erop draait. Andere bedrijven zullen helemaal opnieuw moeten beginnen om hun eigen testtools te bouwen, wat gemakkelijk een jaar of langer kan duren.
