Articulo de referencia

Realidad Infinita

InfiniteReality se refiere a una arquitectura de hardware de gráficos 3D y a una familia de sistemas gráficos que implementaban dicha arquitectura, desarrollada y fabricada por ...

InfiniteReality se refiere a una arquitectura de hardware de gráficos 3D y a una familia de sistemas gráficos que implementaban dicha arquitectura, desarrollada y fabricada por Silicon Graphics entre 1996 y 2005. InfiniteReality se posicionó como el hardware de visualización de gama alta de Silicon Graphics para su plataforma MIPS / IRIX y se utilizó exclusivamente en su familia de sistemas de visualización Onyx, a los que a veces se les denomina "supercomputadoras gráficas" o "supercomputadoras de visualización". InfiniteReality se comercializó y utilizó en grandes organizaciones, como empresas y universidades, dedicadas a la simulación por computadora , la creación de contenido digital , la ingeniería y la investigación.

Realidad Infinita

El procesador InfiniteReality se presentó a principios de 1996 y se utilizó en la Silicon Graphics Onyx . Sucedió al RealityEngine , aunque este último coexistió con el InfiniteReality durante algún tiempo en la Onyx como una opción básica para configuraciones de "estaciones de trabajo" de sobremesa.

La arquitectura InfiniteReality era de tercera generación y se clasifica como una arquitectura intermedia. Fue diseñada para renderizar escenas complejas en alta calidad a 60 fotogramas por segundo, aproximadamente entre dos y cuatro veces el rendimiento del RealityEngine al que reemplazó. Fue diseñada específicamente para usarse con la biblioteca gráfica OpenGL e implementa la mayor parte del pipeline de OpenGL en hardware.

La implementación se divide en placas de Geometría (también conocida como Motor de Geometría ), Memoria Raster (también conocida como Administrador Raster ) y Generador de Pantalla , correspondiendo cada placa a una etapa de las tres etapas principales de la arquitectura. El esquema de partición de las placas es el mismo que el de RealityEngine, debido a que Silicon Graphics deseaba que RealityEngine fuera fácilmente actualizable a InfiniteReality. Cada canalización consta de una placa de Motor de Geometría, una, dos o cuatro placas de Administrador Raster y una placa de Generador de Pantalla. [ 1 ]

La implementación comprende doce diseños ASIC fabricados en procesos de 0,5 y 0,35 micrómetros con tres capas de interconexión metálica. [ 1 ] Estos ASIC requieren una fuente de alimentación de 3,3 V. Una arquitectura InfiniteReality en su configuración máxima contiene 251 millones de transistores. InfiniteReality fue desarrollado por 55 ingenieros. [ 2 ]

Con un sistema suficientemente potente, como ciertos modelos de Onyx2 y Onyx 3000, se pueden alojar hasta 16 pipelines de InfiniteReality. Los pipelines pueden operar en tres modos: multiusuario, multipantalla y multicanal. En el modo multiusuario, cada pipeline puede dar servicio a hasta ocho usuarios simultáneos, cada uno con sus propias pantallas, teclados y ratones. En el modo multipantalla, múltiples salidas controlan múltiples pantallas, lo cual es útil para la realidad virtual . El modo multicanal tiene dos métodos de operación. El primero requiere la instalación de una tarjeta hija multiplexora digital (DPLEX) en cada pipeline, que combina la salida de múltiples pipelines. El segundo método utiliza el software MonsterMode para distribuir los datos utilizados para renderizar un fotograma a múltiples pipelines.

Para conectar la tubería al sistema, se utiliza un cable de interfaz de cable plano (FCI) para conectar el ASIC del procesador de interfaz del host en la placa de geometría al bus Ibus en la placa IO4, que forma parte del sistema host.

Tablero de geometría

La placa de geometría se encarga del procesamiento de geometría e imágenes y se divide en cuatro etapas, cada una implementada por uno o más dispositivos independientes. La primera etapa es la interfaz de host . Debido a que InfiniteReality fue diseñado para dos plataformas muy diferentes, la tradicional Onyx basada en bus de memoria compartida que utiliza el bus POWERpath-2, y la Onyx2 basada en red de memoria compartida distribuida que utiliza la interconexión NUMAlink2 , InfiniteReality debía tener una interfaz que pudiera proporcionar un rendimiento similar en ambas plataformas, que presentaban una gran diferencia en el ancho de banda de entrada (200 MB/s frente a 400 MB/s respectivamente). [ 1 ]

Para ello, se utiliza un procesador de interfaz de host , un núcleo RISC integrado, para obtener los objetos de la lista de visualización mediante acceso directo a memoria (DMA). El procesador de interfaz de host cuenta con 16 MB de memoria de acceso aleatorio dinámico síncrono (SDRAM), de los cuales 15 MB se utilizan para almacenar en caché los objetos de la lista de visualización. La caché puede transferir datos a la siguiente etapa a más de 300 MB/s. La siguiente etapa es el distribuidor de geometría , que transfiere datos e instrucciones desde el procesador de interfaz de host a los motores de geometría individuales.

La siguiente etapa consiste en el procesamiento de geometría e imágenes. Para ello se utiliza el Geometry Engine , con hasta cuatro unidades por placa que funcionan en modo MIMD ( múltiples instrucciones, múltiples datos ). El Geometry Engine es un ASIC semicustomizado con una arquitectura SIMD (instrucciones únicas, múltiples datos) que contiene tres núcleos de punto flotante , cada uno con una unidad aritmético-lógica (ALU), un multiplicador y un registro de 32 bits x 32 entradas con dos puertos de lectura y dos de escritura. Estos núcleos disponen de una memoria de 32 bits x 2560 entradas que almacena elementos del estado de OpenGL y proporciona memoria temporal . Cada núcleo también incluye un convertidor de punto flotante a fijo para convertir valores de punto flotante a enteros . El Geometry Engine puede completar tres instrucciones por ciclo, y cada placa, con cuatro de estos dispositivos, puede completar 12 instrucciones por ciclo. El Geometry Engine utiliza una microinstrucción de 195 bits, comprimida para reducir el tamaño y el ancho de banda, a cambio de un rendimiento ligeramente inferior.

El procesador Geometry Engine funciona a 90 MHz, alcanzando un rendimiento teórico máximo de 540 MFLOPS. [ 2 ] Dado que hay cuatro de estos procesadores en una placa GE12-4 o GE14-4, el rendimiento teórico máximo es de 2,16 GFLOPS. Por lo tanto, un sistema de 16 pipelines alcanza un rendimiento teórico máximo de 34,56 GFLOPS.

La cuarta etapa es el FIFO de Geometría-Raster , un búfer FIFO ( primero en entrar, primero en salir ) que combina las salidas de los cuatro motores de Geometría en una sola, reensamblándolas en el orden en que fueron emitidas. El FIFO está construido con SDRAM y tiene una capacidad de 4 MB, [ 3 ] suficiente para almacenar 65 536 vértices . Los vértices transformados se transfieren desde este FIFO a las tarjetas del Administrador de Raster para el reensamblaje y la configuración de triángulos mediante el Bus de Triángulos (también conocido como Bus de Vértices), que tiene un ancho de banda de 400 MB/s.

Placa de memoria ráster

La función de la placa de memoria ráster es realizar la rasterización . También contiene la memoria de texturas y la memoria ráster , más conocida como búfer de fotogramas . La rasterización se realiza en el generador de fragmentos y los ochenta motores de imagen . El generador de fragmentos comprende cuatro diseños ASIC: el ASIC convertidor de escaneo (SC), el ASIC calculador de direcciones de texel (TA), el ASIC controlador de memoria de texturas (TM) y el ASIC de fragmentos de textura (TF). [ 1 ]

El ASIC SC y el ASIC TA realizan la conversión de escaneo, la interpolación de color y profundidad, la interpolación de coordenadas de textura con corrección de perspectiva y el cálculo del nivel de detalle en los datos entrantes, y los resultados se pasan a los ocho ASIC TM, que son controladores de memoria especializados optimizados para el acceso a texeles. Cada ASIC TM controla cuatro SDRAM que conforman un octavo de la memoria de textura. Las SDRAM utilizadas tienen un ancho de 16 bits y tienen buses de dirección y datos separados. Las SDRAM con una capacidad de 4 Mb se utilizan en las placas Raster Manager con 16 MB de memoria de textura, mientras que las SDRAM de 16 Mb se utilizan en las placas Raster Manager con 64 MB de memoria de textura. [ 2 ] Los ASIC TM realizan búsquedas de texeles en sus SDRAM de acuerdo con las direcciones de texel emitidas por el ASIC TA. Los texeles de los ASIC TM se envían al ASIC TF apropiado, donde se realiza el filtrado de textura, la combinación del entorno de textura con el color interpolado y la aplicación de niebla. Dado que cada SDRAM almacena parte de la memoria de texturas, las 32 SDRAM deben estar conectadas a los 80 procesadores de imágenes. Para lograr esto, los ASIC TM y TF implementan una red omega de dos rangos , lo que reduce la cantidad de rutas individuales necesarias para la ordenación de 32 a 80, manteniendo la misma funcionalidad.

Los ochenta motores de imagen tienen múltiples funciones. En primer lugar, cada motor de imagen controla una porción de la memoria raster, que en el caso de InfiniteReality, es una SGRAM de 1 MB organizada como 262.144 palabras de 32 bits. [ 1 ] [ 2 ] En segundo lugar, los motores de imagen realizan las siguientes operaciones por fragmento de OpenGL: prueba de propiedad de píxeles, prueba de plantilla, prueba de búfer de profundidad, mezcla, tramado y operación lógica. Por último, los motores de imagen realizan operaciones de suavizado y búfer de acumulación . Para entregar datos de píxeles para la visualización, cada motor de imagen tiene un bus serie de 2 bits a la placa del generador de pantalla. Si hay una placa de administrador de raster en la tubería, el motor de imagen utiliza todo el ancho del bus, mientras que si hay dos o más placas de administrador de raster, el motor de imagen utiliza la mitad del bus. [ 1 ] Cada bus serie es en realidad una parte del bus de vídeo, que tiene un ancho de banda de 1,2 GB/s. Cuatro "núcleos" del Image Engine están contenidos en un ASIC del Image Engine, que contiene casi 488.000 puertas lógicas, que comprenden 1,95 millones de transistores, en un chip de 42 mm² (6,5 por 6,5 mm) que fue fabricado en un proceso de 0,35 micrómetros por VLSI Technology .

InfiniteReality utiliza los gestores de ráster RM6-16 o RM6-64 . Cada canalización es capaz de mostrar resoluciones de 2,62, 5,24 o 10,48 millones de píxeles, siempre que haya una, dos o cuatro tarjetas gestoras de ráster respectivamente. [ 4 ] La memoria de ráster se puede configurar para usar 256, 512 o 1024 bits por píxel. 320 MB admiten una resolución de 2560 por 2048 píxeles, con cada píxel conteniendo 512 bits de información. [ 2 ] En una configuración con cuatro gestores de ráster, la memoria de textura tiene un ancho de banda de 15,36 GB/s, y la memoria de ráster tiene un ancho de banda de 72,8 GB/s.

Placa del generador de pantalla

La placa generadora de pantalla DG4-2 contiene hardware para controlar hasta dos salidas de vídeo, que pueden ampliarse a ocho con una placa secundaria opcional, una configuración conocida como DG4-8 . Las salidas son independientes y cada una dispone de hardware para generar la sincronización de vídeo, el redimensionamiento de vídeo, la corrección gamma , el genlock y la conversión digital-analógica . La conversión digital-analógica se realiza mediante convertidores de 8 bits que admiten una frecuencia de reloj de píxeles de hasta 220 MHz.

Los datos para las salidas de vídeo son proporcionados por cuatro ASIC que deserializan y desentrelazan las secuencias de 160 bits en RGBA de componentes de 10 bits , RBGA de componentes de 12 bits, L16, secuencial de campo estéreo (FS) o índices de color. El hardware también incorpora el cursor en esta etapa. Se dispone de un mapa de índices de color con 32 768 entradas.

Capacidades y rendimiento

El InfiniteReality era capaz de varias capacidades avanzadas:

  • Antialiasing multimuestreado de 8 por 8 [ 5 ]
  • Una profundidad de color máxima de 48 bits RGBA [ 5 ]
  • 16 planos superpuestos [ 5 ]
  • Un búfer Z de punto flotante de 24 bits [ 5 ]
  • Cada píxel consta de entre 256 y 1048 bits de datos.
  • Se admitía la visualización estéreo y contaba con cuatro búferes.

La actuación de InfiniteReality fue:

  • 11 millones de tiras triangulares sin iluminación, con búfer de profundidad y suavizado de bordes (40 píxeles cada una) por segundo
  • 8,3 millones de tiras triangulares texturizadas, con búfer de profundidad y suavizado de bordes (50 píxeles cada una) por segundo
  • Más de 7 millones de triángulos iluminados, texturizados y con suavizado de bordes por segundo
  • 800 millones de píxeles por segundo con mapeo mip trilineal, texturizados, con texeles de 16 bits y búfer de profundidad.
  • 750 millones de píxeles por segundo con mapeo mip-mapeo trilineal, texturizados, con texeles de 16 bits, submuestreo de cuatro por cuatro, suavizado de bordes y búfer de profundidad.
  • Más de 710 millones de píxeles texturizados y suavizados por segundo
  • 300 millones de píxeles mostrados por segundo, distribuidos entre una y ocho salidas.

Realidad Infinita2

InfiniteReality2 es como hinv (una utilidad de IRIX que lista el hardware presente en un sistema) se refiere a una InfiniteReality utilizada en el Onyx2. Sin embargo, la InfiniteReality2 se comercializó como InfiniteReality. Fue la segunda implementación de la arquitectura InfiniteReality y se presentó a finales de 1996. Es idéntica a la InfiniteReality arquitectónicamente, pero difiere mecánicamente, ya que el chasis de tarjetas basado en Origin 2000 del Onyx2 es diferente del chasis de tarjetas basado en Challenge del Onyx .

InfiniteReality2 introdujo un esquema de interfaz que se utiliza en sistemas Onyx2 o posteriores montados en rack. En lugar de conectarse al sistema host mediante un cable FCI, el conjunto de tarjetas se conecta a la parte posterior de un midplane, que puede admitir dos pipelines. El midplane tiene once ranuras. Las ranuras seis a once son para el primer pipeline, que puede contener de una a cuatro tarjetas Raster Manager. Las ranuras uno a cuatro son para el segundo pipeline, que puede contener una o dos tarjetas Raster Manager debido a la cantidad de ranuras disponibles. Por este motivo, los sistemas Onyx con configuración máxima utilizan un midplane para cada pipeline para evitar que la mitad de los 16 pipelines se limiten a un máximo de dos tarjetas Raster Manager. La ranura cinco contiene una tarjeta Ktown si el midplane se utiliza en un sistema basado en Origin 2000 (Onyx2) o una tarjeta Ktown2 si el midplane se utiliza en un sistema basado en Origin 3000 (Onyx 3000). La finalidad de estas placas es conectar el enlace XIO del sistema anfitrión con el ASIC del procesador de interfaz del anfitrión en la placa Geometry. Estas placas disponen de dos puertos XIO para este fin: el puerto XIO superior está conectado a la tubería derecha y el puerto XIO inferior a la tubería izquierda.

Realidad

Reality es una versión de menor costo de InfiniteReality2 diseñada para ofrecer un rendimiento similar. En lugar de usar la placa de motor de geometría GE14-4 y las placas de administrador de ráster RM7-16 o RM7-64, Reality utiliza la placa de motor de geometría GE14-2 y las placas de administrador de ráster RM8-16 o RM8-64 . La GE14-2 tiene dos procesadores de motor de geometría, en lugar de cuatro como los otros modelos. Las RM8-16 y RM8-64 tienen 16 o 64 MB de memoria de textura respectivamente y 40 MB de memoria de ráster. Reality también estaba limitado por la cantidad de placas de administrador de ráster que podía admitir, una o dos. Cuando se configura al máximo con dos placas de administrador de ráster RM8-64, la canalización de Reality tiene 80 MB de memoria de ráster.

Realidad Infinita2E

El InfiniteReality2E fue una actualización del InfiniteReality, comercializado como InfiniteReality2, presentado en 1998. Sucedió al conjunto de placas InfiniteReality y a su vez fue sucedido por el InfiniteReality3 en el año 2000, pero no se dejó de fabricar hasta el 10 de abril de 2001.

Mejora el InfiniteReality al reemplazar la placa del motor de geometría GE14-4 por la placa del motor de geometría GE16-4 y las placas del administrador de ráster RM7-16 o RM7-64 por la placa del administrador de ráster RM9-64 . La nueva placa del motor de geometría funcionaba a 112 MHz, [ 6 ] lo que mejoraba el rendimiento del procesamiento de geometría e imágenes. La nueva placa del administrador de ráster funcionaba a 72 MHz, [ 6 ] lo que mejoraba el rendimiento del relleno de píxeles con suavizado.

Realidad Infinita3

InfiniteReality3 se presentó en el año 2000 junto con el Onyx 3000 para reemplazar a InfiniteReality2. Se utilizó en los sistemas de visualización Onyx2 y Onyx 3000. La única mejora con respecto a la implementación anterior fue la sustitución del gestor de ráster RM9-64 por el gestor de ráster RM10-256 , que cuenta con 256 MB de memoria de textura, cuatro veces más que el gestor de ráster anterior. Cuando se configura al máximo con cuatro gestores de ráster, el sistema InfiniteReality3 proporciona 320 MB de memoria de ráster.

Realidad Infinita4

InfiniteReality4 se introdujo en 2002 para suceder a InfiniteReality3. Se utilizó en los Onyx2, Onyx 3000 y Onyx 350. Es el último miembro de la familia InfiniteReality, a su vez sucedido por UltimateVision, basado en ATI FireGL , que se utilizó en el Onyx4. La única mejora con respecto a la implementación anterior fue la sustitución del gestor de ráster RM10-256 por el gestor de ráster RM11-1024 , que ofrece un rendimiento mejorado, 1 GB de memoria de textura y 2,5 GB de memoria de ráster, cuatro y treinta y dos veces más que el gestor de ráster anterior, respectivamente. Con una configuración máxima de cuatro gestores de ráster, la canalización de InfiniteReality4 dispone de 10 GB de memoria de ráster. En una configuración máxima de 16 canalizaciones, InfiniteReality4 contiene 16 GB de memoria de textura y 160 GB de memoria de ráster. [ 7 ]

Comparación

Las cifras presentadas en las tablas corresponden a una configuración mínima de 1 tubería y una máxima de 16 tuberías, a excepción del modelo Reality, que estaba restringido al funcionamiento con una sola tubería.

Hardware

Actuación

Notas
  1. Suavizado de bordes, con búfer Z, texturizado.
  2. 1 2 8 por 8 píxeles de color de 40 bits, submuestreados, con suavizado de bordes, con búfer Z, texturizados e iluminados.

Referencias

  1. 1 2 3 4 5 6 Montrym, John S.; Baum, Daniel R.; Dignam, David L.; Migdal, Christopher J. (1997-08-03). "InfiniteReality: Un sistema gráfico en tiempo real". Actas de la 24.ª conferencia anual sobre gráficos por computadora y técnicas interactivas - SIGGRAPH '97 . EE. UU.: ACM Press/Addison-Wesley Publishing Co. págs. 293–302 . doi : 10.1145/258734.258871 . ISBN  978-0-89791-896-1.
  2. 1 2 3 4 5 John Montrym, Brian McClendon. "Gráficos de realidad infinita: superando la complejidad". División de sistemas avanzados, Silicon Graphics, Inc.
  3. Mark J. Kilgard. "Realizando OpenGL: Dos implementaciones de una misma arquitectura". Taller Eurographics de SIGGRAPH de 1997, agosto de 1997.
  4. Informe técnico de Onyx2 Reality, Onyx2 InfiniteReality y Onyx2 InfiniteReality2, agosto de 1998. Silicon Graphics, Inc.
  5. 1 2 3 4 Guía de productos remanufacturados Silicon Graphics Onyx2, junio de 1999. Documento 1073. Silicon Graphics, Inc.
  6. 1 2 Alexander Wolfe. "Siggraph sienta las bases para los gráficos más novedosos". EE Times, 20 de julio de 1998.
  7. 1 2 3 4 5 6 7 "Hoja de datos de la tarjeta gráfica de la familia SGI Onyx 300 con InfiniteReality." Silicon Graphics, 3224, 25 de octubre de 2002.
  8. 1 2 3 4 5 Hoja de datos de Onyx2 GroupStation, agosto de 1998. Documento 1840. Silicon Graphics, Inc.
Obtenido de " https://en.wikipedia.org/w/index.php?title=InfiniteReality&oldid=1316266386 "