UVM_RAL: advantage of uvm_virtual_register over uvm_register

I just wanted to understand whats the importance of uvm_virtual_register over uvm_register , and in which context uvm_virtual_register is recommended