Transmeta Crusoe - вивисекция

Как вы, возможно, уже слышали, после пяти лет напряженого и многозначительного молчания компания Teansmeta разразилась долгожданным релизом своего первого процессора под названием Crusoe. Сразу же пошли слухи, что это никак не меньше, чем революция в области разработки процессоров. Что же за зверь - Crusoe, и чем он принципиально отличается от двух провалов последних лет - WinChip и Rise?

Начнем с того, что Crusoe - это не совсем процессор. Точнее, это не только процессор. В старые времена такую штуку было принято называть аппаратно-программным комплексом. Сам процессор представляет собой относительно простое устройство с VLIW (very long instruction word) архитектурой и собственной системой команд. Это устройство дополняется программной оболочкой, переводящей команды работающего приложения в команды процессора и оптимизирующей полученнный код (рис. 1).

Рис. 1

Согласитесь, что похоже на Itanic ибн Merced (только там трансляция команд тоже производилась в "железе"). Минус этого подхода очевиден и существенен - потеря быстродействия, ибо транслятору тоже надо выделить время для выполнения. Плюсов много и они не так очевидны. Во-первых, меняя программную часть (у Transmeta она называется Code Morphing Software) процессора, можно приспосабливать его для разных систем команд приложений. То есть практически, получать доступ к софту, разработанному для любых микропроцессорных платформ. Пока Transmeta хвалится совместимостью только с x86, но идея с другими архитектурами явно носится в воздухе. Во-вторых, изменения в программную и аппаратную части могут вноситься независимо друг от друга - операционная система и приложения вообще не видят "железную" часть процессора, они общаются только с Code Morphing Software. В-третьих, переложив проблемы оптимизации на программную часть, разработчики весьма существенно сократили количество вспомогательной логики на кристалле - на три четверти сократили количество транзисторов по сравнению с аналогичными моделями (Transmeta обычно производит сравнение с мобильным Pentium III на ядре Coppermine). А отсюда следуют три вещи: высокий процент выхода годных микросхем, низкая себестоимость и низкое энергопотребление. И еще один плюс - наличие программной компоненты позволяет очень быстро менять функциональные возможности процессора - время обновления моделей в случае необходимости можно сократить на порядок по сравнению с чисто аппаратными решениями. Опять же, есть возможность исправлять возможные ошибки "на лету", а не ждать, когда пойдет в производство следующая серия микросхем.

Теперь перейдем к конкретным моделям - процессоров было выпущено два - TM3120 (рис.2) и TM5400 (рис.3).

 
Рис. 2


Рис. 3

Первый предназначен для всяческих карманных устройств и модных интернет-девайсов нового поколения. Второй - для ноутбуков. Надо заметить, что Transmeta постоянно напоминает, что ее процессоры предназначаются именно для мобильных устройств, и самое главное в них - не быстродействие (так что пока никакой конкуренции со старшими моделями от Intel и AMD), а соотношение быстродействия и энергопотребления. Впрочем, гибкий подход к разделению обязанностей между "железом" и софтом позволяет делать процессоры любого класса - Transmeta в пресс-релизе намекает, что если очень захотим, то сделаем процессор для серверов или десктопов, или рабочих станций. Но вернемся к нашим баранам... TM3120 нынче уже серийно производится на заводах IBM по 0.22-микронной технологии. Рабочая частота - 333, 366 или 400 МГц, напряжение питания 1.5 вольта, 96 Кб кэша первого уровня (64 Кб кэша команд, 32 Кб кэша данных), встроенные контроллеры памяти SDRAM (рабочие частоты 66 - 133 МГц, задаются делением частоты процессора на числа от 2 до 15, работа с модулями SO-DIMM), шины PCI (PCI 2.1, 33 MHz, 3.3V) и Flash ROM - то есть весь Northbridge и интерфейс с Southbridge на криcталле. При этом площадь кристалла - 77 мм2 (площадь мобильного PIII - 106 мм2). Еще один хит - энергопотребление, но о нем позже. Ориентировочная цена TM3120 - $65-89. Второй процессор - TM5400 - пока существует только в виде прототипов, серийное производство (0.18-микронный процесс) начнется во второй половине года. Частота до 700 МГц, питание от 1.2 до 1.6 вольт (частота и напряжение питания автоматически подстраиваются под интенсивность воплняемой задачи, чтобы обеспечить максимально эффективное энергопотребление - сия технология называется LongRun). На процессоре расположено 128 Кб кэша первого уровня (по 64 Кб на команды и данные) и 256 Кб кэша второго уровня. Кроме SDRAM- и PCI-контроллеров, на кристалл интегрирован еще DDR SDRAM-контроллер (частоты 100-166 МГц) - последний писк моды в области памяти. Площадь кристалла - 73 мм2, цена - от $119 до $329. Оба процессора выпускаются в 474-ножечном BGA-корпусе. Это, так сказать, были краткие тактико-технические характеристики, а теперь перейдем к архитектуре.

Ядра обоих процессоров состоят из 5 функциональных блоков - 2 для целочисленных операций (ALU), один для операций с плавающей точкой (FPU), один для работы с памятью (Store/Load) и один для обработки операций ветвления (Branching). Целочисленные модули имеют 7 ступенчатый конвейер, FPU - 10 ступенчатый. Еще в процессоре имеется 64 регистра - часть из них используется для эмуляции регистров x86 архитектуры, часть - для служебных нужд. Отдельные команды носят гордое название атомов и при передаче процессору объединяются в 64- (2 атома) или 128- (4 атома) битные VLIW-команды процессора - молекулы. Каждый атом передается в свое устройство и выполняется параллельно. Процессор может выполнять до 4 операций за один такт. Молекулы выполняются строго последовательно, за сборкой-разборкой исходного кода следит Code Morphing Software, а не процессорная логика. Собственно говоря, софт вообще не видит процессор как таковой.

Все команды, включая операционную систему (сейчас поддерживаются все вресии Linux, а также Windows 95, 98, 2000 и NT) и системный BIOS, проходят через Code Morphing Software (разработаннный, между прочим, не без участия небезызвестного Линуса Торвальдса) и видят только его. Сам Code Morphing хранится в микросхеме Flash ROM (вот зачем нужен котроллер Flash на процессоре) объемом 1 Мб. При включении питания в память первым загружается Code Morphing (он занимает 8-16 Мб памяти, недоступной остальному программному обеспечению), а затем уже все остальное. Кроме трансляции команд x86, Code Morphing занимается еще оптимизацией полученного VLIW-кода (очень похоже на интеллектуальные компиляторы для Merced). Оттранслированные молекулы заносятся в специальный трансляционный кэш (под него тоже выделяется область памяти, недоступная приложениям), откуда и извлекаются, если Code Morphing встречает аналогичную цепочку команд. Учтите, что Code Morphing транслирует команды не поодиночке, а группами, так что речь идет именно о цепочке команд и соответствующей трансляции. Плюс, со временем Code Morphing Software обучается. То есть, если одна и та же последовательность команд выполняется несколько раз, он начинает ее оптимизировать для более быстрого выполнения. С этой целью хранящимся в кэше трансляциям приписывается код, отслеживающий частоту выполнения отдельных цепочек и вероятное направление ветвления. Кроме того, у Code Morphing Software существует несколько режимов трансляции кода - от последовательной интерпретации команд до полной оптимизированной трансляции (в этом случае программа в начале запуска глубоко задумается, но затем будет работать быстрее). Существует еще множество больших и маленьких хитростей, связанных с Code Morphing, но это уже - тема для отдельного, сугубо технического, разговора.

А теперь о самом основном в этих двух процессорах (Transmeta постоянно намекает, что будут и другие, причем разделение обязанностей между "железной" и "софтверной" частью будет проводиться в зависимости от области применения) - об энергосбережении. Поскольку TM3120 и TM5400 направлены на мобильные устройства, то это - их основное достоинство. Transmeta утверждает, что WebPad на TM3120 будет работать на одной батарее почти сутки, а ноутбук на TM5400 - около 8 часов. Как это получается? Максимальная потребляемая мощность процессоров - около 2 ватт (при больших нагрузках, вроде проигрывания DVD). В режиме стандартных приложений (почта, работа с текстами) - мощность будет где-то порядка полватта. В режиме Deep Sleep - 0.015 ватт. Сравните с AMD K7, потребляющим в рабочем режиме около 30 ватт или с мобильным PIII 500 - 6-16 ватт, в зависимости от задачи. Снижено энергопотребление, во-первых, за счет сокращения числа транзисторов. Во-вторых, технология LongRun позволяет динамически менять рабочую частоту и напряжение питания в зависимости от загрузки процессора (даже как-то не хочется сравнивать со Speed Step от Intel с его фиксированными частотами). При этом TM5400 на частоте 700 МГц обеспечивает такое же пиковое быстродействие, как мобильный Coppermine PIII 500. По соотношению скорости выполнения задачи к расходуемой мощности TM5400 превосходит PIII 500 в среднем раза в 4.5 (в зависимости от задачи). При этом Crusoe может работать без активного охлаждения (ну-ка, представьте себе, сколько проживет нынешний Pentium без вентилятора). На сайте Transmeta есть красивая цветная (потому и не печатаем) картинка с распределением температур по процессору, выполняющему декодирование DVD. Так вот, максимальная температура Crusoe - 48 градусов, PIII 500 - 108 градусов. Почувствуйте разницу.

Осталось только посмотреть, как пойдет распространение процессора и как отнесутся к нему производители, ибо для компании главное - не гениальность устройства, а его продаваемость. Но это станет понятно позже. Впрочем, Diamond уже обдумывает возможность делать WebPad'ы под Linux на основе TM3120. Интересующиеся более подробной информацией о процессорах могут отправиться на сайт Transmeta - www.transmeta.com, данных там хватит на несколько газет.

Константин АФАНАСЬЕВ,
AKG_Monster@usa.net

Версия для печатиВерсия для печати

Номер: 

04 за 2000 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!