IDT Switch Core
PES48T12G2 User Manual
3 - 11
April 5, 2013
Notes
Figure 3.7 Request Metering Counter Decrement Operation
Completion Size Estimation
This section describes the value that is loaded into the request metering counter when a request is
transferred into the switch core. This value is referred to as the completion size estimate. The completion
size estimate is based on the type of non-posted request as described below. The request metering counter
is a 24-bit counter that represents a fixed point 0:13:11 number (i.e., an unsigned number with 13 integer
bits and 11 fractional bits).
The completion size estimate is a 0:13:3 number. The least significant eight fractional bits of the comple-
tion size estimate are always implicitly zero.
Non-Posted Writes
The completion size estimate is 0x0018 which corresponds to 3 DWords (3 DWord header)
Non-Posted Reads
The completion size estimate is based on the Length field in the read request header and is computed
as shown in Figure 3.8. All arithmetic in this section is performed using an implicit 0:13:3 representation and
all values are implicitly converted to this value.
Figure 3.8 Non-Posted Read Request Completion Size Estimate Computation
The number of data DWords in a non-posted request TLP is estimated by the number of PCI Express
data credits required by the corresponding completion(s). Each PCI Express data credit is 4 DWords or 16
bytes.
–
The first line in Figure 3.8 computes the number of DWords required by the completion(s) using
the number of required PCI Express data credits. This corresponds to PCI Express completion
data credits multiplied by 4.
If the number of data DWords is zero, then the completion size is estimated to be three DWords (i.e., a
0:13:3 representation value of 0x0018).
–
Otherwise, if the number of required data DWords is less than the Constant Limit (CNSTLIMIT)
field in the RMCTL register, then the completion size is estimated as the number of required data
DWords plus one.
tmp = RequestMeteringCounter
RequestMeteringCounter -= (DecrementValue[LinkSpeed,LinkWidth] +
RMCTL.DVADJ)
if (tmp < RequestMeteringCounter) {
RequestMeteringCounter = 0
DataDWords =
Length / 4
*4
If (DataDWords == 0) {
CompletionSizeEstimate = 3
} else if (DataDWords <= CnstLimit) {
CompletionSizeEstimate = Data 1
} else {
OverheadDWords = (DataDWords >> OverheadFactor)
CompletionSizeEstimate = Data OverheadDWords
}
Summary of Contents for 89HPES48T12G2
Page 14: ...IDT Table of Contents PES48T12G2 User Manual vi April 5 2013 Notes...
Page 22: ...IDT Register List PES48T12G2 User Manual xiv April 5 2013 Notes...
Page 38: ...IDT PES48T12G2 Device Overview PES48T12G2 User Manual 1 16 April 5 2013 Notes...
Page 64: ...IDT Reset and Initialization PES48T12G2 User Manual 5 8 April 5 2013 Notes...
Page 82: ...IDT Link Operation PES48T12G2 User Manual 6 18 April 5 2013 Notes...
Page 98: ...IDT SerDes PES48T12G2 User Manual 7 16 April 5 2013 Notes...
Page 118: ...IDT Theory of Operation PES48T12G2 User Manual 8 20 April 5 2013 Notes...
Page 152: ...IDT SMBus Interfaces PES48T12G2 User Manual 12 20 April 5 2013 Notes...
Page 158: ...IDT Multicast PES48T12G2 User Manual 13 6 April 5 2013 Notes...