The Silicon Graphics O2, introduced in 1996, is the successor to the Indy workstation. It comes in two flavours: the R5000/RM5271/RM7000 and the R10000/R12000. The former has space for two harddrives and the latter only for one, due to the size of the CPU heatsink. It is possible to put a R10000/R12000 into some R5k O2's by removing the metal separator between the mainboard and the harddrives, however, on some earlier models the separator is part of the chassis and cannot be removed short of cutting it out with a hacksaw.
The O2 was re-introduced with slight modifications as the O2+ in August 2001; the case colours were changed, a DVDROM came as standard, the serial port controller was improved, and the baseline CPU was replaced with the R7000/350MHz, though a recall of some early versions of this CPU is thought to have led to the O2's end of presence in the product line, afterwhich it was not replaced (the Fuel, released in January 2002, was not a replacement for O2; Fuel was intended purely to be a single-CPU mid-range system).
The O2 features a proprietary high-bandwidth Unified Memory Architecture (UMA) that connects the various system components. A PCI bus is bridged onto the UMA with one slot available. It has a designer case and an internal modular construction. It has space for two SCSI drives mounted on special sleds (1 in the later R10000/R12000 models) and an optional video capture / sound cassette mounted on the far left side. Further information on the design and construction of the O2 can be found in SGI service manuals on Techpubs. Detailed breakdown pictures and an IRIX hinv dump can be found here.
The O2 comes in two distinct CPU flavours; the low-end MIPS 180-350 MHz R5000/R7000 based units and the higher-end 150-400 MHz R10000/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 L2-cache. Also of note is that there is no 300 Mhz R5000 CPU, the O2 will incorrectly report the RM5200 CPU as an R5000.
|CPU Version:||Clock Speed:||2nd Level Cache:|
|R5000SC||180 MHz||512 KB|
|R5000SC||200 MHz||1 MB|
|R5200SC||300 MHz||1 MB|
|RM7000A||350 MHz||256 KB (+1 MB tertiary)|
|R10000SC||150, 175, 195, 225, 250 MHz||1 MB|
|R12000SC||270, 300 MHz||1 MB|
|R12000SC||400 MHz||2 MB|
There is also a hobbyist project that has successfully retrofitted a 600 MHz R7000 MIPS processor into the O2. In theory faster CPUs at 900MHz any beyond are possible, but this would require the public release of the O2 PROM source code which at present is not available and probably never will be.
The motherboard has 8 proprietary 278-pin (139 per side) slots on the motherboard, accepting 4 paired sets of memory, referred to and sold as kits. The individual SDRAM DIMM modules come in 16 MB, 32 MB, 64 MB, and 128 MB sizes. The banks must be filled in order, and larger modules should be put in first. The O2 is expandable to 1 GB using 4 2x128 MB kits.
Original SGI DIMMs are either single-sided (SS) with memory chips on only one side of the module or double-sided (DS), and come color-coded to assist you in identifying what is installed. 3rd party DIMMs may or may not follow these conventions. Knowing the current memory configuration is important as DIMMs must be installed according to a number of specific rules. These rules follow the table in this section.
|Size||Color Code 1||Color Code 2||SS/DS||Type|
- The DIMMs in slots 1 and 2 make up Bank A. DIMMs in slots 3 and 4 make up Bank B, and so on.
- A bank of two slots must have a DIMM in each slot or be empty (except for slots 1 and 2, Bank A, which must always be populated.)
- The two DIMMs in any bank must be of the same size and type.
- The largest size DIMMs must be in Bank A.
- DIMM banks must be filled sequentially, beginning with bank A.
- Equal or smaller size DIMMs must be in Bank B, and so on.
- Do not skip banks, or the memory will not be recognized.
To install high density (128 MB) DIMMs, PROM revision 4.4 or higher is required (see hinv(1M)). With older PROM revisions maximum memory is 256 MB. For IRIX 6.3 there are patches to upgrade the PROM as described in "Silicon Graphics® O2® Workstation Memory Installation Instructions", for IRIX 6.5 PROM images come with the operating system and overlays CD sets.
- The CRM chipset that SGI developed for the O2, shares OpenGL calculations between CPU and chip. Due to the unified memory architecture, framebuffer memory comes from main memory, and there is effectively an 'unlimited' amount of texture memory. Another useful feature is that any incoming video data from the Audio/Video option can be used directly as an OpenGL texture without having to perform a copy or move.
- ICE (Image Compression Engine -- a dedicated 64-bit R4000-based processor containing a 128-bit SIMD unit running at 66 MHz, which is used to accelerate various image and video operations)
- OpenGL 1.1 + ARB image extensions
O2 Video System
The O2 Video system simultaneously supports two input video streams to memory and one output video stream from memory which can be seperated into two outputs, one carrying pixel information, the other carrying alpha (key) information.
Using the O2 Video system, it is possible to capture live video into the computer's memory which can then be displayed in a graphics window on the screen or further processed by an application. It is also possible to generate video output from images in memory, which can be displayed on a standard video monitor, or recorded to a VTR. Using the VL programming library (see vlintro(3), and mvp(3)), a program can capture video in either the RGB or YCrCb color spaces, and either full or reduced size formats, and in a format usable for input to the compressor/decompressor, display on the graphics screen, or as an input to a graphics processing and/or texture operation.
SGI offered 2 video options for the O2/O2+: the AV1 interface and the AV2 interface.
- The AV1 interface supports Composite and SVideo (Y/C) (both analog), and Digital I/O via the Camera/Digital Video port. The analog I/O jacks are for use with standard analog video equipment, supporting both PAL and NTSC video formats. There are a variety of controls available that allow the user or programmer to set various parameters used for the decoding and encoding of the video signals. The digital input of the AV1 is for use with the O2 Digital System Camera, or can be connected to an optional digital video input and output adapter to interface to standard SMPTE259M serial digital video devices.
- The AV2 interface supports two ITU-601 (CCIR-601) serial digital video input connectors and two similiar output connectors, as well as GPI input and output and analog (black burst) sync input and loop through.
Chris Pirazzi's Lurker's Guide to Video contains the following three sections exclusively for the O2 Video System:
Operating system support
IRIX versions 6.3 and 6.5 (up to the latest overlay - 6.5.30) are supported on this machine, however, only in 32-bit mode, due to the nature of the O2's internal architecture.
There is official Linux support for the O2 in Debian 4.0 "Etch" as well as in Gentoo but only for R5000/R7000 O2s. Linux is not stable on R10000/R12000 CPUs due to a known issue with the way they handle speculative loads and stores, detailed here. This is not a problem for Linux on the Octane as there is different hardware to support these processor features.
O2 hardware currently not fully supported by Linux:
- R10K or R12K processors.
- CRM Accelerated Graphics (framebuffer only)
- Sound (ALSA driver exists in Linux-MIPS tree, currently under development)
- Video capture via SAA 7111 (Linux driver exists for the chip)
- ICE (experimental patches exist)
Installing Linux is made more difficult due to the O2's PROM being unable to read ISO9660 filesystems. Gentoo has an experimental SGI bootable X Live CD. Please read the README for details on supported machines (the O2 is one of many SGIs supported), the level of support, and how to burn the CD as it is not a typical ISO image. Additionally, there is a project to create Linux bootable CDs here if you want to roll your own. However, the more common procedure is to use a 2nd computer as a PXE boot server and netboot an installer. Details on using a Debian minimal netinstall image can be found here.
From http://www.openbsd.org/sgi.html : Currently OpenBSD/sgi runs in 64 bit mode and boots multi-user on supported systems.
- O2 (aka Moosehead) with R5000, RM5200, RM7000, R10000 and R12000 CPUs. Level 2 caches are supported on all CPUs. RM7000 level 3 cache is supported.
- Built-in Adaptec AIC-7880 SCSI (ahc)
- Built-in Ethernet (mec)
- Built-in serial ports (com)
- 64 bit PCI expansion slot
- Intel i8255x-based (except the i82556) PCI ethernet (fxp)
- Built-in audio (mavb)
The O2 is unusual for a Silicon Graphics machine in that it has only one available graphics option (CRM), which is built-in and cannot be replaced. Similarly unusual, the base machine has a single HD15 connector for graphics output. There is, however, a proprietary expansion port for one of three extra graphics interface options.
- Dual-head 2xHD15 adapter. PN: 030-1296-002
- 1600SW flat panel adapter. PN: 030-1170-001
- Indy Presenter or Presenter 1280 flat panel adapter. PN: 030-1202-001
Since the video calculations are performed on the O2's CPU, running in higher resolutions or dual-head mode causes a significant impact on performance. Additionally, due to limited CRM framebuffer width, the two screens for dual-head are positioned vertically in memory causing a slowdown when objects are drawn across both screens. While no DVI option exists for the O2, when using either flat panel adaptor there is an all-digital path from the computer to the display.
Media options include the Audio Option, Analog Video Option (AV1), Digital Video Option (AV2) and various PCI64 cards ranging from SCSI, Ethernet and Firewire to FDDI.
Necochan.Net Discussion: The O2 Hardware Aggregator