A picoJava egy olyan mikroprocesszor-specifikáció, amely a Java bájtkód közvetlen, natív végrehajtását célozza, interpreter vagy futásidejű fordítás (just-in-time compilation, JIT) alkalmazása nélkül. A specifikációt a Sun Microsystems készítette az 1990-es évek végén, ennek eredeti célja az volt, hogy a Java bájtkód végrehajtását hardveres segítséggel minimum 20-szorosára gyorsítsák az általános Intel CPU-s rendszereken futó JVM-hez képest. A picoJava-alapú processzorok – elméletileg – a C/C++ kódot is képesek olyan sebességgel végrehajtani, ami összemérhető a RISC processzor-architektúrák végrehajtási sebességével. Ez a megközelítés igen gyors Java futásidejű teljesítményt ad, emellett kis memóriaigénnyel jár, ráadásul versenyképes teljesítményt nyújt a nem Java forrásnyelvről fordított kódok végrehajtásában is. A picoJava specifikáció nem tartalmaz kikötéseket sem a memória, sem a ki- és bemenet felépítésére vagy kezelésére vonatkozóan, így a fejlesztők szabad kezet kapnak ezek megvalósításában, tetszőleges saját implementációt alkalmazhatnak a memóriahozzáférés és a ki-/bemeneti interfészek kialakításkor (a hardveres implementáció tervezésekor).
Megvalósult eszközök
A picoJava specifikáció eredetileg a fogyasztói-elektronikai termékekben és beágyazott rendszerekben történő felhasználást célozta, tehát olyan hétköznapi elektronikai eszközökben való alkalmazást feltételezett, amelyek működésükhöz a mikrovezérlőknél valamivel bonyolultabb kódot igényelnek, illetve Java nyelvű programokkal vezérelhetők.
A Sun Microsystems nem készített ezen a technológián alapuló eszközt; azonban licencelte a technológiát más mikroelektronikai cégeknek, mint pl. a Fujitsu, NEC és Siemens. A picoJava Verilog kódja később nyílt forrásúvá vált, ami azt jelenti, hogy akár magánemberek is készíthetnek ezen a specifikáción alapuló processzort (bár a forráskódot tartalmazó oldal jelenleg nem elérhető).
2000-ben a Fujitsu kibocsátott egy J-Starter Kit elnevezésű (fantom-) hardvercsomagot, ami egy picoJava architektúrájú processzort tartalmazó fejlesztőrendszer. A csomag jelenleg (2013-ban) nem kapható, és a vonatkozó hivatkozások sem elérhetőek az Interneten.
A picoJava nyílt forrású változatának létezik FPGA technológiájú megvalósítása.[1]
Lásd még
Jegyzetek
- ↑ Puffitsch, W. and Schoeberl, M. 2007. picoJava-II in an FPGA. In Proceedings of the 5th international Workshop on Java Technologies For Real-Time and Embedded Systems (Vienna, Austria, September 26–28, 2007). JTRES '07, vol. 231. ACM, New York, NY, 213-221. http://doi.acm.org/10.1145/1288940.1288972
Források
- McGhan, Harlan; O’Connor, Mike (October 1998). "PicoJava: A Direct Execution Engine For Java Bytecode". Computer, Volume 31, Issue 10: pp. 22–30.
- O’Connor, J. Michael; Tremblay, Marc (March/April 1997). "picoJava-I: The Java Virtual Machine in Hardware". IEEE Micro, Volume 17, Issue 2: pp. 45–53.
- Hangal, Sudheendra; O'Connor, J. Michael (May/June 1999). "Performance analysis and validation of the picoJava processor." IEEE Micro, Volume 19, Issue 3.
Fordítás
Ez a szócikk részben vagy egészben a PicoJava című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Kapcsolódó szócikkek