9. (20pt) For the snooping protocol which has three states of invalid, exclusive and shared, specify cache states in processors P1, P2, and P3 for each step. Assumes initial cache state is invalid. Specify the cache states and the directory state for directory-based protocol.
step
P1 cache state
P1: read A1
P1: write 1 to A1
P1: read A1
P2: write 2 to A1
P3: read A1
P2: write 3 to A1
P2: write 0 to A1
P1: read A1
P1: write 1 to A1
P2 cache state
P3 cache state
Directory state for A1