Процессоры. Transmeta — маленький кораблик в «железном» океане
24 января 2005
Рубрика: Обзоры и мнения.
Автор: Александр Павлов.
pic

Что принципиально новое можно разработать в семействе х86, когда инженеры из Intel и AMD все возможное уже придумали еще лет пять назад? Каждый квартал общественность будоражат новости о гонке тактовых частот чипов, удвоении объема кэш-памяти, введении новых технологических приемов и новых «костылей» для стареющей архитектуры и так далее. Изо дня в день одно и то же, а общественность жаждет еще и еще. А на самом деле хочется чего-то по-настоящему нового и интересного, хочется быть свидетелем прорыва или просто маленького праздника маленькой команды, которая дала миру ПК что-то новое, пусть и «не срубив» при этом кучу денег. И такая команда есть, только никто о ней не знает, хотя ее детищем явился процессор, исполняющий код х86, но принципиально отличающийся от классической архитектуры. Надоел шум огромного вентилятора в системнике, надоело чувствовать горячий ноутбук на коленях? Не хотите таскать запасную батарею лишь для того, чтобы обработать почту за последние два дня? Приелся «закон Мура», наконец? На это и рассчитывает компания Transmeta, вступая в борьбу с титанами.

Первый процессор Transmeta Crusoe увидел свет в 2000 году. История же появления процессоров Transmeta начинается еще в 1980 году, когда Дэвид Паттерсон и Дэвид Дитцел (в ту пору еще студент, а теперь один из руководителей компании Transmeta) написали статью «К вопросу о RISC» (The Case for the Reduced Instruction Set Compute).

pic

Кстати, именно в этой статье впервые упоминается термин «RISC». Статья явилась одним из плодов работы над созданием максимально простого, но эффективного процессора. В те времена, да и на протяжении многих последующих лет, разработчики сталкивались с проблемой постоянного обнаружения ошибок в микрокоде и организации вычислительного ядра, которые проявляли себя в процессе эксплуатации чипов со сложной системой команд после начала продаж. Эти ошибки приходилось исправлять путем распространения сменных носителей информации с программными «заплатками». Тут вспоминается история появления дискет, которые придумала фирма IBM именно в целях распространения этих пресловутых «заплаток», так как делать это на рулонах магнитной ленты было по меньшей мере неудобно. Еще острее проблема ошибок стояла в отношении однокристальных полностью аппаратных процессоров (их можно назвать «железными»), имеющих архитектуру х86. Такие чипы исправлять не представлялось возможным — не вернешь же готовый многоуровневый кремниевый кристалл на конвейер, чтобы немного его «подправить», такое невозможно чисто технически. В историю вошло немало случаев обнаружения дефектов исполнительного ядра и микроархитектуры в полностью «железных» процессорах, причем с плачевными для производителей последствиями. Взять хотя бы знаменитый инцидент с Intel Pentium, когда компании пришлось менять множество уже проданных «глючных» чипов на нормальные. Этот случай не прошел бесследно для репутации Intel. Описанные сложности и послужили причиной стремления Дэвида Паттерсона к простоте, то есть чтобы снизить вероятность появления ошибок, уменьшить количество вспомогательных блоков процессора и сделать процессор более гибким, он пытался упростить как набор микрокоманд, так и саму микроархитектуру процессора. Но есть одно «но» — RISC-процессоры абсолютно не совместимы с архитектурой х86 и не могут выполнять программы, которые написаны для набора х86, то есть практически для нас, простых смертных, не могут ничего. Непосредственная работа над первым процессором Transmeta началась в 1995 году и была окружена завесой таинственности вплоть до его появления.
Чтобы не путать уважаемого читателя, хочу рассказать о том, что процессоры бывают как полностью «железные» (имеют только аппаратную часть, представляющую собой кремниевую микросхему), так и комбинированные (помимо аппаратной части, содержат также и программные функциональные блоки, без которых они работать не будут). Полностью «железные» процессоры, как правило, выполняются на одном кремниевом кристалле, который содержит вычислительные и вспомогательные блоки, блоки преобразований и оптимизации. Программы имеют непосредственный доступ к исполнительной части процессора, а все операции проводятся с кодом практически в том же виде, в каком он поступает из приложения. Если для исполнения инструкций нужны какие-либо изменения или преобразования, то проводит их сам процессор на уровне логических микросхемных блоков. К такому типу процессоров относятся, например, Intel Pentium 4 и AMD Athlon XP.
Если уж мы вспомнили об Intel, то нужно упомянуть о законе Гордона Мура, который гласит, что из года в года количество транзисторов в процессоре удваивается. Огромное количество транзисторов в кристалле сегодня не просто впечатляет — поражает, приближаясь к 200 миллионам. Но с ростом количества транзисторов увеличиваются энергопотребление и тепловыделение. «Эта сложность также приносит всей компьютерной индустрии массу проблем», — сказал однажды Дэвид Дитцел.
В результате многолетних скитаний идеи создания процессора, одновременно похожего и не похожего на классический, и объединения знаний и усилий многих известных в компьютерном мире личностей родился микропроцессор Transmeta Crusoe.
Что же это за фрукт? На самом деле Transmeta не просто разработала новый чип. Она создала новый подход к проектированию микропроцессоров. Современные процессоры архитектуры х86, к примеру Intel Pentium 4, создаются с аппаратно зашитой системой команд и затем пишется программное обеспечение, использующее этот набор команд. Инженеры компании Transmeta пошли другим путем. Их чип состоит из аппаратного исполнительного ядра c высокой производительностью и окружающей его программной части, осуществляющей все операции преобразования и оптимизации кода, а также контактирующей с приложениями. При проведении вычислений и логических операций процессор использует набор команд VLIW (Very Long Instruction Word), который не имеет ничего общего с х86.
При описании своих процессоров Transmeta использует такие термины, как «молекула» и «атом». Аппаратное VLIW-ядро состоит из следующих функциональных модулей: два блока для операций с целыми числами (ALU), один — для операций с числами с плавающей запятой (сопроцессор или FPU), один — для операций с памятью (LSU Load/Store Unit) и один — модуль условных переходов (BU). Каждая VLIW-инструкция («молекула») длиной 128 бит может состоять из четырех RISC-подобных операций («атомов») для перечисленных блоков. Ядро способно исполнять до 4 команд x86 (одну «молекулу») за такт за счет того, что «атомы» просчитываются параллельно.

pic

Само ядро разработчики постарались сделать как можно более похожим на «молекулорубку». Молекулы исполняются друг за другом по очереди. Многие современные суперскалярные процессоры х86 используют технологии динамического изменения порядка выполнения команд, пытаются предугадать, какая команда будет следующей, и в случае необходимости могут пропустить «срочную» инструкцию без очереди. VLIW-молотилка от Transmeta сосредоточивается на «перемалывании» с максимальной скоростью, не задумываясь о том, какая инструкция будет следующей и не тратя на это драгоценные такты. Таким образом выходит, что VLIW-программа — это всего лишь список этих «молекул», которые поступают в процессор и запускаются по очереди в блоке исполнения. Такое устройство исполнительного движка заметно упрощает внутреннюю структуру процессора, позволяя отказаться от некоторых громоздких аппаратных функциональных модулей (например, декодер инструкций), которыми изобилуют другие процессоры х86. По идее VLIW-ядро должно быть очень эффективным и производительным, но так как эта архитектура напрямую не совместима с набором х86, был придуман Code Morphing — программный блок процессора, который незаметно для приложения преобразует его из х86-программы в VLIW-программу.

pic

Еще бы! Учитывая огромное количество в мире х86-систем, а главное, программ для них, создателям Transmeta Crusoe очень не хотелось отказываться от такого «денежного» сегмента рынка ПК и ПО, как связанного с архитектурой х86. Программное обеспечение Code Morphing представляет собой динамическую систему трансляции, которая компилирует команды набора одной архитектуры в собственную систему команд. Code Morphing также занимается предсказанием ветвлений, переименованием регистров, распределением инструкций и другой оптимизаторской деятельностью, которую в обычном процессоре выполняют аппаратные блоки ядра. То есть программа при выполнении взаимодействует только с оболочкой Code Morphing и считает, что это и есть обычный процессор. Code Morphing «на лету» оптимизирует команды программы и преобразует их в понятные VLIW-ядру «молекулы» и «атомы», аппаратное ядро исполняет их и возвращает оболочке Code Morphing, которая производит обратное преобразование. Все программное обеспечение Code Morphing размещается во FlashROM и является первой программой, с которой начинается загрузка. Вот почему программы, исполняясь на Crusoe, не могут отличить его от обычного процессора x86, ведь все, что они видят, — это Code Morphing, работающий в точности, как любой другой процессор x86. Transmeta Crusoe имеет очень логичную систему кэширования, которой, кстати, тоже занимается Code Morphing. Хотя оболочка находится в ROM, при загрузке системы она копируется в оперативную память для увеличения производительности (вот куда деваются 16 Мб оперативной памяти у владельцев ноутбуков на основе процессоров Transmeta) и постоянно находится в отдельном участке памяти наряду с кэшем трансляции. Все преобразованные в «молекулы» инструкции хранятся в этой кэш-памяти на случай повторного выполнения, чтобы не транслировать их заново. А еще Code Morphing, как говорится на официальном сайте Transmeta, «изучает» выполняемый код и дополнительно оптимизирует его наиболее часто используемые части. Эти приемы дают неплохой прирост производительности.
Какие же преимущества дает подобная архитектура процессора? Во-первых, Code Morphing позволяет изменять внутренний набор команд процессора без необходимости написания новых программ или, наоборот, не изменяя его, заставить процессор работать с другим внешним набором команд. Во-вторых, предельно простое аппаратное ядро позволило сократить количество транзисторов на кристалле в несколько раз, что очень важно для энергопотребления, тепловыделения и размеров процессора. Не зря Transmeta Crusoe может работать без вентилятора и потреблять при этом мизерную энергию. Но что бы там ни говорили, процессоры Transmeta Crusoe медленные и сильно уступают в производительности равночастотным чипам от Intel и AMD. Просто дело в том, что «халява сладкой не бывает». Программная эмуляция чего-либо никогда не могла сравниться по производительности с аппаратными блоками. Да и тот же Code Morphing, по сути являющийся программой, «съедает» немалую часть аппаратного процессорного ресурса.
Процессоры Transmeta имеют очень гибкую и эффективную систему энергосбережения — технологию LongRun. Она в режиме реального времени изменяет тактовую частоту и напряжение питания процессора. Если в какой-либо момент времени идет просчет какого-то фильтра в PhotoShop, процессор работает на своей штатной частоте при штатном напряжении. Если же пользователь работает с интерфейсом ОС или только прослушивает музыку, то процессор снижает тактовую частоту и напряжение питания, причем делает это не рывками, а плавно, в зависимости от нагрузки. Управление энергосбережением осуществляется не операционной системой, а самим микропроцессором, он сам определяет, когда требуется максимальная производительность, а когда достаточно всего, например, 40% от максимальной. Добавлю, что при проигрывании DVD энергопотребление самого современного процессора Transmeta Efficeon, выпускаемого по технологии 90 нм, находится в районе 1 Вт.
Сразу после выхода первого Crusoe в 2000 году стало ясно, что Transmeta позиционирует свои процессоры на рынок портативных продуктов тонких и легких ноутбуков, КПК, тонких клиентов, планшетных ПК, а также в офисной технике. И, разумеется, все микропроцессоры компании относятся к классу PC-on-chip, то есть имеют максимально возможный перечень интегрированных устройств. Сама Transmeta называет это «Integrated NorthBridge», что переводится как «интегрированный северный мост» и означает, что процессор уже имеет в себе северный мост чипсета и не нуждается в сторонней разработке набора логики. А южный мост по теории может быть любым из существующих. Crusoe и Efficeon имеют интегрированный контроллер DDR-памяти с интерфейсом SO-DIMM, контроллер шины AGP 4x и шины PCI, а также контроллер флэш-памяти. Вот и получается маленький такой монстрик.
В модельный ряд входят несколько процессоров, вкратце опишу два из них. Transmeta Crusoe TM5800 имеет тактовую частоту 1 ГГц и кэш-память первого уровня L1 128 Кб и второго уровня L2 — 512 Кб. Размер ядра составляет 55 кв. мм, а напряжение питания колеблется в пределах от 0.8 до 1.4 Вольт, что совсем немного. Небольшая и средняя потребляемая мощность — от 7 до 10 Вт. По производительности проигрывает Intel Pentium M 1 ГГц грубо в два раза. Кстати, Transmeta сама не производит свои процессоры, так как попросту нет никаких производственных мощностей. Эту ответственную задачу взяла на себя компания TSMC, с которой Transmeta заключила партнерское соглашение.

pic

Transmeta Efficeon TM8800 является самым новым процессором. И в нем реализованы последние архитектурные нововведения инженеров Transmeta. Главным отличием от Crusoe стала 256-битная длина VLIW-слова, то есть «молекулу» увеличили вдвое. Теперь за такт чип может выполнить до восьми х86-инструкций, так как «молекула» состоит уже из 8 «атомов». Выпускается по технологическому процессу 90 нм и имеет 1 Мб кэш-памяти L2. Малютка стала еще меньше и еще холоднее, хотя и зубки новые тоже появились. В арсенале технологий чипа прибавилась AntiVirusNX Technology, которая осуществляет антивирусную блокаду некоторых вирусов на процессорном уровне. Тактовую частоту на своем сайте Transmeta не указывает. Но исходя из маркетинговой политики компании, частота должна была остаться на прежнем уровне (1 ГГц) или вырасти совсем немного. А самые маленькие процессоры Transmeta (TM8620 и ТМ5900) имеют размеры всего 21х21 мм.

pic

Настало время подвести итог. Процессоры Transmeta ориентированы на рынок самых маленьких и мобильных ПК. В числе компаний, использующих чипы Transmeta в своих продуктах, значатся Hewlett Packard, Sony, NEC, Dell, RoverBook, iRU, Toshiba и Sharp. Последние три активно выпускали и выпускают сверхтонкие ноутбуки на их основе в довольно больших количествах. Сегодня перед Transmeta открываются перспективы использования ее процессоров в смартфонах, телеприставках, кассовых терминалах и т. д. Иногда поступает разрозненная информация о выпуске различными производителями малогабаритных серверов с процессорами Transmeta. И несмотря на то, что объемы продаж этих чипов не идут ни в какое сравнение с Intel и AMD, а финансовое состояние компании оставляет желать лучшего, Transmeta продолжает держаться на поверхности и не сворачивает разработки. Только одна эта мысль уже радует. Производительность процессоров Transmeta находится на низком уровне. Для игр и других ресурсоемких задач ее будет далеко недостаточно.

pic

Появление платформы Centrino от Intel оставляет еще меньше шансов для конкуренции. Но нужно четко понимать, что для некоторых типов задач процессоры Transmeta незаменимы, в частности это касается тех сфер, где необходимо продлить автономную жизнь батарей. Поэтому оценивать их нужно не по производительности, а по соотношению энергосбережение / производительность / цена / тепловыделение. И тогда мы увидим микропроцессоры Transmeta в лучшем свете.
Как инженерная разработка процессоры Transmeta крайне интересны, но будущее компании неизвестно. Мне же кажется замечательным, что помимо монотонных и инертных гигантов IT-мира существуют компании, которые продолжают бороться за свое место под солнцем, представляя этому миру очень интересные идеи. Честно говоря, я рад, что есть еще кто-то, кроме Intel и AMD, а двум гигантам можно только пожелать побольше сильных конкурентов, так как нам, пользователям, от этого только лучше.

pic
Orphus system
Подписывайтесь на канал infoCOM.UZ в Telegram, чтобы первыми узнавать об ИКТ новостях Узбекистана
В Telegram
В WhatsApp
В Одноклассники
ВКонтакте