Hi,
I am trying to understand Atomic operation supported in PCIe gen3. I read about atomic operations in general and found out that these operations are supported for avoiding clashes when accessing shared resources via multiple sources.
In legacy pci these operations were supported using Lock transaction. i.e. RC can initiate lock request in response to atomic request from software. As path is locked no other transaction can flow through the fabric. So chances of conflict in accessing shared resource is not there.
Now in PCIe we have atomic TLPs for the same. What I am not able to understand is that how it is made sure that shared resource is not being accesses from other source? Also is there special hardware unit used to support atomic operations?
Please correct where my understanding is incorrect.
Thanks.