picoJava es una especificación de microprocesador dedicada a la ejecución nativa de código de bytes de Java sin la necesidad de un intérprete o compilación justo a tiempo . El objetivo es acelerar la ejecución del código de bytes hasta 20 veces, en comparación con la CPU Intel estándar con una máquina virtual Java . [1]
Los microprocesadores basados en picoJava también pueden ejecutar código C / C ++ tan eficientemente como arquitecturas de CPU RISC comparables . [ cita requerida ] GNU Compiler Collection ha estado disponible hasta la versión 3.2.3 como definición de máquina 'pj', probablemente el primer parche fue para la versión 2.9. [2] GNU Binutils todavía está disponible como definición de máquina 'pj', a partir de la versión 2.28 de Binutil. El depurador GNU se implementó una vez, pero es posible que se pierda el código. Sun Microsystems proporcionó un simulador de conjunto de instrucciones que funcionó con GDB como código fuente abierto SCSL .
Este enfoque da como resultado el rendimiento en tiempo de ejecución de Java más rápido con una pequeña huella de memoria y un rendimiento competitivo en código que no está escrito en el lenguaje Java.
La especificación picoJava no incluye ninguna memoria o lógica de interfaz de E / S , por lo que los desarrolladores pueden agregar su propia lógica para personalizar la memoria y una interfaz .
Productos
picoJava fue diseñado originalmente para ser utilizado en productos electrónicos de consumo que ejecutan aplicaciones Java.
Sun Microsystems nunca lanzó un producto basado en esta tecnología; sin embargo, Sun ha otorgado licencias de la tecnología a empresas como Fujitsu, NEC y Siemens. El código Verilog de picoJava se publicó más tarde bajo el código fuente abierto SCSL , pero la página de descarga no está disponible actualmente.
En 2000, Fujitsu lanzó el J-Starter Kit , un sistema de desarrollo con un procesador de arquitectura picoJava.
La versión de código abierto de picoJava se ha implementado en una FPGA . [3]
Ver también
Notas
- ^ a b "¿Qué es picoJava? Definición de Webopedia" . www.webopedia.com . Consultado el 4 de junio de 2017 .
- ^ a b "Parche: Soporte para picoJava" . gcc-patches (lista de correo). 22 de octubre de 1999.
- ^ a b Puffitsch, W. y Schoeberl, M. 2007. picoJava-II en una FPGA. En las actas del 5º taller internacional sobre tecnologías Java para sistemas integrados y en tiempo real (Viena, Austria, 26 al 28 de septiembre de 2007). JTRES '07, vol. 231. ACM, Nueva York, NY, 213-221. http://doi.acm.org/10.1145/1288940.1288972
Referencias
- McGhan, Harlan; O'Connor, Mike (octubre de 1998). "PicoJava: un motor de ejecución directa para código de bytes de Java". Computer , Volumen 31, Número 10: págs. 22–30.
- O'Connor, J. Michael; Tremblay, Marc (marzo / abril de 1997). "picoJava-I: La máquina virtual Java en hardware". IEEE Micro , Volumen 17, Edición 2: págs. 45–53.
- Hangal, Sudheendra; O'Connor, J. Michael (mayo / junio de 1999). "Análisis de rendimiento y validación del procesador picoJava". IEEE Micro , Volumen 19, Edición 3.
enlaces externos
- picoJava en Sun Community Source Licensing (SCSL)
- Anuncio de lanzamiento (Fujitsu)