Hi Dong,
Per my understanding, "isb" and "dsb" do not flush TLB. "isb" has the effect of flushling pipeline.
Roughly, "dsb" ensures that memory accesses and some TLB/cache maintenance instructions are completed before executing the instructions after "dsb". These opeartions may depend on the value of TTBR0_EL1. Also, if I remeber correctly, "isb" should be used after
modifying a control register so that the modification can be observed by the instructions following the instruction that modifies the control register, through the effect of flushing pipeline and refetching instructions.
ASID is used to reduce TLB flushes.
Regards,
Yanyan