Hardware Reference
In-Depth Information
Table 4.2
C oherenc y overhead cycles
Cache line state
Overhead (SCLK cycles)
Snooped core: 600 MHz
Snooped core: 150 MHz
Access
type
Accessed
core
Snooped
core
Not
optimized
Not
optimized
Optimized
Optimized
Read
S, E, M
-
0
0
0
0
Write
E, M
-
0
0
0
0
S
S
10
4
19
4
Read or
write
Miss
Miss
5
5
5
5
S
10
5
19
5
E
10
10
19
19
M
13
13
22
22
3. Each core supports various ICLK frequency ratios to SCLK including a lower
frequency than that of SCLK.
4. Each core has a light-sleep mode to stop its ICLK while maintaining data cache
coherency.
The global ICLK and the SCLK that run up to 600 and 300 MHz, respectively,
are generated by a global clock pulse generator (GCPG) and distributed to each
core. Both the global ICLK and SCLK are programmable by setting the frequency
control register in the GCPG. Each local ICLK is generated from the global ICLK
by the clock divider of each core. The local CPG (LCPG) of a core executes a hand-
shake sequence dynamically when the frequency control register of the LCPG is
changed so that it can keep the other cores running and can maintain coherency in
data transfers of the core. The previous approach assumed a low frequency in a
clock frequency change, and it stopped all the cores when a frequency was changed.
The core supports “light-sleep mode” to stop its ICLK except for its data cache in
order to maintain the data cache coherency. This mode is effective for reducing the
power of an SMP system.
4.2.4
Core Snoop Sequence Optimization
Each core should operate at the proper frequency for its load, but in some cases of
the SMP operation, a low frequency core can cause a long stall of a high frequency
core. We optimized the cache snoop sequences for the SMP mode to minimize such
stalls. Table 4.2 summarizes the coherency overhead cycles. These cycles vary
according to various conditions; the table indicates a typical case. The bold values
indicate optimized cases explained below.
Figure 4.5 (i), (ii) shows examples of core snoop sequences before and after the
optimization. The case shown is a “write access to a shared line,” which is the third
case in the table.
 
Search WWH ::




Custom Search