Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale...
-
Upload
tobias-peeters -
Category
Documents
-
view
212 -
download
0
Transcript of Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Digitale...
slide 1Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Digitale signaalverwerkingen 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)
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
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
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
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
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
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
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, …
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
][][][
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
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
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
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
slide 15Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Instructieset voor multimediaverwerking
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)
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
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