picojava TM Características



Documentos relacionados
Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

Arquitectura Von Neumann

ITT-327-T Microprocesadores

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

CAPÍTULO 1 Instrumentación Virtual

INF 473 Desarrollo de Aplicaciones en

Módulo 2. Inicio con Java

Figura 1.4. Elementos que integran a la Tecnología de Información.

Programador en Plataforma Java y XML

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Clase 20: Arquitectura Von Neuman

Tema 1. Introducción a JAVA

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Instituto Universitario Politécnico. Santiago Mariño. Unidad I Revisión de conceptos de Sistemas. Operativos. Elaborado por: Ing. Víctor Valencia.

CAPÍTULO 3 VISUAL BASIC

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Java Básico. Introducción a Java. Copyright

Capítulo 5. Cliente-Servidor.

Nuevas tendencias: Virtualización de computadores / servidores

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

Tema 2: Introducción a Android

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

La Unidad Procesadora.

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Unidad I. Introducción a la programación de Dispositivos Móviles

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

Conceptos Básicos de Software. Clase III

Tema 6. Gestión de la memoria

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica.

TEMA 4. Unidades Funcionales del Computador

Hardware: componentes físicos (UCP, discos, impresora, circuitos de E/S,...) Software: componentes lógicos (lo que no es hardware)

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática


Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Hardware: dentro de la caja. Introducción a la Informática

ÍNDICE SISTEMAS OPERATIVOS... 5

Estructura de Computadores I Arquitectura de los MMOFPS

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Unidad 1: Conceptos generales de Sistemas Operativos.

Lectura 2: El Sistema Operativo y sus Funciones

Módulo 1 El lenguaje Java

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Interoperabilidad de Fieldbus

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Programación de Sistemas

Manejo de versiones 392

Tema 11: Instrumentación virtual

1 EL SISTEMA R/3 DE SAP AG

Procesador Pentium II 450 MHz Procesador Pentium II 400 MHz Procesador Pentium II 350 MHz Procesador Pentium II 333 MHz Procesador Pentium II 300 MHz

Centro Universitario de Ciencias Exactas e Ingenierías DIVISION DE ELECTRONICA Y COMPUTACION

TIPOS DE REDES QUE CONFORMAN INTERNET. LAN, WAN, MAN, WLAN, WMAN, WWMAN, SAN y PAN: Qué significa cada término?

Guía de uso del Cloud Datacenter de acens

Capitulo 5. Implementación del sistema MDM

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

by Tim Tran:

Capítulo 7. Implementación del Sistema

La informática es el conjunto de técnicas y conocimientos necesarios para el tratamiento automático de la información mediante el ordenador.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

10 razones para cambiarse a un conmutador IP

Servicio de VPN de la Universidad de Salamanca

La Arquitectura de las Máquinas Virtuales.

Linksys (PAP2) Adaptador para Terminal Analógico $

Descripción. Este Software cumple los siguientes hitos:

Práctica Virtual Box.

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra

Diseño de aplicaciones móviles seguras en Android.

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

INTRODUCCIÓN A JAVA. Índice

Para ello debemos ingresar al índice del curso y seleccionar recorrido por el curso, tal como se muestra en la siguiente diapositiva:

Elementos requeridos para crearlos (ejemplo: el compilador)

4. Programación Paralela

Capitulo 1: Plataforma Android

Guía de Instalación de la JDK y del Eclipse

Generalidades Computacionales

Unidad III. Software para la administración de proyectos.

Maquinas virtuales Conceptos Básicos

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

1. INTRODUCCIÓN Y OBJETIVOS

CAPITULO 6 GUIA DE USUARIO

Movilidad. Pasa demasiado tiempo fuera de la oficina? Solución móvil Dynamics NAV


Capítulo 8. Conclusiones.

Transcripción:

picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar programas binarios entre máquinas distintas, Sun definió una arquitectura de máquina virtual llamada Java Virtual Machine. Esta máquina tiene una memoria formada por palabras de 32 bits y puede ejecutar 226 instrucciones. El problema que acarrea este problema es que la interpretación de programas para JVM es lenta, por lo que SUN y otras compañías diseñaron chips de JVM. Aunque picojava II no es un chip concreto, es la base de varios chips como la CPU microjava 701 de Sun y muchos otros. Por simplicidad nos referiremos al picojava II como un chip concreto. Qué es? El picojava es un procesador diseñado para ejecutar nativamente Java bytecodes (instrucciones de Java virtual machine). PicoJava II es una mejora de picojava que tiene un pipeline RISC de seis etapas con instruction folding previo (un proceso de cargar y ejecutar una instrucción en un solo ciclo). Esto resulta en un factor precio / prestaciones competitivo cuando se compara con procesadores RISC de altas prestaciones operando a la misma frecuencia de reloj. Características Hasta ahora, un bytecode necesitaba un interprete o era dinámicamente compilado usando un compilador just in time (JIT) para cada procesador. Ahora el procesador picojava elimina la necesidad de los interpretes comúnmente usados, los compiladores JIT y su sobrecarga correspondiente. Esto crea la oportunidad de utilizar el procesador picojava en aplicaciones cuyos requerimientos de memoria y de energía son limitados. El picojava acelera el ambiente de ejecución del Java virtual machine, además se encarga de sincronización de hebras y una variedad de métodos de garbage collection. También implementa la invocación de métodos y el ocultamiento de carga desde variables locales, entonces facilita la programación orientada a objetos. El picojava puede ser optimizado para energía, espacio(die size), o velocidad. Esta flexibilidad permite una relación precio / prestaciones necesaria para el rango de aplicaciones para las cuales fue diseñado. El procesador picojava ejecuta en hardware las instrucciones más comúnmente usadas. Las instrucciones complejas con hechas en micro código, y las más complejas son atrapadas y emuladas en software. Basado en un pipeline de seis etapas con un stack 1

(pila) en caché de 64 entradas, las operaciones realizadas en el tope de la pila son aceleradas utilizando instruction folding. Además de los bytecodes estándar del Java virtual machine, el picojava implementa un conjunto extendido de bytecodes, los cuales pueden ser ejecutados solamente por el sistema operativo y no estan disponibles para el usuario. Estos bytecodes extendidos soportan arbitrariamente la carga / almacenamiento, el manejo de caché, y el acceso a registros internos. La interface de entrada / salida y la memoria es manejada por la Unidad de Interfaz de Bus (bus interface unit). Los datos de punto flotante son permitidos con una precisión simple y doble por la Unidad de Punto Flotante (Floating Point Unit) si es que la aplicación lo requiere. Ventajas para software Optimizado para Java Virtual Machine Para compiladores de C/C++, herramientas de debugger y linckadores en Solaris, Windows NT, and Windows 95 Provee una Interfaz para Programas de Aplicación Application Programming Interface (API) para: o Ambiente de aplicaciones personales de Java o Java TV o Java Phone o Auto Java Aplicaciones El picojava está principalmente enfocado en el consumidor y para productos que se beneficien con sus prestaciones tales como: Digital set-top Boxes TV por Internet Teléfonos con pantallas que permiten ver quien es el interlocutor Dispositivos para comunicación con los automóviles (GIS) Aspectos técnicos Es una CPU de un solo chip con dos interfaces de bus, una para el bus de memoria que tiene una achura de 64 bits y una para el bus PCI que tiene una anchura de 32 bits,. El picojava tiene una caché de nivel 1 opcional dividida en el chip, con hasta 16 KB para instrucciones y hasta 16 KB para datos. No tiene caché de nivel 2 porque uno de sus aspectos de diseño fue el bajo costo para ser usado en sistemas embutidos. El chip microjava 701 utiliza el bus PCI (a 33 MHz o a 66 MHz). La ventaja de usar este bus es que es estándar y este es un punto positivo en el caso de televisores de Web y otros aparatos más grandes. Un sistema microjava 701 normalmente incluye una PROM flash. Esto facilita el caso de los aparatos en los cuales una gran parte del programa, sino todo, tiene que estar incluido en el dispositivo. El microjava 701 tiene 16 líneas de E/S programable que pueden conectarse a botones, interruptores y lámparas del aparato. Por ejemplo los botones de un teléfono celular o un horno microondas. El chip también tiene tres temporizadores programables incluidos, lo cual también es útil porque los aparatos a menudo operan en tiempo real. 2

3

Comparación del Pentium, UltraSPARC y picojava A pesar de ser procesadores muy diferentes estos tres procesadores tienen mucho en común. Las tres máquinas tienen unidades de ejecución similares. Todas las unidades de ejecución aceptan micro operaciones que contienen un código de operación, dos registros fuente y un registro destino. Todas ellas pueden ejecutar una micro operación en un ciclo; todas ellas tienen filas de pre-procesamiento profundas y predicción de ramificaciones y todas ellas tienen cachés I y D divididos, con 16 KB por caché. La diferencia primordial entre el Pentium II, el UltraSPARC II, Y EL picojava II es la forma como llegan de su conjunto de instrucciones de ISA a la de ejecución. El Pentium II tiene que descomponer sus instrucciones CISC para ponerlas en el formato de tres registros que la unidad de ejecución necesita. El picojava II tiene el problema opuesto: cómo combinar varias instrucciones para obtener microoperaciones simples y claras. El UltraSPARC II no tiene nada que hacer porque sus instrucciones nativas ya son microoperaciones. 4

PicoJava Virtual Machine El pico Virtual Machine es un java (software) adaptado para las necesidades de pequeños sistemas basados en micro controladores de 8/16/32 bit, tales sistemas podrían ser encontrados en beepers, teléfonos celulares, juguetes, y otros. Cuando se utiliza con estos dispositivos, el pvm brinda todo el poder y la conveniencia de Java. Beneficios Campos configurables y dispositivos programables. Simplifican el desarrollo de la aplicación Es un camino rápido para expandir la funcionalidad del producto. 5