MyTetra Share
Делитесь знаниями!
Российские технологии Эльбрус для персональных компьютеров, серверов и суперкомпьютеров
Время создания: 01.12.2015 16:50
Автор: Ким А.К., Бычков И.Н., Волконский В.Ю., Во­робушков В.В., Груздов Ф.А., Михайлов М.С., Ней-ман-заде М.И., Парахин Ю.Н., Семенихин С.В., Слесарев М.В., Фельдман В.М., ОАО «ИНЭУМим. И.С. Брука»
Раздел: Компьютер - Аппаратное обеспечение - Микропроцессор Эльбрус
Запись: xintrea/mytetra_syncro/master/base/1448977806y2dtv3nzbc/text.html на raw.github.com

Российские технологии Эльбрус

для персональных компьютеров,

серверов и суперкомпьютеров


Ким А.К., Бычков И.Н., Волконский В.Ю., Во­робушков В.В., Груздов Ф.А., Михайлов М.С., Ней-ман-заде М.И., Парахин Ю.Н., Семенихин С.В., Слесарев М.В., Фельдман В.М., ОАО «ИНЭУМим. И.С. Брука»



Ключевые проблемы современной ИТ индустрии


Развитие информационных технологий в значительной степени определяется темпами развития в таких ключевых областях, как микро­электроника и программное обеспечение. Они характеризуются экспо­ненциальным ростом числа транзисторов в микропроцессорах и экспо­ненциальным ростом объема и сложности программного обеспечения.

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

Как показали исследования [1], практически все программы облада­ют огромным потенциалом параллелизма на уровне операций - от не­скольких десятков до нескольких тысяч операций за такт. Этот вид па­раллелизма наиболее универсален, он может быть эффективно поддер­жан в аппаратуре и обнаружен автоматически (с помощью компилято­ров) в существующих программах. Векторный параллелизм (операции над упакованными данными) также поддается аппаратно-программной оптимизации, но имеет ограниченное применение в программах. Парал­лелизм потоков управления значительно труднее поддается программ­ной автоматизации и зачастую требует усилий программистов для явно­го распараллеливания программ. Таким образом, использование парал­лелизма на уровне операций является важнейшим методом повышения производительности процессорного ядра, вследствие чего повышается производительность многоядерных систем в целом, т.к. ускоряются вы­числения на участках, не поддающихся другим видам распараллелива­ния.

Быстрый рост объема и сложности программного обеспечения ха­рактеризуется снижением его общей надежности из-за большого коли­чества ошибок и уязвимостей. Например, размер дистрибутива Linux Debian c 2000 г. (Potato) по 2013 г. (Wheezy) вырос более чем в 9 раз по числу входящих в него пакетов и почти в 9 раз по размеру исходного кода, а надежность находится на уровне 1-5 ошибок на 1 тыс. строк ко­да. Последнее десятилетие характеризуется стремительным ростом ки­берпреступности и кибератак, что стало прямым следствием ошибок в программах, а также использованием существующих аппаратных архи­тектур, обладающих низким семантическим уровнем и не имеющих средств повышения надежности программ. Таким образом, вопросы безопасности и надежности программного обеспечения выходят на пер­вый план на пути дальнейшего развития информационных технологий.

Решение всех перечисленных проблем возможно на базе технологий универсальных микропроцессоров с архитектурой «Эльбрус» [2-3]. Они обеспечивают высокую производительность процессорного ядра за счет параллельного исполнения операций при экономном энергопотребле­нии, обеспечивают полную и эффективную двоичную совместимость с самой распространенной в мире архитектурной платформой Intel x86, x86-64, а также предоставляют эффективные средства надежного про­граммирования на базе аппаратно поддерживаемых защищенных вы­числений. Благодаря этому микропроцессоры с архитектурой «Эльбрус» рассчитаны на широкий спектр применений, а их технологии постоянно совершенствуются и не уступают лучшим зарубежным аналогам.



Явное управление параллелизмом операций


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

В первых 4-х поколениях микропроцессоров с архитектурой «Эль­брус», включая процессоры «Эльбрус-2С+» и «Эльбрус-4С», с помо­щью широкой команды на одном процессорном ядре в каждом такте можно запускать на исполнение: на ациклических участках кода до 16 операций, при выполнении циклов - до 23 операций, 8 64-разрядных вещественных операций. В микропроцессоре «Эльбрус-8С» уже можно запускать на исполнение до 25 операций и 12 64-разрядных веществен­ных операций.

Для снижения потерь от доступа за данными в память реализован аппаратно-программный механизм асинхронной предварительной под­качки данных в специальные буферные памяти. Специальные операции подготовки переходов обеспечивают возможность эффективно осу­ществлять переходы без использования предсказателя переходов. Аппа­ратура поддерживает средства (исполнение под управлением предика­тов) программно-управляемого переупорядочивания операций и одно­временного исполнения нескольких условных ветвей программы.

Наряду с параллелизмом на уровне операций в архитектуре «Эль­брус» реализован векторный параллелизм за счет операций над упако­ванными данными. Благодаря этому возможности выполнения 32­разрядных вещественных операций на одном ядре возрастают в 2 раза и позволяют исполнять: на «Эльбрус-2С+» и «Эльбрус-4С» - до 16, а на микропроцессоре «Эльбрус-8С» - до 24 упакованных операций (Флопс). Упакованные операции реализованы также для целочисленных опера­ций. Они находят применение в таких областях, как обработка сигналов, обработка изображений, графика и др. Во вновь разрабатываемых про­цессорах линии «Эльбрус» возможности выполнения упакованных опе­раций удваиваются.

Микропроцессоры с архитектурой «Эльбрус» поддерживают и рас­ширяют при переходе к новым поколениям параллелизм потоков управ­ления на базе многоядерности. Кроме этого поддерживается паралле­лизм многопроцессорности на общей памяти с когерентными много­уровневыми кэш-памятями на базе неодинакового времени обращения к общей памяти (NUMA).

Все описанные механизмы параллельного исполнения эффективно поддержаны оптимизирующим компилятором [4], что позволяет авто­матически получать коды, использующие мощное процессорное ядро и другие параллельные возможности архитектуры.

Технологии параллельного исполнения операций с использованием для этого оптимизирующего компилятора находят применение в разви­тии известных архитектур. Хотя в большинстве универсальных МП ис­пользуется внеочередное аппаратное планирование потока операций, некоторые элементы планирования вычислений с помощью компилято­ра заложены в архитектуру Sparc64, начиная со Sparc64 VIIIfx - специ­ального расширения архитектуры Sparc v9 для суперкомпьютеров. Как и в архитектуре «Эльбрус», в этой архитектуре используются большие регистровые файлы, а также возможность закодировать одновременную выборку сразу двух операций, с помощью которых оптимизирующему компилятору удается гораздо лучше распараллеливать вычисления, особенно в циклах.



Динамическая компиляция и оптимизация


Динамическая компиляция и оптимизация программ играет все бо­лее важную роль в процессе повышения эффективности и надежности, а также при обеспечении эффективной совместимости с существующими аппаратными платформами. Она особенно важна для архитектур с яв­ным параллельным исполнением операций.


Рис. 1. Система двоичной совместимости в архитектуре «Эльбрус»



В микропроцессорах с архитектурой «Эльбрус» технология динами­ческой компиляции и оптимизации, прежде всего, используется для обеспечения полной двоичной совместимости с архитектурой Intel x86, x86-64 и двоичной совместимости на уровне приложений под управлением операционной системы «Эльбрус», базирующейся на OS Linux (Рис.1) [5]. Эта система включает в себя несколько уровней дина­мических компиляторов. Простейшие шаблонные компиляторы гене­рируют не очень оптимальный код, но зато работают очень быстро. А самые высокие уровни системы динамической двоичной оптимизации полностью используют все параллельные возможности целевой архи­тектуры «Эльбрус».


За счет специальной аппаратной поддержки в режиме совместимо­сти эффективно исполняются многопоточные двоичные приложения с соблюдением моделей памяти исходной аппаратной платформы (поря­док обращений в память), и обеспечивается реализация точных и асин­хронных аппаратных прерываний. Для снижения потерь от динамиче­ской компиляции, она выполняется параллельно с исполнением на от­дельных ядрах многоядерной и многопроцессорной архитектуры «Эль­брус». Хорошо оптимизированные коды «горячих» регионов сохраня­ются в специальной базе кодов, что ускоряет повторное исполнение программ.

Динамическая оптимизация обладает также хорошими адаптивными свойствами. Она позволяет перекомпилировать регионы, в которых наблюдаются динамические события, негативно влияющие на произво­дительность, и устранить причины возникновения таких событий. Это свойство динамической оптимизации используется в системе динамиче­ской компиляции для архитектуры «Эльбрус». Благодаря свойству адаптивности технология динамической компиляции использовалась компанией VMware на ранних этапах реализации систем виртуализа­ции. Динамическая перекомпиляция привилегированного кода, который при исполнении в непривилегированном режиме вызывал много преры­ваний, позволяла существенно сократить их число и поднять эффектив­ность системы виртуализации.

Примечательно использование системы динамической компиляции оптимизации в недавно объявленном микропроцессоре Denver, создан­ном в компании Nvidia. Этот микропроцессор реализует систему команд ARM v.8, т.е. 64-разрядную архитектуру, которую предполагается ис­пользовать, в том числе, и в области энергоэффективных серверов и су­перкомпьютеров. В самом начале исполнения программы исходный ARM код аппаратно преобразуется во внутренние команды. При этом выполняются не более двух операций за такт, но собирается информа­ция о передачах управления в программе. В случае, когда исполнение какого-то участка кода достигает некоторого порогового значения, ап­паратно вызывается динамический двоичный компилятор, который оп­тимизирует и сохраняет микрокод соответствующего региона, исполь­зуя возможность запускать до семи внутренних операций за такт за счет явного управления параллелизмом в микрокоде. Приводятся данные, что на работу неоптимизированного кода и самой динамической компи­ляции затрачивается всего только 3% общего времени исполнения. А на вещественных приложениях микропроцессор Denver работает быстрее, чем предназначенный для работы в том же энергоэффективном сегмен­те микропроцессор последнего поколения Haswell от компании Intel. Технология, реализованная в микропроцессоре Denver, очень похожа на технологию, реализованную в микропроцессорах с архитектурой «Эль­брус». Отличие заключается в том, что в микропроцессорах линии «Эльбрус» используется более широкая команда, позволяющая испол­нять за такт существенно больше операций.

Динамическая компиляция и оптимизация находит применение при реализации программ, требующих хорошей адаптации к конкретным аппаратным особенностям и ресурсам. В области суперкомпьютеров динамическая компиляция используется в технологии OpenCL, которая используется для оптимизации программ, как для графических, так и для универсальных процессоров. Для этого отдельные, наиболее вычис­лительно емкие ядра программ реализуются на языке OpenCL C, компи­лируются в промежуточный язык, например, LLVM, а при запуске про­граммы на исполнение компилируются из промежуточного представле­ния в код конкретной аппаратной платформы. Аналогичный подход применяется для оптимизации библиотеки OpenGL. Эта технология позволяет максимально эффективно использовать все параллельные возможности целевой аппаратной платформы, включая средства векто­ризации и многопоточного исполнения.

В системе программирования архитектуры «Эльбрус» с самого нача­ла ее разработки была заложена возможность сохранения программы не только в виде двоичного кода, но и в виде промежуточного пред­ставления, семантически близкого к языку C. Промежуточное пред­ставление программ для архитектуры «Эльбрус» EIR (Elbrus Intermedi­ate Representation) было разработано до появления промежуточного представления LLVM, но они обладают значительным сходством. Это, в частности, позволило разработчикам компилятора для архитектуры «Эльбрус» оптимизировать шейдеры, реализованные в OpenGL с помо­щью библиотеки LLVMpipe и ускорить исполнение трехмерной графи­ки в 3 раза.

Для повышения надежности программ часто используются безопас­ные языки, такие как Java и C#. Реализация этих языков осуществляется с помощью виртуальной машины, которая включает динамические средства контроля типов и целостности объектов при выполнении про­граммы. Поскольку виртуальные машины не имеют непосредствен­ной реализации на современных аппаратных платформах, программы на Java и C# исполняются с помощью интерпретаторов, а для повышения эффективности исполнения используются динамические компилято­ры и оптимизаторы. На микропроцессорах с архитектурой «Эльбрус» реализована виртуальная машина языка Java OpenJDK, в которой рабо­тает динамический компилятор, оптимизируя Java bytecode в парал­лельные команды микропроцессора.



Технология защищенного исполнения программ


В архитектуре «Эльбрус» реализована не имеющие аналогов в мире технология защищенного исполнения программ, которая позволяет эф­фективно использовать языки программирования C и C++ и обеспечи­вают уровень надежности, не уступающий языкам Java и C#. Это дости­гается за счет теговой архитектуры, структурированной памяти на базе дескрипторов и контекстной защиты, обеспечивающей языковые прин­ципы ограничения областей видимости данных (Рис.2).



Рис. 2. Тегированная память в архитектуре «Эльбрус»



С помощью тегов задается информация о типах данных, использу­емых программой. При этом аппаратно поддерживаются только не­сколько, наиболее важных с точки зрения надежности типов данных: неинициализированные данные, числовые данные и указатели на дан­ные (дескрипторы, описывающие объекты, на которые смотрят указате­ли). Благодаря этому теги не занимают много места (2 бита на 32­разрядное слово в памяти) и хранятся в памяти в кодах коррекции (ECC). Контроль числовых типов данных возлагается на компиляторы.

Благодаря наличию тегов и дескрипторов память исполняемой про­граммы становится структурированной, т. е. наполненной содержа­тельными объектами и данными, а не просто набором байтов, как во всех современных микропроцессорных архитектурах. Это существенно повышает семантический уровень архитектуры «Эльбрус».

Семантический уровень архитектуры «Эльбрус» дополнительно по­вышается в направлении языков программирования за счет средств кон­текстной защиты, реализованных на аппаратном уровне. Контекстная защита при исполнении любой функции (метода) обеспечивает доступ только к тем данным, которые прямо или косвенно доступны ей (ему) средствами языка. Обычно это данные, расположенные в области ви­димости функции (метода). Для функции языка C - это глобальные дан­ные единицы компиляции (модуля), параметры и локальные данные са­мой функции. При этом глобальные данные модуля состоят из соб­ственных данных модуля, доступных только его функциям, интер­фейсных данных модуля, видимых из функций других модулей, и ссы­лок на интерфейсные данные других модулей. При вызове из функции одного модуля функции другого модуля аппаратно и атомарно проис­ходит смена контекста, в результате чего вызванной функции становят­ся доступны ее глобальные данные, но глобальные данные вызывающей функции становятся не доступными. Контекстная защита для языка С++ работает аналогичным образом [6].

Эффективность реализации технологии защищенного исполнения программ обеспечивается на аппаратном уровне, т.к. контроль типов и проверки нарушения границ объектов, необходимые при обращениях в память через указатели, выполняются параллельно с выполнением соот­ветствующих операций и не замедляют исполнение программы.

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

Технология защищенного исполнения позволяет создавать надеж­ное, хорошо отлаженное программное обеспечение большими коллек­тивами разработчиков. Кроме этого исполнение программ в этом режи­ма надежно защищает их от проникновения компьютерных вирусов. Чаще всего вирусы проникают, используя для этого ошибки в систем­ном программном обеспечении, но, как правило, для передачи управле­ния используется неконтролируемое на всех существующих аппаратных системах переполнение буфера. Благодаря наличию тегов, дескрипторов и контекстной защиты на архитектуре «Эльбрус» такой способ проник­новения просто не возможен. Это позволяет безопасно включать в про­граммы, работающие на платформе «Эльбрус», встроенные модули (plug-in), которые работают в виртуальной памяти приложения и на обычных аппаратных системах делают их уязвимыми.

Хотя в мире предпринималось много попыток создать более надеж­ные аппаратные архитектуры, они не увенчались успехом, т.к. в самом начале для реализации принимались неверные решения, в дальнейшем мешали вопросы совместимости. Тем не менее, попытки создать надеж­ную архитектуру продолжаются. В частности, абсолютно новым путем пытаются идти разработчики проекта CRUSH-SAFE , поддерживаемого агентством DARPA. Основной целью проекта является создание надеж­ных вычислительных систем. Для этого предлагается аппаратная архи­тектура, в которой 64-разнядные данные защищаются 64-разрядными тегами, обращение к данным осуществляется через дескрипторы, вы­полняется динамический контроль типов и считается, что ради дости­жения высокой надежности можно пожертвовать производительность и совместимостью. В отличие от технологий архитектуры «Эльбрус» предлагаемая система ориентируется на абсолютно новые языки про­граммирования, для нее должна использоваться новая операционная си­стема и специальная аппаратура. Этот проект находится в начальной стадии по сравнению с хорошо проработанной и требующей массового внедрения технологией защищенного исполнения программ в архитек­туре «Эльбрус».



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


Начиная с 2007 г. разработано 5 поколений микропроцессоров с ар­хитектурой «Эльбрус», причем 3 последних микропроцессора, «Эль- брус-2С+», «Эльбрус-4С» и «Эльбрус-8С», реализованы как многоядер­ные системы на кристалле (рис.3). Они используются для создания встраиваемых модулей, серверных модулей, серверов и автоматизиро­ванных рабочих мест.




2 ядра «Эльбрус»

4 DSP ядра Мультикор

368 млн. транзисторов

90 нм

500 МГц

28(16+12) Гфлопс

25 Вт

2011 г. выпуска


4 ядра «Эльбрус»

986 млн. транзисторов

65 нм

800-950 МГц

50-60 Гфлопс

45-55 Вт

2013г. выпуска


8 ядер «Эльбрус»

2,7 млрд. транзисторов

28 нм

1300 МГц

250 Гфлопс

75-90 Вт

2014 г. 1-я итерация

2015 г. выпуск


Рис. 3. Многоядерные микропроцессоры линии Эльбрус



С 2011 г. выпускается 6-ядерный гетерогенный микропроцессор (СнК) «Эльбрус-2С+» (2 универсальных ядра «Эльбрус» и 4 ядра DSP с архитектурой Мультикор) производительностью 28 Гфлопс (16 Гфлопс - на универсальных ядрах и 12 Гфлопс - на ядрах DSP) [7]. Однопро­цессорные модули на базе микропроцессора «Эльбрус-2С+» использу­ются в стационарных и переносимых автоматизированных рабочих ме­стах, двухпроцессорные - во встраиваемых системах, а четырехпроцес­сорные - для создания серверных модулей и серверов на их основе.

С конца 2013 г. выпускаются 4-ядерные микропроцессор «Эльбрус- 4С» с тактовой частотой 0,8-1,0 ГГц, с производительностью 50-64 Гфлопс, изготавливаемые по технологическим нормам 65 нм. На базе этих микропроцессоров разработаны однопроцессорное автоматизиро­ванное рабочее место в стандартном форм-факторе персонального ком­пьютера и 4-процессорные серверные модули, работающие на общей памяти. На базе этих модулей в 2015 г. изготавливается сервер (одна стойка 47U) с производительностью 13,8 Тфлопс (60 модулей 1U). Средства коммуникации позволят в дальнейшем использовать данный сервер как узел для создания суперкомпьютера с производительностью в сотни Тфлопс.

Для создания вычислительных систем на базе российских микро­процессоров в 2010 г. на технологии 130 нм был разработан контроллер периферийных интерфейсов (КПИ) [8], который подключается к про­цессору через один или два дуплексных канала ввода-вывода с про­пускной способностью 2+2 Гбайт/сек. КПИ поддерживает работу со следующими интерфейсами внешних устройств и шин: SATA, PCI, PCI Express x8, Ethernet 10/100/1000 Mbps, IDE, IEEE1284/RS-232/RS-485, USB 2.0, AC-97/GPIO, IOAPIC/PIC/I2C/SPI/Timer. Для возможности ра­ботать с более современными интерфейсами в 2015 г. завершается раз­работка контроллер КПИ-2. Первая итерация этого контроллера, спро­ектированного на технологии 65 нм, изготовлена в октябре 2014 г. КПИ- 2 будет взаимодействовать с процессорами через более мощные каналы PCI Express.

В октябре 2014 г. изготовлена 1-я итерация 8-ядерных микропроцес­сор «Эльбрус-8С» по технологическим нормам 28 нм (завершение раз­работки в 2015 г.). Эти микропроцессоры рассчитаны на частоту 1,3 ГГц и производительность 250 Гфлопс. Эти, в 4 раза более производитель­ные микропроцессоры (по сравнению с «Эльбрус-4С») можно исполь­зовать для создания однопроцессорных рабочих мест, четырехпроцес­сорных серверных модулей, мощных серверов и супер-ЭВМ петафлоп­сного класса.

В ноябре 2014 г. завершаются государственные испытания полно­стью российского микропроцессора «Эльбрус- 1С». Он изготовлен на российской фабрике (завод «Микрон») по технологическим нормам 90 нм. В 2015 г. завершается разработка гетерогенного микропроцессора (СнК) «Эльбрус-1С+», в котором кроме универсального ядра «Эльбрус» будет реализовано графическое ядро, поддерживающее 2D и 3D графи­ку. Этот маломощный процессор (7 Вт), работающий на частоте 1 ГГ ц, предполагается использовать для создания мобильных устройств.

С 2014 г. ведется разработка 8-16-ядерного микропроцессора «Эльбрус-16С» (первая итерация в 2017 г., завершение разработки в 2018 г.) на технологии 28 нм производительностью свыше 512 Гфлопс. На базе этого МП можно изготавливать супер-ЭВМ производительностью до 10 петафлопс.

До 2020 г. запланирована разработка 32-ядерного МП с тактовой ча­стотой до 2 ГГц с производительностью 2-4 Тфлопс на технологии 14 нм. На базе этого МП можно создать супер-ЭВМ с производительно­стью свыше 100 Pflops.

Программное обеспечение для архитектуры «Эльбрус»

Вычислительные комплексы на базе микропроцессоров с архитекту­рой «Эльбрус» оснащаются сертифицированным общим программным обеспечением (ОПО) «Эльбрус», включающим операционную систему (ОС) «Эльбрус», совместимую с ОС Linux, со средствами поддержки систем реального времени и средствами защиты от несанкционирован­ного доступа. Средства разработки программ, написанных на языках высокого уровня Си, Си++, Фортран, Джава и др., обеспечивают эффек­тивное распараллеливание на всех уровнях: параллелизм на уровне опе­раций, векторный параллелизм, параллелизм потоков управления, па­раллелизм систем с распределенной памятью. Разработчикам программ предоставляются средства анализа производительности и распараллели­вания программ (OpenMP, MPI). Данные производительности реальных задач, полученные на 16-ядерных модулях с МП «Эльбрус-4С», под­тверждают эффективность МП с архитектурой «Эльбрус».

ОПО «Эльбрус» включает средства поддержки пользовательского интерфейса, комплекс сервисных и пользовательских программ (СУБД, средства работы с гипертекстом, офисные пакеты, электронную почту и проч.), графические библиотеки и пакеты, высокопроизводительные ма­тематические и мультимедийные библиотеки. Эти средства поддержи­вают все возможности архитектуры «Эльбрус» и отвечают современ­ным требованиям, которые предъявляются к программным системам индивидуального и коллективного пользования. Нужно также отметить, что созданное ОПО «Эльбрус» работает не только на платформе «Эль­брус», но и на платформе Sparc (ЗАО «МЦСТ» выпускает процессоры с этой архитектурой), а также на платформе Intel x86, x86-64.

ОПО «Эльбрус» постоянно развивается. Ведется работа по обновле­нию дистрибутива операционной системы, который реализуется на базе Debian. Обновляется ядро операционной системы (ближайшая версия будет совместима с Linux 3.10), ведется реализация системы виртуали­зации (паравиртуализация на базе ядра ОС «Эльбрус»). Постоянно рас­ширяется набор прикладных программ и пакетов, включаемых в дис­трибутив. Оптимизирующие компиляторы развиваются в направлении динамической оптимизации и адаптации программ к аппаратным ресур­сам. Система динамической двоичной компиляции развивается в направлении поддержки интерфейсов современных операционных си­стем с современным аппаратным окружением. Предполагается более активное внедрение системы защищенного исполнения программ.

Литература

1. Postiff M.A., Greene D.A., Tyson G.S., Mudge T.N. The Limits of Instruction Level Parallelism in SPEC95 Application // INTERACT-3 at ASPLOS-VIII, 1998.

2. Ким А.К. Российские универсальные микропроцессоры и вычислительные комплексы высокой производительности: результаты и взгляд в будущее. // Вопросы радиоэлектроники серия ЭВТ, выпуск 3, 2012. С. 5-13.

3. Ким А.К., Волконский В.Ю., Груздов Ф.А., Михайлов М.С., Парахин Ю.Н., Сахин Ю.Х., Семенихин С.В., Слесарев М.В., Фельдман В.М. Архитектур­ная линия «Эльбрус» сегодня: микропроцессоры, вычислительные ком­плексы, программное обеспечение, // Современные информационные тех­нологии и ИТ-образование. Сборник докладов 7-й международной научно­практической конференции, Москва, 6-9 декабря 2012. С.21-29.

4. Волконский В.Ю., Брегер А.В., Бучнев А.Ю., Грабежной А.В., Ермолицкий А.В., Муханов Л.Е., Нейман-заде М.И., Степанов П.А., Четверина О.А. Ме­тоды распараллеливания программ в оптимизирующем компиляторе. // Во­просы радиоэлектроники серия ЭВТ, выпуск 3, 2012. С. 63-88.

5. Воронов Н.В., Гимпельсон В.Д., Маслов М.В., Рыбаков А.А., Сюсюкалов Н.С. Система динамической двоичной трансляции х86->«Эльбрус». // Во­просы радиоэлектроники серия ЭВТ, выпуск 3, 2012. С.89-107.

6. Ким А.К., Волконский В.Ю., Груздов Ф.А., Сахин Ю.Х., Семенихин С.В. Защищенное исполнение программ на базе аппаратной и системной под­держки архитектуры «Эльбрус». // Современные информационные техно­логии и ИТ-образование. Сборник докладов 5-й международной научно­практической конференции, Москва, 8-10 ноября 2010. С.22-39.

7. Исаев М.В., Кожин А.С., Костенко В.О., Поляков Н.Ю., Сахин Ю.Х. Двухядерная гетерогенная система на кристалле «Эльбрус-2С+». // Вопро­сы радиоэлектроники, сер. ЭВТ, 2012, вып. 3. С.42-52.

8. Ким А.К., Михайлов М.С., Фельдман В.М. Подсистема ввода-вывода для систем на кристалле «МЦСТ-4R» и «Эльбрус-S» на основе микросхемы контроллера периферийных интерфейсов. // Вопросы радиоэлектроники, сер. ЭВТ, 2012, вып. 3. С.52-62.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования