# SGI O2

El O2 es una estación de trabajo Unix de nivel de entrada introducida en 1996 por SGI para reemplazar su serie anterior Indy. Al igual que el Indy, el O2 usaba un solo microprocesador MIPS y estaba destinado a ser utilizado principalmente para multimedia. Su contraparte más grande es el SGI Octane. El O2 fue el último intento de SGI en una estación de trabajo de gama baja.

## Hardware
### Arquitectura del sistema

Originalmente conocido como el proyecto Moosehead, la arquitectura O2 presentaba una arquitectura de memoria unificada de alto ancho de banda (UMA) para conectar componentes del sistema. Un bus PCI se conecta a la UMA con una ranura disponible. Tenía una carcasa de diseño y una construcción modular interna. Se podrían montar dos unidades SCSI en caddies especiales (1 en los modelos R10000/R12000 posteriores debido a restricciones de calor) y un casete de captura/sonido de video opcional montado en el extremo izquierdo.

### CPU

El O2 viene en dos variantes de CPU distintos; los MIPS de gama baja R5000 180 a 350 MHz (o unidades basadas en RM7000), y el extremo superior las unidades basadas en el R10000 a 150 - 400 MHz (o unidades basadas en R12000). Las CPU R5000 de 200 MHz con 1 MB de caché L2 son generalmente más rápidas que las R5000 de 180 MHz con sólo 512 KB de caché. Hay un proyecto de aficionado que ha actualizado con éxito un procesador MIPS RM7xxx a 600 MHz en el O2.

### Memoria

Hay ocho ranuras DIMM en la placa base y la memoria en todos los O2 se puede expandir a 1 GB usando DIMM SDRAM patentados de 239 pines. El ASIC del motor de representación y memoria (MRE) contiene el controlador de memoria. La memoria es accesible a través de un bus de 144 bits de 133 MHz, de los cuales 128 bits son para datos y el resto para ECC. Este bus está conectado por un conjunto de buffers al Sistema de memoria de 256 bits a 66 MHz.

### E/S

IO Engine ASIC proporciona la funcionalidad de E/S. El ASIC proporciona un bus PCI-X de 33 bits, un bus ISA, dos puertos PS/2 para teclado y mouse, y un puerto Ethernet 10/100 Base-T. El bus PCI-X tiene una ranura, pero el bus ISA está presente únicamente para conectar un chip Super I/O para proporcionar puertos serie y paralelo.

### Discos

El O2 cuenta con un subsistema de unidad UltraWide SCSI (Adaptec 7880). Los O2 más antiguos generalmente tienen CD-ROM Toshiba de 4x de velocidad, pero se puede usar cualquier CD-ROM SCSI de Toshiba (así como de otros fabricantes, el reemplazo del marco está diseñado para adaptarse al diseño de Toshiba y IRIX no puede utilizar el modo CD-DA que no sea Toshiba). Las unidades posteriores tienen DVD-ROM de Toshiba. Las unidades R5000/RM7000 tienen dos unidades disponibles para discos duros SCA UltraWide SCSI. Debido a que el módulo de CPU R10000/R12000 tiene un conjunto de ventilador de enfriamiento mucho más alto, las unidades R10000/R12000 tienen espacio para un solo trineo de unidades.

### Gráficos

El O2 utilizó el chipset CRM desarrollado específicamente por SGI para el O2. Fue desarrollado para ser una implementación de bajo costo de la arquitectura OpenGL 1.1 con extensiones de imagen ARB tanto en software como en hardware. El conjunto de chips consta del microprocesador y los ASIC ICE, MRE y Display. Toda la lista de visualización y el procesamiento de vertex, así como el control del MRE ASIC, lo realiza el microprocesador. El ICE ASIC realiza el empaquetado y desempaquetado de píxeles, así como las operaciones con datos de píxeles. El MRE ASIC realiza rasterización y mapeo de texturas. Debido a la arquitectura de memoria unificada, la memoria de textura y de memoria de marco proviene de la memoria principal, lo que da como resultado un sistema que tiene una cantidad variable de cada memoria. Display Engine genera señales de vídeo analógicas a partir de datos de framebuffer obtenidos de la memoria para su visualización.

### Sistemas operativos

Varios sistemas operativos admiten el O2.
* IRIX 6.3 o 6.5.x (plataforma nativa).
* El port de Linux funciona, pero faltan algunos controladores. Tanto Gentoo como Debian tienen lanzamientos que funcionan en el O2.
* OpenBSD se ha ejecutado en el O2 desde OpenBSD 3.7.
* NetBSD se ha ejecutado en el O2 desde NetBSD 2.0. Fue el primer sistema operativo Open Source en ser portado al O2.

## Rendimiento

El SGI O2 tiene un ASIC de Imaging and Compression Engine (ICE) para procesar medios de transmisión e imágenes estáticas. ICE opera a 66 MHz y contiene un microprocesador derivado de R3000 que sirve como unidad escalar, a la que se conecta una unidad SIMD de 128 bits mediante la interfaz del coprocesador MIPS. ICE opera con ocho enteros de 16 bits o dieciséis enteros de 8 bits, pero aun así proporciona una cantidad significativa de potencia computacional que permite al O2 realizar tareas de decodificación de video y audio que requerirían una CPU mucho más rápida si se hace sin Instrucciones SIMD. ICE solo funciona con el sistema operativo IRIX, ya que este es el único sistema que tiene controladores capaces de aprovechar este dispositivo.
La arquitectura de memoria unificada significa que el O2 utiliza la memoria principal para las texturas gráficas, lo que hace que los polígonos de texturización y otros elementos gráficos sean triviales. En lugar de transferir texturas a través de un bus al subsistema de gráficos, el O2 pasa un puntero a la textura en la memoria principal, a la que luego accede el hardware de gráficos. Esto hace que el uso de texturas grandes sea fácil, e incluso hace que la transmisión de videos como una textura sea posible.
Dado que la CPU realiza muchos de los cálculos de geometría, el uso de una CPU más rápida aumentará la velocidad de una aplicación de geometría limitada. Se sabe que los gráficos del O2 tienen una velocidad de rasterización más lenta que las tarjetas gráficas Maximum IMPACT del Indigo2, aunque los gráficos Maximum IMPACT están limitados a 4 MB de memoria de textura, lo que puede resultar en un thrashing, mientras que el O2 está limitado solo por la memoria disponible.
Mientras que las frecuencias de CPU de 180 a 400 MHz parecen bajos hoy, cuando se lanzó el O2 en 1996, estas velocidades estaban a la par o por encima de las ofertas actuales para la familia de computadoras x86 (cf. Pentium de Intel y K5 de AMD).

## Usos

* Imágenes (especialmente médicas)
* Gráficos de televisión en el aire; El ejemplo más extendido de un O2 con gráficos de TV es la computadora Weather Star XL para The Weather Channel
* Estación de trabajo de escritorio
* Modelado 3D
* Postproducción de video analógico
* Industrias de defensa