Назвался Crusoe
АрхивВ январе этого года, после пяти лет напряженной работы, американская фирма Transmeta явила миру принципиально новый тип процессора. Эта короткая статья - о причинах, приведших к созданию Crusoe, и о тех его особенностях, которые - потенциально - могут изменить мир информационных технологий.
Интернет стремительно меняет стандарты жизни - в магазинах уже можно увидеть холодильники, СВЧ-печи или мобильные телефоны, способные подключаться к Всемирной Паутине. И это только начало! Лавинообразное появление новых сфер деятельности, связанных с Сетью, не могло не породить новых задач, и прежде всего - задач обеспечения тотальной мобильности пользователя. В самом деле, когда доступ к Сети становится дешевым, когда стремительно развиваются средства мобильных коммуникаций, вполне естественным выглядит желание человека выходить в Интернет в любое время, из любого места и с максимальными удобствами. Недаром говорят, что лень и комфорт - самые главные двигатели прогресса. Одним словом, от мобильности не уйти!
Но что такое мобильность с технической точки зрения? В первую очередь, это отсутствие, порой весьма длительное, стационарного источника питания, будь то электрическая розетка в квартире или разъем прикуривателя автомобиля. Ахиллесовой пятой мобильных устройств является малое время работы от батарей. А если вспомнить, что потребляемая мощность прямо пропорциональна скорости процессора (которая постоянно растет), становится ясно, где зарыта собака. Разработчикам из Transmeta пришлось основательно потрудиться, чтобы добиться тридцатикратного сокращения энергопотребления Crusoe при сохранении сходных характеристик производительности с конкурирующими процессорами. О том, как это удалось сделать, мы и поговорим.
Итак, давайте посмотрим на рис. 1 и выясним, чем же занимаются современные х86-совместимые процессоры (такие, как K6, K7, PII, PIII или P-Pro), прежде чем выполнить очередную инструкцию. С помощью отдельного аппаратного блока (x86 Instruction Translation - на рис. 1 слева) процессор преобразует команды во внутреннюю, более компактную унифицированную RISC-подобную форму. Кроме того, практически любой процессор содержит специальные схемы, занимающиеся оптимизацией кода, а именно предсказанием ветвления, опережающим исполнением и т. п. (нижняя часть на рис. 1). Все это "железо" требует дополнительного места на кристалле и увеличивает энергопотребление.
А теперь взглянем на схему Crusoe (рис. 2). Блоки, окрашенные в коричневый цвет, это по-прежнему "железо", а все операции по оптимизации исполнения кода, обозначенные на рисунке желтым, вынесены за пределы процессора и выполняются программно в реальном времени в качестве спецпроцесса по мере выполнения основных приложений. Однако давно известно, где раздают бесплатный сыр! Вынос функций ЦП за его пределы не означает, что их не нужно исполнять. VLIW-ядру придется делать все то же самое, что и традиционным процессорам (переименовывать регистры, тасовать инструкции и пр.), но только без специально выделенных для этого логических схем.
Другими словами, то, что процессоры х86 выполняют в "железе", в Crusoe делается на уровне программного слоя, названного Code Morphing Software. Как вы уже, наверное, догадались, передача части функций софту может малость замедлить систему, и Transmeta провела большую работу, чтобы свести потери к минимуму. Более того, так как разработка программной и аппаратной части с самого начала велась с прицелом на глубокую интеграцию, то у компании была возможность предусмотреть специализированные аппаратные схемы для ускорения работы Code Morphing (CM).
Из-за недостатка места мы не будем рассматривать совместную работу CM и VLIW-ядра Crusoe. Отметим лишь, что благодаря программной реализации у CM есть гораздо больше возможностей для оптимизации пользовательских программ по сравнению с традиционными процессорами. Это достигается за счет большего объема памяти, которую СМ использует для хранения информации о ходе исполнения кода. Фрагменты внутреннего представления наиболее часто исполняемых инструкций подвергаются все большей и большей оптимизации, что повышает скорость работы программы в целом. Традиционные процессоры лишены такой возможности по причине ограниченных аппаратных ресурсов, отведенных под эти цели.
Итак, чего же добились разработчики Crusoe?
А - Значительно сокращена аппаратная часть процессора (по информации Transmeta, Crusoe использует лишь четверть транзисторов по сравнению с х86 при сравнимом уровне производительности).
Б - Малые размеры процессора позволили заметно сократить энергопотребление.
В - CM не связан с аппаратным ядром и может развиваться самостоятельно. Это позволяет производить апгрейд программной части Crusoe, не меняя сам процессор, и программно эмулировать практически любые процессорные архитектуры, а не только x86.
Для нас же, простых пользователей и потребителей, это может вылиться вот во что: во-первых, Crusoe стоит дешевле при сходной с традиционными ЦПУ производительности (чип TM3120/400 МГц, спроектированный с прицелом на ОС Linux, стоит 89 долларов, а TM5400/700 МГц, предназначенный для Windows-устройств, - 329 долларов). Во-вторых, Crusoe - экономичный процессор. По данным Transmeta, при выполнение "обычных заданий" он может работать без перезарядки батарей около суток, практически не греясь, и потреблять при проигрывании DVD всего 2 ватта. Crusoe не нужны системы охлаждения, что, в свою очередь, ведет к уменьшению веса и шумности устройств.
Одним словом, Transmeta громко заявила о своих намерениях покорить быстрорастущий рынок мобильных устройств, теперь слово за их производителями. Если они поверят в перспективность Crusoe, то окончательно решать его судьбу будем мы с вами, голосуя своими кошельками!
За подробностями обращайтесь на www. transmeta.com. Любителям читать по-русски могу порекомендовать www.xaos.ru/hardware/crusoe.htm.
Дмитрий Зегебарт - разработчик ПО, большой поклонник Unix, специалист по сетевым технологиям.