gem5-users@gem5.org

The gem5 Users mailing list

View all threads

mem-ruby: double ACK in MESI_Two_Level

AA
Arteen Abrishami
Sat, Dec 16, 2023 7:51 PM

Hello all,

I’m working on the MESI_Two_Level protocol and I’ve noticed there is a double ACK process between Memory and L2

For example:

L2 receives a MEM_INV
L2 deals with it and sends back a clean ACK and goes into the intermediate state
Memory receives it
Memory sends an ACK to the L2

I was hoping to understand this design decision, as I am having trouble understanding why it is necessary for the double ACK, and the L2 not immediately going into NP upon sending back its ACK.

Best,
Arteen

Hello all, I’m working on the MESI_Two_Level protocol and I’ve noticed there is a double ACK process between Memory and L2 For example: L2 receives a MEM_INV L2 deals with it and sends back a clean ACK and goes into the intermediate state Memory receives it Memory sends an ACK to the L2 I was hoping to understand this design decision, as I am having trouble understanding why it is necessary for the double ACK, and the L2 not immediately going into NP upon sending back its ACK. Best, Arteen