Iedereen kent de Pentium- en Risc-processoren. Digital signal processors (dsp’s) lijken veel op Pentiums maar worden in nog grotere aantallen gemaakt. Ze vinden ondermeer toepassing bij het verwerken van beeld, spraak en video. Wat is het verhaal achter hun succes? Computable sprak met twee medewerkers van bedrijven die dsp’s ontwikkelen en verkopen: Texas Instruments (TI) en Lucent Technologies.
Digital signal processors (dsp’s) kennen een lange geschiedenis, vertelt Jean-Marc Darchy. Hij draagt de lange titel ‘European dsp marketing and applications manager’ en werkt bij Texas Instruments. "TI begon al in 1982 met het aanbieden van dsp’s op commerciële basis. Vorig jaar vierden we de vijftiende verjaardag! Gedurende de jaren tachtig werden dsp’s vooral gebruikt in laboratorium-instrumenten. De eerste versies waren nogal eenvoudig, ze konden alleen maar optellen. De functie vermenigvuldigen werd later toegevoegd om meer complexe wiskundige berekeningen te kunnen uitvoeren. De fabricage-technologie voor dsp’s heeft die voor microprocessoren vrijwel op de voet gevolgd. Door de miniaturisering waren er steeds meer transistoren op de dsp-chips te plaatsen. Voor de wat eenvoudiger dsp’s betekende deze ontwikkeling dat er meer dsp’s op een wafer pasten."
Dsp’s zijn eenvoudiger dan de mpu’s (‘microprocessor units’).
Kennen ze nu wel drijvende-komma (floating point) bewerkingen? Darchy: "De eerste dsp’s waren zeker veel eenvoudiger dan de microprocessoren destijds, en in het algemeen is dat zeker nog zo. Maar de variëteit van dsp’s is groot. We verkopen eenvoudige dsp’s voor circa 4 dollar, en uitgebreide dsp’s, die te vergelijken zijn met Pentiums, voor 200 à 300 dollar. De meer complexe dsp’s hebben drijvende-kommafunctionaliteit en worden gebruikt voor beeldverwerking en video-toepassingen. Ook bij dsp’s bestaat de trend van een vraag naar meer mogelijkheden op het gebied van wiskundige bewerkingen."
In wat voor toepassingen hebben ontwikkelaars drijvende-kommabewerkingen nodig?
"In het algemeen bij signaalverwerking; zowel bij spraak, beeldverwerking en video. De oorspronkelijke vraag ontstond in radarapparatuur voor defensie. Als je nu in de radarapparatuur van een vliegtuig kijkt, zie je grote aantallen dsp’s. Eenvoudiger dsp’s worden verder gebruikt voor de besturing en de controle van veel onderdelen van een vliegtuig; daarvoor zijn drijvende-kommabewerkingen niet nodig. Ze zijn ook nodig voor medische beeldbewerkingen en grafische versnellers in PC’s", aldus Darchy.
De markt voor dsp’s
De markt voor dsp’s is goed vergelijkbaar met die voor microprocessoren, zo vertelt Darchy. "Hij loopt alleen wat achter, maar dat zijn we snel aan het inhalen. De eerste geïntegreerde microprocessor kwam in 1971 op de markt. Het heeft zestien jaar geduurd voordat de omzet groeide naar 1 miljard dollar, en nog eens drie jaar voor een omzet van 2 miljard.
Voor dsp’s begon de groei in 1982; in twaalf jaar tijd werd al de mijlpaal van 1 miljard dollar bereikt, en twee jaar later, in 1996, die van 2 miljard. De groei is niet alleen afhankelijk van de PC-markt. Dsp’s worden tegenwoordig overal gebruikt, en wij verwachten daarom dat de markt in allerlei sectoren snel zal groeien, sneller dan de totale halfgeleidermarkt. De totale dsp-markt groeide meer dan 40 procent per jaar, tot bijna 3 miljard dollar in 1997. Deze groei zal de komende tien jaar volgens Forward Concepts doorzetten naar 35 miljard dollar (inclusief de conversieschakelingen 50 miljard)", aldus Darchy.
Hoe kan de dsp-markt worden onderverdeeld?
"Draadloze radio en mobiele telefonie vormen een grote markt op dit moment. Een minimaal vermogen is hierbij een eerste vereiste. Modems vormen het tweede marktsegment; iedere modem gebruikt tegenwoordig een dsp. Een derde marktsegment vormt de besturing van harde schijven, zeker als die groter dan 3 GB zijn. De nieuwste markt is die voor video en breedband, bijvoorbeeld in een set-top box voor kabeltelevisie in combinatie met een snelle verbinding of telefonie. Maar ook de vraag naar dsp’s voor het versnellen van de telefoonaansluiting, een van de vormen van dsl (digital subscriber line), groeit snel. Er zijn andere groeimarkten, zoals die voor glasvezel-aansluitingen. We moeten echter niet vergeten dat de oudere markten nog steeds groeien, bijvoorbeeld die voor de besturing van automotoren, voor ingebouwde processoren in elektrische apparaten en voor audio-apparatuur. Nu de vraag naar extra functies in allerlei elektronica stijgt, worden dsp’s steeds vaker als ingebouwde processor (‘embedded processor’) ingezet ter vervanging van conventionele elektronische schakelingen."
Omdat de wereld analoog is, is conversie van analoge ingangssignalen nodig voordat een dsp ze kan verwerken. Na verwerking is de omgekeerde conversie noodzakelijk. De conversieschakelingen worden soms op de chip meegebakken (msp, mixed signal processor). Bij gebruik van geheel digitale dsp’s (core-based dsp) worden ze apart gemonteerd.
Verschillen met microprocessoren
Dsp’s verschillen dus in sommige opzichten van de in PC’s gebruikelijke microprocessoren.
Hoe worden ze geprogrammeerd? Welke talen en hulpmiddelen worden daarvoor gebruikt?
Darchy: "Het zijn vrijwel dezelfde als die voor microprocessoren. Soms Assembler, meestal C of C++, soms zelfs Ada. Onze klanten zijn begonnen met het poorten van Java naar dsp’s. Ook de hulpmiddelen zijn zeer vergelijkbaar met die voor microprocessoren. Wij stellen enkele bibliotheken met speciale routines beschikbaar, maar de meeste gebruikers hebben in de loop van vele jaren eigen bibliotheken voor hun specifieke toepassingen ontwikkeld. Volgens ons recente onderzoek ontwikkelen op dit moment over de hele wereld zo’n 30.000 programmeurs toepassingen voor onze dsp’s. Het is duidelijk dat in de meeste universiteiten en hogescholen het programmeren van dsp’s het ontwerpen van elektronische schakelingen, zoals dat tien tot twintig jaar geleden werd onderwezen, heeft vervangen."
Blijkbaar worden dsp’s op dezelfde manier als microprocessoren gefabriceerd. Hun functies en programmering lijken vergelijkbaar. Waarom wordt er zo’n onderscheid gemaakt tussen dsp’s en microprocessoren?
Darchy: "Zoals de naam zegt, verwerkt een dsp signalen; dit is een real-time proces omdat zelfs minimale vertragingen niet getolereerd kunnen worden. Dsp-programma’s zijn nogal klein, nooit groter dan een paar honderd Kbyte, en hun taak is beperkt. Het geheugen wordt vooral gebruikt om de signalen op te slaan zodat de verwerking snel kan plaatsvinden. Microprocessoren daarentegen kunnen meestal niet real-time werken, zeker niet als hun programma’s vele Mbytes groot zijn. Disk swapping wordt veelvuldig gebruikt. Vertragingen zijn niet plezierig als een fraai 3D-plaatje tevoorschijn wordt getoverd, maar dat is niet desastreus. Zo zijn er voldoende verschillen om een strikt onderscheid tussen de twee te maken. Verder bestaat er een zeer grote verscheidenheid aan typen dsp’s. Vorig jaar introduceerden wij drie nieuwe dsp-families. Bij microprocessoren is één familie per drie jaar gangbaar."
Mobiele communicatie
Greg Ellard is manager Wireless Applications bij Lucent Technologies, een andere producent van dsp’s. Ook hij gaat in op de verschillen tussen een dsp en de gangbare microprocessoren.
"Zij lijken nogal op elkaar. De verschillen worden vooral veroorzaakt door de (andere) toepassingen waarvoor ze gebruikt worden. Microprocessoren zijn geoptimaliseerd voor het verwerken van gecompileerde programma’s voor het besturen van PC-apparaten zoals het beeldscherm of communicatiepoorten. Onze dsp’s zijn geoptimaliseerd voor het uitvoeren van wiskundige berekeningen in kleine maar vaak herhaalde lussen, het soort bewerking dat vele malen moet worden uitgevoerd bij signaalverwerking. Dsp’s zijn ontworpen om bepaalde wiskundige functies efficiënt als kernels uit te voeren, bijvoorbeeld ten behoeve van spraakcompressie. De Pentium bezit een geïntegreerde co-processor voor drijvende-kommabewerkingen, die nodig zijn voor het verkleinen of vergroten van beelden en fonts. Alle dsp’s voor mobiel gebruik echter, werken met een vaste-komma (‘fixed point’)."
Vrijwel alle mobiele of draadloze digitale communicatie werkt met analoge input en output.
Worden de analoog-naar-digitaal (A/D) en digitaal-naar-analoog (A/D) conversieschakelingen op de chip geïntegreerd?
Ellard: "Ja en nee. Wij maken twee verschillende soorten dsp’s voor digitale radiocommunicatie, één voor de infrastructuur (‘base station’) en één voor de mobiele terminal. Voor de terminals wordt de A/D-conversie op de dsp-chip geïntegreerd. In de basisstations zijn zij meestal apart, omdat de dsp’s voldoende geheugen moeten hebben om een aantal links tegelijk te kunnen verwerken. Bovendien moeten zij ook de verbinding verzorgen met de 2 Mbps E1-lijnen die de basisstations verbinden. Er is nog een ander groot verschil tussen dsp’s en microprocessoren: in onze dsp’s wordt 80 procent van de oppervlakte gebruikt voor geheugen. Extern geheugen zou veel te langzaam zijn voor inline verwerking. Spraak moet isosynchroon verwerkt worden. Doordat al het geheugen op de chip zit, omzeilen we vertragingen vanwege de pinnen en de externe verbindingen en kunnen we werken met toegangstijden van twee tot drie nanoseconde. In de microprocessor van een PC worden meestal alleen een of twee kleine caches geplaatst."
Hoe verhouden Pentium- en dsp-chips zich in termen van aantallen transistoren?
Ellard: "Ook hier lijken ze op elkaar. Onze dsp 16000 voor terminals en dsp 16210 voor basisstations hebben beide 6,2 miljoen transistoren – dat is dus vrijwel hetzelfde als bij een Pentium. Zoals gezegd wordt het merendeel van deze transistoren gebruikt voor het geheugen. Dat brengt me tot het derde grote verschil tussen een Pentium en een dsp. De Pentium verbruikt circa 25 Watt, onze mobiele dsp rond de 0,25 Watt, honderd keer minder! Niemand zal natuurlijk een Pentium in een mobiele telefoon stoppen, want de accu zou binnen enkele minuten leeg zijn. En wellicht zou je oor verbranden… Ondanks het feit dat hun verwerkingscapaciteit zeer vergelijkbaar is, wordt het veel lagere verbruik gerealiseerd door niet-gebruikte circuits uit te schakelen en klokpulsen alleen te gebruiken waar dat strikt nodig is. Verder wordt veel met Rom- en flash-geheugen gewerkt. Omdat de inhoud van het Ram-geheugen niet vaak verandert, kunnen we ook daar energie sparen."
Processor-snelheden liggen rond de 100 mips bij 3 Volt; ook bij dsp’s bestaat echter een trend naar lagere spanningen. Het geheugen werkt met een dubbele 32-bit toegang per cyclus, maar sommige instructies werken met 16 bits om de programma’s zo klein mogelijk te houden.
Toepassingen
Voor welke specifieke functies in digitale draadloze communicaties worden de dsp’s gebruikt?
Ellard: "De drie belangrijkste gebieden zijn spraakcompressie, foutencorrectie en vereffening (‘equalizer’). Spraakcompressie in gsm gebruikt een model van tien resonatoren, die overeenkomen met verschillende onderdelen van het menselijke stemkanaal. Iedere 20 msec wordt berekend welke resonatoren gebruikt worden en hoe sterk die aangesproken zijn. Een resonator is te vergelijken met een klok die op verschillende manieren kan worden aangeslagen. De compressie-algoritme die men gebruikt, werkt met een lineair voorspellinsgsmodel en wiskundige berekeningen; dat verschilt van de gebruikelijke bitcompressie. Hierdoor is de originele 64 kbit/s gedigitaliseerde spraak te comprimeren tot 9,6 kbit/s." Echo-onderdrukking, het verwijderen van de echo die optreedt doordat de spraak weerkaatst wordt aan de andere kant van de verbinding, is een onderdeel van de bewerkingen die aan compressie voorafgaan."
"De dsp wordt verder gebruikt voor foutencorrectie en vereffening. De digitale draadloze verbinding werkt met pakketten. Bij verzending moet de dsp die pakketten samenstellen, redundante bits toevoegen en ervoor zorgen dat ze goed overkomen. Bij ontvangst van de pakketten moet redundante informatie verwijderd worden en moeten zo nodig de transmissiefouten worden hersteld. De vereffening reduceert de interferentie die optreedt als gevolg van gereflecteerde signalen; doordat de reflectiepaden langer zijn dan de directe weg, ‘vervagen’ de bits in het signaal. Er zijn wiskundige berekeningen ontwikkeld om dit effect zoveel mogelijk te neutraliseren."
Fabrieken
Iedereen weet dat de transistor ooit is uitgevonden bij Bell Labs, maar weinigen weten dat Lucent een van de grote producenten van dsp’s is.
Over welke productiefaciliteiten beschikt Lucent?
Ellard: "We hebben fabrieken in Orlando (Florida), Madrid en Allentown (Pennsylvania). Bij Bell Labs wordt nog steeds veel onderzoek gedaan naar de lithografie voor het fabriceren van halfgeleiders. Wij houden onze fabrieken courant door middel van partner-overeenkomsten met NEC Semiconductor. Alle nieuwe ontwerpen van de afgelopen zes maanden gebruiken 25 micron-technologie; de nieuwste chips werken met vliw- (‘very long instruction words’) instructies, net als de nieuwste Pentiums. Omdat wij niet op de open markt verkopen, maar alleen aan leveranciers van communicatie-apparatuur, kennen weinigen onze naam. Sommige mensen beschuldigen ons zelfs van heimelijke verkoop, maar dat is natuurlijk onzin. We timmeren alleen niet aan de weg.
Hein van Steenis, freelance medewerker Computable