Electronic – What can the dsPIC do which the humble PIC microcontroller cannot do

dsppic

I have not used a DSP chip as of yet. All I know is that their architecture is such that they can carry out calculations quite fast, usually within a clock cycle, they have multiply-accumulate instructions in their instruction set and they have DMAs so the CPU does not have to waste precious time moving data around. I think there is more to it, but these are a few basic points.

I can see that Microchip has dsPIC which is their DSP chip line. Can't we just use a PIC18 or PIC32 which also has built in multipliers to do DSP as well? How is the dsPIC different from the normal PIC?

My main question is this, Why do we need to have something seperate and distinct called DSP chip and not integrate high precision floating point unit calculation capability on all the microcontrollers? Surely with the process technologies we have now, this should not take a lot of space.

Also, how do I know that I need to use a DSP chip in my project rather than a normal microcontroller>

Best Answer

Generally "DSP..." means 'more relevant horsepower and/or more relevant hardware at the time the product was introduced.'
Generalised processors tend to catch up with olde specialist devices.
DSPIC is p[robably 10+ years old - Olin will know.

[Items in brackets relate to some DSPIC examples - not exhaustive].

In DSP products expect some mix of:
Expect things like barrel shifters,
wide fast pipelines and fast single cycle execution times,
wide single cycle instructions,
DMA [6 or 8 channels, dual port RAM buffers] large linear memory addressing ranges [4 Mword program, 64 kB data] specialist arithmetic oriented features
Maybe:
specialist peripherals such as motor control,
hardware for several different coms standards [CAN, IIC, UART, IIS, AC97, ...] deeper than usual coms buffers [4 bytes] faster and/or wider than usual ADCs [2 Msps, 10 or 12 bit]

You'll find most of these in the DSPIC family - and increasingly so in gp processor families.
In extreme cases you get user microcoding and more.