Chapter 4. XIO View of I/O Space

The XIO bus gives a widget either a memory view or an I/O view of the Origin2000 system. The XIO_Address[47] bit selects the type of view (I/O, memory) seen by the widget.

In normal operation, DMA operations use the memory view.

XIO Memory View

The XIO memory view is similar to the memory address map available to a processor, in that XIO's 40-bit memory space is divided into equal regions per node. The Hub ignores A[46:40] in the memory view, effectively creating an alias space with these bits.

The M Mode address map for the XIO memory view is shown in Figure 4-1.

Figure 4-1. XIO Memory View Address Map

Figure 4-1 XIO Memory View Address Map

M Mode memory view address mappings are shown in Figure 4-2. XIO_Address[47] is always set to a 0, indicating a memory view.

Figure 4-2. Memory View Access in M Mode

Figure 4-2 Memory View Access in M Mode

XIO IO View of Origin2000

The XIO's IO view of the Origin2000 system is slightly different from the XIO memory view. The 9-bit NASID is merged with XIO_Address[46:38]. [3] This means the 4-GB Hub region occurs somewhere within a 256 GB space.

The Hub region is indexed by the sum of NodeID plus XIO_Address[46:38], and offset is XIO_Address[31:0], as is shown in Figure 4-3.

Figure 4-3. M Mode Addressing in an XIO IO View

Figure 4-3 M Mode Addressing in an XIO IO View

A series of Hub regions within their encompassing 256 GB spaces are shown in Figure 4-5.

As shown in Figure 4-4, the Hub ignores XIO_Address[37:32]. XIO_Address[47] is always set to a 1, indicating an IO view, as shown in this figure.

Figure 4-4. I/O View Access in M Mode

Figure 4-4 I/O View Access in M Mode

The remainder of the XIO address is similar to the memory view model, which means the view within a node is similar to the processor's view of memory, as shown in Figure 4-5.

Figure 4-5. XIO IO View Map

Figure 4-5 XIO IO View Map



[3] Software has the responsibility for zeroing bit[46], the upper bit of the NASID index.