Advanced Computer Architecture Chapter 7.42
Directory State Machine
State machine
for Directory requests for each
memory block
Uncached state
if in memory
Data Write Back:
Sharers = {}
(Write back block)
Uncached
Shared
(read only)
Exclusive
(read/writ)
Read miss:
Sharers = {P}
send Data Value
Reply
Write Miss:
send Invalidate
to Sharers;
then Sharers = {P};
send Data Value
Reply msg
Write Miss:
Sharers = {P};
send Data
Value Reply
msg
Read miss:
Sharers += {P};
send Fetch;
send Data Value Reply
msg to remote cache
(Write back block)
Read miss:
Sharers += {P};
send Data Value Reply
Write Miss:
Sharers = {P};
send Fetch/Invalidate;
send Data Value Reply
msg to remote cache