Говорите длиннее: история процессоров компании Transmeta
Когда 19 января 2000 года, общественности был представлен новый процессор Transmeta Crusoe (странно, но презентация прошла в среду, а не в пятницу), разнообразные, порой неправдоподобные, слухи о компании ходили вот уже почти два с половиной года — с тех пор, как появился ее сайт с чистой главной страницей и заголовком «Not yet the Transmeta home page». За пару месяцев до релиза, на странице начали появляться намеки на предстоящую презентацию, но они лишь подогревали слухи…
Сама же компания была основана еще в 1995 году и с тех самых пор в атмосфере строжайшей секретности разрабатывала процессор будущего. Быстрый, холодный и удивительный. Он должен был составить конкуренцию грандам — Intel и AMD. Он должен был быть полностью совместим с ними, имея при этом внутри устройство, совершенно иное от соперников.
Привычные снаружи, необычные внутри
Незадолго до этого, в 1994, NexGen представила свой уникальный процессор Nx586, в котором обычные х86 инструкции транслировались в RISC-подобные микрооперации, выполнявшиеся его ядром. В конце 1995 должен будет появиться ответ Intel — великолепный Pentium Pro, следующий той же идее, но имеющий еще и возможность внеочередного исполнения инструкций. В Transmeta решили пойти еще дальше, и построить свой х86 процессор не вокруг RISC-ядра, а применить подход VLIW — Very Long Instruction Word, очень длинная машинная команда.
Процессор должен был работать с командами длиной аж 128 бит, в одной команде содержались инструкции сразу для нескольких исполнительных блоков, которые должны выполняться одновременно. При этом упрощается декодер микроопераций, не требуется блок внеочередного исполнения — ядро процессора очень сильно упрощается, позволяя использовать процессорный бюджет на дополнительные исполнительные устройства или увеличение объема кэш-памяти. Но плата за это — значительное усложнение компиляторов и повышение требований к уровню разработчиков, занимающихся оптимизацией производительности приложений.
Интеллект программиста против транзисторного бюджета
Во времена «толстых» техпроцессов экономия транзисторного бюджета значительно перевешивала потенциальные программные сложности и Transmeta была не одинока — еще три компании работали над реализацией идей VLIW. Первой и второй были HP и Intel, а их совместной разработкой — 64-битный процессор Merced, получивший впоследствии имя Itanium и грустное прозвище «Итаник», он реализовывал архитектуру EPIC, придуманную HP и доработанную Intel (позднее была переименована в IA-64), третьей же — российская МЦСТ (Московский центр SPARC технологий), возглавляемая Борисом Бабаяном, работавшая над процессором Эльбрус-2000 (E2K).
Главное отличие Эльбруса и «Итаника» — хотя они изначально разрабатывались для исполнения нативного кода для своей архитектуры, оба имели довольно эффективный программный транслятор х86 кода, позволяющий с некоторой потерей производительности запускать привычные приложения.
Crusoe же должен был стать универсальным процессором, за счет транслятора интегрированного в прошивку, способного исполнять как х86-код так и любой другой.Слухи ходили об одновременной работе с х86 и PowerPC программами, но процессор не был рассчитан на исполнение программ в нативном коде — в нем отсутствовал MMU, так как его функционал реализовали в трансляторе. Даже BIOS выполнялся уже поверх транслятора.
Сам транслятор назывался Code Morphing Software и, в отличие от трансляторов других VLIW-процессоров обладал дополнительными возможностями. Главными из них были кэширование инструкций, для чего при запуске CMS занимал 16 Мбайт оперативной памяти (32 Мбайт в поздних версиях) и возможность самообучения для оптимизации трансляции. К сожалению, все это хорошо работало в первую очередь на небольших повторяющихся операциях, например… в синтетических бенчмарках. В реальных же задачах выигрыш от кэширования был невелик.
Знакомые все лица
Ключевой фигурой в истории Transmeta является Дэвид Дитцель (David Ditzel), в течение долгих лет занимавший должности вице-президента, президента и CTO компании. Признанный эксперт в области процессорных архитектур, он начинал свою карьеру в Sun Microsystems, компании создавшей архитектуру SPARC.
Да, именно на основе этой архитектуры ведет разработку процессоров для встраиваемых решений МЦСТ — не Эльбрусом единым. И конечно, Дэвид Дитцель бывал в России и довольно тесно сотрудничал с Борисом Бабаяном. Обмен идеями между двумя создателями VLIW-процессоров — известный факт. Также, как и взаимодействие МЦСТ с Intel, более того с 2004 года Борис Бабаян перешел на работу в Intel, где его успехи в разработке процессоров и трансляторов команд были оценены очень высоко.
Обратите внимание, речь ни в коем случае не идет о краже идей с той или другой стороны — это действительно было сотрудничество ученых-разработчиков и оно принесло пользу всем его участникам — и самим ученым, и компаниям. В результате, правда, и Борис Бабаян и несколько позже Дэвид Дитцель оказались в Intel… А из трех проектов VLIW-процессоров общего назначения жив и относительно успешен только один — внезапно, Эльбрус.
Еще один интересный факт — на Transmeta c 1997 по 2003 год работал главный линуксоид планеты Земля — Линус Торвальдс. Эта информация не особо скрывалась и в «период секретности» компании, что добавляло интереса слухам о разработке, ведущейся в ее недрах.
Премьера года
Итак, вернемся в 19 января 2000 года. В этот день были представлены две модели процессоров.
Младшая модель, Crusoe TM3120 предназначалась для самых компактных устройств — HandheldPC, называемых также клавиатурными КПК и для планшетов. Планшетные компьютеры существовали уже давно, в основном с перьевым вводом (электронное перо, экран таких машин не был сенсорным, использовались, как правило, технологии наподобие Wacom), выпускались даже оболочки для DOS с поддержкой управления без клавиатуры, существовала специальная версия от Microsoft — Windows for Pen Computing.
Развитие их остановилось очень быстро, а сами они были исключительно нишевыми продуктами — сказывалась высокая цена, немалые габариты и большая масса. А со временем — и недостаточная автономность. Наладонные компьютеры почти с самого начала использовали процессоры других архитектур — MIPS, SuperH, ARM.
Вездесущая х86 была представлена немногими моделями на устаревших к моменту их появления 8088 (Atari Portfolio) и 80186 (в составе SoC Intel Hornet — HP 100LX/200LX). Демонстрационным девайсом на презентации был специально созданный планшет с сенсорным экраном.
Технически TM3120 был довольно скромен — 333, 366 или 400 МГц, 96 Кбайт кэша первого уровня и напряжение питания 1.5 В при максимальном тепловыделении 3 Вт. Кэш второго уровня не предусматривался, не было и поддержки дополнительных технологий энергосбережения, но даже без нее, в простое потребляемая мощность снижалась до 0.015 Вт, в большинстве задач — до 1 Вт. Выпускался процессор по техпроцессу 0.22 мкм.
Старшая модель TM5400 была куда интереснее. Она дебютировала сразу на 0.18 мкм техпроцессе с частотами от 500 до 700 МГц. Увеличился объем кэша первого уровня — до 128 Кбайт, появился второй уровень — вполне убедительные 256 Кбайт (такой же объем имел актуальный на тот момент Pentium III «Coppermine»).
С тепловыделением дела обстояли еще лучше, хотя процессор и был создан для субноутбуков (для handheld он получался дороговат) — благодаря технологии LongRun частота процессора и напряжение питания могли плавно регулироваться, в зависимости от нагрузки.
Оба варианта выпускались в одинаковом корпусе, керамическом 474-контактном BGA, для распайки на материнской плате. Сокетная версия не предусматривалась — в субноутах каждый миллиметр толщины на вес золота. Crusoe стали одними из первых процессоров с интегрированным контроллером памяти (PC133 SDRAM), а также контроллером шины PCI.
Поддержки AGP не было, но она и не требовалась — реализация интерфейса потребовала бы дополнительной энергии, а производительности PCI-чипов (интегрированного видео не предусматривалось) было вполне достаточно для вывода изображения на экран, просмотра видео и простых игр.
Ни для процессоров первой серии, ни для последующих Transmeta не представила чипсетов. Впрочем, требовался им только южный мост, все функции северного уже были интегрированы в процессор. А раз «южник» подключается по стандартной шине PCI, зачем создавать свой — можно использовать уже существующие.
Чаще всего использовались чипы от ALi, реже VIA (последний PCI мост VT82C686A/B), но встречались и системы с Intel PIIX4 (82371MB/EB), например один самых известных ноутбуков на базе Crusoe — Sony Vaio C1, также известный как Picturebook.
Пожалуйста, ожидайте
С производительностью все оказалось непросто. По тестам 700 МГц TM5400 соответствовал Pentium III 500 МГц, но в реальности пользователи отмечали куда более медленную работу систем. Субъективно же Windows XP (некоторые ноутбуки поставлялись уже с ней) на более позднем TM5600 533 МГц с 512 Кбайт L2 кэша еле шевелится, хотя на Dell Latitude CPx с Pentium III 500 МГц работает не быстро, но вполне сносно. В обоих случаях использовалось 128 Мбайт ОЗУ (для ОС на системе с Crusoe доступно 112 Мбайт) и 10 Гбайт жесткие диски IBM Travelstar.
Но свою нишу Crusoe все-таки нашел — он заменил устаревшие и невероятно медленные Cyrix MediaGX / Geode GXm в самых маленьких и легких ноутбуках. Здесь его производительность была прорывом, значительно увеличилось время работы от батарей. А в сравнении с ULV-версиями процессоров Intel (не забываем, что им требовался полноценный чипсет) Crusoe все равно оказывался холоднее, системы на его основе компактнее, а производительность не настолько плоха. Ведь ему соответствовали Celeron 300 или 400 МГц, а в самом лучше случае — Pentium III 600 МГц, уступавший по автономности.
Не останавливаясь на достигнутом
Transmeta, хоть и была вполне довольна занятой нишей, продолжила развитие линейки. Уже осенью 2000 года появились Crusoe TM5600 (300-667 МГц) с удвоенным кэшем второго уровня. TM3120 был переименован в TM3200, но никаких обновлений не получил. Виной тому очень низкий спрос на младшую модель, в основном он применялся в платах для промышленных и встраиваемых решений, выпускавшихся небольшим тиражом.
В то же время, основное (теперь уже не старшее) семейство развивалось довольно плодотворно. В июне 2001 года Crusoe был переведен на 0.13 мкм техпроцесс. Процессоры стали обозначаться TM5500 (256 Кбайт L2) и TM5800 (512 Кбайт L2). Новые модели стали еще экономичнее, расширился частотный диапазон. Младшие модели работали на 300 МГц, старшие же достигли 800 МГц (TM5500) и 1000 МГц (TM5800). Их главным конкурентом стал Pentium III ULV с частотой 600 МГц.
Следующее обновление произошло лишь через два с половиной года, в январе 2004 и стало финальным. TM5700 и TM5900 получили поддержку памяти DDR SDRAM и новое исполнение — 399-контактный OBGA размером всего 21х21 мм. Частоты и техпроцесс остались прежними. Transmeta метила в новую нишу — недорогие и компактные системы, в том числе и настольные Mini-ITX компьютеры, где собиралась конкурировать с VIA C3. С этого момента Crusoe отошел на вторую роль, у Transmeta появился новый флагман.
Попробуем снова
В том же 2004 году, грянула новинка — 256-битный(!) процессор Transmeta Efficeon. Конечно, 256-битными стали только команды, процессор все также оперировал 32-разрядными данными. И все же, результат был налицо! Новые процессоры работали с частотами до 1.3 ГГц, имели 192 Кбайт кэша L1 и 1 Мбайт кэша L2, а вместо PCI получили поддержку шин AGP и HyperTransport.
Теперь южные мосты можно было заимствовать у чипсетов ALi/ULi — они тоже использовали новую шину. При этом энергопотребление несколько возросло — 5 Вт для процессора с частотой 1 ГГц и 14 Вт при 1.3 ГГц, а производительность подтянулась до относительно актуального уровня.
Впрочем, конкурировать приходилось уже Pentium M и платформой Centrino — это уже совсем другой уровень, в отличие от старого Pentium III ULV. Transmeta снова оказалась в позиции догоняющей, но все равно не сдавалась. Efficeon вышел сразу в трех вариантах. Описанный выше TM8600 и удешевленный TM8300 (с вдвое уменьшенным кэшем второго уровня) выпускались в исполнении FC-OBGA 783 размером 29х29 мм, а версия для еще более компактных систем, TM8620 получила корпус FC-OBGA 592 размером 21х21 мм.
Площадь ядра тем временем увеличилась вдвое при сохранении прежнего техпроцесса, отражая двукратное усложнение самого процессора. Новые продукты получили обновленную технологию энергосбережения LongRun 2, еще более гибкую и эффективную.
Несмотря на анонс целой линейки процессоров, реально доступны долгое время были младшие 1 ГГц модели, только к середине 2004 года старшие модели пошли в тираж. Ситуация с частотными характеристиками улучшилась в начале 2005, когда Efficeon перебрался на 0.09 мкм техпроцесс — появились процессоры с частотой 1.6 и даже 2.0 ГГц, получившие обозначение TM8800/TM8820 и TM8500.
Вот только тепловыделение с увеличением частоты росло катастрофически — если на 1.0 ГГц оно составляло 3 Вт, а при 1.6 ГГц — 7 Вт, то при 1.8 — уже 12 Вт. 2.0 ГГц Efficeon сравнялся с полновольтной (!) версией Pentium M — 25 Вт, при этом в реальных приложениях отставая в среднем в полтора раза.
Но это был уже последний рывок. Если поначалу были надежды на развитие, то платформа Centrino не оставила конкурентам ни единого шанса. Компания за все время не приносила прибыль, и только в 2005 году доходы смогли превысить расходы. Осенью 2006 года, Transmeta подала иск против Intel, обвиняя последнюю в нарушении патентов, связанных с технологиями энергосбережения.
Тяжба еще шла, когда к феврале 2007 года, Transmeta объявила о сворачивании разработки и закрытии инженерных отделов. Компания перешла к торговле интеллектуальной собственностью — лицензированию архитектурных наработок и технологий энергосбережения. Лицензию на использование LongRun приобрели nVidia, Sony, Fujitsu, NEC и даже Intel.
Последнее стало результатом урегулирования иска, Intel согласилась выплатить Transmeta $250 миллионов, но это не вернуло к жизни разработку процессоров. 17 ноября 2008 года было объявлено о продаже Transmeta компании Novafora, которая в свою очередь обанкротилась год спустя. На этом историю Transmeta можно считать законченной.
Артефакты
Пусть история этой компании-выскочки закончилась быстро, от этого не она не перестает быть яркой вплоть до самого конца. Системы на основе процессоров Transmeta не смогли закрепиться в каталогах компаний, но те немногие компьютеры, что содержали в себе кремниевое сердце Crusoe или Efficeon были какими угодно, только не ординарными.
Ну, кроме, пожалуй двух. Выпустить недорогой и долгоиграющий среднеразмерный ноутбук на устаревающем (и потому доступном!) ультрамобильном чипе? Идея неплохая — еще со времен популярности нетбуков такие машины существовали и вполне популярны сейчас. Но еще за несколько лет до бума нетбуков, в 2004, известнейшая (в основном дешевизной своей продукции) компания Elitegroup представила партнерам 15-дюймовую платформу (в идентичный корпус на выбор устанавливались 15” или 14” экраны) на основе 1 ГГц версии Crusoe TM5800, а через год обновила ее, заменив процессор на Efficeon TM8600.
В России эти машины продавались под маркой iRu — модели Stilo 1514 и Stilo 1715, цена составляла $650-750, в то время, когда машинки на Centrino стоили от $1200. Кроме процессора, необычным был выбор видеокарты — SiS 315E и XGI Volari XP5 соотвественно (что любопытно, XGI была выделена из SiS и пыталась составить конкуренцию nVidia и ATi). В остальном — абсолютно обычный ноутбук, тонкий, стильный и даже аккуратно собранный, что редкость для бюджетного сегмента.
Sony Vaio C1 «Picturebook» — пожалуй, полная противоположность. Первая версия модели имела слишком горячий нрав и любила покушать благодаря использованию мобильного Pentium II. Один из первых ноутбуков со встроенной камерой. Разрешение 320x240, ручная фокусировка и сравнительно неплохое качество снимков (по крайней мере можно отличить, котенок или автомобиль изображен на фото). Видео — заявлено, но с большим трудом. Сверхширокий экран 9” с разрешением 1024х480 и полный набор фишек от Sony — пора отвлечься от «тяжелой техники» и приобрести такую машину для коллекции.
Fujitsu FMV-Biblo LOOX T5/53w. Если Sony решилась выпустить свой ноутбук на мировой рынок, то большинство ультрапортативных машин остались эндемиками японского рынка. 1500 грамм, DVD-привод, 10” экран с соотношением сторон 2:1 — 1024х512, встроенный модем для мобильного интернета (проприетарный японский стандарт H”in) и Windows XP — тяжеловато для 533 МГц процессора и 128 Мбайт памяти, но работает и до сих пор впечатляет. Эта машина вот уже несколько лет живет на полочке с любимыми экспонатами коллекции Digital Vintage.
Compaq TC1000. Большинство грандов компьютерной индустрии за пределами Японии проигнорировали Crusoe, исключением стала пожалуй только Compaq. Планшет с опциональной док-станцией стал одним из самых ярких компьютеров 2003 года. Великолепный и при этом аккуратный дизайн, отличавший последние самостоятельные продукты компании не оставляет равнодушным до сих пор. Вот только HP при первом же обновлении заменили Crusoe на Pentium M.
На этом список, конечно, не заканчивается. Были и другие интереснейшие компьютеры — Casio Cassiopeia FIVA, переехавшие с одной экзотики (MediaGX) на другую, Sharp, NEC. Были удивительные OQO и Flybook. Были блейд-серверы (!) RLX ServerBlade и сетевые девайсы BlueCoat. Сегодня большинство из них — редкая, если не редчайшая, экзотика и желанные и труднодоступные экспонаты для коллекций.
Заключение
Компания Transmeta промелькнула яркой вспышкой на небосводе, но VLIW процессоры не ушли вместе с ней. И пусть такому гиганту как Intel, даже собрав звездную команду разработчиков Crusoe и Эльбрус-2000, не удалось сделать успешной свою разработку, идея продолжает жить. И речь не только о современных Эльбрусах, которым повезло найти свою нишу — надеюсь появится возможность получить раннюю модель в коллекцию и рассказать об этих замечательных процессорах подробнее.
На базе VLIW основываются специальные процессоры для тех применений, где можно воспользоваться их отличными способностями к параллельной обработке данных. В первую очередь, это DSP-процессоры — их можно найти в модельных рядах Analog Devices, STMicroelectronics, NXP. Долгое время VLIW архитектуру использовали GPU ATi/AMD Radeon HD и лишь потом перешли на классический RISC подход.
При использовании в качестве процессоров общего назначения, VLIW пока не смогли преодолеть свой главный недостаток — высокие требования к культуре разработки и сложность создания компиляторов. Но кто знает, быть может эту проблему решат стремительно развивающиеся технологии машинного обучения — машинная оптимизация позволит, наконец, воспользоваться всеми преимуществами архитектуры и получить высочайшую производительность? Оставим этот вопрос открытым!
До новых встреч!