Vill man ha riktigt snabb digital signalbehandling skall man inte välja en DSP-krets. En generell riscprocessor gör jobbet dubbelt så snabbt. En varning är dock på sin plats - riscprocessorn kan få problem att klara DSP-tillämpningens realtidskrav.
Digitala signalprocessorer i all ära. Men när det gäller digital signalbehandling är generella processorer ofta snabbast. Denna något kontroversiella uppfattning kommer från den ansedda marknadsanalysfirman BDT - Berkeley Design Technology - som i en rapport hävdar att vissa 32- bitarsprocessorer är mer än dubbelt så snabba som marknadens snabbaste dedicerade signalprocessorer. Åtminstone för vissa DSP-funktioner.
Standardprocessorernas höga klockfrekvenser tillsammans med parallella beräkningsenheter och så kallade SIMD-instruktioner (Single-Instruction, Multiple-Data) uppväger mer än väl att antalet klockcykler blir större jämfört med om en digital signalprocessor hade gjort jobbet. Och fördelarna är fler. De flesta konstruktioner innehåller ju redan en processor eller en mikrostyrkrets och genom att utnyttja denna även för digital signalbehandling sparar man såväl pengar som effektförbrukning och kretskortsyta. Dessutom behöver konstruktören bara brottas med en enda krets och en enda programmeringsmodell.
Men i praktiken är det oftast omöjligt att verkligen krama det yttersta ur processorn vilket BDT också poängterar. DSP-verktygen för generella processorer lämnar mycket övrigt att önska, och kretsarnas arkitekturer gör det vanskligt att skapa tillförlitlig realtidskod, något som dessvärre ofta är ett grundkrav vid DSP-tillämpningar.
Dessutom kan det vara svårt att förutsäga prestandan. Typfallet är när en instruktions timing är beroende av datat, den längsta möjliga väntetiden kan då bli många gånger längre än den typiska tiden och följden blir att man inte klarar sina realtidskrav.
DSP flyttar in i styrkretsarTrots svårigheterna ökar intresset för att använda vanliga processorer och styrkretsar för digital signalbehandling. Många processortillverkare har fått upp ögonen för den lukrativa DSP-marknaden och lägger numera till DSP-funktioner i sina generella processorer.
Ambitionsnivån varierar rejält. Längst ner på skalan finns processorer med enkla Macenheter, där Mac står för Multiply accumulate, som i Motorolas 68HC16 eller National Semiconductors HPC+.
I andra änden av skalan finns Hitachi och ARM - Advanced Risc Machines. Hitachi har helt sonika integrerat en hel DSP-kärna med sin populära styrkrets SH-2, resultatet blev hybridkretsen SH-DSP.
ARM låter en riscprocessorkärna dela kisel och buss med en DSP-hjälpprocessor med smeknamnet Piccolo.
DSP med rätt att styraMen DSP-leverantörerna möter knappast konkurrensen med armarna i kors. Förutom förbättrade arkitekturer och uppskruvade hastigheter har många DSP-kretsar numera funktioner som tidigare hört hemma i styrkretsar, som exempelvis DMA- enheter, olika gränssnitt och timrar. Här var Motorola tidigt ute med DSP568- familjen som bygger på en 16-bitars DSP-kärna.
Familjen marknadsförs som världens första DSP-krets med inbyggda styrfunktioner. Åtminstone för lågeffektstillämpningar.
Företaget har lagt mycket krut på att kunna erbjuda smidig och effektiv programmering. Instruktionsuppsättningen, som utökats med klassiska styrkretsinstruktioner, sägs ha anpassats för att vara lätta att programmera med traditionella assemblerspråk och dessutom ge effektiva resultat från kompilatorer för C såväl som C++.
Charlotta von Schultz
Mer information finns på www.bdti.com