17
09/18/00 Rev 1.1
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567
PI7C7100
3-Port PCI Bridge
ADVANCE INFORMATION
4.6 Read Transactions
Delayed read forwarding is used for all read transactions crossing PI7C7100. Delayed read transactions are treated as
either prefetchable or non-prefetchable. Table 4-4 shows the read behavior, prefetchable or non-prefetchable, for each
type of read operation. For Timing diagrams, see Figures 11-14 and 23-26 in Appendix A
4.6.1 Prefetchable Read Transactions
A prefetchable read transaction is a read transaction where PI7C7100 performs speculative DWORD reads, transferring
data from the target before it is requested from the initiator. This behavior allows a prefetchable read transaction to consist
of multiple data transfers. However, byte enable bits cannot be forwarded for all data phases as is done for the single data
phase of the non-prefetchable read transaction. For prefetchable read transactions, PI7C7100 forces all byte enable bits
to be turned on for all data phases.
Prefetchable behavior is used for memory read line and memory read multiple transactions, as well as for memory read
transactions that fall into prefetchable memory space.
The amount of data that is pre-fetched depends on the type of transaction. The amount of pre-fetching may also be affected
by the amount of free buffer space available in PI7C7100, and by any read address boundaries encountered.
Pre-fetching should not be used for those read transactions that have side effects in the target device, that is, control and
status registers, FIFOs, and so on. The target device’s base address register or registers indicate if a memory address region
is prefetchable.
4.6.2 Non-prefetchable Read Transactions
A non-prefetchable read transaction is a read transaction where PI7C7100 requests one and only one DWORD from the
target and disconnects the initiator after delivery of the first DWORD of read data. Unlike prefetchable read transactions,
PI7C7100 forwards the read byte enable information for the data phase.
Non-prefetchable behavior is used for I/O and configuration read transactions, as well as for memory read transactions
that fall into non-prefetchable memory space.
If extra read transactions could have side effects, for example, when accessing a FIFO, use non-prefetchable read
transactions to those locations. Accordingly, if it is important to retain the value of the byte enable bits during the data phase,
use non-prefetchable read transactions. If these locations are mapped in memory space, use the memory read command and
map the target into non-prefetchable (memory-mapped I/O) memory space to use non-prefetching behavior.
4.6.3 Read Pre-fetch Address Boundaries
PI7C7100 imposes internal read address boundaries on read pre-fetched data. When a read transaction reaches one of
these aligned address boundaries, the PI7C7100 stops pre-fetched data, unless the target signals a target disconnect
before the read pre-fetched boundary is reached. When PI7C7100 finishes transferring this read data to the initiator, it
returns a target disconnect with the last data transfer, unless the initiator completes the transaction before all pre-fetched
read data is delivered. Any leftover pre-fetched data is discarded.
Prefetchable read transactions in flow-through mode pre-fetch to the nearest aligned 4KB address boundary, or until the
initiator de-asserts FRAME#. Section 4.6.6 describes flow-through mode during read operations.
Table 4-5 shows the read pre-fetch address boundaries for read transactions during non-flow-through mode.
Table 4-4. Read Pre-fetch Address Boundaries
n
o
i
t
c
a
s
n
a
r
T
f
o
e
p
y
T
e
c
a
p
S
s
s
e
r
d
d
A
)
S
L
C
(
e
z
i
S
e
n
i
L
e
h
c
a
C
y
r
a
d
n
u
o
B
s
s
e
r
d
d
A
d
e
n
g
i
l
A
h
c
t
e
f
-
e
r
P
d
a
e
r
g
i
f
n
o
C
-
-
)
h
c
t
e
f
-
e
r
p
o
n
(
D
R
O
W
D
e
n
O
d
a
e
r
O
/
I
-
-
)
h
c
t
e
f
-
e
r
p
o
n
(
D
R
O
W
D
e
n
O
d
a
e
r
y
r
o
m
e
M
e
l
b
a
h
c
t
e
f
e
r
p
-
n
o
N
-
)
h
c
t
e
f
-
e
r
p
o
n
(
D
R
O
W
D
e
n
O
d
a
e
r
y
r
o
m
e
M
e
l
b
a
h
c
t
e
f
e
r
P
8
,
4
,
2
,
1
o
t
l
a
u
q
e
t
o
n
S
L
C
y
r
a
d
n
u
o
b
s
s
e
r
d
d
a
d
e
n
g
il
a
D
R
O
W
D
-
6
1
d
a
e
r
y
r
o
m
e
M
e
l
b
a
h
c
t
e
f
e
r
P
8
,
4
,
2
,
1
=
S
L
C
y
r
a
d
n
u
o
b
s
s
e
r
d
d
a
e
n
il
e
h
c
a
C
e
n
il
d
a
e
r
y
r
o
m
e
M
-
8
,
4
,
2
,
1
o
t
l
a
u
q
e
t
o
n
S
L
C
y
r
a
d
n
u
o
b
s
s
e
r
d
d
a
d
e
n
g
il
a
D
R
O
W
D
-
6
1
e
n
il
d
a
e
r
y
r
o
m
e
M
-
8
,
4
,
2
,
1
=
S
L
C
y
r
a
d
n
u
o
b
e
n
il
e
h
c
a
C
e
l
p
i
t
l
u
m
d
a
e
r
y
r
o
m
e
M
-
8
,
4
,
2
,
1
o
t
l
a
u
q
e
t
o
n
S
L
C
y
r
a
d
n
u
o
b
s
s
e
r
d
d
a
d
e
n
g
il
a
D
R
O
W
D
-
2
3
e
l
p
i
t
l
u
m
d
a
e
r
y
r
o
m
e
M
-
8
,
4
,
2
,
1
=
S
L
C
y
r
a
d
n
u
o
b
e
n
il
e
h
c
a
c
f
o
s
e
m
i
t
2