RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Май 2024
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031  

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Система динамической двоичной трансляции.

Перейти вниз

Система динамической двоичной трансляции. Empty Система динамической двоичной трансляции.

Сообщение  Viktor2312 Вт Июл 26 2016, 11:40

1
.
.
.

Система динамической двоичной трансляции.


____Неизменно актуальной проблемой при создании новых архитектурных платформ является перенос на них большого объёма программного обеспечения, разработанного для уже выпускаемых микропроцессоров. Необходимо либо портировать его, либо создавать заново, что, как правило, нереально. Если же попытаться обеспечить совместимость создаваемой архитектуры с уже существующими, то её возможности по части внедрения новых идей будут весьма ограниченными. Хорошо зарекомендовавшим себя способом решения проблемы является технология динамической двоичной трансляции, которая при наличии необходимой аппаратной поддержки была введена в состав общего программного обеспечения (ОПО) «Эльбрус».
____Реализованы два подхода к построению системы двоичной трансляции (другие названия – система битовой компиляции, битовый компилятор). При первом подходе она работает между микропроцессором и запускаемыми на нём x86-кодами, транслируя коды BIOS, операционной системы (ОС), драйверов и прикладных программ. Вычислительный комплекс (ВК) на базе микропроцессора «Эльбрус» с системой полной двоичной трансляции для пользователя неотличим от ВК на базе x86-микропроцессоров. При втором подходе эта система является обычным Linux-приложением и работает под управлением ОС Linux. Она позволяет запускать Linux-приложения для платформы x86, которые могут работать одновременно с приложениями в кодах платформы «Эльбрус».
____В соответствии с двумя подходами к двоичной трансляции компанией МЦСТ разработано два вида двоичных трансляторов: транслятор уровня системы и транслятор уровня приложений.

Транслятор уровня системы.

____Система битовой компиляции уровня системы (система полной двоичной трансляции) предназначена для высокоэффективного исполнения двоичных кодов, реализованных для архитектуры Intel IA-32 или аппаратно совместимых с ней на ВК на основе микропроцессора «Эльбрус». Битовый компилятор реализует семантическую совместимость с исходной платформой на уровне виртуальной машины, позволяет исполнять на ВК произвольные коды исходной платформы (IA-32), включая коды супервизорного режима (операционные системы).
____Функционирование битового компилятора в основном скрыто от оператора и исполняемых кодов исходной платформы. Работа оператора с программами исходной платформы, исполняемыми на ВК под управлением битового компилятора, идентична работе оператора с теми же программами, исполняемыми аппаратной реализацией архитектуры исходной платформы, при соответствующем совпадении номенклатуры и конфигурации периферийного оборудования.
____Битовый компилятор является неотъемлемой частью ВК, поставляется исключительно вместе с ним и требует его наличия как обязательное условие своего функционирования.
____Аппаратная конфигурация целевой платформы может варьироваться с учётом следующих ограничений:

  1. Требуется наличие "скрытого" канала IDE для загрузки самого битового компилятора и хранения его базы транслированных кодов.  В ВК «Эльбрус-3М1»  к этому каналу подключён жёсткий диск, в остальных ВК с архитектурой «Эльбрус» используется карта памяти типа Compact Flash. После завершения стартового тестирования и начальной инициализации ВК, код битового компилятора загружается по "скрытому" каналу загрузчиком нулевого уровня во время пусковой инициализации ВК в автоматическом режиме. Иного способа загрузки битового компилятора в штатном режиме не предусмотрено.

  2. Минимально поддерживаемый объём оперативной памяти (ОП) – 1 ГБайт (некоторая часть из общего объёма ОП расходуется на собственные нужды битового компилятора и недоступна кодам исходной платформы), максимальный объём ОП, доступный кодам исходной платформы – 2 ГБайт.

  3. Битовый компилятор не накладывает никаких ограничений на объём и полноту прочего периферийного оборудования в составе ВК.

Транслятор уровня приложений.

____Система битовой компиляции уровня приложений (двоичный транслятор приложений) предназначен для исполнения программ, предназначенных для выполнения на ВК с архитектурой IA-32 под управлением ОС Linux, на ВК на основе микропроцессоров с архитектурой «Эльбрус».
____Двоичный транслятор приложений является исполняемой программой, функционирующей в рамках ОС Эльбрус, и обеспечивающей прозрачный запуск пользовательского окружения Linux для приложений в кодах х86. Функционирование транслятора приложений скрыто от оператора и исполняемого приложения. Работа оператора с приложениями, исполняемыми под управлением транслятора приложений, практически идентична работе оператора на исходной платформе.
____У пользователя, запускающего приложение исходной платформы под управлением транслятора приложений, должны быть права на чтение исполняемого файла. При запусках приложения под управлением транслятора приложений S-бит в правах доступа к исполняемому файлу игнорируется.
____Для транслятора приложений нет каких-либо специфических ограничений со стороны "хостовой" ОС Эльбрус. На исполняемое приложение транслятором приложений накладывается следующее ограничение – отсутствие системного вызова ptrace. Транслятор приложений не предоставляет возможности одному исполняемому приложению отслеживать и/или влиять на ход исполнения другого приложения. Отладчики и аналогичные программы под транслятором приложений не работают.

Технология двоичной трансляции.

____Двоичный транслятор включает интерпретатор и три транслятора, функционирующие на последовательных этапах оптимизации. Каждый из них запускается на определённом участке кода, сформированном на предыдущем этапе, если число исполнений этого кода превысит заданный порог. Таким образом увеличивается эффективность результирующего кода.
____На этапе интерпретации кода набирается трасса – последовательность медленно исполняемых интерпретатором линейных участков, следующих в порядке возрастания адресов. После того как количество исполнений трассы превышает некоторый порог, запускается процедура её трансляции не оптимизирующим шаблонным транслятором.
____Шаблонный транслятор принимает на вход трассу, полученную интерпретатором, и преобразует каждую её инструкцию в двоичный код целевой архитектуры («Эльбрус»). Инструкция набирается из нескольких готовых шаблонов (подготовка операндов, операция, запись результатов). Результирующий код помещается в кэш трансляций. Благодаря этому оттранслированный код используется как новая функция, вызов которой эквивалентен интерпретации трассы.
____Быстрый регионный компилятор включает в себя урезанный набор базовых оптимизаций, которые позволяют получить существенный прирост производительности регионов (выделенных областей неоднократно исполняемого кода) при наименьших затратах времени на их компиляцию. Этим достигается оптимальное суммарное время работы всей системы двоичной трансляции. На этом этапе включается механизм планирования, компоновки операций промежуточного представления в широкие команды, также позволяющий осуществить некоторые оптимизации.
____Оптимизирующий регионный компилятор является транслятором самого высокого уровня. В результате его работы получается максимально эффективный результирующий код, хотя при этом затрачивается много времени на саму трансляцию. По внутреннему устройству похож на классические языковые оптимизирующие компиляторы, от которых отличается в основном ограничениями на скорость компиляции (и, соответственно, на использование затратных по времени алгоритмов) и наличием семантических ограничений, накладываемые семантикой исходных двоичных кодов.


источник

Viktor2312
RIP

Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения