Вход |  Регистрация
 
 
Время электроники Пятница, 24 ноября
 
 


Это интересно!

Ранее

Использование операционных систем Microsoft Windows Embedded в промышленной автоматизации

На основе продуктов Windows Embedded работает огромное количество приборов и систем в самых разных отраслях экономики. Это и портативные ультразвуковые установки и приборы GPS, банкоматы и компоненты гигантских строительных механизмов. Достойное место ОС семейства Windows Embedded занимают и в сфере автоматизации производства, безопасности, мониторинга зданий и сооружений. Windows Embedded используют такие мировые игроки рынка как Beckhoff и Simens.

Технология быстрой загрузки QNX Fastboot для процессорных модулей на базе Intel Atom

В статье рассматривается технология QNX Fastboot — загрузка операционной системы жесткого реального времени QNX на платах на базе Intel Atom без использования BIOS.

Мультимедийное решение класса High End для систем стандарта CompactPCI 3U

Проникая в индустрию встраиваемых систем, современные полупроводниковые нанотехнологии и мультимедийные интерфейсы приводят к изменению устоявшейся практики проектирования и появлению изделий с совершенно новыми возможностями. Предметом настоящей статьи является встраиваемый одноплатный компьютер пятого поколения Kontron CP308, реализованный в конструктиве 3U CompactPCI и поднимающий функциональную планку для изделий подобного класса на недосягаемую прежде высоту.

Реклама

По вопросам размещения рекламы обращайтесь в отдел рекламы

Реклама наших партнеров

 

30 ноября

Семейство микропроцессоров «Эльбрус»

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



В

ведение

Российские микропроцессоры семейства «Эльбрус» базируются на новых архитектурных принципах, в основу которых положено всестороннее использование параллелизма, опирающееся на глубокую аппаратно-программную интеграцию. Первые микропроцессоры этого семейства успешно прошли Государственные испытания в 2007 г. Но их появлению предшествовал длительный этап разработки архитектуры, занявший более 20 лет.
Работы над новой параллельной архитектурой начались в 1986 г. в коллективе Института точной механики и вычислительной техники (ИТМ и ВТ) им. С.А. Лебедева, в котором до этого были созданы советские высокопроизводительные комплексы «Эльбрус-1» и «Эльбрус-2» [1]. Разработка вычислительного комплекса (ВК) «Эльбрус-3», которая велась под руководством Бабаяна Б.А., была завершена в 1991 г. В этом вычислительном комплексе впервые были воплощены в жизнь идеи явного управления параллелизмом операций с помощью компилятора. «Эльбрус-3» разрабатывался как большая машина. Его центральный процессор занимал целый шкаф, т.к. при разработке использовалась советская микроэлектроника, которая значительно уступала зарубежной. На базе последней к тому времени уже было создано несколько поколений микропроцессоров. Начавшиеся с 1992 г. экономические изменения в России не позволили разработчикам «Эльбруса-3» завершить наладку комплекса. Стало ясно, что будущие поколения вычислительной техники должны базироваться на микропроцессорах. В том же 1992 г. коллектив разработчиков машин семейства «Эльбрус» выделился в компанию ЗАО «МЦСТ» и начал вести работы над микропроцессорной реализацией разработанной архитектуры.
В настоящее время компания ЗАО «МЦСТ», которая с 2007 г. интегрируется с ОАО «ИНЭУМ им. И.С. Брука» в отраслевой институт, разрабатывает универсальные микропроцессоры двух архитектурных линий: «Эльбрус» — для высокопроизводительных вычислений и «МЦСТ-R» — для встраиваемых применений. На базе этих микропроцессоров серийно выпускаются также разработанные в ЗАО «МЦСТ» ВК «Эльбрус-3М» и семейство ВК «Эльбрус-90микро», соответственно. Поскольку в микропроцессорах семейства «Эльбрус» используется принципиально новая архитектура, в которой значительную роль играет системное программное обеспечение, компания ЗАО «МЦСТ» разрабатывает операционные системы, оптимизирующие компиляторы, технологию оптимизирующей двоичной трансляции для эффективной совместимости с Intel x86 и средства обеспечения защищенного исполнения программ [2, 3].
Микропроцессоры семейства «МЦСТ-R» производятся с 1998 г. За это время было создано 4 поколения микропроцессоров. Первые микропроцессоры выпускались на технологии 0,5 мкм, последние как система на кристалле — на 0,13 мкм, а их производительность за это время выросла с 22 до 400 Mflops при росте тактовых частот
с 80 до 500 МГц.
Первый микропроцессор линии «Эльбрус» был выпущен на технологии 0,13 мкм с тактовой частотой 300 МГц, но при этом его производительность за счет параллелизма операций составила 2,4/4,8 Gflops для 64-/32-разрядных вещественных операций. Характерной особенностью всех этих микропроцессоров является постоянное улучшение показателя производительности на 1 Вт затрачиваемой мощности. В микропроцессорах линии «Эльбрус» этот показатель получается за счет аппаратно-программной интеграции, заложенной в его архитектуре, и составляет (400 Mflops/Вт). Эти микропроцессоры используются в ВК «Эльбрус-3М», который реализован как двухпроцессорный сервер и как двухпроцессорный встраиваемый модуль. Линия микропроцессоров «Эльбрус» активно развивается и рассчитана на широкий диапазон применения, а именно: настольные компьютер и суперкомпьютер, встраиваемые системы, высокопроизводительные серверы, суперкомпьютеры.

Аппаратно-программная интеграция

Аппаратно-программная интеграция в микропроцессорах семейства «Эльбрус» базируется на строгом разделении действий между аппаратурой и системным программным обеспечением. В аппаратуре реализованы только те функции, которые необходимы для эффективного обеспечения с помощью оптимизирующих компиляторов высокой производительности, эффективной совместимости и защищенного исполнения программ.
Архитектура предоставляет параллельные вычислительные ресурсы, доступ к которым осуществляется с помощью широкой команды, позволяющей выполнить в одном такте до 23 обычных операций — арифметико-логических, обращений в память, передач управления. Параллелизм возрастает при использовании упакованных операций, которые позволяют выполнить одновременно несколько операций над упакованными данными  меньшего размера в 64-разрядных регистрах. Так, например, в одном такте можно выполнить одновременно до 33 операций над 32-разрядными данными и существенно больше — над данными меньших форматов.
Архитектура обеспечивает средства для оптимизации обычных программ под столь высокий уровень параллельности операций. Эти средства включают:
- предикатные и спекулятивные операции, используемые для повышения параллелизма и устранения ложных зависимостей между операциями;
- базированные регистры и асинхронную предварительную подкачку данных, используемые для предельно эффективной конвейеризации циклов;
- операции подготовки переходов, позволяющие распараллеливать и оптимизировать передачи управления в программах.
Наряду со средствами распараллеливания на уровне операций архитектура предоставляет средства параллельного исполнения потоков управления на общей памяти с когерентным параллельным доступом, обеспечивая темп до 2 байтов на одну 64-разрядную вещественную операцию.
Архитектура предоставляет средства, поддерживающие эффективную совместимость с архитектурой Intel x86. Эти средства рассчитаны на технологию скрытой динамической двоичной трансляции кодов Intel x86 (в которых представлена программа) в параллельные коды архитектуры «Эльбрус». Они включают в себя как поддержку самой технологии, так и поддержку наиболее эффективного отображения операций Intel x86 в операции архитектуры «Эльбрус».
Наконец, архитектура предоставляет средства эффективного защищенного исполнения программ. Они включают в себя аппаратную защиту указателей с помощью тегов, а также контекстную межмодульную защиту, ограничивающую каждую функцию набором доступных ей областей данных.
В свою очередь системное программное обеспечение и, в первую очередь, оптимизирующие компиляторы обеспечивают:
- автоматическое распараллеливание программ на уровне операций, в том числе и упакованных (векторизация), автоматическое распараллеливание на уровне потоков управления на общей памяти и автоматическое распараллеливание под распределенную память;
- технологию скрытой динамической трансляции любых программ, представленных в кодах Intel x86, включая любые операционные системы и приложения;
- реализацию языков и систем программирования для защищенного исполнения программ при поддержке операционной системы
Остановимся подробнее на особенностях архитектуры «Эльбрус».

Аппаратно-программные средства распараллеливания

Большинство современных микропроцессорных архитектур используют параллелизм операций для повышения производительности, т.к. этот вид параллелизма присутствует во всех без исключения классах программ. Самым распространенным является на сегодняшний день суперскалярный принцип распараллеливания операций. В архитектурах, использующих этот принцип, аппаратно распараллеливаются последовательные коды, которые получаются после компиляции программ. В результате аппаратуре приходится перекодировать сложно закодированные операции переменной длины в более простые операции, анализировать зависимости между этими операциями, чтобы обнаружить параллелизм, переименовывать регистры, чтобы избавиться от ложных зависимостей, и, наконец, планировать последовательные операции на параллельные устройства исполнения. Эта работа требует значительных аппаратных и энергетических затрат и не позволяет суперскалярным архитектурам исполнять более 4-х операций за такт из-за сложностей аппаратного распараллеливания.
В отличие от суперскалярных архитектур управление параллельным исполнением операций в архитектуре «Эльбрус» задается явно с помощью широкой команды. При этом распараллеливание операций, анализ зависимостей, распределение регистров и планирование выполняются программно оптимизирующим компилятором (рис. 1). Это позволяет получить более параллельный код, который исполняется быстрее суперскалярного, и тратить на исполнение меньше энергии, переложив значительную часть работы с аппаратуры на компилятор.
Оптимизирующий компилятор для архитектуры «Эльбрус» (рис. 2) поддерживает входные языки C и C++, включая GNU-расширения этих языков для более полной совместимости со свободным программным обеспечением, а также Fortran-77. Эти языки реализуются для 32- и 64-разрядных адресов, а также для защищенного исполнения, о котором пойдет речь дальше. Важным входным языком является, так называемый, переносимый код. Он задействован в кодах стандартных библиотек для повышения производительности программ, позволяя оптимизировать их в контексте конкретных приложений. Еще одной важной функцией переносимого кода является обеспечение совместимости при развитии архитектуры семейства «Эльбрус».

Рис. 1. Различия в подходе к распараллеливанию операций в микропроцессоре (МП) «Эльбрус» и в суперскалярном МП

Рис. 2. Структура и основные функции оптимизирующего компилятора для МП «Эльбрус»

Ключевым элементом оптимизирующего компилятора является блок оптимизации и генерации параллельного кода. Он обеспечивает глубокий анализ зависимостей как внутри, так и между процедурами, результаты которого используются в оптимизациях и распараллеливании вычислений. В компиляторе реализованы принципиально новые и самые современные алгоритмы анализа и оптимизаций, многие из которых значительно усовершенствованы. Алгоритмы глобального планирования операций и распределения регистров объединяются со специфическими для архитектуры оптимизациями, а эвристики обеспечивают оптимальное планирование операций для различных регионов. Тем самым удается сокращать время выполнения до длин критических путей в регионах с ограниченным параллелизмом и достигать предельной загрузки аппаратных ресурсов, т.е. максимально использовать аппаратный параллелизм в регионах с большим параллелизмом, таких как конвейеризированные циклы.
Архитектурные показатели микропроцессора «Эльбрус» — производительность 16/8 Гфлоп/ГГц для 32-/64-разрядных вещественных операций и отношение производительности к мощности 400 Мфлоп/Вт превосходят аналогичные показатели самых современных зарубежных микропроцессоров, являясь прямым следствием использования явного параллелизма операций с передачей функций их распараллеливания оптимизирующему компилятору. Проведенные в ходе Государственных испытаний замеры производительности на программных системах заказчика, представленных различными организациями, показали, что оптимизированные компилятором коды исполняются на ВК «Эльбрус-3М» 300 МГц в среднем в 1,44 раза быстрее, чем на Pentium 4 1,4 ГГц. Эти результаты были в дальнейшем подтверждены на более широком классе задач пользователей ВК «Эльбрус-3М».

Аппаратно-программные средства совместимости с Intel x86

При создании новой микропроцессорной архитектуры нельзя абстрагироваться от проблемы совместимости с существующим программным обеспечением. На сегодняшний день наибольшее распространение в мире получила архитектурная платформа Intel x86 и ее 64-разрядные расширения, выпускаемые американскими компаниями Intel и AMD. В этой архитектуре используется сложно кодируемая последовательная система команд, причем владелец этой системы команд — Intel — не лицензирует ее никому в мире.
При разработке архитектуры «Эльбрус» была поставлена и успешно решена задача обеспечения полной совместимости с архитектурой Intel x86 без повторения ее системы команд. Для достижения этой цели была разработана технология скрытой двоичной трансляции программ из кодов x86 в коды архитектуры «Эльбрус». Эта программная технология существенно поддержана архитектурой микропроцессора «Эльбрус».
Упрощенная схема работы динамической системы двоичной трансляции ВК «Эльбрус-3М» представлена на рис. 3. Основными ее компонентами являются:
- интерпретатор кодов IA-32, который работает при первом исполнении, добавляя средства мониторинга;
- двоичный транслятор, который перекодирует коды IA-32 в коды микропроцессора «Эльбрус», используя для этого несколько уровней оптимизации;
- база кодов, обеспечивающая хранение и накопление оптимизированных кодов;
- система динамической поддержки, которая обслуживает весь процесс.

Рис. 3. Схема обеспечения совместимости с помощью технологии двоичной трансляции

Для ускорения исполнения оптимизирующая трансляция запускается на свободном процессоре, а хорошо оптимизированные регионы сохраняются в базе кодов и при повторном исполнении той же программы используются без потери времени на их перекомпиляцию и оптимизацию.
Аппаратная поддержка технологии двоичной трансляции включает в себя общие средства распараллеливания программ на уровне операций, о которых было сказано ранее, средства поддержки самой технологии двоичной трансляции и средства поддержки совместимости с конкретной архитектурой x86. Ключевыми аппаратными средствами, обеспечивающими в ВК «Эльбрус-3М» эффективную и надежно работающую технологию двоичной трансляции, являются:
- полная изоляция всех компонентов двоично-транслирующей системы от исполняемой программы и ее данных;
- эффективное исполнение важнейших операций исходной платформы с соблюдением точной их семантики, в частности, операций обращения в память, для которых необходимо сохранение принятого порядка исполнения;
- воспроизведение точного состояния контекста исходной платформы (регистров и памяти) в момент прерывания исполнения (как синхронного, так и асинхронного), гарантирующее отсутствие потерь прерываний;
- полный контроль над возможными перемещениями и модификацией кодов исходной платформы при исполнении программы;
- поддержка специфических для двоичной трансляции методов оптимизации, в частности, скрытого канала для базы кодов.
Система двоичной трансляции обладает высокой надежностью. Она обеспечила успешное исполнение на ВК «Эльбрус-3М» более 20 операционных систем в кодах x86, в том числе MS DOS, несколько версий Windows (95, NT, 2000, XP и др.), Linux, FreeBSD, QNX. Под управлением этих операционных систем успешно и эффективно работают свыше 1000 популярных приложений, в том числе интерактивные компьютерные игры, программы из состава пакета MS Office (MS Word, MS Excel, MS PowerPoint и др.), видео ролики, программы компрессии декомпрессии данных, драйверы всех внешних устройств. Наряду с возможностью запуска любых программ под управлением любых операционных систем в кодах x86 предусмотрен запуск приложений в кодах x86 под управлением ОС Эльбрус-Linux. Это позволяет одновременно использовать ВК «Эльбрус-3М» для запуска программ в кодах x86 и в кодах архитектуры «Эльбрус». Таким образом, в микропроцессоре «Эльбрус» успешно решена задача полной и эффективной совместимости с архитектурой Intel x86 при лицензионной независимости от Intel.

Аппаратно-программные средства для защищенного исполнения программ

На всех современных вычислительных системах адреса и числа неразличимы. Это дает большую свободу программистам при использовании адресов в ассемблерах и указателей в языках типа C и C++, но делает данные и сами программы незащищенными от программных ошибок и злонамеренных проникновений. В архитектуре «Эльбрус» в качестве указателей используются дескрипторы, которые защищены аппаратными тегами (рис. 4).

Рис. 4. Использование тегированной памяти для защиты данных

Дескрипторы не могут быть сконструированы из отдельных частей и содержат информацию о размере объекта, на который указывают, и правах доступа к нему и к отдельным его компонентам. Благодаря этому в архитектуре «Эльбрус» контролируется любое обращение за границу объекта, описываемого дескриптором. Аппаратные теги используются также для обозначения неинициализированных данных, обращение к которым является очень распространенным источником ошибок в программах. Наконец, в аппаратуре реализован механизм контекстной защиты, который ограничивает каждую функцию набором доступных ей областей данных. Эффективность защищенного исполнения программ определяется тем, что все необходимые динамические проверки выполняются аппаратурой параллельно с выполнением операций и никак их не замедляют.
Все эти аппаратные средства позволяют реализовать наиболее распространенные языки C и C++ как абсолютно надежные. Для этого используются специальные методы компиляции и расширения операционной системы Эльбрус-Linux, опирающиеся на аппаратные средства поддержки защищенного исполнения программ. К сожалению, применение этих средств ко всем программам при их переносе на архитектуру «Эльбрус» ограничено, т.к. многие даже хорошо отлаженные программы содержат скрытые ошибки или используют опасные отклонения от стандарта языка, диагностируемые в режиме защищенного исполнения как ошибки. Так около 50% программ пользователей и более 80% программ из пакета SPECint95, которые были оттранслированы и исполнены в защищенном режиме, выявили ошибки в этих программах — использование неинициализированных данных, выходы за границу объектов, опасные отклонения от стандартов языков, использование зависших ссылок. Вместе с тем, после отладки исправления ошибок в программах они могут столь же успешно исполняться на обычных машинах, где отсутствует само понятие защищенного исполнения, но при этом программы будут значительно более надежными.

Перспективы развития линии «Эльбрус»

Работа над микропроцессорами семейства «Эльбрус» и компьютерами на базе этих микропроцессоров является важнейшей для компании ЗАО «МЦСТ». В настоящее время завершаются работы над созданием одноядерной системы на кристалле «Эльбрус-S» на базе технологии 90 нм. В активной фазе находится разработка гетерогенного 6-ядерного микропроцессора с двумя универсальными ядрами «Эльбрус» и четырьмя специализированными ядрами для обработки сигналов. Этот микропроцессор также разрабатывается на технологии 90 нм и будет применяться в различных встраиваемых системах. Оба микропроцессора будут работать на тактовой частоте 500 МГц. Начаты работы над гомогенным 4-ядерным микропроцессором «Эльбрус-2S» на технологии 65 нм, который также представляет систему на кристалле и будет работать на частоте 1 ГГц.
В части развития работ над микропроцессорами предполагается их реализация на технологиях 45, 32, 22 нм и более высоких по мере их появления. При этом ставится задача предельно оптимизировать логическое и физическое проектирование, обеспечив достижение тактовых частот свыше 4 ГГц. Предполагается также дальнейшее развитие архитектуры широкого командного слова, используемой в ядре микропроцессора, чтобы обеспечить в будущем производительность свыше 16 Gflops/ГГц на ядро. При этом число процессорных ядер в гомогенных системах должно возрасти до 16 на один микропроцессор, а в гетерогенных — возможно и больше. За счет активного применения энергосберегающих технологий при проектировании микропроцессоров предполагается на порядок увеличить производительность к выделяемой мощности и довести его до 4 Gflops/Вт. В микропроцессоры будут активно встраиваться быстрые каналы и контроллеры памяти, поддерживающие создание многопроцессорных и много машинных систем, а также средства, обеспечивающие достоверность и надежность вычислений. Все это позволит выйти на уровень микропроцессоров с терафлопной производительностью.
В части развития вычислительных комплексов предполагается создание много процессорных систем на общей памяти с целью создания мощного серверного узла, содержащего до 64 процессоров и до 1024 процессорных ядер. При этом большое внимание предполагается уделять средствам параллельного доступа в память, обеспечивая темп 2 байта на 64-разрядную вещественную операцию. Это позволит получить серверы терафлопного диапазона, а объединение столь мощных серверных узлов в многомашинный комплекс позволит создать суперкомпьютеры петафлопного диапазона. Эти вычислительные комплексы будут поддерживаться эффективными автоматическими средствами распараллеливания задач на многопроцессорные и многомашинные конфигурации. Предполагается также создать специальные системы контроля состояния подобных вычислительных комплексов, облегчающие их обслуживание, и снабдить их средствами автоматической реконфигурации для поддержания высокой надежности и готовности. Все это позволит сократить или даже ликвидировать отставание в стратегически важной области и повысит технологическую независимость и информационную безопасность.

Заключение

Подводя итоги, хотелось бы еще раз перечислить основные свойства, которые обеспечивают и предоставляют пользователям процессоры семейства «Эльбрус» и их программное обеспечение:
высокую производительность вычислений;
возможность использования всех видов параллелизма:
- параллелизм операций,
- дополнительный параллелизм упакованных операций (короткие вектора),
- параллелизм нескольких процессорных ядер и процессоров, работающих на общей памяти с когерентным доступом,
- параллелизм систем с распределенной памятью;
- экономное энергопотребление;
- современное программное обеспечение, глубоко интегрированное с архитектурой микропроцессора;
- полную и эффективную двоичную совместимость с архитектурой Intel x86 при лицензионной независимости от компании Интел;
- средства разработки и эффективной отладки надежных программных систем большими коллективами в сжатые сроки;
- конкурентоспособные аппаратные и программные средства при массовом их производстве;
- технологическую независимость и информационную безопасность.

Литература

1. Бабаян Б.А., Сахин Ю.Х. Система Эльбрус//Программирование. 1980. №6.
2. Ким А.К., Волконский В.Ю., Груздов Ф.А., Михайлов М.С., Парахин Ю.Н., Сахин Ю.Х., Семенихин С.В., Слесарев М.В., Фельдман В.М. Микропроцессорные вычислительные комплексы с архитектурой «Эльбрус» и их программное обеспечение//Вопросы радиоэлектроники, сер. ЭВТ, 2009, вып. 3. С. 5—37.
3. Волконский В., Груздов Ф., Ким А., Сахин Ю. «Эльбрус» сегодня//Открытые системы. 2009. №2//www.osp.ru/os/2009/02/7314081.



Вы можете скачать эту статью в формате pdf здесь.
Оцените материал:

Автор: Александр Ким, Владимир Волконский, ЗАО «МЦСТ» и ОАО «ИНЭУМ им. И.С. Брука»



Комментарии

0 / 0
0 / 0

Прокомментировать





 

Горячие темы

 
 




Rambler's Top100
Руководителям  |  Разработчикам  |  Производителям  |  Снабженцам
© 2007 - 2017 Издательский дом Электроника
Использование любых бесплатных материалов разрешено, при условии наличия ссылки на сайт «Время электроники».
Создание сайтаFractalla Design | Сделано на CMS DJEM ®
Контакты