Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale...

18
slide 1 Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers Digitale signaalverwerking en DSP processoren

Transcript of Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale...

Page 1: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 1Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Digitale signaalverwerkingen DSP processoren

Page 2: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 2Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen analoge signalen

komen voor in continue tijd zijn een vorm van golf amplitude is meestal ook continu

voorbeelden elektrische signalen (volt, stroom, elektrische en

magnetische velden) mechanische signalen (verplaatsingen, snelheden,

krachten) akoestische signalen (trillingen, geluidsgolven) signalen uit natuurkunde (temperatuur, concentratie,

druk)

Page 3: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 3Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen (vervolg) analoge signaalverwerking omvat

amplificatie, filtering, integratie, differentiatie, squaring, ... gebeurt door versterker, resistors, capaciteiten, inductors, enz

nadelen van analoge signaalverwerking beperkte nauwkeurigheid: toleranties van componenten, biases,

… beperkte herhaalbaarheid: variaties in omgeving, toleranties,

… gevoelig aan ruis beperkte dynamische range beperkte snelheid door fysische delays beperkte flexibiliteit voor veranderingen uitvoeren van niet-lineaire en tijdsvariërende operaties:

moeilijk hoge kost voor het opslaan van analoge informatie

Page 4: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 4Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen (vervolg) digitale signaalverwerking

signalen worden door getallen voorgesteld in een computer op deze signalen worden allerhande numerieke operaties

uitgevoerd 3 basisschema’s: zie volgende slide

Page 5: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 5Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen (vervolg)

sampling DSP reconstructieanaloog signal

digitaal signal

digitaal signal

analoog signal

voorbeeld: digitaal opnemen van muziek en afspelen

sampling DSPanaloog signal

digitaal signal

digitaal signal

voorbeeld: touch-tone telefoon geeft een sinusoidaal signaal (combinatie van rij en kolom van nummer), dat in de centrale omgezet wordt naar een getal

DSP reconstructiedigitaal signal

digitaal signal

analoog signal

voorbeeld: tekst uit tekstverwerker omzetten in spraak

Page 6: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 6Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen (vervolg) voordelen van digitale signaalverwerking

hoge nauwkeurigheid is mogelijk door grotere woordlengte

onbeperkte herhaalbaarheid ongevoelig (of toch bijna) aan ruis (bits kunnen vanzelf

wijzigen, maar mogelijke detectie en correctie door error codes)

onbeperkte dynamische range door lange woordlengte beperkte snelheid die echter continu verbetert software biedt grote flexibiliteit voor veranderingen niet-lineaire en tijdsvariërende operaties: eenvoudig lage kost voor het opslaan van digitale informatie digitale info kan geëncrypteerd en/of gecomprimeerd

worden

Page 7: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 7Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen (vervolg) nadelen van digitale signaalverwerking

sampling geeft altijd (klein) verlies aan informatie A/D en D/A convertoren kunnen duur zijn, hebben ruis software ontwikkeling is mooi maar kost ook snelheid is soms nog een limiterende factor

analoog versus digitale signaalverwerking digitaal heeft het duidelijk gewonnen analoge signaalverwerking wordt beperkt door

technologie digitale signaalverwerking wordt alleen beperkt door

onze verbeelding

Page 8: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 8Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

signalen (vervolg) toepassingsdomeinen van digitale signaalverwerking

medische toepassingen: patient monitoring, hartmetingen, enz. communicatie: encoderen en decoderen van communicatie

signalen, equalizing, filtering, … beeldverwerking: filtering, verbetering, compressie,

patroonherkenning instrumentatie multimedia: zenden v. geluid, beelden, digitale tv, video conf. muziek: opnemen, manipulatie zoals mixing, speciale effecten radar, sonar: filtering, doeldetectie, positie en snelheidsbepaling spraak: filtering, codering, compressie, herkenning, synthetiseren telefoontoep.: transmissie in digitale vorm, modems, gsms

Page 9: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 9Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

toepassingen belangrijkste commerciele toepassingen

GSM !!!!! modems spraak in embedded toestellen multimedia in embedded toestellen, o.a. spelletjes, CD

spelers, DVD spelers, …

Page 10: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 10Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

belangrijke operaties FIR filtering

(finite impulse response)

rij h bevat N+1 coëfficiënten; rij x bevat N+1 laatste samples

op tijdstip n berekenen we y[n] en doen we init resultaat y[n] op 0 en teller k op 0 herhaling van

– laad h[k] (k-de locatie van h) in CPU– laad x[n-k] (k-de locatie van x) in CPU– vermenigvuldig– laad y, tel het erbij, en berg weer weg; lus teller

ophogen shift alle elementen van x naar rechts lees 1 nieuwe sample in x[n+1]

N

k

knxkhny0

][][][

Page 11: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 11Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

FIR operatie versnellen berekening vraagt veel tijd op normale hardware versnellen door extra hardware

2 geheugenplaatsen die tegelijk toegankelijk zijn (voor h en x)

y bijhouden in accumulator accumulator met dubbele lengte, kan direct opgeteld

worden combinatie vermenigvuldiger, accumulator, adder =

MAC gebruik van hardware luscontrole gebruik van circulaire buffer voor x

Page 12: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 12Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

voorbeeld: Motorola DSP56301movep y:input, y:(r4)clr a x:(r0)+,x0 y:(r4)+,y0rep #Nmac x0,y0,a x:(r0)+,x0 y:(r4)+,y0macr x0,y0,a (r4)-movep a,y:output

programma-tje in assembler voor FIR berekening meerdere instructies op één lijn worden in

parallel uitgevoerd (VLIW) orde van filter is constante N X bevat de coëfficiënten h; Y bevat de samples x r0 en r4 worden telkens modulo verhoogd

Page 13: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 13Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

voorbeeld: Motorola DSP56301movep y:input, y:(r4)clr a x:(r0)+,x0 y:(r4)+,y0rep #Nmac x0,y0,a x:(r0)+,x0 y:(r4)+,y0macr x0,y0,a (r4)-movep a,y:output

lijn 1 leest één nieuwe sample in lijn 2 cleart accumulator a; tegelijk worden registers

x en y geladen: r0 en r4 worden modulo verhoogt lijn 3 zegt dat lijn 4 N maal uitgevoerd moet worden lijn 4 berekent product h[k]x[n-k] en telt het op bij

a; volgende coëfficiënt en sample geladen in r0 en y0

Page 14: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 14Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

voorbeeld: Motorola DSP56301movep y:input, y:(r4)clr a x:(r0)+,x0 y:(r4)+,y0rep #Nmac x0,y0,a x:(r0)+,x0 y:(r4)+,y0macr x0,y0,a (r4)-movep a,y:output

lijn 5 laatste vermenigvuldiging en optelling; r4 werd één maal teveel opgehoogd en wordt weer verlaagd

lijn 6 schrijft y[n] uit op bv A/D convertor op uitgang

Page 15: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 15Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

Instructieset voor multimediaverwerking

Page 16: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 16Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

algemeen toepasbare processoren evolutie van GPP (general purpose processors)

steeds complexer datapad steeds grotere woordbreedte

meer en meer GPP toepassingen: signaalverwerking deze toepassingen: performantie bottleneck

data voor media zoals geluid en beeld smalle data types: bytes en halve woorden menselijke zintuigen niet gebaad bij hogere precisie

GPP zijn niet geschikt onefficiënt gebruik van woordlengte bij mediaverwerking duurder en trager dan DSP’s (Digital Signal Processor)

of ASIC (Application Specific Integrated Circuit)

Page 17: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 17Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

multimedia-extensies toevoegingen aan GPP op 2 manieren

parallelle verwerking op smallere datatypes klassieke instructies met gewijzigde semantiek

SIMD (Single Instruction Multiple Data) data-elementen gegroepeerd in woord van standaard breedte sub-woorden van 8, 16 of 32-bits vaste-kommagetallen

(heet soms ingepakte woorden) controlegedeelte van de processor vraagt nauwelijks

aanpassing instructies

traditionele aritmetische en logische bewerkingen (zie verder) conversie tussen verschillende woordbreedtes ordenen van sub-woorden op verschillende manieren laden van sub-woorden

Page 18: Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale signaalverwerking en DSP processoren.

slide 18Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers

multimedia-extensies (vervolg) belangrijkste SIMD-instructies: optelling en

aftrekking vraagt weinig aanpassing overdrachtsbit op de sub-woordgrenzen moet

opgevangen worden gewijzigde semantiek

modulo-rekenen overloop negeren bv 0xFF + 0x02 = 0x101, te groot voor 1 byte, wordt

0x01 verzadigingsrekenen (saturation)

bij overloop grootsmogelijk resultaat bv 0xFF + 0x02 wordt 0xFF bv donkergrijs optellen bij een schaduw = pikzwart