Главная
страница 1

УДК 621.38(06) Электроника




К.В. КОНОНЕНКО

Московский инженерно-физический институт (государственный университет)
МОДУЛЬ ДЛЯ ДИНАМИЧЕСКОГО КОМПИЛЯТОРА PORTABLE.NET

ПОДДЕРЖКИ СОПРОЦЕССОРА VFP ДЛЯ ARM5-ЯДЕР
Разработан модуль для динамического компилятора системы Portable .NET, обеспечивающий поддержку сопроцессора VFP для ARM5-ядер.
В рамках создания среды программирования для встраиваемых систем на кристалле на базе ARM-ядер [1] в качестве среды исполнения используется Portable.NET [2]. Динамическая компиляция позволяет повысить производительность работы системы с операциями над числами с плавающей точкой по сравнению со средой компиляции времени исполнения Mono [3] более чем в 4 раза. Однако остаётся целесообразным дальнейшее увеличение производительности работы системы с числами с плавающей точкой. Для систем на кристалле с ARM5 ядрами, поддерживающими арифметический сопроцессор VFP с плавающей точкой, возможна разработка соответствующего модуля динамической компиляции.

Технология динамической компиляции заключается в создании переходов от интерпретируемого кода к машинному коду, динамически генерируемому компилятором времени выполнения. Для этого используется алгоритм взаимнооднозначного преобразования состояний стековой виртуальной машины CIL [4] в заданное множество состояний регистров процессора. С точки зрения разработчика процесс добавления и отладки в компилятор времени выполнения новых инструкций виртуальной машины может осуществляться поэтапно, инструкция за инструкцией.

Архитектура ARM VFP включает 32 РОНа. Переход из режима стековой виртуальной машины в режим компиляции времени исполнения происходит посредством использования таблицы свободных регистров. Регистры упорядочиваются, вводятся такие операции, как, например, «получить верхнюю ячейку псевдо стека», «получить две первых ячейки псевдо стека», «получить три первых ячейки псевдо стека», «произвести некоторую операцию над значениями», «записать значение в верхнюю ячейку псевдо стека». Таким образом, регистры сопроцессора объединяются и используются как псевдо стек.

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

Сопроцессор VFP имеет векторную архитектуру SIMD (Single Instruction, Multiple Data), позволяющую одиночной команде работать с одним потоком команд и множеством потоков данных.

Эта технология широко используется для ускорения мультимедиа-приложений. Целесообразно, чтобы модуль не только производил одиночные операции надо числами с плавающей точкой, но и производил оптимизацию, используя соответствующие инструкции сопроцессора для проведения множественных операций (умножения, отрицания, суммирования или вычитания) над векторами из чисел с плавающей точкой. Это позволит увеличить скорость работы среды в 5-10 раз.


Список литературы


  1. Wiki страница GPE DotNET на сайте handhelds.org // http://handhelds.org/moin/moin.cgi/SummerOfCode2005

  2. Rhys Weatherley, Gopal V: Design of the Portable .NET Interpreter, .NET Developers Journal, Vol. 1, Issue No. 3, Mar 2003.

  3. Домашняя страница Mono // http://go-mono.com

  4. Стандарт ECMA-335 // http://ecma-international.org

  5. Rhys Weatherley: TreeCC: An Aspect-Oriented Approach to Writing Compilers, Free Software Magazine, Vol. 1, Issue No. 2, Feb 2002.

  6. Домашняя страница DotGNU // http://dotgnu.org

  7. Домашняя страница Open Embedded // http://oe.handhelds.org

  8. Домашняя страница GPE Palmtop Environment // http://gpe.handhelds.org




______________________________________________________________________

ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 1




Смотрите также:
Модуль для динамического компилятора portable. Net поддержки сопроцессора vfp для arm5-ядер
25.37kb.
1 стр.
Инструкция по установке сайта для iis6 5 Инструкция по установке сайта для iis7 11
113.5kb.
1 стр.
У больных с инсультом
133.06kb.
1 стр.
Руководство пользователя стр. Содержание Модуль «Список шаблонов» 2
71.75kb.
1 стр.
Автоматическое распараллеливание последовательных программ для многоядерных кластеров
127.51kb.
1 стр.
Барионные системы в киральных теориях; свойства барионов и ядер в топологических и иных солитонных моделях
17.38kb.
1 стр.
Использование коммерческой цифровой камеры для измерения световых полей
22.28kb.
1 стр.
Применение метода пространственно варьируемой экспозиции для увеличения динамического диапазона регистрации корреляционных сигналов
23.42kb.
1 стр.
Среда программирования для встраиваемых систем на кристалле на базе arm-ядер
30.6kb.
1 стр.
Предмет: литература Тема урока: "Русская литература XIX века. Пушкин". Название цора: Контрольный тест по лирике А. С. Пушкина
15.37kb.
1 стр.
Интерфейсный модуль Ethernet-camac к0631
63.23kb.
1 стр.
Лабораторная работа Миграция приложений asp. Net на Windows Azure Содержание Упражнение 1: перенос веб-приложения в облако 3
596.27kb.
4 стр.