![](http://datasheet.mmic.net.cn/110000/GT-96100A_datasheet_3491740/GT-96100A_161.png)
GT-96100A Advanced Communication Controller
Revision 1.0
161
on the bus is undefined (unless timeout is reached first - RETRY termination). In both cases, MemOut bit in
interrupt cause register is set (and interrupt is generated if not masked).
7.3.5
Enhancing Target Interface Performance
The GT-96100A includes special performance tuning features for the PCI target interface. The PCI_0/1 Timeout0
and Timeout1 registers allow the designer to force the GT-96100A to wait either longer than normal, or shorter
than normal, before issuing a RETRY/DISCONNECT.
The Timeout0 value of PCI device0 or device1 sets the number of clocks the device will wait for the first data of
an access before issuing a RETRY. The Timeout1 value sets the number of clocks the device will wait between
subsequent data phases during an access before issuing a DISCONNECT. The PCI 2.1 specifications sets the
maximum for both of these at 16 clocks (Timeout0) and 8 clocks (Timeout1) respectively. However, in many
systems, especially those with long SDRAM latencies, it may be necessary to “bend” these restrictions.1
NOTE: A value of 0x00 in Timeout0 or Timeout1 means "never timeout"
If excessive RETRY/DISCONNECT behavior occurs in the system, lengthen the Timeout0/1 values. This behav-
ior may result from excessive memory activity due to the CPU or DMA engines and the PCI interface failing to
access the SDRAM within 16 clocks.
The settings in the Prefetch/Max_Burst registers provide another area for performance optimization. Turning on
aggressive prefetch for all read types results in a significant performance improvement, depending on the length
and type of read commands.
NOTE: If a system uses many short reads from a PCI, aggressive prefetch on speculative reads that are not used
wastes bandwidth on the Device/DRAM bus.
7.4
PCI Synchronization Barriers
The GT-96100A considers some cycles to be “synchronization barrier” cycles. In such cycles, the GT-96100A
confirms that at the end of the cycle there remains no posted data within the chip. These cycles can be initiated
either from the PCI slave side or the CPU side.
The slave “synchronization barrier” cycles are Lock Read (for PCI_0 only) and Configuration Read. If there is
no posted data within the device, the cycle ends normally. If after a retry period there is still posted data, the cycle
is retried. Until the original cycle ends, any other (different address/command) “synchronization barrier” cycles
are retried.
Lock Read is a “synchronization barrier” cycle that lasts during the entire Lock period. For Example, when the
slave of PCI_0 is locked, all Configuration Reads are retried. Also, all cycles addressed to internal registers are
retried until Lock ends.
The CPU interface treats I/O Reads to PCI and Configuration Reads as “synchronization barrier” cycles as well.
These reads are responded to once no posted data remains within the GT-96100A.
1. The PCI specification also states that a master may not enforce target rules. In other words, even if the GT-96100A takes longer than 16 clocks to
return the first data, the master must wait.