Liangliang Tong wrote:
Hello everyone, when I am verifying one of my idea using gems, there are several
questions I fail to figure out:
1) In the MESI_CMP_directory protocol, there is a status called "idle", whereas
the traditional status is "invalidate", so I wonder is there any differences
between these two statuses? if different, how?
No difference. It means what you think it means.
2) IS, desc="L1 idle, issued GETS, have not seen response yet";
IM, desc="L1 idle, issued GETX, have not seen response yet";
SM, desc="L1 idle, issued GETX, have not seen response yet";
IS_I, desc="L1 idle, issued GETS, saw Inv before data because directory
doesn't block on GETS hit";
M_I, desc="L1 replacing, waiting for ACK";
E_I, desc="L1 replacing, waiting for ACK";
I just can not understand the explainations in the " ", they are the same for IM
and SM, or M_I and E_I? could anyone explain these four transient statuses to
me?
For SM, this is a typo. Should be "L1 shared, issued GETX, ..."
For M_I and E_I, the explanations are accurate. In both cases, the line is
replaced and the ACK has not been seen. The only difference is the starting state.
...Greg
|