MDSP
Encyclopedia
MDSP is a multiprocessor DSP
Digital signal processor
A digital signal processor is a specialized microprocessor with an architecture optimized for the fast operational needs of digital signal processing.-Typical characteristics:...

 family from Cradle Technologies. Currently used mostly in streaming video processing in broadcast (internet and terrestrial) and video surveillance security markets. Cradle claims the MDSP is the most powerful DSP currently available.

It is a loosely coupled multiprocessor DSP chip that employs a compute and IO
IO
Io, IO, I/O, i/o, or i.o. may refer to:-An abbreviation:* I.O., a theater in Chicago, Illinois dedicated to improvisational comedy* i.o., "in illo ordine", Latin phrase meaning "respectively"...

 sub systems with programmable (software defined) IO, consisting of general purpose and signal processing cores. The general purpose cores are used for control and IO processing and the DSP cores for fixed or floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...

 computation.
MDSP is similar in architecture to the Cell (microprocessor)
Cell (microprocessor)
Cell is a microprocessor architecture jointly developed by Sony, Sony Computer Entertainment, Toshiba, and IBM, an alliance known as "STI". The architectural design and first implementation were carried out at the STI Design Center in Austin, Texas over a four-year period beginning March 2001 on a...

 processor from STI (Sony , Toshiba and IBM)
except it has multiple processing elements instead of just one like Cell.
Cell's PE is powerpc based where as MDSP is not.
The PE (processing element) or GPP (General purpose processor
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

) units are a 32 bit general purpose risc like cores coupled with signal processing units (DSP or DSE) via a databus.

Development tools

The initial software development kit
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

 (sdk4) was based on cygwin
Cygwin
Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment...

 1.3.x and Cradles umgcc (GCC
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

 port).
Sdk5 is based on cygwin 1.5.x and cragcc (gcc port).

The chips are programmed in a mix of C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and clasm - C like assembly
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

. The PEs can be programmed in C, the DSEs and MTEs are programmed in clasm. The programmer has to manage resource allocation using semaphore
Semaphore (programming)
In computer science, a semaphore is a variable or abstract data type that provides a simple but useful abstraction for controlling access by multiple processes to a common resource in a parallel programming environment....

s, paying special attention to keeping all DSP units feed with instructions.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK