Microprocessor is a basic block of automation. It has basic facilities which helps automation. Processor doesn't come with any peripherals. Needed peripherals are needed to be interfaced with the processor before using it for any application.
Microcontroller is a type of a small embedded system with a microprocessor and other peripherals already interfaced with the processor.
DSP is the processing of digital signals using specific methods. These methods can also be implemented using software like MATLAB etc.. DSP processors are also available..
Actually controller or processor deals with specific coding for some specific automation work..
Whereas DSP deals with the analysis of signals and these signals are processed.
Processed in the sense that we can make a few modifications in the signal, get a delayed sequence or compare with other sequences.
DSP is totally a different line from controller. We can use controller to implement the DSP and its various functions
they are essentially the same. Instruction set and microarchitecture for microprocessors are more generic and those for DSP are more optimized for signal processing. Just like a passenger car and a truck. They all have 4 wheels, an engine, a transmission, but optimized for their own purpose.