211service.com
Chip oprogramowania
Co takiego jest w CEO Transmety, Dave'ie Ditzel, że chcesz mu wierzyć? Może to sposób, w jaki bezwstydnie używa słów takich jak fajny i schludny. Może to dlatego, że miał czelność zbudować swoją nową firmę chipową z myślą o siedzibie Intela. Może dlatego, że nigdy nie kończy zdania, tak entuzjastycznie podchodzi do Crusoe, marki mikroprocesorów jego firmy. Od stycznia zeszłego roku, kiedy Crusoe został ogłoszony w blasku fanfar, aż do połowy sierpnia, kiedy firma złożyła wniosek o wejście na giełdę, Ditzel zrobił się zachrypnięty, naciskając chip Crusoe. Czy to w obecności 200 inżynierów, czy jednego reportera, jego przesłanie było nie do zdarcia: Crusoe — chip kompatybilny z Intelem o jednej dziesiątej zapotrzebowania na energię Pentium III — na zawsze zmieni świat komputerów. Crusoe ma niską moc, jest kompatybilny i ma wysoką wydajność, powiedział w jednym z serii wywiadów przeprowadzonych przed sierpniowym zgłoszeniem. To nasza mantra.
Tego lata firma i Ditzel zamilkli na cichy okres, który następuje po każdej pierwszej ofercie publicznej. Ale do tego czasu przesłanie Crusoe zaczęło żyć własnym życiem: od czasów Apple iMac nie było takiego zamieszania w Dolinie Krzemowej, jak to, które Crusoe sprowadził na brzeg. Nie jest niespodzianką, że zeszłej wiosny znawcy Valley wyszperali Upside i Red Herring jako okładki Transmety, ale zanim zaczął się cichy okres, Ditzel był również cytowany w Time, USA Today i hordzie innych publikacji konsumenckich. Wysiłki reklamowe Transmety po części opierały się na zatrudnieniu przez firmę autora Linuksa i guru oprogramowania open source Linusa Torvaldsa. Torvalds był częścią zespołu projektowego firmy Transmeta i ostatnio pracował nad wersją Linuksa, która uzupełni aplikację Crusoe na dynamicznie rozwijającym się rynku urządzeń mobilnych.
Ta historia była częścią naszego wydania z listopada 2000 r.
- Zobacz resztę numeru
- Subskrybuj
Samo IPO jest ponurym, zamkniętym dokumentem, który niewiele ujawnia o przyszłych planach projektowych Transmety, a zamiast tego jest pełen ostrzeżeń o tym, co może się nie udać na drodze Transmety do rentowności. Rzeczywiście, w chwili pisania tego tekstu ani jeden produkt Crusoe nie został wysłany w znacznej ilości. Firma straciła 41 milionów dolarów w 1999 roku i kolejne 43 miliony dolarów w pierwszych sześciu miesiącach 2000 roku; z prospektu jasno wynika, że inwestorzy nie powinni spodziewać się rentowności w najbliższej przyszłości.
Niemniej jednak trudno byłoby znaleźć startup, który zaczynał pomyślnie lub z lepszym składem początkowych klientów. W maju ubiegłego roku America Online i Gateway ogłosiły, że Crusoe będzie zasilać nową linię urządzeń gospodarstwa domowego, które będą wyposażone w bezprzewodowy dostęp do sieci. IBM, Hitachi, NEC i Fujitsu poszły w ich ślady w czerwcu, ogłaszając notebooki oparte na Crusoe, które będą działać przez cały dzień na zwykłych bateriach. Sony ogłosiło w sierpniu, że Crusoe będzie zasilać przyszłą wersję swojej linii notebooków Vaio PictureBook. Nieźle jak na firmę produkującą mikroukłady, która nie ma zakładu produkcyjnego ani historii, a której głównym atutem jest, jak to ujął Ditzel, wizja lepszego sposobu budowy mikroprocesorów.
Od teraz podejście Transmeta będzie najmądrzejszą, najszybszą, najtańszą, najbardziej niezawodną i najbardziej elastyczną technologią, która rozwiąże praktycznie każdy problem związany z komputerami, mówi John Wharton, konsultant ds. projektowania mikroprocesorów, profesor Stanford i były inżynier projektu w firmie Intel. Pięćdziesiąt lat temu najbardziej wyrafinowane systemy były budowane przy użyciu lamp próżniowych. Dziesięć lat temu stan techniki obejmował złożone, w pełni zintegrowane megaprocesory, takie jak Pentium i PowerPC. Uważam, że Transmeta reprezentuje kolejny przełom w fundamentalnej technologii projektowania.
Ścieżka, którą przeciera Transmeta, doprowadzi do chipów zużywających znacznie mniej energii elektrycznej. To dobra wiadomość dla każdego, kto korzysta z laptopa lub innych przenośnych urządzeń elektronicznych. Ale co głębsze, Transmeta znalazła sposób na radykalną poprawę zdolności projektantów układów scalonych do wprowadzania zmian w swoich produktach bez alienowania ogromnych bibliotek oprogramowania, które zostały napisane z myślą o działaniu na konkretnym sprzęcie. W pewnym sensie usunęli nieznośnego gubernatora z silnika postępu w produkcji chipów.
Architektura wyzwolenia
Chociaż w prasie pojawiło się wiele relacji na temat Transmety jako nowego przedsięwzięcia, często gubi się sama technologia. Crusoe to hybrydowy układ programowo-sprzętowy, którego jedynym celem jest uruchamianie oprogramowania zaprojektowanego dla innych mikroprocesorów. Wiele z tego, co Intel i inni osiągają w krzemie, Transmeta przerzuciła się na oprogramowanie. Zalety? Po pierwsze, same chipy pobierają mniej krzemu, co czyni je tańszymi w budowie. Po drugie, prostszy chip zużywa mniej energii, co ma ogromne znaczenie w przypadku komputerów przenośnych. Ale być może najbardziej dalekosiężny wpływ polega na tym, że tworząc Crusoe, Transmeta opracowała innowacyjne podejście, wolne od wielu problemów, które nękały projektowanie chipów przez ostatnie dwie dekady.
Przed Crusoe każdy mikroprocesor, jaki kiedykolwiek zbudowano, był dostarczany z własnym opublikowanym zestawem instrukcji — wyraźną umową, która określa, w jaki sposób chip będzie współpracował z oprogramowaniem. Zestaw instrukcji obiecuje, że jeśli programiści napiszą oprogramowanie obsługujące X, wynikowa akcja z chipa będzie Y-teraz i na zawsze.
Problem polega na tym, że po zaprojektowaniu nowego chipa jest on blokowany w czasie. W miarę tworzenia inwentarza oprogramowania dla chipów, wprowadzanie ulepszeń w zestawie instrukcji staje się prawie niemożliwe. Rozwój oprogramowania jest również utrudniony, ponieważ każdy nowy program musi przestrzegać praw zestawu instrukcji układu, aby mógł działać. Projektanci mikroprocesorów chcą, aby chipy działały szybciej, ale muszą również sprawić, by działały na istniejącym oprogramowaniu. Więc wykrzykują przyrosty prędkości za pomocą sztuczek, takich jak ponowne sekwencjonowanie instrukcji do procesora. Ale wprowadzenie poważnych zmian jest prawie niemożliwe. To jak bardzo kiepski wyścig na trzech nogach, z inżynierami oprogramowania i sprzętu związanymi po biodrze – nigdy nie są w stanie szybko podążyć w kierunku przyjęcia najnowocześniejszych produktów, więc są oni tak zależni od swoich wyborów projektowych i wyborów poprzednich pokolenia.
Sam Ditzel ma doświadczenie z pierwszej ręki w kwestii trudności w dokonaniu fundamentalnej poprawy początkowego projektu chipa. W Sun Microsystems, gdzie pracował przed założeniem firmy Transmeta w 1995 roku, był odpowiedzialny za zmianę zestawu instrukcji dla mikroprocesora marki SPARC. Chociaż rozpoczął projekt w 1990 roku, dopiero w zeszłym roku nowy zestaw instrukcji był gotowy do użycia. Potrzebujesz czasu, aby branża nadrobiła zaległości, aby udostępnić oprogramowanie, przekonwertować aplikacje, powiedział Ditzel TR przed debiutem giełdowym firmy. To naprawdę wielka sprawa.
Kamuflaż oprogramowania
Aby wyrwać swoje chipy z przestarzałych instrukcji, projektanci mikroprocesorów co jakiś czas wyrzucają wszystko i zaczynają od nowa z zupełnie nowym chipem, wraz z zupełnie nowym zestawem instrukcji. Jest to proces, z którym zmaga się Intel dzięki znacznie opóźnionemu mikroprocesorowi Itanium, który będzie pierwszym układem firmy, który przekierowuje dane w cyfrowych pasmach 64-bitowych, czyli po 64-bitowej magistrali. Uwolnienie projektantów od 32-bitowej magistrali obecnej generacji zaowocuje ogromnym skokiem w zakresie wydajności. Ale rozpoczęcie od nowa skutkuje również powstaniem chipa, który początkowo nie będzie miał żadnego oprogramowania do uruchomienia, co nie jest stanem idealnym. Nawet jeśli twórcy oprogramowania współpracują i zaczynają pisać kod do nowego zestawu instrukcji, to podejście działa tylko raz: potem wracasz do miejsca, w którym zacząłeś, ze starszym oprogramowaniem i wieloletnim cyklem wprowadzania fundamentalnych zmian.
Ditzel wielokrotnie w swojej karierze próbował podejścia do projektowania układów od początku. Dwie dekady temu, jako doktorant na Uniwersytecie Kalifornijskim w Berkeley, był współautorem artykułu zatytułowanego The Case for Reduced Instruction Set Computing. Ta przełomowa praca zainspirowała całą szkołę projektowania mikroprocesorów; dziś tak zwane chipy RISC są wszędzie.
Po ukończeniu studiów nad projektowaniem RISC w Berkeley, przeniósł się do projektowania wariacji układu RISC o nazwie CRISP w Bell Labs; CRISP nigdy jednak nie zyskał szerokiego poparcia ze strony twórców oprogramowania. Następnie Ditzel podjął trzecią próbę zaprojektowania nowego mikroprocesora, pracując w Sun nad chipem z arsenku galu, który nigdy nie został wyprodukowany. To było tak, jakbym mówił ludziom: patrzcie! Możesz używać tego wspaniałego nowego mikroprocesora — wystarczy, że wyrzucisz całe swoje oprogramowanie i zaczniesz od nowa!” – powiedział Ditzel. Walczyłem z tą walką przez 20 lat i się poddałem.
Ale tak naprawdę się nie poddał. Zamiast tego znalazł wyjście.
Pracując w Sun na początku lat 90., Ditzel był pod wpływem pracy rosyjskiego eksperta od superkomputerów Borisa Babayana, z którym nieformalnie współpracował i którego wymienia jako kluczowego mentora w jego rozwoju myśli o projektowaniu chipów. W tym czasie Babayan i jego firma Elbrus eksperymentowali z techniką znaną jako dynamiczne tłumaczenie binarne i kompilacja (której Transmeta nadała znacznie bardziej przyjazną rynkowi nazwę kodowania morfingu, termin, który od tamtej pory jest znakiem towarowym).
Pisanie kodu, aby jeden rodzaj oprogramowania mógł działać na innym sprzęcie, to stary pomysł: na przykład IBM zrobił to w latach 60. XX wieku. Wyniki tych prób były jednak zawsze beznadziejnie powolne. Ale żetony stawały się coraz szybsze. Na początku lat 90. projektanci postulowali, że może istnieć sposób na tak szybkie tłumaczenie z jednego zestawu instrukcji na inny, że wydajność prawie nie ucierpi. Zamiast być statycznym, indywidualnym tłumaczeniem każdej instrukcji, technika może być dynamiczna, badając aplikację pod kątem nieefektywności w czasie rzeczywistym, poprawiając je i zapamiętując poprawki.
Myślenie, że umieszczenie dodatkowej warstwy oprogramowania między aplikacją a procesorem nie spowolniłoby działania, jest sprzeczne z intuicją — to tak, jakby powiedzieć, że zakrzywiona linia między dwoma punktami jest krótsza niż linia prosta. Ale związek między oprogramowaniem a sprzętem nie jest już prostą linią: z powodu nieefektywności spowodowanej latami opracowywania tego samego zestawu instrukcji, dynamiczne tłumaczenie może teoretycznie poprawić wydajność. Po stronie sprzętowej proces zacinania coraz większej liczby obwodów na chipie w celu zniwelowania ostatnich przyrostów wydajności może w rzeczywistości przynieść odwrotny skutek, spowalniając działanie. Oprogramowanie również rzadko jest tak wydajne, jak mogłoby być gotowe do użycia: programiści aplikacji mający oko na datę wydania będą zamrażać kod, gdy działa, a nie wtedy, gdy jest idealny. Tłumaczenie dynamiczne mogłoby teoretycznie znaleźć luz i go dokręcić.
Zanim Ditzel założył Transmetę, techniki tłumaczeniowe były używane tylko po to, by istniejące, niekompatybilne oprogramowanie i sprzęt rozmawiały ze sobą. Ditzel i jego współzałożyciele dokonali intelektualnego skoku: jeśli dodatkowa warstwa oprogramowania może sprawić, że aplikacje będą działać na niekompatybilnym sprzęcie, co powstrzyma ich przed dokonaniem radykalnych zmian w samym sprzęcie bazowym, wykorzystując najnowsze możliwości?
W 1994 roku Ditzel i współzałożyciel Doug Laird kończyli projekt w firmie Sun, mający na celu usprawnienie działania systemu Windows na stacjach roboczych Sun, przy użyciu technik dynamicznego tłumaczenia binarnego. Zdaliśmy sobie sprawę, że gdybyśmy mogli po prostu dodać kilka funkcji do sprzętu, moglibyśmy sprawić, że to wszystko pójdzie dość szybko, mówi Laird. Dodaje, że to fajny pomysł, przypominając, że Sun nie był zainteresowany zmianą konstrukcji swojego procesora, aby lepiej działał z aplikacjami, które zostały napisane z myślą o standardowych układach Intela. Ditzel i Laird wyruszyli na własną rękę. Ditzel zatrudnił Colina Huntera, szanowanego eksperta w dziedzinie technik emulacji, oraz Roberta Cmelika, który pracował nad optymalizacją kodu w firmie Sun.
Jak to często bywa w przypadku innowacji technologicznych, praktyka okazała się trudniejsza niż teoria: pierwszy projekt chipa Transmety działał tak wolno, że samo uruchomienie systemu operacyjnego zajęło chipowi pół godziny. Jednak dzięki każdej z czterech wersji chipów zespół dowiedział się więcej o translacji binarnej. Pięć lat żmudnej pracy wykonanej przez brygadę 200 inżynierów wspieranych przez kilkaset milionów dolarów kapitału podwyższonego ryzyka zaowocowało powstaniem chipa, który działał wystarczająco szybko, aby wypadać korzystnie w porównaniu z procesorami Intela. W styczniu tego roku Transmeta ogłosiła pierwsze dwa hybrydowe układy krzemowo-programowe z linii Crusoe. Pierwszy, nazwany TM5400, to 700-megahercowy układ przeznaczony do ultracienkich, ultralekkich notebooków z systemem Windows. Obsługuje oprogramowanie napisane dla chipów Intela na ułamku mocy zużywanej przez Pentium. Drugi, TM3120, to układ 400-MHz przeznaczony do obsługi urządzeń internetowych przy użyciu wersji Linuksa opracowanej przez Torvalds dla urządzeń mobilnych.
Oba układy stanowią twarz dla twórców oprogramowania, która jest całkowicie zgodna z zestawem instrukcji w procesorach Intela. Poniżej znajdują się chipy VLIW, dla bardzo długiego słowa instrukcji, architektura z 128-bitową magistralą, która może łączyć instrukcje chipa Intela w dłuższe ciągi, a tym samym wykonywać je szybciej. Pomiędzy zestawem instrukcji skierowanym na zewnątrz a podstawowym sprzętem znajduje się oprogramowanie Transmeta do przekształcania kodu, które tłumaczy instrukcje w stylu Intela na formę, którą może obsłużyć Crusoe, optymalizuje ich wykonanie i przechowuje zoptymalizowane wykonania w pamięci. Następnym razem, gdy chip napotka tę samą operację, translacja nie będzie już potrzebna. Oprogramowanie do morfingu kodu (które znajduje się w układzie pamięci tylko do odczytu) jest pierwszym programem uruchamianym po uruchomieniu procesora.
Ponieważ tak wiele funkcji Crusoe zostało przeniesionych ze sprzętu do oprogramowania, chip jest znacznie prostszy niż porównywalny procesor Pentium i wymaga tylko jednej czwartej liczby tranzystorów. Dodatkową korzyścią z mniejszej liczby tranzystorów jest to, że Crusoe zużywa znacznie mniej energii, aby uruchomić decyzję Transmety o ukierunkowaniu swoich pierwszych chipów na rynek mobilny. Kolejną zaletą podejścia Crusoe jest skrócenie czasu potrzebnego na opracowanie nowego chipa. Ponieważ większość projektu znajduje się w oprogramowaniu, Ditzel mówi, że niektórzy klienci już prosili o zmiany w zestawie instrukcji i że inżynierowie Transmeta mogli je wdrożyć w ciągu 24 godzin. Chociaż prawdopodobnie nie obejmuje to czasu na jakiekolwiek testowanie błędów, jasne jest jednak, że Transmeta znalazła sposób na drastyczne skrócenie cyklu rozwoju.
Nick Tredennick, współtwórca oryginalnej Motoroli 68000 (procesor, który napędzał pierwsze komputery Macintosh), a teraz niezależny konsultant ds. projektowania mikroprocesorów, nie jest jedynym, który doszedł do wniosku, że Ditzel ma coś wspólnego. Kiedy po raz pierwszy usłyszałem o Crusoe, pomyślałem, że to tylko najnowsza moda lub odświeżenie emulacji, która nigdy nie zadziałała, mówi Tredennick. Ale po usłyszeniu przemawiającego Ditzela, Tredennick został nawrócony. Mówi, że Transmeta robi coś zasadniczo innego od tego, co robiono od czasu wynalezienia komputera.
Chipy Transmety są z natury prostsze w projektowaniu niż konwencjonalne, mówi Wharton ze Stanforda. Możesz wprowadzić zmiany w oprogramowaniu, włączyć je do wersji testowej, uruchomić i sprawdzić, czy działa, wszystko w jedno popołudnie. W dziedzinie sprzętu czas realizacji może wynosić od trzech do dziewięciu miesięcy. Intel może poświęcić 500 lub 1000 osobo-lat na zaprojektowanie Itanium. Następny chip Transmeta może wymagać 10, 20 lub 50. To mysie orzechy.
Szeroko przyjął się ruch w kierunku tworzenia chipów, które są hybrydą oprogramowania i sprzętu, a nie czystego krzemu. Ale Transmeta prawdopodobnie utrzyma prowadzenie w dającej się przewidzieć przyszłości. To dlatego, że Ditzel był pierwszą osobą, która wyjęła te pomysły z laboratorium, zatrudniła 200 pracowników do pracy nad nimi i zbudowała chip, który działał. Po drodze stworzył co najmniej dwie blokady, które spowolnią jego konkurencję.
Pierwszym z nich są narzędzia testowe firmy. Rzeczywiście, klejnoty Transmety prawdopodobnie nie są nawet samymi chipami, ale raczej oprogramowaniem diagnostycznym, które firma była zmuszona stworzyć w procesie rozwoju. Wszystkie gotowe narzędzia do sprawdzania konwencjonalnych chipów zakładają, że istnieje statyczna zależność między oprogramowaniem, chipem i daną instrukcją. Transmeta musiała rozwiązać problem testowania mikroprocesora, który zmienia się dynamicznie w odpowiedzi na uruchomione oprogramowanie. Inne firmy będą musiały zacząć od zera, aby zbudować własne narzędzia testowe, co z łatwością może zająć rok lub dłużej.
