1. A method for providing coherent access to memory, said method comprising: receiving a target address; determining if said target address is safe and responsive thereto producing a signal indicating a result, wherein said target address is determined to be safe if a cached data corresponding to said target address is the same as a data stored in a memory system; and forwarding said target address to a processor if said signal fails to indicate that said target address is safe.