No, the DMB is a sub-set of the DSB behavior. However if you are performing cache maintenance operations, then a DSB is what you want to use, not a DMB. You want to ensure that the instruction's behavior has completed executing (i.e. cache maintenance complete) before executing following instructions. The DMB instruction is only really concerned with explicit memory accesses (loads and stores), which is why it doesn't help for cache maintenance.