MDSP is a multiprocessor DSP family from Cradle Technologies. It is used mostly in streaming video processing in broadcast (internet and terrestrial) and video surveillance security markets.
It is an architecture that employs compute and input/output (IO) subsystems with programmable IO, consisting of general purpose and signal processing cores. The general purpose cores are used for control and IO processing, and the DSP cores are for fixed or floating-point computation.
MDSP is similar in architecture to the Cell processor, except it has multiple processing elements. The processing element, or GPP (general purpose processor) units, are 32-bit general-purpose RISC-like cores with signal processing units (DSP or DSE) via a databus.
The initial software development kit (sdk4) was based on Cygwin 1.3.x and Cradles umgcc (GCC port). Sdk5 is based on Cygwin 1.5.x and cragcc (GCC port).
The chips are programmed in a mix of C and CLASM (C-like assembly). The PEs can be programmed in C; the DSEs and MTEs are programmed in CLASM. The programmer can manage resource allocation using semaphores.