Hardware Reference
In-Depth Information
FIGURE 5.38 Cache and memory states in the multichip, multicore multiprocessor .
5.9 [10/10/10/10/15/15/15/15] <5.4> For each part of this exercise, assume the initial cache and
memory state in Figure 5.38 . Each part of this exercise specifies a sequence of one or more
CPU operations of the form:
P#: <op> <address> [ <-- <value> ]
where P# designates the CPU (e.g., P0,0 ), <op> is the CPU operation (e.g., read or write), <ad-
dress> denotes the memory address, and <value> indicates the new word to be assigned on a
write operation. What is the final state (i.e., coherence state, sharers/owners, tags, and data)
of the caches and memory after the given sequence of CPU operations has completed?
Also, what value is returned by each read operation?
a. [10] <5.4> P0,0: read 100
b. [10] <5.4> P0,0: read 128
c. [10] <5.4> P0,0: write 128 <-- 78
d. [10] <5.4> P0,0: read 120
e. [15] <5.4> P0,0: read 120
P1,0: read 120
f. [15] <5.4> P0,0: read 120
P1,0: write 120 <-- 80
g. [15] <5.4> P0,0: write 120 <-- 80
P1,0: read 120
h. [15] <5.4> P0,0: write 120 <-- 80
P1,0: write 120 <-- 90
5.10 [10/10/10/10] <5.4> Directory protocols are more scalable than snooping protocols be-
cause they send explicit request and invalidate messages to those nodes that have copies of
a block, while snooping protocols broadcast all requests and invalidates to all nodes. Con-
sider the eight-processor system illustrated in Figure 5.37 and assume that all caches not
 
Search WWH ::




Custom Search