Jazelle: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Jsg08 (обсуждение | вклад) Нет описания правки |
добавлено 2 строки перевода |
||
Строка 31: | Строка 31: | ||
Особенностями технологии RCT могут воспользоваться, прежде всего, разработчики так называемых динамических [[компилятор|компиляторов]] ({{lang|en|[[JIT|Just-In-Time Compilers]]}}), поскольку преобразование байт-кода в набор команд RCT может быть выполнено очень быстро, и результирующий код не будет требовать излишне большой памяти для хранения. Набор команд RCT не привязан жёстко к языку [[Java]] и может использоваться для компиляции байт-кодов прочих интерпретируемых языков, таких как [[Perl]], [[Python]], а также языков, поддерживаемых технологией [[.NET]] фирмы [[Microsoft]]. |
Особенностями технологии RCT могут воспользоваться, прежде всего, разработчики так называемых динамических [[компилятор|компиляторов]] ({{lang|en|[[JIT|Just-In-Time Compilers]]}}), поскольку преобразование байт-кода в набор команд RCT может быть выполнено очень быстро, и результирующий код не будет требовать излишне большой памяти для хранения. Набор команд RCT не привязан жёстко к языку [[Java]] и может использоваться для компиляции байт-кодов прочих интерпретируемых языков, таких как [[Perl]], [[Python]], а также языков, поддерживаемых технологией [[.NET]] фирмы [[Microsoft]]. |
||
== Реализация == |
|||
Расширение Jazelle использует низкоуровневый бинарный перевод, выполненный в виде дополнительной ступени между выборкой и декодированием этапа инструкций процессора pipeline. Опознанный байт-код преобразуется в строку из одного или более родных инструкций ARM. |
|||
[править] |
|||
==См. также== |
==См. также== |
||
* [[picoJava]] |
* [[picoJava]] |
Версия от 17:28, 22 октября 2009
Содержимое этой статьи нуждается в чистке. |
Jazelle — семейство технологий, разработанных и продвигаемых фирмой ARM, предназначенных для аппаратного ускорения выполнения приложений, написанных на языке Java. Функциональность Jazelle была специфицирована для архитектуры ARMv5TEJ[1], и первым процессором, использующим технологию Jazelle, был ARM926EJ-S[2]. Доступность технологии Jazelle в названии процессора обозначается буквой 'J', за исключением моделей, для которых данная технология является неотъемлемой частью архитектуры.
В настоящее время на рынке присутствует разновидность Jazelle DBX (Dynamic Bytecode eXecution — динамическое выполнение байт-кодов). Основным элементом этой технологии является специальный сопроцессор, встраиваемый в стандартную архитектуру микропроцессоров не указано название статьи. Сопроцессор аппаратно преобразует байт-код Java в соответствующую последовательность команд основного процессора, который немедленно их выполняет. Таким образом программная интерпретация байт-кодов заменяется аппаратной, что приводит к существенному ускорению обработки байт-кодов, и как следствие, ускорению выполнения программ на языке Java. Другими словами, Jazelle DBX производит аппаратное преобразование байт-кодов в команды основного процессора «на лету». Отсюда и название DBX — «динамическое выполнение».
В июне 2005 г. ARM анонсировал новое поколение технологии Jazelle под названием RCT (Runtime Compiler Target — поддержка динамических компиляторов). Jazelle RCT вводит дополнительный набор инструкций в стандартную архитектуру процессоров ARM. Новые команды специально разработаны для оптимального выполнения Java байт-кода. Таким образом, простой компилятор может быстро преобразовать байт-код в команды основного процессора, при этом эффективно используя новые типы команд. В большинстве случаев каждому байт-коду будет соответствовать единственная 16-разрядная команда из нового набора. В результате сгенерированный код будет иметь практически тот же размер, что и исходный байт-код, но будет выполняться аппаратно и, следовательно, намного быстрее.
Особенностями технологии RCT могут воспользоваться, прежде всего, разработчики так называемых динамических компиляторов (Just-In-Time Compilers), поскольку преобразование байт-кода в набор команд RCT может быть выполнено очень быстро, и результирующий код не будет требовать излишне большой памяти для хранения. Набор команд RCT не привязан жёстко к языку Java и может использоваться для компиляции байт-кодов прочих интерпретируемых языков, таких как Perl, Python, а также языков, поддерживаемых технологией .NET фирмы Microsoft.
Реализация
Расширение Jazelle использует низкоуровневый бинарный перевод, выполненный в виде дополнительной ступени между выборкой и декодированием этапа инструкций процессора pipeline. Опознанный байт-код преобразуется в строку из одного или более родных инструкций ARM.
[править]
См. также
Примечания
- ↑ ARM Architecture Reference Manual (англ.) (PDF). ARM. — Справочное руководство по архитектуре ARM. Дата обращения: 1 июня 2009.
- ↑ Shanghai Jade Licenses ARM Prime Starter Kit for DCP SoC (англ.). Design & Reuse (12 января 2004). — Первое упоминание о лицензировании технологии Jazelle. Дата обращения: 1 июня 2009.