Digital Signal Processors are micro-processing controllers with practical applications in everyday life. They process audio, voice, video, temperature and other digitized signals in order to translate the data they carry. The processing involves rapid and often complicated mathematical calculations specific to their programming.

DSP Architecture

The DSP contains several key components. These include:

-Memory that contains programming for processing instructions

-Memory that stores the data for processing

-The compute engine for mathematical calculations based on input from data and program memory

-The input and output allowing the DSP to connect to various external ports

Digital Signal Processors (DSP’s) perform a specific function within a pre-programmed architecture. The architecture tells the DSP what to do and how to do it.

Features of DSP Architecture

The DSP instructions will include any number of the following:

-Harvard Architecture designed to house separate data and program memory

-Concurrent access for multiple instruction cycles on multiple data busses

-Function specific mathematical operations. Multiply-accumulate performance is a good example of this

-Single instruction data sets

-Lack of support for virtual memory due to the absence of memory managing units. Instead, DSP’s rely on an OS that can handle multiple tasks simultaneously

-Memory architecture is typically Harvard, Super Harvard or von Neumann

Types of Program Sets

The DSP uses program sets to search and retrieve data. Common types include:

-Flow-based

-Pipeline

-Multiply-accumulate units

-Floating point

Flow-based programming is a type of programming that relies on a network of information packets, or IP’s, to exchange data. This method allows for faster processing and is an improvement over single, in-line processing that must finish one action before initiating another.

Pipeline programming refers to channeling similar data elements in a series. One output set becomes the input of the next. DSP pipelines are there to carry instructions that allow them to carry out multiple functions simultaneously.

A multiply-accumulate operation, or MAC, is a common program set in digital signal processing. It is used for performing arithmetic for combining products and adding them to an accumulator. Using this is conjunction with floating point or fused multiply-add arithmetic, (which is basically floating point with a rounder) A MAC unit will improve computational speed and accuracy.

Floating point computing is a way of representing significant numbers by approximation. This method allows computing of a wide range of values without having to express them with all the numerals. This is similar to using exponents to express a greater numeral.

Common Uses

Digital Signal Processors store data in real time, which is important for technology that doesn’t tolerate delays. Common usage includes:

-Digital image processing

-Cell phone speech transmission

-Medical imaging technology

-MP3 Compression

-Processing seismic data

Of course, these are only a handful of the technology where Digital Signal Processors can be found. One certain truth is this: Without this technology, our world would be a much slower, less-informed place.

From prototype to production, MJS Designs delivers advanced electronic manufacturing solutions with the quality and speed required for today’s demanding applications, timelines and budgets. Learn more at www.mjsdesigns.com