Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

what is the difference between DSP and CPU?

Status
Not open for further replies.

liletian

Full Member level 6
Full Member level 6
Joined
Mar 5, 2008
Messages
337
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
3,790
my understanding is that DSP can have special hardware such as decoder, fft etc to speep up and make the calculation more efficient. It is one of the core advantages of the hardware, right?

As long as there have a big market, DSP will perform better than CPU. For example, in the mobile communication chip.

Can anyone mention some other hardware advantages over software such as in the application (image recognization)?
 

DSP chips have very long ALUs that will prevent truncation or overflow even with extremely large or small coefficients.
The reduced instruction set is specifically optimized for MACS.
Hardware accelerators for certain often utilized functions, like FFTs
Many proven and debugged software libraries to perform common tasks like MPEG compression.

Overall, lowest system cost per FLOPS.
 
MAC and FMAC instructions are peculiar to DSPs. A DSP has a very high Integer/Floating-Point calculation throughput compared to a normal CPU, so DSP is basically processor specializing at doing calculations on Integers, floats, doubles and vectors of these types i.e. it can perform add/multiply or MAC on say 4-floats or integers at the same time which theoretically quadruples your calculation speed while it does all these still using lower power than a CPU for such performance.

Like schmitt trigger said, very wide ALUs that support saturation, overflow, barrel shifting, etc...

Calculations -> DSP
Logical tasks -> CPU

Though there might be some exceptions...
 
DSP stands for digital signal processing and it is designed to handle digitized analog signal very fast.
Thus the architecture of a DSP is tuned for single cycle instruction and hardware multiplier on chip to do fast calculation, such as ADD, SUB, MULPY or DIV, to execute complex arithmetic function, like FFT or filtering. When the first DSPs came to the market they were more than 10x faster than Microcontroller(designed more for data handling and without MULP/DIV) and used for modem functions or speech recognition.
These days the technology allows the integration of so many function that DSP functionality is often also found in modern Microcontrollers or vice versa, depending on the target market it is designed for(e.g. smart phones).

Enjoy your design work!
 
Whenever you need to process signals, be it audio/image/video or other signals in real-time you need a DSP for that, especially if you're doing on an OS hosted platform where you can use DSP like a peripheral device. BeagleBoard xM is one example where it has a C6700 (I guess?) DSP as a co-processor along with the ARM9 core. Another one is the Snapdragon processors manufactured by Qualcomm, they have QDSP6 V5 as a co-processor hardware that does all tasks like audio processing, streaming, image processing like face recognition pattern recognition, eye/head tracking, etc...

Also, there are specialized FPGA chips meant for specifically implementing DSP flavored algorithms. DSP are used in Base Transreciever Stations (BTS) of GSM, they are used in smartphones for face/smile/gesture recognition, eye/head/gaze tracking and in Industries for controlling large machines, in automobiles for control systems of body/steering.

Now you get an idea of the spectrum where a DSP can prove to be useful
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top