Difference between DSP Processor and Microprocessor

A general purpose microprocessor is not tied to or integrated with a particular language or piece of software. These types of microprocessors are present in personal computers. They are used for computation, text editing, multimedia display, and communication over a network. The DSP processor is a particular type of processor is a specialized microprocessor that has an architecture optimized for the operational needs of digital signal processing. 

The main difference between is that a DSP processor has features designed to support high performance, repetitive, numerically intensive tasks. DSP processors are designed specifically to perform a large number of complex arithmetic calculations as quickly as possible. As compared to general processors, DSP processor is more efficient at performing basic arithmetic operations, especially multiplications. 

Some more important difference between them are listed below : 

DSP processor :
  • Instruction cycle - Instruction is executed in a single cycle of the clock.
  • Instruction execution - parallel execution is possible.
  • Suitable for - Array processing operation.
  • Addressing mode - Direct and indirect addressing mode.
  • Computational units - Three separate computational units: ALU, MAC, Sifter.
  • Address generation - Address is generated combine by DAGs and program sequencer. 
  • Program flow control - Program sequencer and instruction register take care of the flow of a program. 
  • Memories - Separate data and program memories.
  • Operand fetch and memory - Multiple operands are fetched simultaneously.
  • On-chip address and data buses - Separate address and data buses for program and data memory i.e DMA, DMD, PMD, PMA, and R bus.
  • Pipelining - Pipelining is implicating through the instruction register and instruction cache. 
  • Address and data bus multiplexing - They are not multiplexed both are separated on-chip as well as off-chip. 
  • Application - Speech processing, audio processing, signal processing, and array processing etc.
Microprocessor :
  • Instruction cycle - Multiple clock cycle is required for the execution of one instruction.
  • Instruction execution - Execution instruction is always sequential.
  • Suitable for - General purpose processing.
  • Addressing mode - Direct, indirect register, register indirect, immediate etc.
  • Computational units - Only main unit: ALU.
  • Address generation - Program counter is incremented sequentially to generate an address.
  • Program flow control - Program counter takes care of the flow of execution.
  • Memories - Normally no such separate memories are present.
  • Operand fetch and memory - Operand are fetched sequentially.
  • On-chip address and data buses - Address and data bus are the two bus on the chip.
  • Pipelining - Queuing performs explicate by one queue register to support pipelining. 
  • Address and data bus multiplexing - Address and data bus are multiplexed. 
  • Application - General purpose applications.