English
Language : 

82801DB Datasheet, PDF (181/587 Pages) Intel Corporation – Intel 82801DB I/O Controller Hub 4 (ICH4)
Functional Description
5.16.2.4 Transfer Queuing
Transfer Queues are used to implement a guaranteed data delivery stream to a USB Endpoint.
Transfer Queues are composed of two parts: a Queue Header (QH) and a linked list. The linked list
of TDs and QHs has an indeterminate length (0 to n).
The QH contains two link pointers and is organized as two contiguous DWords. The first DWord is
a horizontal pointer (Queue Head Link Pointer), used to link a single transfer queue with either
another transfer queue, or a TD (target data structure depends on Q bit). If the T bit is set, this QH
represents the last data structure in the current Frame. The T bit informs the ICH4 that no further
processing is required until the beginning of the next frame. The second DWord is a vertical pointer
(Queue Element Link Pointer) to the first data structure (TD or QH) being managed by this QH. If
the T bit is set, the queue is empty. This pointer may reference a TD or another QH.
Figure 5-16 illustrates four example queue conditions. The first QH (on far left) is an example of
an “empty” queue; the termination bit (T Bit) in the vertical link pointer field is set to 1. The
horizontal link pointer references another QH. The next queue is the expected typical
configuration. The horizontal link pointer references another QH, and the vertical link pointer
references a valid TD.
Typically, the vertical pointer in a QH points to a TD. However, as shown in Figure 5-16 (third
example from left side of figure) the vertical pointer could point to another QH. When this occurs,
a new Q Context is entered and the Q Context just exited is NULL (ICH4 will not update the
vertical pointer field).
The far right QH is an example of a frame “termination” node. Since its horizontal link pointer has
its termination bit set, the ICH4 assumes there is no more work to complete for the current Frame.
Figure 5-16. Example Queue Conditions
31
21 0
Frame List Pointer Q T
31
QH
21 0
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
31
QH
21 0
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
31
QH
21 0
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
Indicates 'Nil' Next Pointer
31
QH
21 0
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
Indicates 'NULL' Queue Head
Link Pointer
TD
QT
Link Pointer
TD
QT
Link Pointer (Horz)=Queue Head Link Pointer
field in QH DWordz 0
Link Pointer (Vert)=Queue Element Link Pointer
field in QH DWord 1
31
QH
21 0
Link Pointer (Horiz) Q T
Link Pointer (Vert) Q T
Link Pointer
TD
QT
Link Pointer
TD
QT
Indicates 'Nil' Next Pointer
Link Pointer
TD
QT
Intel® 82801DB ICH4 Datasheet
181