Jazelle RCT

Jazelle — семейство технологий, разработанных и продвигаемых компанией ARM, предназначенных для аппаратного ускорения выполнения приложений, написанных на языке Java. Jazelle разработана для архитектуры ARMv5TEJ[1], и первым процессором, использующим технологию Jazelle, был ARM926EJ-S[2]. Доступность технологии Jazelle в названии процессора обозначается буквой 'J', за исключением моделей, для которых данная технология является неотъемлемой частью архитектуры.

В настоящее время на рынке присутствует разновидность Jazelle DBX (сокр. от англ. Direct Bytecode eXecution — прямое выполнение байт-а). Основным элементом этой технологии является специальный сопроцессор, встраиваемый в стандартную архитектуру микропроцессоров ARM9. Сопроцессор аппаратно преобразует байт- 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.

См. также[ | ]

Примечания[ | ]

  1. ARM Architecture Reference Manual (англ.) (PDF) (недоступная ссылка). ARM. — Справочное руководство по архитектуре ARM. Дата обращения: 1 июня 2009. Архивировано 26 января 2007 года.
  2. Shanghai Jade Licenses ARM Prime Starter Kit for DCP SoC (англ.) (недоступная ссылка). Design & Reuse (12 January 2004). — Первое упоминание о лицензировании технологии Jazelle. Дата обращения: 1 июня 2009. Архивировано 4 февраля 2012 года.

Ссылки[ | ]