211service.com
Il chip software
Di cosa si tratta Dave Ditzel, CEO di Transmeta, che ti fa venir voglia di credergli? Forse è il modo in cui usa sfacciatamente parole come fresco e pulito. Forse è perché ha avuto l'audacia di costruire la sua nuova società di chip in vista del quartier generale di Intel. Forse è perché non completa mai una frase, tanto è entusiasta di Crusoe, il marchio di microprocessori della sua azienda. Dallo scorso gennaio, quando Crusoe è stato annunciato in un tripudio di fanfara, fino a metà agosto, quando la società ha presentato istanza di quotazione in borsa, Ditzel si è fatto rauco spingendo il chip Crusoe. Sia di fronte a 200 ingegneri che a un singolo giornalista, il suo messaggio era incrollabile: Crusoe, il chip compatibile con Intel con un decimo dei requisiti di alimentazione di un Pentium III, cambierà per sempre il mondo dell'informatica. Crusoe è a bassa potenza, è compatibile ed è ad alte prestazioni, ha detto in una di una serie di interviste tenute prima del deposito di agosto. Questo è il nostro mantra.
Quest'estate, la società e Ditzel sono rimasti in silenzio per il periodo di tranquillità che segue ogni offerta pubblica iniziale. Ma a quel punto il messaggio di Crusoe aveva sviluppato una vita propria: non c'era stato un tale clamore nella Silicon Valley dai tempi dell'iMac di Apple come quello che Crusoe ha portato a terra. Non sorprende che gli addetti ai lavori di Valley, Upside e Red Herring, abbiano pubblicato Transmeta come storie di copertina la scorsa primavera, ma prima che iniziasse il periodo di calma, Ditzel è stato anche citato in Time, USA Today e un'orda di altre pubblicazioni di consumatori. Gli sforzi pubblicitari di Transmeta si sono in parte alimentati dall'assunzione da parte dell'azienda dell'autore Linux e guru del software open source Linus Torvalds. Torvalds ha fatto parte del team di progettazione software di Transmeta e ultimamente ha lavorato su una versione di Linux che integrerà l'applicazione di Crusoe nel mercato in espansione dei dispositivi mobili.
Questa storia faceva parte del nostro numero di novembre 2000
- Vedi il resto del problema
- sottoscrivi
La stessa IPO è un documento austero e a bocca chiusa che rivela poco dei futuri piani di progettazione di Transmeta ed è invece pieno di avvertimenti su cosa potrebbe andare storto sulla strada della redditività di Transmeta. In effetti, al momento della stesura di questo articolo, non un singolo prodotto Crusoe è stato spedito in volume apprezzabile. La società ha perso 41 milioni di dollari nel 1999 e altri 43 milioni di dollari nei primi sei mesi del 2000; il prospetto chiarisce che gli investitori non dovrebbero aspettarsi di vedere la redditività nel prossimo futuro.
Ma sarebbe comunque difficile trovare una startup che sia iniziata più sotto i migliori auspici o con una migliore schiera di clienti iniziali. Lo scorso maggio, America Online e Gateway hanno dichiarato che Crusoe alimenterà una nuova linea di elettrodomestici dotati di accesso wireless alla rete. IBM, Hitachi, NEC e Fujitsu hanno seguito l'esempio a giugno, con l'annuncio di PC notebook basati su Crusoe che funzioneranno tutto il giorno con normali batterie. Sony ha annunciato ad agosto che Crusoe alimenterà una versione futura della sua linea di computer notebook Vaio PictureBook. Non male per un'azienda di chip senza impianto di fabbricazione e senza precedenti e la cui risorsa principale è, come dice Ditzel, la visione di un modo migliore per costruire microprocessori.
A partire da ora, l'approccio Transmeta sarà la tecnologia più intelligente, rapida, economica, affidabile e flessibile per risolvere praticamente qualsiasi problema relativo all'informatica, afferma John Wharton, consulente di progettazione di microprocessori, professore di Stanford ed ex ingegnere di progettazione per Intel. Cinquant'anni fa, i sistemi più sofisticati venivano costruiti utilizzando tubi a vuoto. Dieci anni fa, lo stato dell'arte era costituito da megaprocessori complessi e completamente integrati come Pentium e PowerPC. Ritengo che Transmeta rappresenti la prossima svolta nella tecnologia di progettazione fondamentale.
La pista che Transmeta sta tracciando porterà a chip che consumano molta meno energia elettrica. Questa è una buona notizia per chiunque utilizzi un computer portatile o altri dispositivi elettronici portatili. Ma più profondamente, Transmeta ha trovato un modo per migliorare radicalmente la capacità dei progettisti di chip di apportare modifiche ai loro prodotti senza alienare le enormi librerie di software che sono state scritte per funzionare su un particolare componente hardware. Hanno, in un certo senso, rimosso il fastidioso governatore dal motore del progresso nella produzione di chip.
Architettura della Liberazione
Sebbene ci sia stata molta copertura stampa su Transmeta come una nuova impresa, ciò che spesso si perde è la tecnologia stessa. Crusoe è un chip software/hardware ibrido il cui unico scopo è eseguire software progettato per altri microprocessori. Molto di ciò che Intel e altri realizzano con il silicio, Transmeta si è spostato sul software. I vantaggi? Innanzitutto, i chip stessi richiedono meno silicio, il che li rende più economici da costruire. In secondo luogo, un chip più semplice consuma meno energia, una preoccupazione fondamentale per i computer portatili. Ma forse l'impatto più di vasta portata è che nel creare Crusoe, Transmeta ha escogitato un approccio innovativo privo di molti dei problemi che hanno afflitto la progettazione dei chip negli ultimi due decenni.
Prima di Crusoe, ogni microprocessore mai costruito era dotato di un proprio set di istruzioni pubblicato, un contratto esplicito che spiegava come il chip funzionerà con il software. Un set di istruzioni promette che se gli sviluppatori scrivono software che esegue X, l'azione risultante dal chip sarà Y-ora e per sempre.
Il problema è che una volta progettato un nuovo chip, viene bloccato nel tempo. Man mano che l'inventario del software per il chip viene creato, diventa quasi impossibile apportare miglioramenti al set di istruzioni. Anche lo sviluppo del software è ostacolato, poiché qualsiasi nuovo programma deve obbedire alle leggi del set di istruzioni del chip per funzionare. I progettisti di microprocessori vogliono che i chip funzionino più velocemente, ma devono anche farli funzionare su software esistente. Quindi squittiscono incrementi di velocità con trucchi come il risequencing delle istruzioni al processore. Ma implementare grandi cambiamenti è quasi impossibile. È come una pessima corsa a tre gambe, con ingegneri software e hardware legati all'anca, mai in grado di muoversi velocemente verso l'adozione di prodotti all'avanguardia, tanto dipendono dalle scelte progettuali degli altri e dalle scelte dei precedenti generazioni.
Lo stesso Ditzel ha esperienza diretta della difficoltà di apportare miglioramenti fondamentali al progetto iniziale di un chip. Presso Sun Microsystems, dove ha lavorato prima di fondare Transmeta nel 1995, è stato incaricato di modificare il set di istruzioni per il marchio di microprocessori SPARC dell'azienda. Sebbene abbia intrapreso il progetto nel 1990, è stato solo l'anno scorso che il nuovo set di istruzioni era pronto per l'uso. Hai bisogno di tempo affinché l'industria si metta al passo, per ottenere software là fuori, per convertire le applicazioni, ha detto Ditzel a TR prima dell'IPO dell'azienda. È davvero un grosso problema.
Mimetica software
Per strappare i loro chip da istruzioni obsolete, i progettisti di microprocessori buttano via periodicamente tutto e ricominciano da capo con un chip completamente nuovo, completo di un nuovo set di istruzioni. È un processo che Intel sta affrontando con il suo microprocessore Itanium molto ritardato, che sarà il primo chip dell'azienda che instrada i dati in andane digitali di 64 bit, ovvero su un bus a 64 bit. Liberare i progettisti dal bus a 32 bit della generazione attuale si tradurrà in un grande balzo in avanti delle prestazioni. Ma ricominciare da capo si traduce anche in un chip che inizialmente non avrà alcun software da eseguire su di esso, difficilmente uno stato ideale. Anche se gli sviluppatori di software collaborano e iniziano a scrivere codice sul nuovo set di istruzioni, questo approccio funziona solo una volta: poi torni al punto di partenza, con software legacy e un ciclo di anni per apportare modifiche fondamentali.
Ditzel ha provato più di una volta nella sua carriera l'approccio iniziale alla progettazione dei chip. Due decenni fa, come studente laureato presso l'Università della California a Berkeley, è stato coautore di un articolo intitolato The Case for Reduced Instruction Set Computing. Questo lavoro fondamentale ha ispirato un'intera scuola di progettazione di microprocessori; oggi, i cosiddetti chip RISC sono ovunque.
Dopo essersi laureato in progettazione RISC a Berkeley, è passato alla progettazione di una variazione del chip RISC chiamata CRISP presso i Bell Labs; CRISP, tuttavia, non ha mai ottenuto un ampio supporto da parte degli sviluppatori di software. Ditzel fece quindi un terzo tentativo di progettare un nuovo microprocessore quando lavorò su un chip di arseniuro di gallio alla Sun che non fu mai prodotto. Era come se dicessi alla gente: guarda! Puoi usare questo nuovo fantastico microprocessore: tutto ciò che devi fare è buttare via tutto il tuo software e ricominciare da capo!”, ha detto Ditzel. Ho combattuto quella battaglia per 20 anni e mi sono arreso.
Ma non si è davvero arreso. Invece, ha trovato una via d'uscita.
Mentre lavorava alla Sun nei primi anni '90, Ditzel è stato influenzato dal lavoro dell'esperto di supercomputer russo Boris Babayan, con il quale aveva collaborato in modo informale e che nomina come mentore chiave nel suo pensiero in via di sviluppo sul design dei chip. A quel tempo, Babayan e la sua compagnia Elbrus stavano sperimentando una tecnica nota come traduzione e compilazione binaria dinamica (a cui Transmeta ha dato il nome molto più adatto al mercato di morphing del codice, un termine che da allora hanno registrato).
Scrivere codice in modo che un tipo di software possa essere eseguito su un altro tipo di hardware è una vecchia idea: IBM, ad esempio, l'ha fatto negli anni '60. I risultati di questi tentativi, tuttavia, furono sempre irrimediabilmente lenti. Ma i chip diventavano sempre più veloci. All'inizio degli anni '90, i progettisti ipotizzavano che potesse esserci un modo per tradurre da un set di istruzioni all'altro così rapidamente che le prestazioni sarebbero state a malapena compromesse. Invece di essere una traduzione statica, uno a uno di ogni istruzione, la tecnica potrebbe essere dinamica, esaminando l'applicazione per le inefficienze in tempo reale, correggendole e ricordando le correzioni.
È controintuitivo pensare che mettere un ulteriore livello di software tra un'applicazione e una CPU non rallenti le cose: è come dire che una linea curva tra due punti è più corta di una linea retta. Ma la relazione tra software e hardware non è più una linea retta: a causa delle inefficienze causate da anni di sviluppo intorno allo stesso set di istruzioni, la traduzione dinamica potrebbe, in teoria, migliorare le prestazioni. Dal punto di vista hardware, il processo di bloccare sempre più circuiti su un chip per ottenere gli ultimi miglioramenti delle prestazioni può effettivamente ritorcersi contro, rallentando le cose. Anche il software è raramente così efficiente come potrebbe essere pronto all'uso: gli sviluppatori di applicazioni con un occhio alla data di spedizione bloccheranno il codice quando funziona, non quando è perfetto. La traduzione dinamica potrebbe teoricamente trovare il gioco e stringerlo.
Prima che Ditzel fondasse Transmeta, le tecniche di traduzione venivano utilizzate solo per far parlare tra loro software e hardware esistenti e non compatibili. Ditzel e i suoi co-fondatori hanno fatto un salto intellettuale: se un ulteriore livello di software poteva far funzionare le applicazioni su hardware non compatibile, cosa avrebbe impedito loro di apportare modifiche radicali all'hardware sottostante stesso, sfruttando le funzionalità più recenti?
Nel 1994, Ditzel e il co-fondatore Doug Laird stavano entrambi uscendo da un progetto di Sun progettato per migliorare l'esecuzione di Windows sulle workstation Sun, utilizzando tecniche di traduzione binaria dinamica. Ci siamo resi conto che se potessimo solo aggiungere alcune funzionalità all'hardware, potremmo effettivamente rendere questa cosa piuttosto veloce, afferma Laird. È stata una bella idea, aggiunge, ricordando che Sun non era interessata a cambiare il design del suo processore per renderlo migliore nell'esecuzione di applicazioni che erano state scritte per funzionare su chip Intel standard. Ditzel e Laird si sono messi in proprio. Ditzel ha reclutato Colin Hunter, un rispettato esperto di tecniche di emulazione, e Robert Cmelik, che si era occupato di ottimizzazione del codice presso Sun.
Come spesso accade nell'innovazione tecnologica, la pratica si è rivelata più difficile della teoria: il primo progetto di chip di Transmeta è stato eseguito così lentamente che il chip ha impiegato mezz'ora solo per avviare il sistema operativo. Ma con ciascuna delle quattro revisioni del chip, il team ha imparato di più sulla traduzione binaria. Cinque anni di lavoro scrupoloso, eseguito da una brigata di 200 ingegneri supportati da diverse centinaia di milioni di dollari di capitale di rischio, hanno prodotto un chip che funzionava abbastanza velocemente da essere paragonato favorevolmente ai processori Intel. Nel gennaio di quest'anno, Transmeta ha annunciato i primi due chip ibridi silicio/software della linea Crusoe. Il primo, chiamato TM5400, è un chip da 700 megahertz per i notebook Windows ultrasottili e ultraleggeri. Esegue software scritto per chip Intel su una frazione della potenza consumata da un Pentium. Il secondo, il TM3120, è un chip da 400 MHz progettato per eseguire dispositivi Internet utilizzando una versione di Linux sviluppata da Torvalds per i dispositivi mobili.
Entrambi i chip presentano agli sviluppatori di software un volto completamente compatibile con il set di istruzioni nei processori Intel. Sotto ci sono i chip VLIW, per una parola di istruzione molto lunga, un'architettura con un bus a 128 bit che può combinare le istruzioni del chip Intel in stringhe più lunghe e quindi eseguirle più velocemente. Tra il set di istruzioni rivolto verso l'esterno e l'hardware sottostante c'è il software di morphing del codice di Transmeta, che traduce le istruzioni in stile Intel in una forma che Crusoe può gestire, ottimizza la loro esecuzione e memorizza le esecuzioni ottimizzate in memoria. La prossima volta che il chip incontra la stessa operazione, la traduzione non è più necessaria. Il software di morphing del codice (che risiede in un chip di memoria di sola lettura) è il primo programma da avviare all'avvio del processore.
Poiché gran parte delle funzionalità di Crusoe è stata spostata dall'hardware al software, il chip è molto più semplice di un processore Pentium comparabile e richiede solo un quarto dei transistor. Un vantaggio collaterale di un minor numero di transistor è che Crusoe utilizza molta meno energia per eseguire, da qui la decisione di Transmeta di indirizzare i suoi primi chip al mercato mobile. Un altro vantaggio dell'approccio Crusoe consiste nell'accorciare il tempo necessario per sviluppare un nuovo chip. Poiché gran parte del progetto risiede nel software, Ditzel afferma che alcuni clienti hanno già chiesto modifiche al set di istruzioni e che gli ingegneri Transmeta potrebbero implementarle in 24 ore. Sebbene questo probabilmente non includa il tempo per alcun tipo di test dei bug, è comunque chiaro che Transmeta ha trovato un modo per accorciare drasticamente il ciclo di sviluppo.
Nick Tredennick, co-architetto dell'originale Motorola 68000 (il processore che ha alimentato i primi Macintosh), e ora un consulente indipendente per la progettazione di microprocessori, non è il solo a concludere che Ditzel è su qualcosa. Quando ho sentito parlare per la prima volta di Crusoe, ho pensato che fosse solo l'ultima moda, o una rivisitazione dell'emulazione, che non ha mai funzionato, dice Tredennick. Ma dopo aver sentito parlare Ditzel, Tredennick si convertì. Transmeta, dice, sta facendo qualcosa di fondamentalmente diverso da quello che è stato fatto dall'invenzione del computer.
I chip di Transmeta sono intrinsecamente più semplici da progettare rispetto a quelli convenzionali, afferma Wharton di Stanford. Puoi apportare una modifica al software, incorporarlo in una versione di prova, eseguirlo e vedere se funziona, tutto in un pomeriggio. Nel regno dell'hardware, il tempo di consegna può essere compreso tra tre e nove mesi. Intel potrebbe impiegare 500 o 1.000 anni-uomo nella progettazione di Itanium. Il prossimo chip Transmeta potrebbe richiedere 10, 20 o 50. Questo è un matto per topi.
Il movimento verso la realizzazione di chip che siano ibridi di software e hardware, piuttosto che puro silicio, ha preso piede ampiamente. Ma è probabile che Transmeta manterrà il comando per il prossimo futuro. Questo perché Ditzel è stata la prima persona a portare queste idee fuori dal laboratorio, assumere 200 dipendenti per lavorarci e costruire un chip che ha funzionato. Lungo la strada, ha creato almeno due blocchi stradali che rallenteranno la sua concorrenza.
Il primo sono gli strumenti di test dell'azienda. In effetti, i gioielli di Transmeta probabilmente non sono nemmeno i chip stessi, ma piuttosto il software diagnostico che l'azienda è stata costretta a creare nel processo di sviluppo. Gli strumenti standard disponibili per il controllo dei chip convenzionali presuppongono tutti l'esistenza di una relazione statica tra il software, un chip e una determinata istruzione. Transmeta aveva bisogno di risolvere il problema di testare un microprocessore che cambia dinamicamente in risposta al software che esegue. Altre aziende dovranno iniziare da zero per creare i propri strumenti di test, il che potrebbe richiedere facilmente un anno o più.
