single port memory has single set of address and controls, and it can only have single access (read/write) at a time.
dual port memory has two sets of address and controls, and it can have two simultaneous access to two different memory locations. It is up to memory design, and some even can have two simultaneous access to the same memory location.
In Single port memories only one operation either read or write can be done for a given clock pulse. In dual port memories seperate clocks for read and write operations will be there which can be used for simultaneous read and write operations. In some designs same memory location can be accessed as well.
Go through xilinx website u can get material.
If two processors are connected to Dual port memory ,each one port.
If these two reading same memory location there is no problem.But if one read and one wirte at the same time to same memory location ther is problem and also for both writing at same time to same memory location.
To overcome that we need to organise memory .ie
read/write--1.In this case extend read cycles.
2.Allocate some portion of address to one processor and some portion to another.
3.Make each port to generate a status information so that the other port can read it first and take action.