GIO
Encyclopedia
GIO is a computer bus
Computer bus
In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or between computers.Early computer buses were literally parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same...

 standard developed by SGI
Silicon Graphics
Silicon Graphics, Inc. was a manufacturer of high-performance computing solutions, including computer hardware and software, founded in 1981 by Jim Clark...

 and used in a variety of their products in the 1990s as their primary expansion system. GIO was similar in concept to competing standards such as NuBus
NuBus
NuBus is a 32-bit parallel computer bus, originally developed at MIT as a part of the NuMachine workstation project. The first complete implementation of the NuBus and the NuMachine was done by Western Digital for their NuMachine, and for the Lisp Machines Inc. LMI-Lambda. The NuBus was later...

 or (later) PCI
Peripheral Component Interconnect
Conventional PCI is a computer bus for attaching hardware devices in a computer...

, but saw little use outside SGI and severely limited the devices available on their platform as a result. Most devices using GIO were SGI's own graphics cards, although a number of cards supporting high-speed data access such as Fibre Channel
Fibre Channel
Fibre Channel, or FC, is a gigabit-speed network technology primarily used for storage networking. Fibre Channel is standardized in the T11 Technical Committee of the InterNational Committee for Information Technology Standards , an American National Standards Institute –accredited standards...

 and FDDI were available from third parties. Later SGI machines use the XIO
XIO
XIO is a packet-based, high-performance computer bus employed by the SGI Origin 2000, Octane, Altix, Fuel and Tezro machines. The XIO forms a bus between high-performance system devices and the memory controller....

 bus, which is laid out as a computer network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 as opposed to a bus.

Description

Like most busses of the era, GIO was a 32-bit address and data multiplexed bus that was normally clocked at 25 or 33 MHz. This meant that the bus uses the same path for addressing and data, thus normally requiring three cycles to transfer a single 32-bit value; one cycle to send the address, the next to send the data and then another to read or write it. This limited the bus to a maximum throughput of about 16 Mbyte
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

/s at 33 MHz for these sorts of small transfers. However the system also included a long-burst read/write mode that allowed continual transfers of up to 4 kilobyte
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

s of data (the fundamental page size in R3000-based SGI machines); using this mode dramatically increased the throughput to 132 Mbyte/s (32 bits per cycle * 33 MHz). GIO also included a "real time" interrupt allowing devices to interrupt these long transfers if needed. Bus arbitration was controlled by the Processor Interface Controller (PIC) in the original R3000-based SGI Indigo
SGI Indigo
The Indigo, introduced as the IRIS Indigo, was a line of workstation computers developed and manufactured by Silicon Graphics, Inc. . The first Indigo, code-named "Hollywood", was introduced on 22 July 1991...

 systems.

Physically, GIO used a 96-pin connector and fairly small cards 6.44 inches (16.3576 cm) long by 3.375 inches (8.5725 cm) wide. In the Indigo series the cards were aligned vertically above each other within the case, as opposed to the more common arrangement where the cards lie at right angles to the motherboard
Motherboard
In personal computers, a motherboard is the central printed circuit board in many modern computers and holds many of the crucial components of the system, providing connectors for other peripherals. The motherboard is sometimes alternatively known as the mainboard, system board, or, on Apple...

. This led to a "tall and skinny" case design. Since the cards were "above" each other in-line, it was possible to build a card that connected to both connectors on the computer's motherboard, thereby offering more room.

GIO64

GIO was later expanded to a 64-bit form, GIO64, retroactively re-naming the earlier version GIO32. Addressing remained 32-bit but now allowed for both big-endian and little-endian addressing as indicated by a new control pin, whereas GIO32 only supported the SGI-style big-endian addresses. Data could now be transferred 64-bits at a time thereby doubling speed. GIO64 could also be run faster than GIO32, up to 40 MHz, providing a maximum streaming throughput of 320 Mbyte/s. The page sizes were also adjusted to allow for the changing CPU's, starting at 4 kbyte
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

 for R3000 based machines, and up to 16 Mbyte for R4400 based ones.

Physically the GIO64 bus used much larger cards that were generally similar in size and layout to EISA
Extended Industry Standard Architecture
The Extended Industry Standard Architecture is a bus standard for IBM PC compatible computers...

 cards, a deliberate choice that made development somewhat easier as well as allowing SGI to place EISA slots in the same machines. Specifically the external connector (the metal flange) was identical to EISA, but the shape of the board itself was slightly different.

Two versions of GIO64 were specified. The "non-pipelined" system worked in a fashion similar to that of GIO32, with transfers being set up directly on the bus. The newer "pipelined" system was what the actual boards used, and as the name implies the system set up transfers in a several-step operation that was decoded in the controller's internal pipeline. Internally the non-pipelined bus transferred data between the various parts of the computer, including GIO cards, EISA devices, SCSI
SCSI
Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...

 and so forth. GIO cards used the pipelined controller to arbitrate and control timing, the data then being fed into main memory via the internal non-pipelined side.

GIO32-bis

A third standard, GIO32-bis, used the signals and timing of GIO64, but with the 32-bit connectors from GIO32. Properly designed GIO32-bis cards could be used in GIO64, GIO32 or GIO32-bis slots, differentiating the later two by looking at a pin tied to ground in the original GIO32, and tied "high" in GIO32-bis. For low-throughput cards, GIO32-bis allowed a single device to be used on any machine supporting GIO, no matter what generation.

See also

  • Extended Industry Standard Architecture
    Extended Industry Standard Architecture
    The Extended Industry Standard Architecture is a bus standard for IBM PC compatible computers...

     (EISA)
  • Micro Channel architecture
    Micro Channel architecture
    Micro Channel Architecture was a proprietary 16- or 32-bit parallel computer bus introduced by IBM in 1987 which was used on PS/2 and other computers through the mid 1990s.- Background :...

     (MCA)
  • VESA Local Bus
    VESA Local Bus
    The VESA Local Bus was mostly used in personal computers. VESA Local Bus worked alongside the ISA bus; it acted as a high-speed conduit for memory-mapped I/O and DMA, while the ISA bus handled interrupts and port-mapped I/O.-Historical overview:In the early 1990s, the I/O bandwidth of...

     (VESA)
  • Peripheral Component Interconnect
    Peripheral Component Interconnect
    Conventional PCI is a computer bus for attaching hardware devices in a computer...

     (PCI)
  • NuBus
    NuBus
    NuBus is a 32-bit parallel computer bus, originally developed at MIT as a part of the NuMachine workstation project. The first complete implementation of the NuBus and the NuMachine was done by Western Digital for their NuMachine, and for the Lisp Machines Inc. LMI-Lambda. The NuBus was later...

  • SBus
    SBus
    SBus is a computer bus system that was used in most SPARC-based computers from Sun Microsystems and others during the 1990s...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK