This preview shows page 1. Sign up to view the full content.
Unformatted text preview: eality is much harder;
– must also avoid deadlock when running out of
buffers in network (see Appendix E:
– read miss or write miss in Exclusive
» send data directly to requestor from owner
vs. 1st to memory and then from memory
to requestor 39 Basic Directory Transactions: An Alternative
1. P A C Dir
for block M/D 3.
owner identity A C
to sharer 3a.
to sharer M/D 4a.
Inval. ack 4a.
Inval. ack 4b.
to directory P P C C C
A M/D M/D P A P RdEx request
di P Read request
to directory C 1. M/D Node with
y (a) Read miss to a block in dirty state A M/D Sharr
e A M/D Sharr
e (b)Write miss to a block with tw
40 Example Directory Protocol (1st Read)
D D: Dirty
vA: virtual Address
pA: physical Address Read pA
S P1: pA R/reply Dir
ctrl M U E E S $ P1 S $ P2 R/req
I ld vA -> rd pA I
41 Example Directory Protocol (Read Share)
D P1: pA R/_ S P2: pA R/reply Dir
ctrl M U E R/_ E S $ P1 R/_ S R/req
I $ P2 R/req ld vA -> rd pA I ld vA -> rd pA 42 Example Directory Protocol (Wr to shared)
P1: pA EX R/_ S
R/reply P2: pA M Dir
Inv ACK reply xD(pA)
Invalidate pA Read_to_update pA W/_ E W/req E E W/req E
R/_ S $ P1 R/req Inv/_
I R/_ S P2 R/req Inv/_ s...
View Full Document
- Fall '09