Hi all, I am a little confused about the event "Other_GETS" in MOSI_SMP_bcast-cache.sm. "Other_GETS" is triggered when other processors issue "GETS" request. But does it check the address in the snooped message to see if the address is
now in the cache of snooping processor? Or whenever a processor snoop a "GETS" request, it will trigger a "Other_GETS" event no matter what the address is.
By the way, when I simulate application using MOSI_SMP_bcast protocol. The "Transitions" part in ruby stats shows that only when the current state is "NP", the events "Other_GETS", "Other_GETX" will be triggered.
Why other state, like "I", "S", won't trigger "Other_GETS" event?
Thanks for helping.
---------------- Selected parts of the stats file --------------------
Chip Stats ----------
--- L1Cache --- - Event Counts - Load 32123 Ifetch 40578 Store 18356 L1_to_L2 87103 L2_to_L1D 27518 L2_to_L1I 32080 L2_Replacement 1 Own_GETS 11898 Own_GET_INSTR 8498 Own_GETX 11202
Own_PUTX 1 Other_GETS 35694 Other_GET_INSTR 25494 Other_GETX 33606 Other_PUTX 0 Data 31598
- Transitions - NP Load 11898 NP Ifetch 8498 NP Store 9156 NP Other_GETS 35694 NP Other_GET_INSTR 25494 NP Other_GETX 33606 NP Other_PUTX 0 <--
I Load 0 <-- I Ifetch 0 <-- I Store 0 <-- I L1_to_L2 0 <-- I L2_to_L1D 0 <-- I L2_to_L1I 0 <-- I L2_Replacement 0 <-- I Other_GETS 0 <-- I Other_GET_INSTR 0 <--
I Other_GETX 0 <-- I Other_PUTX 0 <--
S Load 10929 S Ifetch 31946 S Store 2046 S L1_to_L2 59719 S L2_to_L1D 11068 S L2_to_L1I 31946 S L2_Replacement 0 <-- S Other_GETS 0 <-- S Other_GET_INSTR 0 <--
S Other_GETX 0 <-- S Other_PUTX 0 <--
|