Новые технологии в организации PC

Страница: 10/18

В других областях - от видеоконтроллеров до спец-компьютеров и встроенных систем RIMM-ы тоже делают первые шаги. К примеру, TI и S3 уже лицензировали технологию Direct Rambus, а значит, без работы ей не умереть.

Предполагается, что в персональных компьютерах Direct Rambus RIMMs будут применяться в следующем году, к 2000-му году займут порядка 30, а в 2001-м и все 50% рынка.

6. 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 это самое ядро - разное.

Реферат опубликован: 6/05/2007