lunes, 14 de julio de 2008

ATi Radeon RV770 by ChileHardWare

Bueno ya hemos visto la revision a la arquitectura de nVidia la GT200 la cual ha sido muy criticada pues la competencia habi sacado semanas despues su nuevo chip que resulto ser muy competitivo en cuanto a precio/performance y este es el RV770 el cual sustituyo al bien recibido RV600 la arquitectura R700 de AMD-ATi fue sorprendente en papel pues llego a rebasar el Teraflop o calculos por segundo que puede realizar y por si fuera poco se implemento en el tope de linea la nueva memoria GDDR5 la cual sustituira a la actual GDDR4 la cual no fue bien recibida por la industria pero que al final no aportaba demasiado pues nVidia por su parte nunca fue partidario de la GDDR4 preferia seguir utilizando GDDR3 para sus soluciones graficas, en fin parace ser que al fin ATi volvio a tener la corono de las graficas y que los problemas han quedado atras pues en este año tendremos el lanzamiento de su solucion de dos nucleos la cual segun previews hace pedazos a la competencia lo cual habla de que los chicos de ATi se han puesto las pilas y han ganado terreno en cuento a miniaturizacion y han sorprendido a todos cono sus excelentes precios en sus ultimos chips de 65 y 55 nm, lo cual le ha costado un poco a nVidia como se vio en la nota anterior pero bueno veamos que tiene este chip dentro.

Arquitectura RV770

No ha pasado una semana desde que les entregamos a ustedes la primicia del lanzamiento de los nuevos GPUs de NVIDIA y nuevamente estamos haciendo un acto de presencia para traerles a ustedes la cobertura del lanzamiento del núcleo RV770 de AMD, también conocida como la serie ATI Radeon HD 4800.

¡Rompimos la barrera del Teraflop!, anuncia AMD cuando lanzó su tarjeta de cómputo AMD Firestream 9250 el mismo día de lanzamiento del GPU GT200 de NVIDIA, el cual era el objetivo principal de la segunda empresa hace un tiempo atrás en un webcast que ellos realizaron. Los rumores decían que el G92 sería el GPU encargado en llegar a esta marca, pero no fue así. Tampoco lo hizo su sucesor, el recién lanzado GT200. En la historia quedará escrito que esta marca es de color rojo y verde gracias al RV770.

Dicen que el tamaño no lo es todo y vaya que AMD lo demostró. Utilizando el proceso de manufactura más avanzado de TSMC (55nm) logró comprimir 956 millones de transistores en menos de la mitad del silicio que ocupa el GT200 de NVIDIA. Mucho mérito tiene esto, pues la empresa puede jactarse de que produce un chip relativamente económico y de consumo eléctrico mucho más racional que la bestia de 260w de su competidor.

Pero, ¿qué es un teraflop? ¿Para qué me sirve? ¿Por qué escucho rumores que el GPU de NVIDIA con menos poder de cómputo logra un mayor rendimiento en Crysis? Todas esas preguntas y muchas más serán resueltas en el siguiente análisis de su portal de tecnología favorito.

Arquitectura

Según las especificaciones técnicas de AMD, la empresa habla que su GPU posee 800 unidades de procesamiento de shaders (Shader Processing Units o SPUs) que al ser comparados con los 240 SPs de NVIDIA, nos da un 333.33% periódico más de elementos computacionales. Viendo estos números, la primera impresión que da es que el motor TeraScale (como denomina ATI a la arquitectura de su GPU) debe ser capaz de jugar Crysis a 2560x1600 con todo en máxima calidad y tener un rendimiento por encima de los 30 cuadros por segundo. Sin embargo, esto está lejos de la realidad y esto se debe a que la arquitectura de este GPU es muy diferente a la de su competidor.

Para poder entender este gráfico un poco mejor, hemos puesto algunos números que dividen el GPU en grandes bloques para así ir haciendo un análisis desmenuzado de este complejo chip.

1. Procesador de comandos y motor de configuración:

Las unidades funcionales, las cuales no han cambiado mucho desde el R600, son similares al procesador de hilos de NVIDIA, el procesador de comandos recibe las instrucciones del driver en donde se determina si lo que se va calcular son instrucciones de cómputo, pixeles, vértices o geometría para luego ser enviados al despachador de hilos (compuestos los hilos de una o más instrucciones) que envían posteriormente a los núcleos SIMD del GPU. En estas estructuras, también se encuentran algunas memorias cache para las instrucciones al igual que la unidad de Hierarchical Z (encargada de descartar los pixeles que no serán visibles en cada cuadro de animación) y teselador programable (¿inventé una palabra nueva?). Esta última unidad está siendo fuertemente promocionada por AMD como un avance único de su arquitectura pues NVIDIA no tiene dicha unidad. De las muchas innovaciones que se han presentado en el mundo de la renderización en 3D, la técnica de teselar es una de las más interesantes.

Si recuerdan ustedes algunas nociones de la técnica de renderización, sabrán que las imágenes en 3D están compuestas por polígonos, en específico triángulos. A mayor cantidad de ellos, mejor es la definición de la imagen. Sin embargo, utilizar demasiados triángulos para definir una imagen en extremo detalle puede ser muy costoso en rendimiento. La técnica de teselar permite que, usando un polígono base, éste se subdivida en muchos triángulos más. Así, con el costo de rendimiento de una imagen poco definida, se puede crear una de mucho más alta definición como lo gráfica el siguiente ejemplo que muestra la definición de imagen con distintos niveles de teselación.




Como se puede apreciar, esta técnica resulta ser muy interesante y debiese tener acogida por parte de los desarrolladores. Sin embargo, el futuro de esta técnica ha estado en veremos desde hace años, pues la primera versión de ella la introdujo ATI en la Radeon 8500 y todavía no ha logrado captar la atención de los desarrolladores. No solo esto, esta técnica no hace parte ni si quiera de DirectX 10.1, por lo que para implementarla se debe recurrir a instrucciones especificas que permiten hacerla funcional. Por eso, por mucho que AMD este promocionando esta técnica fuertemente, esta recién hará sentido cuando Microsoft termine DirectX 11 que incluye la teselación como parte de su especificación y para ello, falta mucho todavía.

2. Núcleos SIMD

En esta parte del GPU se concentra el grueso del poder de cómputo del RV770, pues es acá donde está escondido el poder de los teraflops que tanto se hace referencia. En resumen, este chip contiene en su interior 10 núcleos de instrucciones SIMD. Cada núcleo está compuesto por un conjunto de 16 stream processors (SPs) que incluyen en su interior 5 SPUs como se aprecia en el gráfico, desarrollado nuevamente gracias al Departamento Didáctico de CHW:

Su estructura y forma de funcionamiento tampoco ha variado mucho dese el R600 y el único cambio notorio es que aumentaron la cantidad de núcleos SIMD de 4 a 10. Sacando nuestra calculadora del bolsillo nuevamente podemos hacer el siguiente calculo: 10x16x5= 800 SPUs, a comparación de los 4x16x5= 320 SPUs del R600. Sin embargo, este cálculo no es compatible con el de la arquitectura GT200 en donde mencionamos que habían 10x3x8= 240 SPs. Esto se debe a que AMD considera que cada SP incluye 5 unidades de cálculo más pequeñas en su interior. Por lo tanto, la primera aproximación de equivalencia entre estas dos arquitecturas sería la siguiente:

* AMD: 10x1x16x5 (Núcleos SIMD, cantidad de núcleos SIMD, SP, SPU)

* NVIDIA: 10x3x8x1 (TPC, SM, SP, unidades de procesamiento por SP)


Como se menciono anteriormente, cada SP está compuesto por 5 unidades SPU, cuatro de ellas capaces de ejecutar una operación MAD (suma y multiplicación) y la quinta (SPU C) es una unidad que puede realizar cálculos especiales más complejas que las realizadas por los otros cuatro. Adicionalmente, cada SP tiene unos registros internos (espacio de memoria para almacenar datos compartida por todos los SPUs). Todo lo anterior se puede apreciar en el detalle de cada SP comparado con el SM de NVIDIA:

Como se puede observar, la organización del SP se asemeja mucho más a las unidades SM de NVIDIA que a sus SPs. Esta es la razón que justifica ajustar la forma como están compuestas las arquitecturas de AMD y NVIDIA.

Como 800 puede ser mayor, igual o menor a 240

Es en este punto del análisis técnico donde se debe hacer una pausa para poder comprender por qué las diferencias de rendimiento entre el RV770 y el GT200 entre lo que se aprecia en juegos y el poder teórico de computo de los GPUs, en donde en el primero NVIDIA es superior y en el segundo lo es AMD.

La primera distinción clave que hay que hacer es decir que cada SP de AMD procesa instrucciones de palabra muy larga (Very Long Instruction Word o VLIW) de ancho 5. Las instrucciones VLIW están diseñadas para aprovechar el paralelismo, al empaquetar un conjunto de hasta 5 instrucciones que no sean interdependientes entre sí (en otras palabras, ninguna de las 5 instrucciones puede depender de las otras) en una sola a ser ejecutada. El beneficio de emplear VLIW es que las unidades de cómputo son más sencillas, por lo que se requiere de menos transistores para construirlas. Sin embargo, esto trae como consecuencia que no siempre se están ejecutando 5 instrucciones en paralelo por SP por ciclo (hertz). Por lo tanto, para extraer el máximo nivel de paralelismo y por ende la eficiencia de la arquitectura, se requiere de un compilador muy sofisticado, que tenga una lógica muy avanzada que permita agrupar conjuntos de instrucciones con la menor cantidad de interdependencias posibles. Esto hace que la comunicación entre el software y el hardware de AMD sea mucho más complicada que el de NVIDIA y favorece a la segunda pues siempre será capaz de procesar una instrucción por ciclo por cada SP.

Ahondando en este estudio, como se mencionó en el análisis de la arquitectura de NVIDIA, el GPU procesa los hilos en grupos de a 32, los cuales se demoran en ser procesados 4 ciclos (dos hilos por SP). Por su parte, el RV770 es capaz de procesar un máximo de 16 hilos por núcleo SIMD (uno por cada SM) que pueden ser de un máximo de 5 instrucciones por hilo. Teniendo en cuenta las arquitecturas de cada GPU, el recién creado Departamento FLOPs y Calculadoras de Bolsillo de CHW llegó a las siguientes conclusiones:

* AMD= 10 núcleos SIMD x 16 hilos por ciclo = 160 hilos por ciclo de hasta 5 instrucciones

* NVIDIA = 3 SM x 10 TPC x (32 hilos / cada 4 ciclos) = 240 hilos por ciclo de sola una instrucción.


Lo anterior equivale a que AMD puede procesar un mínimo de 160 instrucciones por ciclo (25% superior a un G80 y 50% inferior al GT200) y un máximo de 800 instrucciones por ciclo (333% superior al GT200) a comparación de las 240 instrucciones constantes de NVIDIA. Antes de complicar más la historia, cabe aclarar que aquí se ven claramente las apuestas de cada empresa, mientras AMD optó por un GPU más sencillo en su arquitectura física (por ende, con mayores unidades de computo de menor tamaño) sacrificando la facilidad de compilación de los programas, NVIDIA opto por un GPU complejo pero mucho más sencillo de programar.

Pero esta historia todavía no termina aquí, falta el último ingrediente en esta teleserie. Si ustedes recuerdan bien, los SPs de NVIDIA corren a una frecuencia mayor al resto del GPU, por lo que aun cuando la velocidad de la Radeon HD 4870 sea de 750MHz, los SPs de la GTX 280 corren a 1296 MHz. Con esta última pieza del rompecabezas por fin podemos llegar a la mágica ecuación que permite determinar la cantidad de FLOPS (Operaciones de Punto Flotante por Segundo) que cada GPU de cada empresa afirma ser capaz de calcular (recuerden que las operaciones MAD valen por 2 FLOPS porque se calcula una suma y una multiplicación):

* AMD = (160 hilos x 5 instrucciones x750 MHz x 2 FLOPS)/10^12= 1.2 teraflops

* NVIDIA: (240 instrucciones x 1296 MHz x 2 FLOPS)/10^12 = 622.08 gigaflops


Al ver lo anterior, notamos que el resultado de NVIDIA es 2/3 de la cifra que ellos mismos indican para su GPU, equivalente a 933 gigaflops. ¿De dónde sale ese tercio adicional? Si ustedes miran la composición del SM del GT200 podrán observar que hay una unidad que se llama SFU. La SFU se encarga de muchas tareas como lo es el caso de la interpolación de valores (una función muy importante para los cálculos gráficos). Esta unidad, cuando no tiene tareas pendientes, es capaz de ejecutar una instrucción MUL (multiplicación) adicional con lo cual, en el mejor de los casos, NVIDIA procesaría 3 FLOPS por reloj, con ello llegando al valor de 933 gigaflops que ellos aseguran es capaz de procesar su GPU. Por lo que se puede ver, tanto AMD como NVDIA maquillan sus resultados con respecto a los FLOPS poniéndolas siempre en el mejor de los casos. Ahora, resulta interesante que poniendo el peor de los casos, el GT200 es casi un 260% más rápido que el RV770.

Después de este profundo y complejo análisis, cabe preguntarse, ¿Qué empresa tomó la mejor decisión? Por una parte, tenemos que el rendimiento de AMD varía mucho y no depende solo de su arquitectura sino del software que le envía instrucciones a procesar por lo que su rendimiento real es más impredecible. Sin embargo, esto ayuda a mantener a raya el tamaño y consumo del GPU lo que le permite implementar una tarjeta con dos GPUs fácilmente para competir contra la fuerza bruta del GT200 (estaríamos en presencia de una tarjeta con un mínimo de 320 instrucciones por ciclo y un máximo de 1600). Por otro lado, el GT200 tiene un rendimiento estable y predecible siempre que no depende de la forma como esté compilado el software. Esto hace que el GPU de NVIDIA sea mucho más fuerte en rendimiento medio pero a la vez hace que este sea prácticamente inmanejable en cuanto a tamaño, consumo eléctrico y costo. El as bajo la manga de una GX2 es prácticamente imposible de tener en cuenta y esto le puede pesar en contra a NVIDIA en el largo plazo.

Un último detalle a resaltar de los núcleos SIMD, es que tienen capacidad de procesar 240 gigaflops en precisión doble, (64-bit) que es considerablemente más que los 90 gigaflops que puede procesar NVIDIA. AMD no nos suministro mayor información aparte de lo mencionado, así que es poco lo que se puede saber de cómo obtienen dichos valores.

Más Arquitectura

3. Caché y Unidades de filtrado de textura

El RV770 incorpora un par de memorias caché para los núcleos SIMD (ambos de 16 KB). El primero de ellos sirve para el almacenamiento de información compartida de datos entre los SPs de AMD y el segundo es un cache compartido entre todos los 10 núcleos SIMD del GPU.

Se sigue manteniendo la proporción de una unidad de cálculo de texturas por núcleo SIMD igual que en el R600, lo que nos da un aumento de 16 a 40 unidades de direccionamiento y filtrado de texturas. Sin embargo, el ancho de banda del cache de texturas se duplico en el RV770 al igual que se duplicó el almacenamiento efectivo de ellas en el cache L1. Estas mejoras en las unidades de texturas hacen que sean mucho más eficientes que las del GT200, pues no solo procesan más texturas por segundo, sino que además lo hacen con la mitad de las que requiere NVIDIA.

4. ROPs

En el área de post-procesamiento de pixeles (ROPs) se mantuvo el mismo número de unidades con respecto al R600 (4 particiones), cada una atada a un controlador de memoria de 64-bit. Esto dista de la estrategia de NVIDIA quien agregó dos particiones ROP más con respecto a su GPU anterior. Sin embargo, puede que esto no sea muy necesario para AMD, pues desde el R600 optaron porque la resolución de las tareas de Anti-Aliasing estuvieran a cargo de los SPUs y no de unidades dedicadas para ello.

Con todo y ello, el cambio más notorio de las unidades ROP fue la inclusión de 8 unidades más de profundidad stencil (depth stencil) que permiten mejorar notablemente el rendimiento de muchos efectos de post-procesamiento tales como sombras. Junto con estas, aun cuando no detalladas por AMD, hicieron mejoras en el rendimiento de los filtros Anti-Aliasing prácticamente duplicándolo en todos los casos. También, su amplia gama de filtros Anti-Aliasing customizables fueron mejorados para evitar que los pixeles se viesen borrosos (una gran critica que se hizo en la generación R600 a los filtros CFAA). De hecho, en muestras suministradas por AMD, aseguran que sus filtros 8x MSAA y 24x CFAA, superan ampliamente al filtro 16xQ CSAA de NVIDIA y para ello, se muestra el siguiente ejemplo:

5. Controlador de memoria

Pareciese que el diseño del bus de anillo que implementaron soluciones anteriores no presentaba los beneficios que AMD esperaba, pues con la poca información que tenemos al respecto de este, todo pareciese indicar que utiliza una estructura más tradicional en donde un hub central distribuye los datos a cada controlador de memoria (4 de ellos para un ancho de banda de 256-bit total) alrededor del GPU. Sin embargo, el diseño es más inteligente que el de NVIDIA pues los controladores de memoria están puestos alrededor del motor de shaders del RV770, en vez de una ubicación central la cual resulta más compleja a la hora de distribuir los datos de forma más eficiente.


Adicionalmente, y probablemente lo más importante, es que el controlador de memoria ahora soporta las memorias gráficas más avanzadas del mercado, llamadas GDDR5. Estas memorias se caracterizan, entre otras cosas, por ofrecer mayor eficiencia en el ancho de banda, mayores velocidades de reloj y menor consumo eléctrico que diseños anteriores. No solo esto, los módulos de memoria son más pequeños, la integridad de la señal es mejor (para mayor estabilidad a altas frecuencias) y tiene mayor confiabilidad en la entrega de datos ademas de mayor tolerancia a los errores, lo que finalmente se traduce en una mejor escalada de frecuencia. Finalmente, este tipo de memorias permiten hacer diseños de las rutas que conectan las memorias con el GPU más sencillos lo que abarata los costos de desarrollo del PCB y disminuye el ruido eléctrico en este por empleo de rutas menos complejas.

Lo medular acá es que AMD opto por aumentar el ancho de banda utilizando memoria de mayor ancho de banda en vez de emplear un bus más complejo como el de NVIDIA. Esto hace que el controlador de memoria sea más sencillo, requiera de menos conexiones eléctricas y escale a mayores frecuencias pues no está al límite de la tecnología, sino que está recién en su primera etapa. Es cierto que el ancho de banda efectivo del RV770 es inferior al del GT200, pero este último está al límite de sus posibilidades y no es mucho lo que se puede mejorar por lo que AMD no tendría muchos inconvenientes en el caso de que quiera aumentarlo.

Después de este análisis en profundidad de la arquitectura, podemos resumir las características del GPU en sus versiones Radeon HD 4870 y Radeon HD 4850 a comparación de la Radeon HD 3870 y la GTX 280 en la siguiente tabla:


Stream computing, física y consumo eléctrico


NVIDIA lleva un buen tiempo anunciándole a todo pulmón a quien lo escuche con respecto a CUDA y sus bondades. De hecho, tienen una visión y una estrategia muy clara de hacia dónde quieren apuntar y lo han promovido mucho en todas sus presentaciones. Es tan así, que hacen una distinción muy clara entre el modo gráfico y el modo computo de su GPU, aparte de tener separados muchos recursos (desde pagina web hasta clases universitarias) para promover CUDA.

El caso de AMD es menos claro, es cierto, tienen casos de aplicaciones que explotan el poder de cómputo de sus GPUs, tienen herramientas de desarrollo como Brook+ y están trabajando en futuros estándares de computación en paralelo como OpenCL (Open Compute Language). Sin embargo, pareciese ser que AMD promueve este conjunto de herramientas más como por decir “nosotros también lo hacemos” que como un esfuerzo concentrado por hacer que la computación en sus GPUs despegue. Entre lo que hay en las presentaciones de AMD, la documentación para utilizar su GPU y el soporte prestado a las herramientas queda la sensación es que su estrategia no está desarrollada sino mas bien es improvisada.

Similar a lo que ocurre con las herramientas de cómputo para GPUs AMD, pasa con su soporte de física. Al igual que NVIDIA, AMD lleva años prometiendo soporte de física por medio de sus GPUs, sin embargo esto no se ha materializado. En el caso de NVIDIA, se pueden ver acciones completas como la adquisición de AGEIA, portar PhysX a CUDA, drivers beta y demostraciones. Por otro lado, AMD apenas menciona que prefiere usar Havok como motor de física y lanza una frase que no entrega muchas esperanzas al compromiso de AMD con dicha tecnología: “Exploración del soporte del GPU ATI Radeon para el soporte de productos Havok donde la carga de trabajo tome ventajas del poder de computo”. En pocas palabras, es poco lo que se ha avanzado con respecto a las promesas que la empresa ha hecho en el pasado.

Finalmente, y para terminar la revisión de la arquitectura, se debe resaltar que AMD desarrolló un GPU que aun cuando es muy poderoso, también es mucho más eficiente desde el punto de vista energético. Utilizando una mezcla de un proceso de manufactura más avanzado, una arquitectura pensada en un consumo eléctrico racional y técnicas de ahorro de energía, el RV770 se convierte en la arquitectura más eficiente y sea la solución más verde en cuanto a GPUs de alto rendimiento.

Conclusiones

La sorpresiva respuesta de NVIDIA la semana pasada al anuncio del RV770 por medio del lanzamiento de la 9800GTX+ a un precio muy bajo muestra que la empresa está muy preocupada. AMD produjo un GPU extremadamente poderoso y lo que es más relevante, a un precio muy bajo ($199 dólares por la Radeon HD 4850 y $299 dólares por la Radeon HD 4870). Estamos hablando que AMD está posicionando su último GPU como un producto de rango medio, es decir lo que hace poco tiempo era tope de línea y costaba acorde a ello, ahora se puede conseguir a precios muy asequibles. ¡Gracias AMD por ayudar a influir a la baja los precios de las tarjetas gráficas!

AMD tiene un GPU de tamaño manejable, con una arquitectura flexible (pensando en sus futuras optimizaciones) de consumo energético razonable y de bajo costo. Definido en palabras de AMD, la empresa logró avances en consumo energético, eficiencia, escalabilidad y asequibilidad en precio, mientras que NVIDIA tiene problemas en esos mismos parámetros.

El margen de maniobra de NVIDIA es mucho más reducido y su riesgosa apuesta puede poner en aprietos a la empresa, mientras que AMD, aprendiendo de la lección que le entregaron los muchos problemas en la introducción del R600, optó por replantearse el mercado y su dura competencia con NVIDIA. Concentrándose en sacar GPUs de muy alto rendimiento en la gama media a precios bajos y compitiendo en la gama alta ya sea con soluciones CrossfireX o con tarjetas de video X2, pareciese que su lectura del mercado es más acertada o por lo menos más balanceada.

Considerando los rumores que se han escuchado con respecto al R700, el cual podría tener en su interior circuitería especial que le permitiese a cada GPU comunicarse de forma más eficiente y tener cualidades como compartir el mismo banco de memoria, estaríamos frente a un producto más que competitivo con la GTX 280, pues no se limitaría a simplemente poner dos GPUs y habilitar Crossfire. Si esta solución llegase a ser superior en rendimiento a la GTX280 o un poco inferior a ella, pero a un precio más bajo, a NVIDIA le quedarían muy pocas opciones sobre la mesa con su actual arquitectura, pues su GPU está muy al límite de la tecnología en cuanto a proceso de manufactura, velocidades del GPU, controlador de memoria, consumo eléctrico y costo. De hecho, en estos momentos la arquitectura con mayor flexibilidad de la empresa es la del G92, (aunque ésta es cada vez menor pues ya de por sí es un refinamiento del G80) demostrado claramente con la rápida respuesta al lanzamiento del RV770. Pero ese lanzamiento demuestra una cosa, NVIDIA no es una empresa que cederá fácilmente en esta batalla.

Ciertamente se acercan tiempos muy interesantes pues hoy AMD con el lanzamiento de su arquitectura mostró que tienen una estrategia muy agresiva al mismo tiempo que una clara visión de futuro con respecto a los GPUs para gráficas. Se menciona esto ultimo pues en cuanto a cómputo, creemos que AMD no es muy claro en su postura y no inspira la confianza que lo hace la faceta gráfica del chip. Felicitamos a AMD por no haberse rendido en la guerra de GPUs de alto rendimiento y ofrecernos una propuesta que mantiene vivo el espíritu de la competitividad que permite que la gran mayoría de las personas puedan gozar de excelente rendimiento a precios muy bajos. Adicionalmente, tendremos una entretenida lucha de tanto AMD como NVIDIA con propuestas en tanto arquitectura como estrategias comerciales diametralmente opuestas. ¿De qué lado de la fuerza estarán ustedes en esta generación?

Nota del Autor: Pedimos disculpas por no poder ser más específicos en ciertas áreas de la arquitectura, pero la información proporcionada por AMD fué muy incompleta y se debío investigar mucho dentro de la poca información disponible de forma independiente para poder realizar este artículo.


(c) ChileHardWare URL ORIGINAL

1 comentario:

Kristian dijo...

....mmmmmmmm.............que pedo??????????lo mas claro creo que fue la nota del autor.....la neta no lo lei todo......mejor veo las fotos

Ninja!
Google