However, over the last two to three years its products have grown to a position whereby they are challenging the mainstream Unix workstation market. While not dropping its graphics root, Silicon Graphics have released a series of price competitive systems.
The Iris Indigo is the latest in this trend and represents a real breakthrough for Silicon Graphics. For the first time it has produced a machine that still encompasses all the attributes of Silicon Graphics for the price for a high-end PC. The Indigo offers a full-featured Unix system complete with network file access, virtual memory, multitasking and all the Unix standards that technical users demand. As a member of the Iris 4D family of graphics workstations it offers powerful, interactive 3D graphics and adds to this new features such as CD quality audio processing and options for live video.
The Iris Indigo was designed to use the general-purpose processing power of the MIPS R3000 to accomplish some of the tasks that were previously performed by costly proprietary graphics hardware.
The R3000 is assisted in its operation by a R3010 floating point unit and 32K of data and instruction cache. Main memory capacity is internally up to 96 MBytes, augmented by on-board interleave controllers that greatly increase the efficiency of memory access.
To accelerate data through the system, Silicon Graphics use their own custom chips. These chips manage memory and processor interrupts, handle I/O, control the bus, fill pixels and draw lines, control graphics output and access colour tables, often without CPU intervention. To keep memory costs down, it uses inexpensive main memory for many types of graphics storage, instead of dedicated video memory.
The main reason for the price of the Indigo as compared with other Silicon Graphics machines is that a number of the higher-level graphics functions are now performed by the main CPU rather than specialised graphics hardware. However, the high speed of the CPU means that in many cases graphics processing is comparable. None of the functionality has been lost, the Indigo will run all Silicon Graphics software and will still perform high-level graphics algorithms such as fogging, texture mapping and spot lighting.
The Indigo also uses an innovative method of providing high-quality colour graphics without depending on extensive and expensive dedicated video RAM. In order to simulate the rich 24-bit graphics of other Silicon Graphics machines the Indigo uses an intelligent dithering routine allowing the machine to display all 24-bit images.
Possibly the biggest saving in the architecture comes from the Indigo's approach to z-buffering. Three-dimensional images traditionally require a hardware buffer to control depth information - the Indigo simulates this by creating a virtual z-buffer in main memory. This does affect performance, 3D imaging is slow in comparison with the other Silicon Graphics products but it is still ahead of its class at this price point. Furthermore, it ensures that all 3D software is compatible with the Indigo.
The Iris Indigo sets a new standard for ease of set-up. It took approximately ten minutes between receiving the system and logging in to Unix. Similarly, the machine avoided all the usual spurious garbage associated with Unix machines booting up and lead in with a simple graphics logging screen. All Indigos will come with Unix pre-loaded, an aspect that should appeal to all PC users upgrading to a workstation.
One of the biggest attractions at the recent UniForum UK's Open Systems' 91 exhibition was multi-media. In most cases this required additional hardware to be added to a standard Unix workstation. The Indigo more than any other commercially available workstation is equipped to exploit this emerging market.
In addition to its powerful graphics system, the Indigo incorporates a 24-bit digital stereo and 16 analogue stereo system. This includes line-level and mic-level analogue inputs, line-level analogue outputs and a complete in-and-out digital sound system. The audio system uses a powerful digital signal processor, with its own custom real-time operating system designed to work with the CPU to ensure that audio timing isn't degraded by the demands of other systems.
For multi-media many users want to mix incoming video with graphics and to record their work on videotape. The Indigo includes a bus to accept an add-on Silicon Graphics video board that handles composite S-Video signals in NTSC or PAL formats. The video option puts live video in a window anywhere on the screen, and can overlay graphics on the video, and grab 4:1:1 format video images, all with no CPU graphics performance degradation. To put the contents of a window on video tape, the video option offers composite or S-Video output in NTSC or PAL formats. It can be configured as a 24-bit RGB frame store, useful for high-quality cell animation.
The Iris Indigo is potentially compliant with the Advanced Computing Environment (ACE). A single chip change will allow the system to be fully compliant when a customer demands it. Silicon Graphics intend to make its Irix operating system fully compliant with ACE, as well as offering the standard operating systems from both SCO and Microsoft.
The wide range of hardware interfaces include standards such as SCSI, NTSC, PAL, RS-232 and digital audio. Support on the systems software side includes Unix SVR3, Posix 1003.1, XII/R4, X/Open XPG, Motif, Display PostScript, MIDI and a variety of networking protocols.
Iris Indigo offers a productive software environment for many kinds of software development. For Unix programming it provides Irix 4.0, Silicon Graphics version of Unix with 4.3 BSD and other extensions including TCP/IP network protocols and Network File System (NFS). For window management, it provides a full implementation of XII/R4, a Motif based window manager. To resolve any potential colour conflicts between X11 and 3D graphics applications, Iris Indigo keeps completely separate colour maps for both X11 and Graphics Library applications.
For graphics programming. Iris Indigo offers a software-based implementation of the Iris Graphics Library applications. It offers support for input devices such as the mouse, keyboard, spaceball, trackball and digitising tablet. It also provides calls for object modeling in 3D space for spatial transformation (providing perspective and viewpoint control, etc) for lighting, rendering polygonal and spline surfaces, smooth animation and many other graphics tasks. It provides the full set of Iris Powervision graphics features (with the exception of stencil-plane functions), which include fogging and multiple arbitrary clipping planes. In addition, with Irix 4.0, GL graphics can be displayed with subwindows of X applications, allowing GL programmers to take advantage of Motif and other X11 based user interface toolkits, and X programmers to make use of high-performance graphics.
This does not mean that the Indigo is devoid of dedicated graphics hardware. The heart of the machine is still very much its Raster Engine (REX) a pipelined, pixel filling and line-drawing processor implemented as a single high-density ASIC which, among other functions, supports dithering and contains z-buffer support. The REX ASIC achieves it performance by the following techniques: buffering of multiple graphics drawing techniques; use of two complete sets of drawing routines; overlapping memory access, command executions and command setups; use of page-mode accesses in the VRAMs and the use of a small queue of memory access.
In addition, the Raster Engine's pipelined architecture minimises the overhead of clipping at arbitrary shaped window boundaries.
The Silicon Graphics Indigo is a truly remarkable machine. Not just because of its graphics hardware, not just because of its full complement of features but mostly because of its 'completeness'. The Indigo is packaged like a PC, is as easy to install as a PC and yet offers the full functioning capability of a powerful Unix workstation.
It has the immediate user-friendliness of a Macintosh and yet packs so much innovation that it cannot fail to impress all that see it. I believe that this completeness will appeal to software vendors so much that they will actively track down Silicon Graphics to port their applications. This is already happening in such areas as electronic publishing, multi-media and personal CAD - many more will follow.
I doubt that Silicon Graphics themselves will realise the full potential of this system, but strategic deals with companies such as Compaq may well see this machine ousting the Mac from its traditional markets.
Every Silicon Graphics machine is supplied with a software suite that provides visualisation and analysis functionality for technical users. Iris Explorer is an ideal tool for those that are proficient enough to generate smaller graphics programs but whose time would be better served with a general purpose visualisation tool.
Although scientific computing requires greater flexibility than a typical software application can provide, Iris Explorer creates an application environment that is extremely flexible and powerful as well as easy to use. For example, its application framework has multiple usage levels: lower level users, often programmers can exploit the full power of the system; higher level users, often casual users can use an easier but more restricted version. In fact, Iris Explorer has four usage levels - traditional application usage, applications building, application prototyping and actual usage. In theory, distinctions between the levels soon blur as users become more familiar with the system.