Генералиссимус
Site Admin енот-старожил
|
Производительность микропроцессора «Эльбрус» составляет 16/8 GFLOP/ГГц для 32-/64-разрядных вещественных операций, а отношение производительности к мощности -- 400 MFLOP/Вт, что является прямым следствием использования явного параллелизма операций с передачей функций их распараллеливания оптимизирующему компилятору. Это почти вдвое выше аналогичных параметров универсальных микропроцессоров. Проведенные в ходе государственных испытаний замеры производительности на программных системах, предоставленных различными организациями, показали, что оптимизированные компилятором коды исполняются на 300-мегагерцевом «Эльбрус-3М» в среднем в 1,44 раза быстрее, чем на Pentium 4/1,4 ГГц (рис. 2).
Двоичная совместимость с IA-32
«Эльбрус-3М» обеспечивает полную двоичную совместимость с архитектурой IA-32 на базе технологии скрытой (невидимой пользователю) динамической двоичной трансляции со специальной аппаратной поддержкой (рис. 3). Основные компоненты данной технологии:
интерпретатор кодов IA-32, работающий при первом исполнении и добавляющий средства мониторинга;
двоичный транслятор, перекодирующий коды IA-32 в коды микропроцессора «Эльбрус», используя для этого несколько уровней оптимизации;
база кодов, обеспечивающая хранение и накопление оптимизированных кодов;
система динамической поддержки, обслуживающая весь этот процесс.
Для ускорения исполнения оптимизирующая трансляция запускается на свободном процессоре, а хорошо оптимизированные части кода сохраняются в базе кодов и при повторном исполнении той же программы используются без потери времени на их перекомпиляцию и оптимизацию.
Современные суперскалярные микропроцессоры Intel и AMD аппаратно преобразуют сложные команды переменной длины в более простые микрооперации. Затем анализируются зависимости, назначаются регистры и планируется выполнение микроопераций, а для некоторых реализаций (Pentium 4) формируется трасса микроопераций, которая помещается в специальную скрытую память (кэш трасс) для повторного использования. Такую реализацию вполне можно было бы назвать аппаратным двоичным транслятором. При использовании программно-аппаратной двоичной трансляции перекодировка двоичных кодов исходной архитектуры в функционально эквивалентные коды целевой архитектуры, анализ зависимостей, набор регионов планирования, назначение регистров и планирование операций исключаются из аппаратуры. Однако в эту трансляцию встраивается важный набор средств обеспечения эффективности и надежности системы двоичной трансляции [3], что позволяет достигать высокой логической скорости (времени выполнения при одинаковых тактовых частотах) для программ в кодах IA-32. На всех задачах пакета SPECfp95 производительность «Эльбрус-3М»/300 МГц в среднем превосходит производительность Pentium II/300 МГц в 1,75 раза и на 17% выше, чем у Pentium III/450 МГц. На более широком классе задач производительность ВК «Эльбрус-3М» при исполнении кодов IA-32 сравнима с производительностью процессоров Pentium II, Pentium III и Pentium IV, работающих в диапазоне частот 300-1500 МГц.
Сегодня на «Эльбрус-3М» работает около 20 операционных систем в кодах IA-32: MS-DOS, Windows, Linux, FreeBSD, QNX и др. Под управлением этих операционных систем на платформе «Эльбрус-3М» работает около тысячи приложений, в том числе компьютерные игры, программы из состава пакета Microsoft Office, видеоролики, программы компрессии данных, драйверы внешних устройств. Все это свидетельствует о надежности и полноте системы двоичной трансляции.
Средства защищенного исполнения программ
На всех современных вычислительных системах адреса и данные неразличимы, что дает большую свободу программистам при использовании ассемблеров и языков типа Си и С++, но делает данные и сами программы незащищенными от программных ошибок и злонамеренных проникновений через указатели, нарушающие языковые границы объектов, «зависшие» ссылки на уничтоженные объекты и доступ в приватные области данных.
В архитектуре микропроцессора «Эльбрус» в качестве адресов используются специальные структуры данных – дескрипторы, описывающие весь объект (переменную, массив) и текущее положение указателя внутри него, а для типизированных объектов – еще и информацию о типе и правах доступа к полям [4]. Эта структура данных защищена аппаратными тэгами – двумя дополнительными битами, которыми снабжается каждое 32-разрядное слово в памяти машины, а сами биты хранятся в кодах коррекции памяти. Таким образом, аппаратура отличает любое числовое значение от дескриптора и запрещает использование чисел в качестве адресов для обращения в память. Дескрипторы не могут быть «сконструированы» программистом и формируются аппаратными командами при выделении памяти в стеке процедур, а вне стека – операционной системой.
Защита объектов с помощью дескрипторов дополнена действенным механизмом межмодульной защиты. Аппаратура гарантирует, что объекты (данные и функции), не входящие в интерфейс модуля, не могут быть прочитаны или модифицированы из других модулей. Для типизированных объектов при этом гарантируется невозможность доступа к приватным данным объекта, кроме как через методы соответствующего типа (класса). Межмодульная защита работает для каждой функции, а модулем является единица компиляции (для Си) или класс (для С++).
Таким образом, «Эльбрус-3М» предоставляет средства для создания надежного программного обеспечения, поскольку при защищенном исполнении обнаруживаются причины «неопределенного» (на обычных машинах) поведения программ, а опасные и сложные ошибки (нарушение границ объектов, использование неинициализированных данных, опасных конструкций языка или опасных отклонений от стандарта языка) хорошо локализуются. Эти возможности были продемонстрированы на государственных испытаниях «Эльбрус-3М» при переносе и защищенном исполнении задач пакетов SPEC95 и SAMATE (собранные по всему миру ошибочные фрагменты широко распространенных программ).
Развитие микропроцессоров с архитектурой «Эльбрус»
Развитие микропроцессорной архитектуры «Эльбрус» предполагается вести в направлении создания системы на кристалле, увеличения числа процессорных ядер и повышения тактовых частот путем включения большего числа блоков, реализованных с использованием технологии полностью заказного проектирования, а также развития технологии эффективной совместимости с архитектурами IA-32 и Intel 64 [5].
В 2009 году завершается разработка микропроцессора «Эльбрус-S» (техпроцесс – 90 нм, тактовая частота – 500 МГц), представляющего собой систему на кристалле. В него встроены каналы доступа в память, включая контроллеры DDR2 с общей пропускной способностью 8 Гбайт/с, а для создания многопроцессорных систем на общей памяти – три дуплексных канала когерентного обмена с другими процессорами и канал доступа к внешним устройствам. Пиковая производительность микропроцессора возрастет пропорционально тактовой частоте, а производительность на реальных задачах – в два раза по сравнению с микропроцессором «Эльбрус».
Параллельно начата реализация гибридного микропроцессора, содержащего два ядра с архитектурой «Эльбрус» и четыре специализированных ядра для обработки сигналов (техпроцесс – 90 нм, тактовая частота – 600 МГц). Пиковая производительность этого микропроцессора превысит 30 GFLOPS.
В планах МЦСТ – освоить технологические нормы 65, 45 и 32 нм, поднять тактовую частоту микропроцессора выше 2 ГГц и увеличить число ядер в нем до 16. Это позволит получить универсальный микропроцессор терафлопного диапазона, а за счет развития линии гибридных микропроцессоров поднять производительность еще на порядок. При проектировании предполагается использовать технологию энергосбережения.
От ПК до суперкомпьютера
Совместимость архитектуры «Эльбрус» с IA-32 и Intel 64 открывает хорошие перспективы для широкого внедрения. За счет преимущества в логической скорости архитектура «Эльбрус» с ростом тактовых частот микропроцессоров сможет развиваться не как абсолютно новая, а как совместимая с платформой Intel. Перекомпиляцию программ с целью получения дополнительной производительности для наиболее критических применений можно будет выполнять постепенно, по мере необходимости.
Внедрению компьютеров с архитектурой «Эльбрус» в качестве ПК, кроме совместимости с архитектурой Intel, будет способствовать их удешевление, которое при массовом выпуске станет прямым следствием сокращения количества чипов в компьютере за счет создания многоядерных систем на кристалле.
Серверы с архитектурой «Эльбрус» будут опираться на многопроцессорность с использованием когерентной общей памяти. Предполагается довести количество процессорных ядер в одном сервере до 1024, используя для этого до 64 процессоров.
Многопроцессорный сервер с когерентным доступом в память может рассматриваться как узел для построения суперкомпьютера. «Эльбрус-3М» демонстрирует на задачах из области суперкомпьютеров производительность, близкую к пиковой (таблица 2), что делает вполне реальной возможность создания российского суперкомпьютера на базе микропроцессоров «Эльбрус» – при объединении в одном комплексе от 64 до 256 серверов он сможет достичь производительности петафлопного диапазона [6].
Повышение производительности программ, исполняемых в виде двоичных кодов IA-32 за счет совершенствования технологии двоичной трансляции, повышение производительности переносимых программ за счет совершенствования компилятора с языков Си, С++ и Фортран и развитие ОС Linux, поддерживающей защищенное исполнение программ и работу в реальном времени, придадут дополнительную привлекательность платформе «Эльбрус».
Это все к вопросу о том, что в РФ все таки не все таак запущено и есть еще энтузиасты, корые развивают у нас свои технологии
Последний раз редактировалось масон; 14.05.2009 в 15:28..
|