PROCESADORES CRUSOEä , UNA NUEVA TECNOLOGIA NO INTELä

Daniel De Sousa

Universidad Central de Venezuela. Facultad de Ingeniería. Apartado 47100, Caracas 1041A. Venezuela.

Resumen

                En Enero del 2000, la corporación Transmeta introdujo el procesador denominado Crusoeä , una familia de soluciones compatible x86 que logra una relación directa entre el desempeño y el consumo de energía. Fue basado en la utilización de un "software" que en forma lógica rodea a su "hardware" eliminándole a éste un gran número de transistores en comparación con otros procesadores, permitiendo un ahorro significativo de energía. La arquitectura planteada en este procesador es la de un híbrido "hardware-software", donde el "software", denominado Código Morphingä , genera a los programas basados en x86 la impresión de estar corriendo en un "hardware" x86 convencional. Esto da la oportunidad de emular cualquier tecnología en microprocesadores (Motorola, AMD, Intel) con sólo cambiar la lógica del "software" que envuelve dicho hardware independientemente del chip utilizado.

Abstract

                In January of 2000, Transmeta Corporation introduced the Crusoeä , an x86-compatible family of solutions that combines performance with low power consumption. This new technology is software-based: the power savings come from replacing large number of transistor with the software that logically surrounded the hardware engine. The arquitecture of this processor can be implemented as hardware-software hybrids. The software called Code Morphingä gives x86 programs the impression that they are running on x86 hardware. This make the opportunity to emulate any microprocessor technologies (Motorola, AMD, Intel) only changing the software logic that can be rolled out independently from the chip.

INTRODUCCION

Las nuevas tecnologías emergentes no Intel, han venido tomando drásticamente un nuevo rumbo, ya que ofrecen nuevas perspectivas del como realizar los procesamientos implícitos en los sistemas que necesiten microprocesadores, esto de una manera más óptima, rápida y con ahorros significativos de energía. Una de esas tecnologías emergentes fue el lanzamiento del procesador Crusoeä , el cual plantea como solución una mezcla híbrida de "software y hardware", en donde el software incurrirá como interpretador de las palabras de control generadas hacia el microprocesador, con lo cual independiza al hardware de su entorno, así como la facilidad de actualizar versiones del software independientemente del chip utilizado. Es por ello que el presente trabajo trata de resumir un poco como es esta nueva tecnología reciente en función de sus fundamentos y software desarrollado, que trata de ganar mercado en un área tan costumbrista como lo es la de los microprocesadores

FUNDAMENTOS DEL PROCESADOR CRUSOE

Con el código del software "Morphing" que maneja la compatibilidad con x86, crearon un motor VLIW con dos unidad de integración, una unidad de punto flotante, una unidad de memoria (carga/almacena) y una unidad de cálculo de salto de dirección. En Crusoe, una palabra de instrucción es llamada molécula y puede ser de 64 o 128 bits y contiene hasta cuatro instrucciones tipo RISC, llamadas átomos. Todos los átomos son ejecutados en paralelo y el formato de la molécula determina cuantos átomos son enrutados hacia las unidades funcionales; esto reduce significativamente la decodificación y el despacho ejecutado por el hardware. La figura 1, muestra un ejemplo de una molécula de 128 bits y el mapeo directo desde los átomos hasta las unidades funcionales. Las moléculas son ejecutadas en orden. Para mantener el procesador procesando en velocidad máxima, las moléculas y por ende todos sus átomos asociados, son empacadas tanto como sean posibles.

Figura 1. Molécula que contiene hasta cuatro átomos, los cuales son ejecutados en paralelo

El archivo de registro integrado tiene 64 registros. Por defecto, el software de código "Morphing", ubica alguno de estos para mantener el estado x86 mientras que otros contienen el estado interno relacionado con el sistema, o puede ser usado como registros temporales.

El superescalamiento en los procesadores x86 como los Pentium II y Pentium III, también tienen múltiples unidades funcionales que pueden ejecutar operaciones RISC (micro-ops) en paralelo.

La figura 2, ilustra como es la metodología empleada por el hardware para traducir instrucciones x86 sobre micro-ops y organizarlo en función de hacer un mejor uso de las unidades funcionales.

Ya que la unidad de despacho reordena el micro-ops como requerimiento para mantener la unidad funcional ocupada, luego una unidad de ordenamiento es necesitada para efectivamente reconstruir el orden original de la instrucción x86 y garantizar que la tarea efectivamente este en un orden apropiado. Este tipo de hardware es mucho más complejo que el que implementa Crusoe en su motor VLIW.

Figura 2 Superescalamiento convencional usado en los hardware tipo Intel para crear y despachar los micro-ops

A causa de que las instrucciones x86 son complejas, el proceso de decodificación y despacho efectuado en el hardware requieren una gran cantidad de lógica de transistores; el chip disipará calor dependiendo del número de transistores utilizados. La siguiente tabla compara los tamaños de los procesadores Intel y los procesadores Crusoe.

Tabla 1 Tamaños entre los procesadores Intel y Crusoe

Una nota bien curiosa, es la disipación de calor, la figura 3 y 4, contrasta claramente la operación en temperatura de un procesador Pentium III y un Crusoe corriendo o ejecutando un DVD player. El modelo Crusoe TM5400 no requiere ventiladores activos, mientras que el Pentium III puede dañarse si no es refrescado con un ventilador.

Figura 3 Procesador Pentium III ejecuta un DVD a 105 °C

Figura 4 Procesador Crusoe modelo TM5400 corre un DVD a 48°C

EL SOFTWARE DE CODIGO MORPHING

El software de código "Morphing", es un sistema dinámico de traducción, osea un programa que compila instrucciones por una instrucción establecida en una arquitectura (en este caso, el target de instrucciones x86 ISA por otro ISA). El software del código Morphing, se ubica en una ROM y es el primer programa que se ejecuta cuando el procesador se inicializa. El código del software Morphing soporta ISA y es el único código x86 que ve; el único programa escrito directamente para el motor VLIW es el mismo código de software Morphing. La figura 5 muestra la relación existente entre el código x86, el código de software Morphing y el procesador Crusoe.

Figura 5 El código del software Morphing ubicado entre el procesador y software basados en x86

A causa de que el código del software Morphing aísla los programas x86, incluyendo el BIOS del PC y el sistema operativo desde el set de instrucciones nativas del motor del hardware, las cuales pueden ser cambiadas en forma arbitraria sin afectar ninguno de los softwares x86. El único programa que necesita ser modificado es el mismo código del software Morphing, y ese trabajo es realizado sólo una vez para cada cambio de arquitectura.

La credibilidad de este concepto esta siendo demostrado en la actualidad: el nativo ISA del modelo TM5400 es un mejoramiento del modelo TM3120 y en consecuencia corren diferentes versiones del código morphing. Los procesadores son diferentes porque estos son apuntados a diferentes segmentos del mercado: el modelo TM3120 es dirigido a aplicaciones de Internet y PC ultra ligeros, mientras que el otro soporta altas ejecuciones, en PC móviles.

En forma coincidencial, al ocultar el chip ISA detrás de la capa de software, se previno un problema que en el pasado obstaculizó la aceptación de las máquinas VLIW. Un VLIW tradicional expone detalles del "pipeline" del procesador al compilador, por ello cualquier cambio de ese "pipeline" podría requerir todos los binarios existentes para ser recompilado para luego ejecutarlo en un nuevo hardware. Un procesador tradicional x86 sufre un problema relacionado cuando aplicaciones viejas quieren ejecutarse correctamente en un nuevo procesador, estas usualmente necesitan ser recompiladas para adquirir las ventajas de la implementación del nuevo procesador. Esto no es un problema en los procesadores Crusoe, ya que el código del software Morphing siempre y en forma transparente optimiza y recompila los códigos x86 que este corra.

La flexibilidad de la traducción del software viene con un costo: el procesador tiene que dedicar algunos de sus ciclos para ejecutar el código del software Morphing, ciclos que en un procesador de tecnología x86 podría usarlos para ejecutar un código de aplicación.

CONCLUISONES

Definitivamente que esta nueva tecnología crea las expectativas suficientes como para pensar que se aproxima la masificación de nuevos procedimientos que no limitan lo que se tiene en la actualidad. El procesador Crusoe a pesar de ser diseñado para computadoras móviles ligeras (de 2 a 4 libras) y para dar acceso a Internet en handhels y web pads, posiblemente se introduzcan en PC de mayor procesamiento. De todas maneras ya se sabe que es una tecnología compatible Intel, que fue diseñado de acuerdo a diseños fundamentales de microprocesadores pero que se diferencian del resto por utilizar una combinación de hardware y software. Usando el software para descomponer instrucciones complejas en simples átomos y ordenarlos o listarlos así como optimizar su ejecución en forma paralela lo que ahorra millones de transistores para lógicas establecidas y definitivamente con ello el ahorro de energía consumida que esta alrededor de un 60 a 70% sobre los procesadores convencionales, mientras que al mismo momento posibilita técnicas agresivas de optimización de código que son asequibles a implementaciones X86 tradicionales.

BIBLIOGRAFIA

KLAIBER A. 2000. The Technology behind Crusoe processors. Trasmeta corporation . USA.

Daniel De Sousa, ingeniero de sistemas, egresado de la Universidad Nacional Experimental Politécnica "Antonio José de Sucre" (UNEXPO), en Julio de 1997. Actualmente ejerce el cargo de Profesional en PDVSA-Intevep. QNX, Integración de sistemas.