Review AMD Radeon HD4870 / HD4850
- Kristof
- Publicado el 25 de Junio de 2008 a las 12:00 AM.
- 145 Comentarios
RV770: Detalles de la arquitectura (2)
Es hora de entrar en detalle y a continuación podras leer que de nuevo trae en sus entrañas la nueva arquitectura grafica y de computo de AMD.
Más Stream Processors: Una de las primeras diferencias y mejoras que han hecho los ingenieros de ATI el núcleo del RV770, es incrementar el número de Stream Processors o Stream Processors Units, si en la generación previa (RV670), ATI incorporo 320 Stream Processors, con el núcleo RV770 de la nueva generación han incorporado nada menos que 800 Stream Processors a 32-bit, mas del doble que el RV670 y mas del triple que los 240 Stream processors de la GeForce GTX 280, pero no nos dejemos llevar por las apariencias, puesto que son arquitecturas diferentes y NVIDIA suele fijar frecuencias mas altas a sus Stream processors. Estas 800 unidades del RV770 vienen en una estructura o matriz que agrupa además las unidades de texturas (Textura Units) y el canal de comunicación pertinente entre ambos componentes.

SIMD Cores: Son la estructura donde están encasillados cada uno de los 800 stream processors, estos a su vez se organizan en lo que AMD denomina “SIMD Cores”, haciendo una analogía esto es similar al cluster TPC (Texture Processing Clusters) del núcleo GTX200 (GeForce GTX 280/260) que incorporaba en su interior 24 SP y utiliza por contrapartida el método de procesamiento SIMT (Single Instruction, Multiple Thread) para lograr administrar miles de hilos o thread de manera independiente y así lograr paralelismo, por su parte ATI con el núcleo RV770 está utilizando el método SIMD (Single Instruction, Multiple Data), tecnología utilizada por años en los procesadores para computadores y que permite procesar con una sola instrucción múltiples datos debido a registros mas grandes, la verdad esto no ha cambiado mucho por que desde el R600 que utiliza SIMD, la diferencia está ahora en el numero y es lo que pasamos a explicar en el siguiente párrafo.

El RV770 incorpora, 10 bloques horizontales compuestos por 8 particiones SIMD o SIMD Cores y cada una de estas particiones además incorpora en su interior 10 SPU Stream Processing Units o simplemente Stream Processors (SP), así para obtener el numero total de Stream Processors debemos multiplicar: Numero de bloques x numero de particiones (SIMD Cores) x numero de cores, entonces tendremos que: (10×8)=80×10= 800 SP. Si lo comparamos con el RV670 tenemos que en la anterior arquitectura habían 8 bloques con mismas 8 particiones SIMD y cada una de estas particiones contenía en su interior 5 SIMD Cores, por lo tanto, al multiplicar (8×8)=64×5=320 tenemos el total de Stream Processors del RV670, como ya pudiste deducir de 8 bloques se paso a 10, se mantuvieron las 8 particiones o SIMD Cores y se aumento de 5 a 10 el numero de Stream Processing Units o SPs.

En el recorte podemos observar 2 bloques de 8 particiones que en su interior alberga 10 Stream Processing Units (SP), cada partición comparte datos mediante un cache local de 16KB y cada bloque esta comunicado con un cache global de primer nivel L1 que a su vez sirve de nexo con el Ultra – Threaded Dispatch Processors y las unidades de textura, ya detallaremos de que se trata cada uno de estos elementos.
Stream Processing Units Mejoras: Los procesadores Stream también han sufrido algunas modificaciones respecto a la arquitectura anterior, de partida ATI ha debido optimizar para que ahora cada uno de bloques de SIMD Cores ocupen menos espacio respecto a la generación anterior (HD 3800), esto como consecuencia de incrementar el numero de particiones y bloques que contienen estos 800 Stream Processors, esto según los datos de AMD, ha hecho ganar un 40% de rendimiento por mm2, aunque esto también ha tenido una consecuencia física en el tamaño del núcleo, la cual detallaremos en el respectivo apartado.

Otra de las mejoras que se han incorporado en esta unidades son la administración de reloj, con el fin de optimizar el rendimiento por watts, las operaciones de doble precisión para aplicaciones que requieren cálculos a gran escala precisos también se han mejorado con un rendimiento de 240GigaFLOPS, según AMD el doble de lo que puede ofrecer la GTX280, que entrega 120 GigaFLOPS, las operaciones con enteros también se han mejorado sustancialmente en una proporción de 12.5x. y se ha expandido para todas las unidades, cabe mencionar que el RV670 podía hacer esto, pero solo con algunas unidades de shader y con un rendimiento por lo tanto inferior.
SIMD Core y Streaming Processors Units: Por ahora hemos hablado de ellos pero para conocerlos mas de cerca haremos un acercamiento a estas unidades, lo que ven en la imagen siguiente es lo que se denomina “SIMD Core”, su interior se encuentran agrupados 5 Stream Processing Units, cada uno comparte acceso a lo que se denomina “General Pupose Registers”, un registro donde se envían o reenvían los datos de cálculos de propósito general. Cada SIMD Core además tiene comunicación con los demás SIMD core a través de canales de comunicación que se intersecan con el canal principal que comunica al cache local descrito anteriormente denominado Data Local Share.

Texture Units: Las unidades de texturas son otra de las mejoras importantes dentro de la arquitectura del RV770, respecto al RV670, puesto que estas unidades tal como los Stream Processors, han sido incrementadas y mejoradas. Ahora se incorpora 1 unidad de textura por cada bloque de SIMD Cores, y sabiendo que en total tenemos 10 bloques de SIMD Cores, entonces tenemos 10 unidades de textura.

Dentro de estas unidades además tenemos 4 Procesadores de direcciones de textura (Address Units), 4 Texture Filtering Unit (TFU), 16 Texture Samplers, además de una unidad para descomprimir las texturas. En total tenemos 40 Texture Units o TFU agrupados en 10 bloques. Si comparamos esto con el RV670, este solo poseía 4 bloques con 4 Texture Filtering Unit (TFU) en su interior por cada 2 bloques de SIMD Cores (8 en total), para dar un total de 16 Texture Units, ahora con el RV770 de 16 unidades pasamos a 40.
Nuevo diseño de Cache de Texturas: En el RV770 el TC (Texture Cache) es dedicado para cada unidad de textura (a diferencia del RV670 que era un cache compartido al cual cada unidad de textura compartía acceso), es decir, tenemos 10 unidades de Cache de Texturas de primer nivel (L1 TC) por cada unidad de Textura, ambos componentes tienen un canal de comunicación en común que es el “Data Request Buss” encargado de administrar los envíos desde el cache a la unidad de textura, por otra parte el cache para vertex (Vertex Cache), que en el RV670 también era compartido ahora esta en solitario con acceso vía “Data Request Buss”. El circuito lo completa un “Crossbar” (otro elemento nuevo respecto al RV670) que comunica a las unidades de cache de texturas con el propio cache de texturas L2 del controlador de memoria.

Como podemos ver en la imagen el hecho de tener sus unidades de cache dedicadas les otorga beneficios en rendimiento y ancho de banda, que pueden llegar hasta los 480GB/s en el caso del cache L1 y 384GB/s entre el cache L1 y L2, gracias a este “Crossbar” que sirve de intermediario entre ambos niveles de cache.
Controlador de Memoria: El controlador de memoria siempre es algo en lo que se han hecho cambios en cada generación de tarjetas de video, ya con el R600 vimos como ATI introdujo un controlador de memoria denominado Ring Bus con un bus interno de 512-bit que nuca fueron utilizados optimamente, es por esta razón que en la generación previa RV670 este se redujo a 256-bit con algunas mejoras, ahora con el RV770 nuevamente se ha rediseñado el controlador de memoria, aunque se mantiene con una interfaz de 256-bit, su diseño según AMD es mucho mas eficiente para aprovechar de mejor manera el ancho de banda.

El nuevo diseño compromete cuatro bloques controladores de memoria de 64-bit, que forman en total una interfaz de 256-bit, cada uno de ellos tiene su propio cache de nivel 2 (L2) y su interfaz es centralizada en un HUB controlador que además puede administrar trafico menor desde la interfaz PCI Express, el engine UVD2, el controlador de pantalla o cuando se usan modos multi-GPU como CrossfireX, por lo tanto, este Hub administra los envíos desde y hacia el controlador de memoria.
Mayor Ancho de Banda: El ancho de banda de las memorias esta dado en parte por el tipo de memorias utilizadas y la velocidad o frecuencia con las que estas operan, el controlador de memorias del RV770 soporta tanto GDDR3, GDDR4 como GDDR5, es por esto que utilizando GDDR5 en su tope de línea Radeon HD 4870, las memorias pueden alcanzar una frecuencia de 3.6Ghz o mas, esto le da un ancho de banda total de 115GB/s, además con el RV770 AMD sugiere que se aprovecha de mejor manera este ancho de banda en comparación con el RV670.

Los 115GB/s son una mejora notable desde los 72GB/s que conseguía la Radeon HD 3870 usando memorias GDDR4, llegando a tener ceca de 43GB/s de ancho de banda extra que el modelo tope de línea anterior.
Render Back-Ends (ROPs): Las unidades ROPS o Render Back-End como los ha llamado AMD, si bien no han sido incrementadas en número y se mantienen en 16 unidades, han tenido importantes mejoras en cuanto a rendimiento cuando se aplican filtros como anti-aliasing (AA), especialmente en el modo MSAA (Multisampling Antialiasing) estas mejoras han consistido básicamente en incrementar el rendimiento de píxeles por clock en los distintos modos y niveles de filtrado MSAA respecto al RV670, así por ejemplo cuando se aplica filtro MSAA en los niveles 2x/4x, el RV770 puede procesar 16 píxeles por clock, comparado con el RV670 que solo puede lograr 8 pix/clock y en general en la mayoría de los niveles de filtrado el RV770 incrementa y dobla el rendimiento que puede lograr el RV670. Este rendimiento en filtrados AA, deberíamos verlo reflejado al aplicar altas resoluciones.

Geometry Shader & Tessellation: El rendimiento geométrico en la unidad de shader unificados también ha sido mejorada, sobre todo en el soporte de hilos o Thread de datos cual ha mejorado su soporte x4 respecto a la generación anterior, por otra parte al unidad de tesselation también ha mejorado su rendimiento x4, esta técnica consiste en utilizar como punto de partida un objeto sencillo, de pocos polígonos, y mediante una serie de procesos matemáticos afinar el nivel de detalles (o “suavidad” como podríamos llamarle también) de este objeto teniendo como resultado final un modelo mucho más complejo, que a la hora de haber sido rendereado directamente por los vertex shaders hubiera implicado una carga de trabajo mucho mayor y una consecuente merma en el rendimiento. Por lo tanto esta técnica también se ha mejorado, con soporte para instancias y DirectX 10/10.1, esto toma vital importancia en el tema geométrico puesto que la unidad de tesselation es capaz de Generar y procesar triángulos en un objeto mas rápido que cualquier otra parte del GPU, especialmente en lo que son modelos y animaciones.

Dynamic Power Management: Administración dinámica de energía, esta es la técnica utilizada por AMD para hacer un uso mas eficiente de la energía y del consumo, gracias a un chip micro-controlador que constantemente monitoriza distintos elementos críticos, como el sensor de temperaturas, el GPU, las memorias y el bus PCI Express, permitiendo disminuir la frecuencia de estos componentes dependiendo del entorno de trabajo en que estemos, claramente cuando ejecutemos un juego la tarjeta siempre utilizara sus máximas frecuencias, en esa instancia el “clock-gating” no implica mucha mejora, sin embargo, cuando trabajamos con aplicaciones de escritorio el nivel de clock-gating es mayor, lo que según AMD entrega un 35% de ahorro de energía y permite un rendimiento por watt de 2x, respecto a la generación previa (Radeon HD 3800).

Con este terminamos de análisis la arquitectura de las nuevas tarjetas de AMD, pero nuestro marco teórico no termina aquí y en la siguiente página podremos ver las tecnologías incorporadas y especificaciones al detalle, comparadas con las alternativas de NVIDIA y la generación inmediatamente anterior.


25 de Junio de 2008 a las 2:15 AM
Si les gustó el review, coméntenlo, vótenlo y compártanlo