Contexto
Muchos a la fecha nos hemos ido enterando de la aparición de una nueva gama de procesadores AMD Opteron, orientados al consumidor que desea un servidor barato y potente. La gracia que tienen estos nuevos amigos es que el socket en que se encajan es nada menos que el archiconocido 939, que en estos momentos es la solución mainstream que AMD nos ofrece. Así, podríamos disponer de un buen procesador, que utilice una placa barata (porque las placas 940, hechas para servidores en general son más caras ya que soportan un montón de cosas que al usuario normal no le son de utilidad, como soporte hasta para 8 dimms (que además funcionan con memoria registrada, que tampoco es de gran necesidad (a menos que la estabilidad sea crítica en el desempeño del equipo) y además es algo más costosa, la posibilidad de utilizar más de un canal hypertransport (y por supuesto, dependiendo de la placa, soporte multiprocesador) y varios otros chichés más. Según la información que circula por nuestra inseparable amiguilla Internet, tienen un potencial de overclock impresionante (he visto por ahí Opterones corriendo a 3000Mhz, refrigerados por aire y a sólo 1.55v), habrá que ver como se mueve el mercado en el próximo mes, quizás tengamos sorpresas y lancemos todos nuestros Venices por la ventana en búsqueda de este nuevo monstruo precio-rendimiento (por que además, por lo que se ve, estos procesadores tendrán un precio similar, si no igual a los Athlon64, pero aparte de la brutal escalabilidad overclockera incluyen core San Diego y 1MB de caché de segundo nivel o L2).
Oh, pero me estoy desviando del tema. Esta noticia ya ha circulado bastante por todos lados así que probablemente a la mayoría lo estoy lateando con noticias viejas. Mejor me aboco a algo diferente. ¿Sabe usted en definitiva porqué un procesador Opteron lleva ese nombre? ¿En qué se parece a un Athlon64? ¿O en que se diferencia? Veamos.
Los dinoplatíbolos
(«Los dinoplatíbolos están escapándose, Jefe Rex»). Serial de monitos animados que en su momento vi (no sé si la disfruté, pero de que la vi la vi) y que ahora, pensándolo bien, era realmente espantosa, una copia al carbón de otras mil series más, como los Transformers y todas esas. Hasta resabios de «Denver, le dernier dinosaur» tenía… ¿Alguien se acuerda de ese dinosaurio del equipo de los malos que era una especie de cerdo rojo mongoloide que tenía como función echar a perder los planes del malo en jefe por medio de su omniactuante torpeza? Nunca supe muy bien a que dinosaurio de la vida real representaba, y ahora que lo pienso bien me doy cuenta que el soporte paleontológico de la serie era NULO. Puro divertimento noventero (en todo caso, esto de las series y películas copiadas a calco con unos ligeros cambios era típico de la tele y el cine de los ochenta y los noventa). Volviendo al tema de los dinosaurios, había varios que tenían una alimentación exclusivamente herbívora, así que gustaban de andar por las ramas horas y horas. Y hablando de irse por las ramas, aquí me encuentro yo hablando del Opteron. ¿No les suena parecido a un nombre de dinosaurio? ¿Cómo Sauron? No, parece que ese salía en un videojuego que estaba en los Diana (sede oficial de mi adolescencia pre y post clases), el PRIMAL RAGE. Nada que ver con los dinoplatíbolos. Cambio y fuera.
Semejanzas
De partida, tenemos que tener claro que las diferencias entre un Athlon64 y un Opteron no son solamente el mercado al que están orientados. Hay algunas diferencias estructurales (principalmente en los Opteron 2xx y 8xx) que favorecen ciertas necesidades específicas. Pero partamos por las semejanzas.
Las semejanzas más obvias parten por el hecho de que ambos procesadores están basados en arquitectura AMD64 (que está diseñada para ejecutar instrucciones de 64 bits de largo), y tienen compatibilidad total y con un rendimiento mejorado con los sets de instrucciones de 32 bits x86, asi mismo como con las extensiones orientadas a gráfica y multimedia tales como MMX, 3DNOW!, SSE, SSE2 y la más reciente SSE3. ¿Y qué significa esto? Compatibilidad total con todos los sistemas operativos x86 existentes (Como Linux y Windows, entre otros), los cuales corren sin modificación ni pérdida de rendimiento (como ocurría al emular 32 bits usando los Itanium de Intel). En el modo de 64 bits, en cambio, tenemos a nuestra disposición hoy las primeras versiones de Windows 64 bits y desde hace un tiempo atrás varias distribuciones de Linux (como Red Hat y SUSE, entre otras).
Otra similaridad reside en las instrucciones que estos procesadores incluyen para el manejo de memoria. El uso de direcciones de 40 bits de largo hace que «teóricamente» se puedan direccionar 1100GB de memoria RAM. Esto es bastante teórico, como digo, ya que sabemos perfectamente que hoy por hoy no existe ningún sistema que pueda aguantar esa cantidad de memoria. En todo caso, para poder trabajar con grandes cantidades de memoria eficientemente, la tecnología que incorporó AMD en estos procesadores que hace que el controlador de memoria vaya incorporado en el procesador logra disminuir las latencias y tiempos de acceso, lo que permite que el rendimiento de un sistema al seguir añadiendo procesadores aumente positivamente (a diferencia de lo que ocurren un sistema Intel, donde el controlador de memoria es externo y debe realizarse una comunicación adicional con el northbridge, lo que notoriamente reduce el rendimiento).
También tenemos que para alimentar el pipeline de ejecución del procesador, ambos tipos de procesadores utilizan dos caché de primer nivel de 64 kb cada uno, uno para datos y el otro para instrucciones. Si revisan el texto Guía sobre Memorias RAM que escribí hace un tiempo atrás, podrán ver que el caché L1 o de primer nivel es extremadamente rápido y lo más cercano a las unidades de ejecución. Mantienen todos los datos e instrucciones que están a punto de ser usados y que acaban de ser utilizados, y a pesar de que uno podría pensar de que 64+64 kb es poco, eso alcanza para almacenar instrucciones bastante complejas, las que gracias a esto son ejecutadas a la máxima velocidad de procesamiento posible.
Otro chiche que no es menor es el hecho de que la arquitectura AMD64 incorpora un set de registros ampliado (16 registros enteros de 64 bits y 16 registros aritméticos específicos de 128 bits). Aquí es necesario que me detenga un poco. La arquitectura x86, utilizada antes de la aparición de AMD64, siempre había adolecido de tener pocos registros (que a todo esto, son las pequeñas áreas dentro del procesador donde los datos son cargados antes de ser procesados). Como había pocos de estos registros, valioso tiempo de procesamiento se utilizaba en intercambiar datos de estos registros, metiendo y sacando información de tal manera de así poder ejecutar instrucciones. Entonces, el diseño de AMD64 expandió, como decía, el set de registros de
¿Parece que se puso densa la cosa, no? Oh, bueno, hay cosas que es mejor explicar con lujo de detalles para que no ocurran malentendidos y aparezcan las típicas desinformaciones tecnológicas que suelen andar rondando por Internet. Ok. Para distraernos un rato de tanto registro e instrucciones y demases, les daré unas instrucciones que les darán un agradable resultado (yo me encuentro en este mismo momento siguiéndolas y preparándome a disfrutar):
-
Tome un vaso de vidrio limpio, de preferencia uno ancho y no muy alto.
-
Añádale dos cubos de hielo.
-
Añádale una medida de Drambuie.
-
Añádale dos medidas de Whisky. Respete su cuerpo y prefiera un whisky decente.
-
Añádale tres gotas de Amargo de Angostura.
-
Agite sin batir.
-
Beba.
Athlon 64, particularidades
La tecnología AMD64 incorpora una manera de conectar el procesador a los distintos componentes del computador conocida como Hypertransport. Este bus de datos mueve 3.2Gb por segundo y tiene un ancho de banda de 16 bits. Los procesadores Athlon64 tienen un bus Hypertransport, que en términos básicos es el que se ocupa para todos los envíos y recepciones de datos de todos los dispositivos del sistema. Tiene UNO, a diferencia de (como veremos en el apartado próximo) los Opteron, que tienen TRES.
En cuanto al número de módulos de memoria que es capaz de manejar, un procesador Athlon64 soporta hasta 4 módulos de memoria, significando eso un máximo de 4Gb de memoria RAM, de tipo unbuffered, o sea, NO REGISTRADA.
El caché de segundo nivel que incluyen estos procesadores va a variar dependiendo del modelo específico frente al que nos encontremos. Por ejemplo, un Athlon 64 core Venice incluirá 512Kb de L2 Caché, y uno que ocupe core San Diego vendría con 1Mb de L2 Caché. ¿Es esto relevante? Depende del uso que se le vaya a dar al procesador, ya que los 512Kb extras de caché se notan, pero no en el uso en ofimática o al jugar los juegos már recientes, que dependen en su mayoría de la potencia de nuestra tarjeta de video. La mejora en estos casos es bastante poco perceptible, siendo recomendable pagar lo que cuesta de más un procesador que incluya 1Mb de caché L2 sólo si el rendimiento de nuestro equipo es crítico o busquemos estar siempre a tope de tecnología ocupando los primeros lugares en los benchmarks.
Estos procesadores solo sirven para ser utilizados en sistemas uniprocesador no teniendo posiblidad de posterior escalabilidad multiprocesador.
Opteron. Procesador destinado a servidores y workstations.
Y, finalmente, los Opteron
De partida hay que decir que hay tres sabores principales de Opteron: los hechos para trabajar en una vía, en dos vías, y en hasta ocho vías. Todos vienen aperados con tres buses hypertransport, aunque en el caso de los Opteron de una vía, dos de esos buses vienen desactivados de fábrica. El bus restante sirve para comunicar los diversos dispositivos, al igual que en el caso del Athlon64.
En el caso de los Opteron doble vía, (que sirven para ser usados en configuraciones de hasta DOS procesadores), uno de los buses Hypertransport sirve para la comunicación entre cada procesador y los otros dos sirven para el envío y recepción de datos desde los distintos dispositivos.
Cuando cambiamos a un Opteron multivía (que puede ser usado en configuraciones de hasta OCHO procesadores), cada uno de los tres buses se conecta entre procesadores o dispositivos de acuerdo al diseño específico de la placa madre con que trabajemos. La gracia acá es que la manera de abordar el tema del multiprocesamiento por parte del Opteron es, a diferencia del multiprocesamiento simétrico común y corriente, más eficiente, ya que aquí cada procesador funciona con su propio banco de memoria, lo que optimiza mucho los tiempos de trabajo; además, el hecho de tener el controlador de memoria integrado al procesador hace que los accesos al Hypertransport en caso de que un procesador quiera acceder a su memoria local sean mínimos. Esto, que no ocurre en un sistema multiprocesador Intel Xeon, hace que el rendimiento de un sistema multiprocesador Opteron sea notoriamente mayor al de un sistema Xeon al ir aumentando el número de procesadores. En todo caso, lo que hemos descrito acerca del multiprocesamiento, también se aplica en el caso de usar una configuración doble vía.
Una diferencia más con los Athlon64 es la nomenclatura con que se denomina a cada uno de los modelos; es diferente del clásico 3000+, 3200+, etc.
Aquí les pongo una tablilla donde se ven las equivalencias en megahertz entre distintos modelos:
Frecuencia en Ghz |
Opteron 1 vía |
Opteron Doble Vía |
Opteron Multivía |
Athlon64 equivalente |
1.4 |
140 |
240 |
840 |
|
1.6 |
142 |
242 |
842 |
|
1.8 |
144 |
244 |
844 |
3000+ |
2.0 |
146 |
246 |
846 |
3200+ |
2.2 |
148 |
248 |
848 |
3500+ |
2.4 |
150 |
250 |
850 |
4000+ |
2.6 |
152 |
252 |
852 |
FX-55 |
2.8 |
154 |
254 |
854 |
FX-57 |
EE(30W) |
|
|
|
|
1.4 |
140EE |
240EE |
840EE |
|
HE(55W) |
|
|
|
|
1.4 |
140HE |
240HE |
840HE |
|
(No inclui en esta tabla ni a los Athlon64 X2 ni a sus homologos Opteron de la serie x75… la tecnologia dual core quizas mas adelante sea objeto de analisis; ahora seria extender el articulo innecesariamente).
Otros temas que diferenciarían a los Opteron de los Athlon64 sería que todos ellos funcionan con 1MB de caché L2, que además soportan hasta 8 dimms de memoria RAM, lo que implica un total posible de memoria de 8GB, y el hecho de que funcionan con memorias REGISTERED, que son algo más lentas (porque pierden exactamente un clock de latencia por su funcionamiento) y caras. Además, el buffer que utilizan permite la transmisión continua de datos, incrementando ligeramente la velocidad y permitiendo que se puedan ocupar los 8 dimms antes mencionados.
Bueno, todo esto que hemos mencionado se refiere a los procesadores Athlon64 socket 939 y a los Opteron socket 940. Estos dos incluyen ancho de banda de memorias de 128 bits gracias al modo dual channel, a diferencia del socket 754, que solo trabaja con las memorias a 64 bits.
Entonces, podemos ver que si los Opteron que están apareciendo en el mercado vienen diseñados para funcionar en una plataforma con socket 939, no necesitaran utilizar memorias registradas ni costosas placas que soporten todas las opciones de un servidor o Workstation. Además, probablemente vengan de fábrica con sólo un bus Hypertransport, pero eso es algo que no causa ningún inconveniente, ya que son procesadores diseñados para su uso en plataformas uniprocesador.
Así que, a tener paciencia, y ojalá que este breve texto les haya ayudado a conocer algo más del hardware que utilizan.
Saludos.