«Российское — значит лучшее!» Кажется, почти не осталось того, о чем мы могли бы с гордостью сказать это. А уж чтобы так заявить о продукции из области электроники, тем более микропроцессоров... Вспоминается только Константин Станиславский: «Не верю!»
В одной из азиатских стран скоро начнется производство по 0,13-микронной КМОП-технологии российских микропроцессоров архитектуры «пост-RISC». Научный руководитель ЗАО «МЦСТ» Борис Бабаян и руководитель отделения микропроцессоров Юлий Сахин поделились некоторыми подробностями реализации проекта Elbrus 3M.

Четыре года минуло с тех пор, как в России появилась собственная разработка микропроцессора Elbrus 2K (E2K), выполненная в Московском центре SPARC-технологий (МЦСТ) под руководством члена-корреспондента РАН Бориса Бабаяна. Эта разработка сразу же привлекла внимание специалистов, поскольку в E2K были использованы те же идеи архитектуры VLIW/EPIC, которые составили основу аппаратной платформы Intel Itanium (см. Computerworld Россия, №48 за 1999 год, а также журнал «Открытые системы», №5-6 за 1999 год).

Увы, инвестора для организации производства E2K, как это часто у нас бывает, не нашлось (а вложения нужны были, по российским меркам, ну очень большие). Intel и Hewlett-Packard, которые тогда сильно задержались с началом производства, наладить сотрудничество с российскими разработчиками не захотели. Преимущество EPIC-архитектуры IA-64 процессоров семейства Itanium было доказано в последующие годы лидерством по производительности (в настоящее время табель о рангах в области вычислений с данными в формате с плавающей точкой возглавляет новый Itanium 2 с ядром Madison), хотя об однозначной победе этой пост-RISC архитектуры говорить пока преждевременно.

Где-то год назад из неофициальных источников пришла информация о том, что разработчики из МЦСТ нашли инвестора. Однако это сообщение так и не подтвердилось.

Нынешняя осень неожиданно преподнесла сюрприз. В октябре на конференции «Методы и средства обработки информации» (МСО-2003) в Москве с докладом выступили Бабаян и руководитель отделения микропроцессоров МЦСТ Юлий Сахин. Из этого доклада, в частности, следовало, что вот-вот начнется производство новой модификации микропроцессора Elbrus 3M по технологии 0,13 мкм. Это вам не сапоги в Индийском океане отмывать! Слюнки еще не текут? Рано радуетесь. Вам, читатель, от этого пирога, скорее всего, ничего не достанется!

Где сядешь, там не слезешь

Несколько лет назад Россия могла вcкочить на подножку набирающего скорость экспресса, идущего к вершинам микропроцессорных технологий. Тот поезд ушел: теперь на слуху уже не только EPIC, но и SMT (многопоточная технология), и мультиядерные процессоры. Разработчики из МЦСТ, даже отлученные от производственных мощностей, тоже на месте не стояли и теперь представили новый вариант процессора Elbrus 3M, который будет-таки запущен в производство.

«Качественно» он такой же, как E2K (см. рисунок), но из-за обстоятельств, связанных с производством, пришлось пойти на проектирование не на уровне транзисторов, а на уровне «стандартных» блоков.

Напомню, что, хотя в настоящее время на рынке микропроцессоров по-прежнему доминирует суперскалярная архитектура, разработчики как Itanium, так и Elbrus полагают, что она находится на излете своего развития с точки зрения возможного увеличения внутреннего параллелизма (числа одновременно выполняемых команд, IPC). Узлы процессоров, отвечающие за обеспечение этого параллелизма, очень сложны, и эта сложность, по оценке Сахина, с ростом теоретического (максимально возможного) IPC увеличивается квадратично.

Из-за этого роста сложности в суперскалярных микропроцессорах (при фиксированной технологии) приходится либо отказываться от увеличения тактовой частоты, либо удлинять конвейеры. В последнем случае обычно появляются большие простои (в частности, при неверном предсказании переходов).

Достигнутое в настоящее время теоретическое значение IPC для RISC-процессоров составляет четыре-пять (пять — для IBM Power4, на сегодня это лучший результат). Реально достигаемые величины IPC, естественно, ниже. Для суперскалярных архитектур, по оценкам разработчиков из МЦСТ, этот показатель может быть порядка двух (2,1 — на тестах SPECint2000 для IBM Power4). Для Itanium 2 значение IPC — около 2,8, а для Elbrus 3M — порядка четырех. Ранее приводились оценки IPC для тестов SPECint95 — 1,4-2,6 для Alpha 21264 и 1,7-3,5 для «неспетой лебединой песни» — Alpha 21464 (этот процессор в производство так и не пошел).

Количество одновременно выдаваемых на исполнение команд Elbrus 3M производит впечатление даже на фоне современного Itanium 2. Если в Itanium 2 используются связки команд общей длиной 128 бит (три команды на связку), то в Elbrus 3M применяются широкие командные слова переменной длины — до 512 бит (до 16 «слогов»-команд), что способствует увеличению параллелизма.

В обоих процессорах применяется спекулятивное и предикативное исполнение команд, для чего используются специальные регистры предикатов. Отличие Elbrus 3M состоит в применении общего «унифицированного» файла регистров (256 двойных слов) вместо раздельных файлов для регистров с плавающей точкой и регистров общего назначения. По мнению разработчиков Elbrus, динамическое выделение из общего файла регистров является более гибким подходом. Файл регистров имеет 10 физических портов, работающих на удвоенной тактовой частоте, что эквивалентно 20 логическим портам. Для поддержания эффективной работы со столь большим числом регистров, в частности при вызовах подпрограмм, имеется аппаратная поддержка окна переменного размера — до 192 регистров.

Для создания эффективных как по времени выполнения, так и по размеру кодов программ в Elbrus 3M, подобно Itanium 2, имеются средства поддержки «наложенных циклов» (этот термин в МЦСТ используют для описания техники реализации известной методики оптимизации циклов — scheduling, планирование), включающие автоматическое «вращение» регистров вместо менее эффективного традиционного переименования регистров аппаратурой процессора. Кроме того, для ускорения выполнения циклов в Elbrus 3M могут использоваться также средства предварительной асинхронной выборки элементов массива, не имеющие аналога в Itanium 2.

Базовый (целочисленный) конвейер в Elbrus 3M, так же, как и в Itanium 2, имеет длину всего восемь стадий. Эффективные аппаратные средства управления переходами в процессоре Elbrus 3M позволили снизить штраф за неправильное предсказание перехода всего до трех стадий.

Для решения задачи достижения максимально возможной тактовой частоты в Elbrus 3M используется два кластера, подобно тому как это было применено когда-то в Alpha 21264. В каждом кластере имеется свой набор АЛУ и свой файл регистров. Это позволяет иметь короткие длины проводников и соответственно малое время передачи сигнала в каждом из кластеров; дальнейшие шаги в этом направлении приводят уже к двухъядерным процессорам. Расплатой является увеличение на один-два такта времени выполнения команды в режиме зацепления в случае, когда результат выполнения сразу требуется в другом кластере. Так, типичные целочисленные операции в этом случае вместо одного такта потребуют два-три.

В кэше первого уровня используются виртуальная индексация и тэгирование; реализована предварительная выборка команд и данных. Кроме того, в микросхеме имеется еще кэш данных второго уровня. Разработчики предусмотрели возможность создания SMP-конфигураций, содержащих до восьми процессоров.

Азиатская ориентация

Когда в МЦСТ проектировали E2K, разработчики надеялись, что им удастся довести детализацию до уровня транзисторов. По оценке Сахина, это может способствовать почти трехкратному увеличению частоты по сравнению с проектированием на уровне «стандартных блоков». Уверенность эта основывается на анализе известного факта — двух-трехкратного отставания по частотам микропроцессоров Sun и HP от микропроцессоров Intel, AMD и IBM.

Однако у МЦСТ не получилось найти фирму, в сотрудничестве с которой удалось бы реализовать данный более эффективный подход. Для этого нужна массовость производства, а не называемому заказчику Elbrus 3M требуется всего лишь несколько тысяч процессоров. На уровне транзисторов был спроектирован лишь файл регистров, иначе не удалось бы удовлетворить жестким требованиям по частоте (также не называемой), площади и числу портов чтения и записи. Спецификации на Elbrus 3M подготовлены до уровня Tape Out, и производство должно начаться в ближайшее время.

Что заставляет автора полагать, что заказчик останется доволен, т. е. что все будет успешно реализовано? Представляется, что здесь важна не только высокая квалификация разработчиков, но и опыт производственной реализации. А он в МЦСТ имеется. Кроме SPARC-совместимых микропроцессоров МЦСТ R150, производимых по технологии 0,35 мкм, ими была завершена разработка МЦСТ R500 с частотой 500 МГц и типоразмером 0,13 мкм, и в середине октября началось их производство.

Процессоры R150 и R500 имеют очень небольшое число транзисторов (соответственно 2,8 и 4,9 млн.), площадь (100 и 20 кв. мм) и минимальное тепловыделение (4 и 2 Вт). Однако они комплектуются внешним кэшем второго уровня весьма солидной емкости (1 и 4 Мбайт соответственно). Опытная партия первых микропроцессоров этой серии, МЦСТ R100, была выпущена во Франции по технологии 0,5 мкм. Типоразмер 0,35 мкм стал применяться в производстве R150 — c конца 2001 года. Пластины производили в Израиле, а корпусировка и тестирование осуществлялись на тайваньском заводе компании ASE. В последнее время стала видна естественная ориентация разработчиков на производственные мощности в Азии, и в частности, на Тайване.

Первые процессоры R100 тестировались в составе рабочих станций Sun SPARCstation 10/20 c ОС Solaris. Сейчас МЦСТ серийно производит рабочие станции и 4-процессорные серверы на базе R150. А в планах — достижение частоты 1 ГГц и производство «четырехпроцессорных» микросхем. Вычислительный комплекс «Эльбрус-90 микро» с указанными выше микропроцессорами принят «на вооружение» в Российской армии. За державу уже не так обидно, хотя нам самим (большинству читателей) Elbrus 3M не видать, как своих ушей. А жаль: не так уж много в России готовых к производству и конкурентоспособных в «невоенной» части мирового рынка разработок в области высоких технологий.


Все хорошо и трудно

Если E2K, несмотря на все свои архитектурные достоинства, по сути, пока так и остался «бумажным процессором», то новый Elbrus 3M, судя по всему, имеет все шансы быть воплощенным в кремнии. Поэтому неудивительно, что данный процессор вызывает такой интерес и вселяет столько надежд в патриотически настроенных отечественных ИТ-специалистов. Рассказывает Борис Бабаян, член-корреспондент РАН, научный руководитель МЦСТ:

«Историю архитектуры «Эльбрус», очередным продолжением которой является процессор Elbrus 3M, нужно вести с середины 50-х годов. Именно тогда в Москве, в Институте точной механики, мы начали отработку быстрых алгоритмов вычислительных устройств, фактически закладывая основу этой архитектуры. В 1978 году, опередив Запад почти на полтора десятилетия, мы создали первый в мире коммерческий суперскалярный компьютер — «Эльбрус-1». Затем, опять-таки раньше других, мы начали создавать постсуперскалярные вычислительные машины.

Мы стояли у истоков архитектуры вычислительных машин, в которой используются широкие процессорные команды. То, что сегодня известно как VLIW и EPIC, процессоры Intel (Itanium и Itanium 2) и Transmeta (Crusoe и Efficeon), представляет собой другие ветви этой архитектуры. Но процессоры семейства Intel Itanium пока не очень быстры, Transmeta Crusoe — еще медленнее, их создатели уделяют больше внимания экономии потребляемой энергии. Никому в мире еще не удалось продемонстрировать в полной мере все достоинства этой архитектуры. Если хотите, наш моральный долг — сделать это.

Мы уже влияем на развитие микропроцессорной индустрии. Нас признали в том числе и те, кто в наибольшей степени определяет ее настоящее и будущее. По реально достижимой логической скорости — количеству одновременно выполняемых команд — Elbrus 3M будет самым быстрым в мире процессором. Но, конечно, по тактовой частоте мы пока значительно отстаем, в 5-6 раз. Причина, увы, банальна — нехватка денег.

Кроме того, в Elbrus 3M мы включили систему защиты на основе тэгирования, которая ранее была реализована в «Эльбрус-2». Да, это нужно заказчику. Но не будем забывать, что ведь и в целом для всей отрасли проблема защиты данных и вычислительных ресурсов сейчас стоит остро, как никогда. А у нас фактически уже есть, причем давно, система, которая гарантирует 100-процентную защиту от вирусов.

Конечно, все упирается в финансирование. Разработка нынешнего варианта Elbrus 3M велась в режиме библиотечного проектирования, это своего рода конструктор наподобие LEGO. Процессор содержит около 50 млн. транзисторов, мы берем стандартные блоки. Поэтому не удается достичь высоких тактовых частот. На то, чтобы «прилизать» транзисторы, оптимизировать их характеристики так, чтобы каждый внутри микросхемы был «подогнан под свое место», требуется несколько десятков миллионов долларов. Это уже будет заказное проектирование. Надеемся, это станет следующим шагом в развитии Elbrus 3M».