Resource conflicts occur when multiple instructions require the same hardware resource simultaneously.
This conflict can happen if instructions need to use the ALU, memory, or another hardware component at the same time. Note that a hardware component can be used only for 1 task at a time.
Resource conflicts can cause delays or incorrect calculations if instructions are not managed properly.
One solution is to introduce additional hardware units, allowing more instructions to be processed without conflict.
Another approach is resource scheduling, which organizes instruction timing to avoid simultaneous demands on the same resource. An example would be to allow a reading into main memory while pausing a writing operation into main memory.
We have yet another solution: design the RAM device to feature two cables: one for reading data from RAM (= data is copied from RAM to the CPU) and another one for writing data to RAM (= data is copied from the CPU to RAM.)