The O2 was an entry-level Unix workstation introduced in 1996 by Silicon Graphics, Inc. (SGI) to replace their earlier Indy series. Like the Indy, the O2 used a single MIPS microprocessor and was intended to be used mainly for multimedia. Its larger counterpart was the SGI Octane. The O2 was SGI's last attempt at a low-end workstation.
Originally known as the "Moosehead" project, the O2 architecture featured a proprietary high-bandwidth Unified Memory Architecture (UMA) to connect system components. A PCI bus is bridged onto the UMA with one slot available. It had a designer case and an internal modular construction. Two SCSI drives could be mounted on special caddies (1 in the later R10000/R12000 models due to heat constraints) and an optional video capture / sound cassette mounted on the far left side.
The O2 comes in two distinct CPU flavours; the low-end MIPS 180 to 350 MHz R5000- or RM7000-based units and the higher-end 150 to 400 MHz R10000- or R12000-based units. The 200 MHz R5000 CPUs with 1 MB L2-cache are generally noticeably faster than the 180 MHz R5000s with only 512 KB cache. There is a hobbyist project that has successfully retrofitted a 600 MHz RM7xxx MIPS processor into the O2.
There are eight DIMM slots on the motherboard and memory on all O2s is expandable to 1 GB using proprietary 239-pin SDRAM DIMMs. The Memory & Rendering Engine (MRE) ASIC contains the memory controller. Memory is accessed via a 133 MHz 144-bit bus, of which 128 bits are for data and the remaining for error-correcting code (ECC). This bus is interfaced by a set of buffers to the 66 MHz 256-bit memory system.
I/O functionality is provided by the IO Engine ASIC. The ASIC provides a 33-bit PCI-X bus, an ISA bus, two PS/2 ports for keyboard and mouse, and a 10/100 Base-T Ethernet port. The PCI-X bus has one slot, but the ISA bus was present solely for attaching a Super I/O chip to provide serial and parallel ports.
The O2 carries an UltraWide SCSI drive subsystem (Adaptec 7880). Older O2's generally have 4x speed Toshiba CD-ROMs, but any Toshiba SCSI CD-ROM can be used (as well as from other manufacturers, the bezel replacement however is designed to fit Toshiba design and also IRIX cannot utilize CD-DA mode other than Toshiba). Later units have Toshiba DVD-ROMs. The R5000/RM7000 units have two available drive sleds for SCA UltraWide SCSI hard-disks. Because the R10000/R12000 CPU module has a much higher cooling-fan assembly, the R10000/R12000 units have room for only one drive-sled.
The O2 used the CRM chipset that was specifically developed by SGI for the O2. It was developed to be a low-cost implementation of the OpenGL 1.1 architecture with ARB image extensions in both software and hardware. The chipset consists of the microprocessor, and the ICE, MRE and Display ASICs. All display list and vertex processing, as well as the control of the MRE ASIC is performed by the microprocessor. The ICE ASIC performs the packaging and unpacking of pixels as well as operations on pixel data. The MRE ASIC performs rasterization and texture mapping. Due to the unified memory architecture, the texture and framebuffer memory comes from main memory, resulting in a system that has a variable amount of each memory. The Display Engine generates analog video signals from framebuffer data fetched from the memory for display.
Several operating systems support the O2.
- IRIX 6.3 or 6.5.x (native platform).
- Linux port is working, but some drivers are missing. Both Gentoo and Debian have releases that work on the O2. See the IP32 port page on linux-mips.org.
- OpenBSD has run on the O2 since OpenBSD 3.7. See the sgi port page.
- NetBSD has run on the O2 since NetBSD 2.0. See the sgimips port page.
The SGI O2 had an Imaging and Compression Engine (ICE) application-specific integrated circuit (ASIC) for processing streaming media and still images. ICE operates at 66 MHz and contains a R3000-derived microprocessor serving as the scalar unit to which a 128-bit SIMD unit is attached using the MIPS coprocessor interface. ICE operates on eight 16-bit or sixteen 8-bit integers, but still provides a significant amount of computational power which enables the O2 to do video decoding and audio tasks that would require a much faster CPU if done without SIMD instructions. ICE only works with the IRIX operating system, as this is the only system that has drivers capable of taking advantage of this device.
The Unified Memory Architecture means that the O2 uses main memory for graphics textures, making texturing polygons and other graphics elements trivial. Instead of transferring textures over a bus to the graphics subsystem, the O2 passes a pointer to the texture in main memory which is then accessed by the graphics hardware. This makes using large textures easy, and even makes using streaming video as a texture possible.
Since the CPU performs many of geometry calculations, using a faster CPU will increase the speed of a geometry-limited application. The O2's graphics is known to have slower rasterization speed than the Indigo2's Maximum IMPACT graphics boards, though the Maximum IMPACT graphics is limited to 4 MB of texture memory, which can result in thrashing, whereas the O2 is limited only by available memory.
While CPU frequencies of 180 to 400 MHz seem low today, when the O2 was released in 1996, these speeds were on par with or above the current offerings for the x86 family of computers (cf. Intel's Pentium and AMD's K5). Further, the above listed features made it an excellent graphics workstation which was the market it was targeted at. It was however, even with the speed upgrades it consequently received, not able to keep up with the mainstream PC market and cheaper x86 based computers started to outperform it by the end of its lifetime.
- Imaging (especially medical)
- On-air TV graphics; the most widespread example of an O2 running TV graphics is the Weather Star XL computer for The Weather Channel
- Desktop workstation
- 3D modelling
- Analogue video post-production
- Defense industries
- "SGI O2 R5000". Majix Hardware web site. Retrieved August 3, 2013. (includes photos)
- Kilgard, Mark J. (1997). "Realizing OpenGL: Two implementations of one architecture". 1997 SIGGRAPH/Eurographics Workshop, pp. 45–55.