Transmeta Crusoe. Первый взгляд


Ну вот и наступил тот день, когда оказались сняты покровы секретности, окружающие одну из самых таинственных компаний последних пяти лет, Transmeta, а также и их детище — процессор под кодовым названием Crusoe. Как известно, недостаток информации — лучшая пища для слухов, которых хватало за это время, но теперь мы, наконец, можем забыть про них и узнать, как же реально обстоит дело.

Одно из ранних и общепринятых предположений полностью подтвердилось: Crusoe действительно не является конкурентом процессоров для настольных компьютеров от AMD и Intel — он самую малость опоздал с этим, но зато его возможности по энергосбережению возможно делают его идеальным выбором для производителей портативных продуктов — от ноутбуков до HPC. Но к этому моменту мы вернемся чуть позже, когда речь пойдет о конкретных деталях чипов. А сейчас посмотрим на более фундаментальные вещи, и первое, на что стоит обратить внимание в данном случае — это технология Code Morphing, позволяющая "на лету" преобразовывать x86 код во внутреннюю систему команд процессора.

Кстати, если зашла речь о системе команд, то Crusoe относится к разряду VLIW процессоров. То есть, в отличие от привычных каждому пользователю PC чипов, работающих с CISC инструкциями, он в своей работе опирается на VLIW (very long instruction word), будучи в этом более близок к таким продуктам, как Merced или Elbrus 2000. (Последнее, пожалуй, особенно справедливо, если учесть, что глава Transmeta, Dave Dietzel, в свое время немало времени провел в Москве, контактируя с будущими создателями E2K).

Так вот, вернемся к VLIW. Поскольку эта архитектура несовместима напрямую с x86, а отказываться от такого преимущества, каким является накопленный парк x86 программного обеспечения создателям Crusoe совсем не хотелось, и был разработан промежуточный, частично аппаратный, частично программный, невидимый для программ слой — Code Morphing, который во время выполнения программы, незаметно для нее преобразует ее x86 инструкции в инструкции VLIW.

Плюсы и минусы такого подхода, по сравнению с традиционным, очевидны. Это:

  1. Возможность достаточно радикально менять структуру процессора, подгоняя его к тем или иным требованиям — все равно все изменения его архитектуры для программ можно замаскировать на уровне Code Morphing.
  2. Возможность вносить те или иные изменения в уже выпущенные процессоры, опять же на уровне преобразования кода.
  3. Очень удобная вещь для работы с различными новыми наборами инструкций — SSE, 3DNow!, и т.д. Была бы лицензия, а сделать - не проблема.
  4. Как ни крути, а эмуляция остается эмуляцией, со всеми вытекающими последствиями в плане производительности. В качестве примера можно посмотреть на душераздирающие результаты эмуляции x86 программ на PowerPC. Но Transmeta неплохо поработала в этом направлении.

Как это все работает?

Для начала надо сказать пару слов о логической структуре процессора. Ядро Crusoe состоит из пяти модулей четырех различных типов: два блока для операций с целыми числами, один для операций числами с плавающей запятой, один — для операций с памятью, и один — модуль переходов. Соответственно, и каждая VLIW инструкция ("молекула", по терминологии Transmeta, длиной 64 или 128 бит) может состоять из четырех RISC-подобных операций этих типов ("атомов"). Все атомы выполняются параллельно, каждый соответствующим модулем, молекулы идут друг за другом, в строгом соответствии с очередью, в отличие от большинства сегодняшних суперскалярных x86 процессоров, где используется механизм внеочередного выполнения команд (out-of-order), это заметно упрощает внутреннюю структуру процессора, позволяя отказаться от некоторых громоздких функциональных модулей (например, декодера инструкций, коих в x86 наборе не так уж и мало). Для иллюстрации можно сравнить площадь мобильного 0.18 мкм Coppermine с суммарным объемом кэша 288 Кбайт с площадью TM5400 с суммарным кэшем 384 Кбайт — 106 квадратных милиметров против 73. Что, естественно, напрямую сказывается и на разнице в тепловыделении и энергопотреблении процессоров.

Но вернемся вновь к принципу работы процессора. На вышеописанный уровень "молекулы", по возможности максимально плотно упакованные "атомами", попадают с уровня Code Morphing, где в них превращаются исходные инструкции (на данный момент речь идет только о x86, но в перспективе ничто не мешает сделать версию транслятора и для другого набора команд). Вся окружающая среда с которой сталкивается процессор, начиная от BIOS и заканчивая операционной системой и программами, контактирует только с Code Morphing, не имея прямого доступа к самому ядру процессора. Очень удобно, учитывая, что даже уже у двух первых объявленных процессоров Transmeta это самое ядро — разное.

Одним из методов увеличения производительности такого нетрадиционного способа работы, является очень логичная система кэширования. Каждая x86 инструкция, будучи оттранслированной один раз, сохраняется в специальном кэше, располагающемся в системной памяти, и в следующий раз, при необходимости ее выполнения, этап трансляции можно пропустить, сразу достав из кэша необходимую цепочку молекул. Вдобавок, как обещает Transmeta, Code Morphing со временем еще и обучается: по мере выполнения программ, оптимизируя их для более быстрого выполнения, обращает внимание на наиболее часто выполняемые участки кода, анализирует переходы в теле программы, и т.д.

Первые процессоры Transmeta максимально ориентированы на рынок мобильных чипов (что, впрочем, не мешает компании уже поговаривать о серверном процессоре этой же архитектуры!), соответственно одним из наиболее важных параметров процессора здесь является его энергопотребление. И если с младшим из сегодняшних чипов Transmeta, TM3120, с его 92 Кбайт кэша, особых проблем нет, то в TM5400 компания встроила механизм LongRun, функционально подобный технологии SpeedStep от Intel — возможность изменения тактовой частоты и напряжения на ядре процессора на лету. Причем, куда более гибко, чем это возможно в случае с двумя фиксированными значениями у SpeedStep.

Если уж зашла речь о конкретных чипах, то давайте займемся этим вопросом более внимательно. Итак, на сегодняшний день объявлены два первых CPU, созданных по представленной Transmeta технологии. Первый, TM3120, нацелен на рынок HPC, второй, TM5400 куда больше подходит для рынка субноутбуков. Итак, по порядку:

TM3120. Младший процессор в семействе, с тактовой частотой 333, 366, и 400 МГц. Обладает всего лишь 96 Кбайт разделенного кэша L1 (64 Кбайт под инструкции, 32 Кбайт — под данные). Процессор рассчитан на напряжение 1.5 В.

Содержит стандартные для серии PC-on-a-chip элементы: 66-133 МГц SDRAM контроллер с 3.3 В интерфейсом, рассчитанный на применение со стандартными для мобильных приложений модулями SO-DIMM. Частота памяти получается путем применения определенного делителя (от 1/2 до 1/15) к тактовой частоте процессора. Контроллер шины PCI также обладает стандартным 33 МГц PCI 2.1 совместимым интерфейсом, обеспечивая полноценную работу со всеми сегодняшними продуктами, могущими его использовать. Из поддержки периферии надо упомянуть контроллер флэш-памяти — если уж продукт ориентирован на рынок самых маленьких компьютеров, то без этого там никуда.

Как любой нормальный процессор, предназначенный для работы с Windows (а в список проверенных ОС входят Microsoft Windows 95, Windows 98, Windows NT и Linux), TM3120 должен соответствовать системе управления энергопотреблением ACPI, что он успешно и делает, потребляя в системном состоянии Deep Sleep всего лишь 0.015 Вт. Разумеется, при выполнении мощных вычислений энергопотребление вырастает на несколько порядков. Например, при проигрывании DVD оно доходит до 2.9 Вт, что тоже, впрочем, чертовски хорошо, если сравнивать, скажем, с мобильными процессорами Intel и AMD.

Что касается старшего варианта, TM5400, то все вышесказанное в основном относится и к нему, но с рядом поправок. Во-первых, до 500-700 МГц выросла скорость. Во вторых, что не менее важно, значительно увеличился и объем кэша — наряду с 128 Кбайтами (64+64) L1, появился и L2 — причем сразу 256 Кбайт. Здесь, в зависимости от частоты, напряжение ядра плавает — от 1.2 до 1.6 В. Энергопотребление, впрочем, даже в случае проигрывания DVD доходит всего лишь до 1.8 Вт — в первую очередь сказывается LongRun.

Что касается PC-on-a-chip возможностей, то здесь всего одно пополнение, но такое, которое просто нельзя не заметить — к SDRAM контроллеру прибавился его DDR SDRAM собрат. Все что было сказано выше о скорости SDRAM, относится и к DDR.

Первый из чипов уже производится IBM по 0.22 мкм техпроцессу и стоит от $65 до $89, в зависимости от тактовой частоты. Второй должен пойти в производство только где-то в середине года, будет производиться уже с применением 0.18 мкм технологии, и стоить от $119 до $329.

Все это замечательно, но как Crusoe ведет себя в реальной жизни? Вполне неплохо для начала. Уже была продемонстрирована работа на компьютере на базе Crusoe заявленных операционных систем, без особых проблем работали реальные приложения — Power Point, Quake…

Что касается производительности, то Transmeta поступила весьма разумно, решив предложить для этого собственный тест — Mobile Platform Benchmark. Впрочем, надо признать, весьма логичный, во главу угла ставящий соотношение производительность/энергопотребление. (Ну а то, что здесь выигрывает Crusoe — это, разумеется, проблемы конкурентов). По тестам, произведенным на нем самой Transmeta, TM5400, с варьировавшейся в течение теста (LongRun был включен) от 266 до 533 МГц скоростью, на ряде задач шел вровень с мобильным Pentium III 500, на ряде отставал. Причем во всех задачах его энергопотребление было в несколько раз ниже. Здесь можно привести еще один показатель, правда, опять со слов самой компании — 667 Мгц TM5400 по производительности примерно равен 500 МГц Pentium III.

Пора, наверное, подвести итоги. Судя по заявленным показателям, можно сказать, что ждать стоило и технология в большинстве своих деталей как минимум интересна с теоретической точки зрения. Будет ли она столь же интересна крупным производителям ноутбуков? Вряд ли, по крайней мере, поначалу. К тому же, Transmeta чуть-чуть опоздала на рынок в плане тактовой частоты — в середине года мобильные процессоры Intel должны обгонять Crusoe по этой характеристике, а правило "покупают мегагерцы" еще никто не отменял. В общем, многое в обозримом будущем зависит от того, насколько успешно компании удастся убедить производителей ноутбуков в своей надежности и от того, какие перспективы роста заложены в архитектуре Crusoe. Проще говоря — будет ли Transmeta хорошим стайером, или же сдохнет после стометровки? Скоро узнаем.




Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.