Comparativa arquitecturas de 64bits: AMD Opteron VS Intel Itanium.
Intel contra AMD, la comparativa de siempre. Desde los Athlon o Duron, a los Pentium o Celeron. Todos con sus 32 bits. Ahora llega el futuro, los 64 bits. Nuevas arquitecturas con VLIW (Very Long Instruction Word), FSB (Front Serial Bus), cachés on-die de 3er nivel... ¿a dónde vamos a parar?. Desde Galbox.com, realizamos una comparativa de estos dos avances tecnológicos.
Empecemos por partes:
INTEL ITANIUM:
El procesador Intel Itanium se comenzó a desarrollar por Intel en colaboración de HP a partir del año 1994. Tras un largo período de fabricación su primera aparición fue en Junio de 2001. Menos de un año después, en Abril de 2002 apareció la 2ª versión de este procesador, el Itanium 2.
Dentro de este artículo, en cuanto al Itanium se refiere, se tratarán los siguientes aspectos:
Arquitectura EPIC (Explicitly Parallel Instruction Computing) Cálculo de Instrucciones Estrictamente en Paralelo, en la que Itanium se basa.
Operaciones en punto flotante. Un punto importante en el Itanium ya que en este aspecto es donde se ha avanzado en su construcción.
Entre el Itanium y el Itanium 2 muy pocas diferencias hay. Caben destacar el tamaño de la caché, incremento de las frecuencias de trabajo... En un principio el Itanium se destinó para ser el cerebro de grandes servidores con unas necesidades anormales -en comparación con máquinas personales- de potencia de cálculo y cantidades de memoria.
EPIC: Cálculo de Instrucciones Estrictamente en Paralelo
La tecnología EPIC para el cálculo de instrucciones en paralelo surgió como un cruce entre los sistemas de procesadores CISC (Complex Instruction Set Computers) Conjunto de Instrucciones complejas de computación ; y RISC (Reduced Instruction Set Computer) Conjunto de Instrucciones Reducidas de Computación . Antes de seguir veamos resumidamente las características de ambas:
CISC:
Conjunto de microprocesadores cuyo conjunto de instrucciones se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitecuta RISC.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayoría de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones.
Los CISC pertenecen a la primera corriente de construcción de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86.
RISC:
Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.
Sólo las instrucciones de carga y almacenamiento acceden a memoria a por datos.
Suelen disponer de muchos registros de propósito general.
La mayor parte de los tipos de microprocesador modernos son RISC, por ejemplo SPARC, MIPS y PowerPC.
El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria
Una vez explicadas muy por encima las características de estos dos sistemas, metámonos a fondo con EPIC.
El conjunto de instrucciones del Itanium con EPIC es RISC, pero las intrucciones se agrupan en grupos de 3, llamados VLIW (Very Long Instruction Word) palabra larga-grande de memoria que como se ve en el IA-64. Una instrucción típica VLIW es de este tipo:
Intrucción 2
Instrucción 1
Instrucción 0
Template
41 bits
41 bits
41 bits
5 bits
Siendo una instrucción del tipo:
Major OP
Argumentos
Pred.
4bits
31 bits
6 bits
En este esquema, Template indica al procesador cómo y cuándo ejecutar las instrucciones. Las instrucciones básicas I, M, A, F, B se pueden combinar dando un total de 24 tipos de paquetes. Viendo los esquemas anteriores, se puede deducir que la técnica es muy dependiente del compilador ya que este tiene que generar una secuencia de instrucciones independientes, además de asegurar el máximo paralelismo de dicha secuencia.
Itanium 2:
Las características principales del Intel Itanium 2 se resumen a continuación:
Más de 328 registros
128 de Coma Flotante (82 bits), su rango: FR0 - FR127
128 de Enteros (64 bits), su rango: GR0 - GR127
64 de Predicado (1 bit), su rango PR0 - PR63
8 de Salto (64 bits), su rango BR0 - BR7
y mucho más, pero estos son los más sobresalientes
Unidades de ejecución:
6 Enteros.
2 Coma Flotante
3 Salto.
2 Load.
2 Store.
1 SIMD.
Otras características:
Pipeline de 8 etapas.
Ejecución de hasta 6 instrucciones por ciclo.
2ˆ64 bytes de memoria virtual.
2ˆ50 bytes de memoria física.
Permite especificar el tipo Endian
HP - UX trabajan en modo Big-Endian:
Formato para el almacenamiento y la transmisión de datos binarios en el que el bit (o el byte) más significativo obtiene la dirección más baja. La norma contraria, denominada little endian, coloca en la dirección más baja el bit menos significativo.
Linux - Windows trabajan en modo Little-Endian:
El bit (o byte) de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.
Direccionamiento plano, no existen instrucciones para el indexado. Sólo existen operaciones con postincremento con punteros.
Utilización de mecanismos de "Predication" predicación: Predicación es un método de manejar ramificaciones condicionales. La idea principal del método es que el compilador planifique ambos caminos posibles de la ramificación para que sea ejecutada en el procesador simultáneamente. Por supuesto, los procesadores EPIC tendrán muchas unidades funcionales.
Compatibilidad con el modo de 32 bits, pero con un bajo rendimiento
Veamos un tipo de procesador Itanium, el Madison con más caché una frecuencia el 50% mayor que su predecedor el Itanium 2, que ya tiene varias versiones: 9M, Montecito,...
Características básicas:
Se fabricó a un tamaño de 0,13µ.
Frecuencia máxima de 1,5Ghz
Caché de 3 niveles: L1 de 32Kb, L2 de 256Kb y L3 de hasta 6Mb "on-die". Caché on-die se refiere a que esta caché de nivel 3 es parte del mismo procesador, de la misma pieza de silicio.
FSB (Front Serial Bus) Bus de Sistema Frontal a 400 Mhz.
Ancho de banda de 6,4 Gb/s.
Destacan los 410 Millones de transistores empleados.
Superficie de 374 mmˆ2
4,5 Gigaflops a 1,5 Ghz.
Consumo máximo estimado de 130W.
A continuación una pequeña escala comparativa de la evolución de los Itanium
AMD OPTERON
Desarrollado por AMD entre 1999 y 2003, siendo lanzamo a mediados de este año. Se basa en la arquitectura x86-64 o "Hammer".
Arquitectura x86-64, características:
Permite a los usuarios ejecutar su base de aplicaciones y sistemas operativos de 32 bits con un máximo rendimiento, al tiempo que provee una ruta de migración para el cómputo de 64 bits
Diseñada para permitir el cómputo de 64 bits, a la vez que ofrece compatibilidad con la vasta infraestructura de software x86
Representa una nueva generación de cómputo, permitiendo contar con una sola arquitectura en ambientes de 32 y 64 bits.
Controlador de Memoria DDR DRAM integrado
Cambia la forma en la que el procesador accede a la memoria principal, resultando en un mayor ancho de banda, reduciendo latencias de la memoria e incrementando el rendimiento del procesador
La disponibilidad de ancho de banda de la memoria se escala con el número de procesadores
El controlador de memoria DDR DRAM de 128 bits integrado tiene la capacidad de soportar hasta ocho (8) DDR DIMMs registrados por procesador
Ancho de banda de memoria disponible hasta 6.4 GB (con PC3200) por procesador.
Tecnología HyperTransport™
Provee una interconexión de ancho de banda escalable entre los procesadores, subsistemas de E/S y otros chipsets
Soporta hasta tres (3) enlaces HyperTransport coherentes, ofreciendo un ancho de banda máximo de hasta 19.2 GB/seg por procesador
El controlador de memoria DDR DRAM de 128 bits integrado, tiene la capacidad de soportar hasta ocho (8) DDR DIMM registrados por procesador
Ancho de banda de hasta 6.4 GB/seg por enlace, proporcionando suficiente ancho de banda para soportar nuevas interconexiones, incluyendo PCI-X, DDR, InfiniBand y 10G Ethernet
Ofrece un bajo consumo de energía (1.2 voltios), para reducir la generación térmica del sistema.
Procesadores de bajo consumo de energía
El procesador AMD Opteron HE ofrece el mejor rendimiento por Watt del mercado, proyectándose como la solución ideal para servidores o blades de 1U instalados en rack, tanto para los ambientes de centros de cómputo, como para diseños de estaciones de trabajo más fríos y silenciosos.
El procesador AMD Opteron EE ofrece el ancho de banda de E/S más grande de hoy en un controlador con un solo procesador, proyectándose como la opción ideal para controladores integrados en los mercados de NAS y SAN.
Otras características del procesador AMD Opteron incluyen:
Rutas de direcciones y datos clave de 64 bits, que incorporan un espacio de direccionamiento virtual de 48 bits y un espacio de direccionamiento físico de 40 bits
Protección ECC (código de corrección de errores) para el cache de datos L1, cache de datos L2 y etiquetas, así como para DRAM de hardware de todos los arreglos protegidos con ECC
Tecnología de proceso SOI de .13 micras, para disminuir la producción térmica y mejorar la escalabilidad de la frecuencia
Soporte para todas las instrucciones necesarias para ser totalmente compatibles con la tecnología SSE2
Dos (2) etapas de conductos (pipelines) adicionales, en comparación con la arquitectura de los procesadores AMD de séptima generación, para proveer mayor rendimiento y escalabilidad de frecuencia
Mayores Instrucciones por Ciclo de Reloj (IPC), las cuales se logran mediante importantes funciones adicionales, tales como TLBs (Translation Look-aside Buffers), filtros de descarga (flush filtres) y algoritmos optimizados de predicción de bifurcaciones
Ya para finalizar, unas tablas comparativas para ilustrar el "VS" viendo las características de cada uno en diversos campos de "bechmarking".
Comparación de sistemas para servidores
AMD Opteron™
Intel Xeon*
Intel Xeon MP**
Intel Itanium 2***
Escalabilidad modular
Hasta 8 procesadores
Hasta 2 procesadores
Hasta 4 procesadores
Hasta 4 procesadores
Cómputo de alto rendimiento de 32 y 64 bits
Sí
No
No
No
Tecnología HyperTransport™
Sí
No
No
No
Controlador de memoria DDR integrado
Sí
No
No
No
Velocidad del bus frontal
1.4 - 2.2 GHz†
533 MHz
400 MHz
400 MHz
Ancho de banda del bus frontal
11.2 - 17.6 GB/s†
4.2 GB/s
3.2 GB/s
6.4 GB/s
Ancho de banda máximo entre procesadores
6.4 GB/s
4.2 GB/s
3.2 GB/s
6.4 GB/s
Soporte de memoria
PC1600 / PC2100 / PC2700 /PC3200
DDR266
DDR200
DDR200
Ancho de banda de memoria para sistemas con 2 procesadores
10.6 GB/s
4.3 GB/s
6.4 GB/s
6.4 GB/s
Ancho de banda de memoria para sistemas con 4 procesadores
21.2 GB/s
N/A
6.4 GB/s
6.4 GB/s
Cache L2
1 MB
512 KB
512 KB
256 KB
Cache L3
N/A
1 MB
2 MB
1.5MB/3MB/4MB/6MB
Ancho de banda de E/S máximo para sistemas con 2 procesadores
12.8 GB/s††
3.2 GB/s
4.8GB/s
6.4 GB/s
Ancho de banda de E/S máximo para sistemas con 4 procesadores
25.6 GB/s†††
N/A
4.8 GB/s
6.4 GB/s
Soporte para el conjunto de instrucciones SIMD
SSE, SSE2
SSE, SSE2
SSE, SSE2
SSE, SSE2
†
Con el controlador de memoria integrado al procesador AMD Opteron, el bus frontal (interfaz con la memoria), opera a la velocidad del procesador.
††
Sistema con 2 procesadores AMD - AMD Opteron 200 Series con un bus entre procesadores HyperTransport y 2 buses de E/S HyperTransport con memoria DDR333.
†††
Sistema con 4 procesadores AMD - AMD Opteron 800 Series con 4 buses entre procesadores HyperTransport y 4 buses de E/S HyperTransport con memoria DDR333.