
GT-96100A Advanced Communication Controller
Revision 1.0
201
8.
INTELLIGENT I/O (I
2O) STANDARD SUPPORT
The GT-96100A includes hardware support for the Intelligent I/O (I2O) Standard.
This support includes all of the registers required for implementing the I2O Messaging Unit as defined in the I2O
Specification. This Messaging Unit (MU) is compatible with that found in Intel’s i960Rx processors. However,
the combination of MIPS processors and the GT-96100A delivers as much as 20 times the integer performance of
the i960RP.
The I2O hardware support found in the GT-96100A also provides designers of non-I2O embedded systems with
important benefits. For example, the circular queue support in the MU provides a simple, powerful mechanism
for passing queued messages between intelligent agents on a PCI bus. Even the simple message and doorbell reg-
isters improve the efficiency of communication between agents on PCI.
NOTE: Even if you have no intention of using the entire I2O “stack”, Galileo Technology recommends reading
this entire section to learn about improving the application of the hardware to the design.
8.1
Overview
The best source for an overview description of I2O support is in the I2O specification documentation.
The I2O specification defines a standard mechanism for passing messages between a host processor (a Pen-
tium, for example) and intelligent I/O processors (a networking card based on the GT-96100A and a MIPS pro-
cessor, for example.) This same message passing mechanism is used to pass messages between peers in a system.
I2O is defined to be bus independent but, in the real world, it runs over the PCI. The basic process is quite simple:
1. A master wishing to post a message to a device, fetches a pointer from the device from a defined regis-
ter in the target devices PCI memory space (one of the I2O registers).
2. The master assembles the message in the targets memory space and then posts the fetched pointer into
another register in the target device. Posting the pointer generates an interrupt to the target’s processor.
The I2O specification documentation also defines a simpler mechanism for implementing message passing
through doorbell and message registers. The GT-96100A also includes this support.
8.2
I2O Registers
From the PCI side, the registers used to implement I2O support resides in the first 128 bytes of the memory
region defined by RAS[1:0] Base Address register in PCI function 0 of PCI interface 01. The I2O registers are
accessible from the CPU side through an offset from the CPU Internal Space Base register.
NOTE: Index registers are not supported in GT-96100A.
1. There is no
I2O support on the PCI_1 interface.