Генералиссимус
Site Admin енот-старожил
|
«Эльбрус» сегодня
«Эльбрус» сегодня
Завершились государственные испытания универсального высокопроизводительного российского компьютера «Эльбрус-3М». С большим опозданием Россия, вслед за США и Японией, создала универсальный микропроцессор.
Владимир Волконский, Федор Груздов, Александр Ким, Юлий Сахин
Завершились государственные испытания универсального высокопроизводительного российского компьютера «Эльбрус-3М». С большим опозданием Россия, вслед за США и Японией, создала универсальный микропроцессор. Как полагают его создатели, системы «Эльбрус» смогут найти свою специфическую нишу в отечественном ИТ-ландшафте.
В конце 2007 года в МЦСТ прошли испытания компьютера «Эльбрус-3М», использующего микропроцессоры собственной архитектуры, обладающего рядом уникальных свойств: высокой логической скоростью с низким энергопотреблением за счет явного параллелизма операций, полной и эффективной двоичной совместимостью с архитектурой x86 на базе скрытой системы двоичной трансляции и средствами защищенного исполнения программ на базе аппаратных тегов.
Рождение новой архитектуры
Архитектурная линия микропроцессоров «Эльбрус» берет свое начало от многопроцессорных вычислительных комплексов «Эльбрус-1» и «Эльбрус-2», созданных соответственно в 1980-м и 1985 годах. До начала 90-х годов десятипроцессорный МВК «Эльбрус-2» был самой высокопроизводительной машиной в СССР. Программирование этой системы велось только на языках высокого уровня, а средства поддержки защищенного исполнения выполнялись на базе не имеющего аналогов в мире подхода с использованием аппаратных тегов, что значительно повышало надежность и сокращало цикл разработки программ. Продолжением этой линии должен был стать 16-процессорный МВК «Эльбрус-3», работа над которым началась в 1986 году.
В отличие от «Эльбрус-1» и «Эльбрус-2», в которых применялся суперскалярный принцип распараллеливания операций (до двух операций за такт), в процессоре «Эльбрус-3» было реализовано явное управление параллелизмом операций. Эта система разрабатывалась на больших интегральных схемах, и один процессор занимал целый шкаф. Первые процессоры были изготовлены в начале 1991 года, но через год проект был остановлен.
В новых рыночных условиях воплотить идеи, заложенные в архитектуру «Эльбруса-3», можно было, только обеспечив совместимость с какой-либо распространенной микропроцессорной архитектурой. После создания в 1992 году компании МЦСТ в течение четырех лет велась работа с Sun Microsystems над микропроцессором с явным параллелизмом и с возможностью исполнения двоичных SPARC-приложений под управлением операционной системы Solaris на базе технологии двоичной трансляции, однако в 1996 году Sun Microsystems прекратила свое участие в проекте.
Следующий микропроцессор, получивший название Elbrus-2000 (E2k), разрабатывался полностью совместимым с IA-32 на базе системы динамической двоичной трансляции любых программ, включая операционные системы [1, 2]. Кроме того,
в архитектуре E2k получили дальнейшее развитие аппаратные средства поддержки защищенного исполнения программ.
С октября 2000 года возобновилось государственное финансирование разработки вычислительного комплекса «Эльбрус-3М» на базе микропроцессора «Эльбрус», в котором был воплощен весь архитектурный и программный задел проекта E2k. На доработку и верификацию архитектуры и логики работы, а также на физическое проектирование микропроцессора ушло четыре года – в мае 2005 года был изготовлен первый микропроцессор. К этому сроку на ПЛИС (программируемые логические интегральные схемы) были спроектированы контроллеры памяти и внешних устройств и изготовлен двухпроцессорный «Эльбрус-3М».
Явный параллелизм операций
Параллелизм операций – наиболее универсальный вид параллелизма, использование которого позволяет существенно повысить производительность последовательных программ: в 6-8 раз для целочисленных программ со сложной логикой управления и более чем в 20 раз для программ, где большая часть работы выполняется над регулярными данными в циклах, а параллелизм сдерживается темпом доступа в память.
Во всех современных микропроцессорах (Intel Core 2, AMD Opteron, IBM Power 6) для повышения производительности применяется суперскалярный принцип распараллеливания операций. При исполнении программы ее операции помещаются в специальный буфер, аппаратно анализируются зависимости между ними, переименовываются регистры для устранения ложных зависимостей, вычисляются условия готовности и выполняется назначение (планирование) устройств для выполнения. В архитектурах с явным параллелизмом операций, к которым относятся микропроцессоры «Эльбрус» и Intel Itanium, анализ зависимостей между операциями, планирование их исполнения и распределение регистров выполняются при компиляции программы. Тем самым микропроцессор освобождается от значительной части функций суперскалярных архитектур, вследствие чего он потребляет меньше энергии и в нем можно использовать больше параллельно работающих устройств исполнения операций. Всю работу по распараллеливанию операций берет на себя оптимизирующий компилятор.
В микропроцессоре «Эльбрус» (техпроцесс – 130 нм, тактовая частота – 300 МГц) для параллельного запуска операций используется командное слово, размер которого может достигать 64 байт. По своим пиковым характеристикам производительности –
23 операции за такт для 64-разрядных вычислений – «Эльбрус» почти вдвое превосходит все существующие универсальные микропроцессоры. Средства векторизации, реализованные в компиляторе, позволяют задействовать аппаратные команды над упакованными данными, повышая производительность программ, использующих 32-, 16- и 8-разрядные данные. По темпу поступления данных из памяти в пересчете на одну 64-разрядную операцию – 7 байт для кэш-памяти и 2 байт для оперативной памяти на процессор – двухпроцессорный вычислительный комплекс «Эльбрус-3М», работающий на общей памяти с симметричным доступом, сравним с лучшими суперкомпьютерами.
Структура микропроцессора «Эльбрус» (рис. 1) почти повторяет E2k. Шесть арифметико-логических устройств разделены между двумя кластерами с собственной копией регистрового файла и кэш-памяти первого уровня, причем содержимое обеих копий совпадает. Для повышения параллелизма на некоторых арифметико-логических устройствах можно запустить пару зависимых операций. Использование однобитовых предикатов приводит к сокращению операций передачи управления, а спекулятивное выполнение операций позволяет избавиться от ложных зависимостей и тем самым повысить производительность, достигая времени выполнения критических путей для программ со сложной логикой управления и ограниченным параллелизмом. Устройство вычисления адресов и предварительной асинхронной подкачки данных позволяет скрыть задержки, нарушающие подготовленное компилятором планирование операций, а аппаратная поддержка программной конвейеризации циклов позволяет полностью загрузить наиболее критические устройства исполнения.
Последний раз редактировалось масон; 14.05.2009 в 15:26..
|