ACE Protocol: Why AC Snoop channel dont have ID,just like AR/AW channel?
For example:
there is M1,M2,M3.
if M1 and M2 readunique the same Cache Line X, innterconect need send snoop request to M2/M3 for M1, and send request to M1/M3 for M2.
the specification ask the the first two snoop M2/M3 for M1 first ,then M send RACK, the innterconnect will process the request to M1/M3 for M2.
Question1: the M2/M3 snoop request can be outstanding or not ?
Queston2: if interconnect send snoop request to same snooped-master ,the request can be outstanding or not ?
if they can be outstanding , the snooped-master process snoop request should not out of order. is it right?
Hello yisure
This forum is for questions about how to use the community. Please take a look at https://community.arm.com/developer/f and let me know which support forum I can move your question to.
Thanks :)
Oli from the Community team
SOC Design Forum, thanks.
The snoop channel does not have IDs as it is intended for all snoop transactions to be handled in order. This simplifies the ACE manager and interconnect logic. There is not thought to be a significant advantage from allowing snoops to occur out of order.
yisure said:Question1: the M2/M3 snoop request can be outstanding or not ?
Yes, an interconnect can have the same snoop outstanding to multiple manager at the same time.
yisure said: Queston2: if interconnect send snoop request to same snooped-master ,the request can be outstanding or not ? if they can be outstanding , the snooped-master process snoop request should not out of order. is it right?
Correct. Multiple snoops can be outstanding to the same manager at the same time. They are required to complete in order as there is no ID.