Jazelle

Jazelle  är en familj av teknologier utvecklade och marknadsförda av ARM för hårdvaruacceleration av Java -applikationer . Jazelle är designad för ARMv5TEJ [1] -arkitekturen och den första processorn som använde Jazelle-teknologi var ARM926EJ-S [2] . Tillgängligheten av Jazelle-teknik i processornamnet indikeras med bokstaven 'J', förutom för modeller där denna teknik är en integrerad del av arkitekturen.

För närvarande på marknaden finns det en variant av Jazelle DBX (förkortat från engelska  Direct Bytecode eXecution  - direct bytecode execution). Huvudelementet i denna teknik är en speciell coprocessor inbyggd i standard ARM9 mikroprocessorarkitekturen . Medprocessorn omvandlar Java-bytekoden i hårdvaran till lämplig sekvens av instruktioner från huvudprocessorn, som omedelbart exekverar dem. Således ersätts mjukvarutolkningen av bytekoder av en hårdvara, vilket leder till en betydande acceleration av bearbetningen av bytekoder, och, som ett resultat, till accelerationen av exekveringen av program i Java. Med andra ord utför Jazelle DBX hårdvarukonvertering av bytekoder till instruktioner från huvudprocessorn i farten. Därav namnet DBX - "dynamisk exekvering".

I juni 2005 tillkännagav ARM en ny generation av teknologi som heter Jazelle RCT (förkortat från engelska  Runtime Compiler Target  - stöd för dynamiska kompilatorer). Jazelle RCT introducerar en extra instruktionsuppsättning till standard ARM- processorarkitekturen . De nya kommandona är speciellt designade för optimal exekvering av Java -bytekod. Således kan en enkel kompilator snabbt konvertera bytekoden till instruktioner för huvudprocessorn, samtidigt som den effektivt använder nya typer av instruktioner. I de flesta fall kommer varje bytekod att motsvara en enda 16-bitars instruktion från den nya uppsättningen. Som ett resultat kommer den genererade koden att ha nästan samma storlek som den ursprungliga bytekoden, men kommer att exekveras i hårdvara och därför mycket snabbare.

Först och främst kan utvecklare av så kallade dynamiska kompilatorer ( Just-In-Time Compilers ) dra nytta av funktionerna i RCT-tekniken, eftersom omvandlingen av bytekod till RCT-instruktionsuppsättningen kan utföras mycket snabbt, och den resulterande koden kommer att inte kräver onödigt stort lagringsminne. RCT-instruktionsuppsättningen är inte strikt knuten till Java-språket och kan användas för att kompilera bytekoder för andra tolkade språk som Perl , Python och språk som stöds av Microsofts .NET - teknik .

Implementering

Jazelle-tillägget använder en binär översättning på låg nivå implementerad som ett extra steg mellan hämtnings- och avkodningssteget i processorns pipeline-instruktioner. Den igenkända bytekoden konverteras till en sträng från en eller flera inbyggda ARM-instruktioner.

Se även

Anteckningar

  1. ARM Architecture Reference Manual  (engelska) (PDF)  (länk ej tillgänglig) . ÄRM. — ARM Architecture Reference Guide. Hämtad 1 juni 2009. Arkiverad från originalet 26 januari 2007.
  2. Shanghai Jade licensierar ARM Prime Starter Kit för DCP SoC  (engelska)  (länk ej tillgänglig) . Design & Återanvändning (12 januari 2004). — Första omnämnandet av Jazelle-teknologilicensiering. Hämtad 1 juni 2009. Arkiverad från originalet 4 februari 2012.

Länkar