In ACE protocol there are 2 transactions Barrier and DVM transactions. Can you please explain me about this with an example? Like how barrier is helps us in ordering and observation of transactions(example). How DVM part is used ?
Barriers and DVMs should be considered separately.
Barriers are used to give guarantees that a transaction is observable (e.g. being able to read newly written data would make that write transaction observable) within the shareability domain specified by the barrier instruction. So for example, an Inner Shareable barrier would require that the order is established with to other transactions from all Managers in the same Inner Shareable domain.
DVMs are used to maintain data structures other than data caches - for example, instruction caches, TLBs or branch predictors. So for example, if two ACE managers were sharing the same page tables in memory and one of those manager wishes to do a page swap, then DVMs in the form of TLB maintenance instructions would be used to ensure that the other manager did not continue to use a stale entry that it had cached in its TLB.