Křemíková Java

Čip picoJava je základním procesorem, ostatní dva pak využívají jeho vlastností a jsou od něj odvozeny.
Java, coby objektově orientovaný programovací jazyk, přináší do internetového světa (a pomalu i mimo něj) snadnou přenositelnost, integraci aplikací prostřednictvím sítě a možnost snadné distribuce základních komponent. Pravda, na takovýto operační systém se dlouho čekalo, ale počáteční euforii trochu přibrzdila jedna zásadní vlastnost tohoto jazyka a jeho interpretu v podobě Java Virtual Machine – nízký výkon, který se stal slabým místem celého systému.

Řešení se ale našlo a jeho autorem nemohl být nikdo jiný, než autor samotné Javy, společnost Sun Microsystems.

Jedna z jeho divizí, Sun Microelectronics, přišla na trh s něčím, co je pro další významnější rozšíření Javy nezbytně nutné a už na počátku roku 1996 ohlásila procesor pro Javu. Vytvořit jazyk nebo specifikaci, kde provádění případných změn není až zase takový problém, je přece jen snadnější a méně nákladné, než vytvořit pro takovýto jazyk akcelerující procesor. Proto Sun několikrát odložil bližší uvedení tohoto procesoru a do svého družstva přibral ještě několik hráčů. Se svou troškou postupně přispěly společnosti Rockwell, Metaware, LG Semiconductors, Thompson a Toshiba. Výsledkem celého snažení je rodina tří procesorů pro Javu určených pro hardwarovou akceleraci tohoto jazyka.

Provádění programů napsaných v Javě se na běžném počítači provádí klasickým způsobem – bajtový kód se buďto prožene interpretem, který však celý proces zpomalí, nebo se použije JIT (Just In Time) kompiler. Ten sice vykonání programu podstatně urychlí, dojde však k více než trojnásobnému nárůstu velikosti kódu a to je pro aplikaci s omezenými paměťovými možnostmi znovu důvod ke zpomalení.

Základ tvoří picoJava

Nová architektura JavChip přináší mikroprocesor, který je optimalizován pro Javu a vyšší výkonnost jejího provádění bez dodatečných paměťových nároků. Čip picoJava je základním procesorem, ostatní dva pak využívají jeho vlastností a jsou od něj odvozeny. Tento procesor přímo vykonává operace z instrukční sady Javy bez použití interpretu nebo kompileru JIT. Aby mohl procesor vykonávat daný kód naprosto stejně jako v případě softwarové interpretace, musí odpovídat specifikaci Java Virtual Machine (JVM).

Java Virtual Machine je virtuální stroj vytvořený Sunem pro provozování aplikací v Javě. Upřesňuje instrukční sadu, datové typy, zásobník operandu a další potřebné vlastnosti. Operační kód má osm bitů, je však doplněn libovolným počtem operandů. JVM obsahuje 200 přidělených operačních kódů, 25 rychlých a tři rezervované variace. Výsledný kód Javy je relativně velmi malý, protože neobsahuje specifikaci registrů a lokální proměnné jsou dostupné prostřednictvím základního ukazatele. Průměrná instrukce tak obsahuje pouze 1,8 bajtu v porovnání s průměrně 4 bajty u většiny RISCových procesorů.

Architektura picoJavy je velmi blízká RISCovým procesorům, obsahuje podobný pipelining (zřetězení) i přímou instrukční sadu. Hardwarově jsou implementovány pouze ty instrukce, které přímo zlepšují provádění Javy, většina z nich se vykonává během jednoho až třech instrukčních cyklů. Zbývající instrukce jsou vykonávány prostřednictvím mikrokódu (to v případě těch výkonnostně kritických) nebo jsou emulovány.

Mezi další vlastnosti hardwarové podpory Javy patří čtyřstupňový pipelining (fáze fetch, decode, execute&cache a writeback), vylepšený hardwarový zásobník a urychlovaná správa zásobníku.

A co ti další

Procesor picoJava byl prvním procesorem svého druhu. Jeho licencování je možné již nyní a v podstatě představuje jakýsi základní stavební kámen. Další procesory (v současnosti jde o dva) jsou postaveny na stejné architektuře a přidávají pouze některé funkce navíc. Jde o dosud komerčně nedostupné procesory, a proto jsou špatně přístupné i podrobnější informace o jejich specifikách.

Čip microJava oproti picoJavě obsahuje aplikací specifikovaný vstup/výstup (I/O), paměť a komunikační a řídicí funkce. Zatímco předchůdce byl určen spíše pro nasazení v inteligentních telefonech, přístrojích PDA a levné spotřební elektronice, microJava se zaměřuje spíše na oblast NC a levných síťových produktů.

UltraJava je současný král mezi procesory pro Javu (vždyť už jeho jméno začíná na rozdíl od ostatních velkým písmenem – to není chybou tisku), mezi jedno z jeho obrovských vylepšení patří podpora technologie VIS. Jde o RISCovou instrukční sadu, která je založena na SPARC V9 architektuře a je vytvořena pro podporu 2D a 3D grafiky, komprese a dekomprese videa i zvuku, pro podporu síťových operací, kódování a některé další algoritmy. Už z tohoto výčtu je patrné, kam se UltraJava bude profilovat – především do oblasti zábavy, 3D grafických aplikací a samozřejmě i NC.

Váš názor Další článek: Soudní pře o Internet Explorer nabírá zajímavý směr

Témata článku: , , , , , , , , , , , , ,