Digitalni signal procesori Milan Mijalkovi milan mijalkovicviser edu
- Slides: 85
Digitalni signal -procesori Milan Mijalković milan. mijalkovic@viser. edu. rs 2018/19.
Šta je obrada signala? Signal - ulaz Obrada (Analogni ili digitalni) Signal - izlaz (Analogni ili digitalni) Operacija, transformacija n Primeri signala: Ø Analogni: Govor, muzika, fotografija, video, radar, sonar, … Ø Diskretni/digitalni: § Digitalizovan govor, muzika, digitalizovan radarski signal, signal sonara, digitalna fotografija. . . § Podaci sa berze, podaci o dnevnim temperaturama. . . 2
Šta je digitalna obrada signala? Digitalni signal - ulaz Digitalna obrada Digitalni signal - izlaz Operacija ili transformacija nad digitalnim signalom (pomoću računara ili specijalizovanog hardvera) n Šta sa analognim signalima? Analogni signal – ulaz AD konverzija Digitalna obrada DA konverzija Analogni signal – izlaz 3
Primer obrade signala Analogni računar Digitalni računar Tiše, molim Čemu taj prelaz na digitalni ? ? 4
Tipični scenario Korak 1: Analogni senzor pretvara signal zvuka u električni Korak 2: Analogno – digitalna konverzija Korak 3: DSP obrađuje digitalni dignal (recimo, kompresija, potiskivanje šuma. . . ) Korak 4: Digitalno-analogna konverzija 5
Šta je DOS u realnom vremenu? Digitalni signal - ulaz Digitalna obrada Digitalni signal - izlaz Vremenski ograničena operacija ili transformacija nad digitalnim signalom (svaka mora da se završi pre nailaska sledećeg podatka) n Primer: Ø Procesor takta 120 MHz koji ostvaruje 120 MIPS § Odmeravanje 8 KHz (Ts =125 s) - govor, telefonija: broj instrukcija između odmeraka 15000. § Odmeravanje 48 KHz (Ts =21 s) - muzika CD kvaliteta: broj instrukcija između odmeraka 2500. § Odmeravanje 75 MHz (CIF 360 x 288 video sa 30 sl/s) broj instrukcija između odmeraka 1, 6. 6
DOS u realnom vremenu Trajanje obrade n n Slobodno vreme Perioda odmeravanja n+1 Ograničenje: Ø Primenljivo samo ako između odmeraka imamo dovoljno vremena da završimo obradu tekućeg odmerka. n Šta treba uraditi: Ø Izraditi kôd koji obavlja željenu funkciju. Ø Kôd mora da bude dovoljno brz da se obrada tekućeg podatka završi u realnom vremenu (pre dolaska sledećeg) 7
Čemu taj prelaz na DOS? n n Mogućnost realizacije mnooogooo složenijih algoritama nego u analognoj tehnici. Fleksibilnost Ø Skoro isti hardver za potpuno različite primene. Ø Jednostavne promene i proširenja. n Ponovljivost Ø Identično ponašanje svakog primerka. Ø Bez promena sa temperaturom i starenjem. n Manja osetljivost na šum i smetnje. 8
DOS - Primene n Obrada govora Ø Kompresija Ø Prepoznavanje govornika Ø Sinteza Ø Potiskivanje odjeka, poboljšanje govora n Obrada audio signala Ø Kompresija Ø Dodavanje efekata Ø 3 -D reprodukcija 9
DOS - Primene n Obrada slika Ø Kompresija Ø Prepoznavanje uzorka Ø Smanjenje šuma Ø Izoštravanje Ø Kompenzacije deformiteta Ø Poboljšanje kvaliteta (kontrast, zasićenje boja. . ) n Video obrada, kompresija, montaža. . . 10
DOS – Primene: komunikacije n Modemske komunikacije Ø Korelacija (matched filters) Ø Potiskivanje odjeka Ø Ekvilajzeri n Mobilna telefonija Ø Kompresija govora Ø Kontrola RF dela Ø Upravljanje saobraćajem n Softverski radio 11
DOS – Primene: upravljanje n Upravljanje motorima Ø Kontrola momenta i brzine obrtanja Ø Umrežavanje Ø Oprimizacija rada Ø Aktivno filtriranje smetnji n Upravljanje elektro-mrežom Ø Kontrola toka snaga Ø Komunikacije po mreži (PLC) Ø HVDC prenos n Kontrola na automobilima 12
DSP Primena : mobilni telefon Blokove kontroliše i modul za kontrolu potrošnje RF prijemnik Mikrokontroler Periferije telefona čip RF DSP kodek čip Govorni kodek - Prepoznavanje govora Ekvilizacija Potiskivanje šuma Poboljšanje slika - Poslovi oko frekv. skakanja (dekodovanje, sinhronizacija. . . 14
DSP Primena : mobilni telefon 15
DSP Primena : Vo. IP Periferije Mikro DSP procesor čip Memorija Govorni (čip ili kartica) kodek Audio kodeci -MP 3 -AC 3 -AAC 16
DSP Primena : Vo. IP Sa http: //focus. ti. com/vf/docs/blockdiagram. tsp? block. Diagram. Id=6022&app. Id=231 17
DSP Primena : Dig. kamera Audio obrada Kompresija audio sig Kompresija slike Poboljšanje slike Sa http: //focus. ti. com/vf/docs/blockdiagram. tsp? block. Diagram. Id=6046&app. Id=267 18
DSP Market – zarade Redosled: • Texas Instruments • Freescale Semiconductor • Analog Devices • Philips Semiconductors • Agere Systems • Toshiba • DSP Group • NEC Electronics U laboratoriji imamo TI razvojne sisteme Ref: Reed Business Information http: //www. reed-electronics. com/moversandshakers/article/CA 6277494. html 19
DSP Market – zarade stanje 2017. http: //www. marketsandmarkets. com/Market-Reports/digital-signal-processors-market-794. html 20
DSP Market - kompanije Total Market = $7, 133 Million Total Market = $5, 641 Million Ref: Forward Concepts http: //www. fwdconcepts. com/Pages/press 42. htm 21
Prodaja DSP (podaci iz 2009. ) Ref: Forward Concepts http: //www. fwdconcepts. com/Pages/press 42. htm 22
DSP Market – po primeni (iz 2006. ) Procenat primena u telekomunikacijama: Sa 68. 3% u 2003. na skoro 82% u 2005. Očekivanja: 1) DSP market će rasti po stopi od 9% u 2006. 2) I nastavkom rasta od 18% u 2007. 3) I čak 27% 2008 Ostvareni rast *: 2006. – 10% 2007. – 16% 2008. – 23% 2009. – 19% Ref: IC Insights http: //www. icinsights. com/news/releases/press 20051123. html * http: //www. marketsandmarkets. com/Market-Reports/digital-signal-processors-market-794. html 23
Potrebe za procesorskom snagom Ultra mala potrošnja P e rf o r m a n s e Mnogo bolje performanse P o tr o š n j a Još niža cena 2009. Značajno poboljšanje performansi Mala potrošnja Prosečne performanse Ref: http: //www. xilinx. com Niska cena 1999. ZAOKRET U KONCEPCIJI DSP Vreme 24
Prenosni uređaji n Obrada signala, naročito slika, u prenosnim uređajima zahteva veliku procesorsku snagu Ø Bežične komunikacije (3 G, 4 G): mnogo složeniji signali i kompleksnija kontrola RF dela. Ø Video obrada (DTV, HDTV, Camkoderi, 3 DTV): kompresija, dekompresija, poboljšanje slike, montaža. . . Ø Obrada slike: fotoaparati, generisanje slika, 3 D efekti n n Zahtevi: Stotine, pa i hiljade GOP/s Mala potrošnja: Stotine MOPS/m. W Ograničena cena: Desetine GOPS/$ Fleksibilnost, lako prilagođavanje novim standardima 25
Šta ima toliko specijalno u obradi signala? n n Veliki broj podataka (u jedinici vremena) se kontinualno dovodi sistemu. Operacije se ponavljaju: Ø Isti niz operacija se primenjuje samo sa različitim ulaznim podacima. Ø Paralelna obrada. n n Operacije sa vektorima i matricama Rad u realnom vremenu 26
Primer: Digitalno filtriranje n Najčešće korišćeni digitalni filtri: Ø Finite Impulse Response filter (FIR) Ø Infinite Impulse Response filter (IIR) n Osnovni izraz za realizaciju FIR filtera: § Realizacija u C-u: //Za svako novo x[n] na ulazu, treba izračunati: for (k = 0; k<N; k++) y[n] = y[n] + h[k]*x[n-k]; Nova vrednost y[n] gde je h[k] niz koeficijenata filtra, a N red filtra Samo množenje i sabiranje (MAC će dobro doći)! Stara vrednost y[n], izračunata u prethodnom koraku 27
Trećeg reda N=3 x[n] 6 h =[1/3 1/3] 4 h[0]=1/3 h[1]=1/3 h[2]=1/3 2 n x=0 2 2 1 -1 -2 -1 1 2 4 6. . . y = 0 0, 7 1, 3 y[n] 6 y[2] = h[0] x[2] + h[1] x[1]+h[2] x[0] = 1, 333 4 2 //Za svako novo x[n] na ulazu, treba izračunati: n for (k = 0; k<N; k++) y[n] = y[n] + h[k]*x[n-k]; 28
x[n] 6 4 2 n x=0 2 2 1 -1 -2 -1 1 2 4 6. . . y = 0 0, 7 1, 3 1, 7 0, 7 -1, 3 -0, 7 0, 6 2, 3 4 y[n] 6 4 y[2] = h[0] x[0]+ h[1] x[1]+ h[2] x[2] = 1, 333 2 y[3] = h[0] x[1]+ h[1] x[2]+ h[2] x[3] = 1, 666 n 29
x[n] 6 4 2 n x=0 2 2 1 -1 -2 -1 1 2 4. . . y = 0 0, 7 1, 3 1, 7 0, 7 -1, 3 -0, 7 0, 6 2, 3… y[n] 6 4 y[2] = h[0] x[2] + h[1] x[1]+ h[2] x[0] = 1, 333 2 y[3] = h[0] x[3] + h[1] x[2]+ h[2] x[1] = 1, 666 n y[n] = h[0] x[n] + h[1] x[n-1]+ h[2] x[n-2] 30
x[n] 6 4 2 n x=0 2 2 1 -1 -2 -1 1 2 4 6. . . y = 0 0, 7 1, 3 1, 7 0, 7 -1, 3 -0, 7 0, 6 2, 3 4 y[n] 6 4 2 n 31
32
Nedostaci standardnih mikrokontrolera u odnosu na DSP Treba im više instrukcija za isti posao n Imaju zajedničku prog. i data magistralu n ØOgraničen protok po magistrli Rešenje : DSP Arhitekture 33
Fon Nojmanova i Harvard arhitektura Adresna magistrala Magistrala podataka Instrukcije i podaci Fon Nojman arhitektura Instrukcije i podaci u istom memorijskom prostoru. Jedinstvena magistrala predstavlja usko grlo za protok podataka Instrukcije Podaci HARVARD arhitektura Instrukcije i podaci odvojeni Posebne magistrale za podatke i instrukcije moguć paralelni istovremeni prenos podataka i instrukcija 34
Standardni mikroprocesori (samo magistrala podataka) Magistrala podataka Memorija Registar 1 Registar 2 ALU Fon Nojman arhitektura: Ista memorija (i magistrala) se koristi i za podatke i za instrukcije 35
Digitalni signal-procesori (samo magistrala podataka) Programska magistrala podataka Magistrala podataka za podatke Programska memorija n n Memorija podataka Harvard arhitektura: dozvoljava istovremeno čitanje dva podatka. Arhitektura je projektovana za brže izvršavanje instrukcija čestih u obradi signala (MAC) Multiplekser ALU Accumulator 36
37
DSP u odnosu na GPP n Više paralelnih operacija Ø Multiply and accumulate - MAC (i po nekoliko sklopova) Ø Paralelno preračunavanje adrese (poseban ALU za formiranje adresa) Ø Pomerački registar Barrel shifter koji radi paralelno sa ALU ili MAC n Pristup memoriji Ø Uslovno izvršavanje instrukcija (da bi se izbeglo grananje) Ø Bit-reverzno adresiranje (jako korisno za FFT) Ø Cirkularno adresiranje za pristup cirkularnim baferima n Automatske petlje Ø Softverski skok : asemblerska instrukcija inicira skok Ø Hardverski skok : poseban hardver – brojački registar inicira skok n Hardver podržava aritmetičke operacije (skaliranja i ograničenja) Ø Pomerački registri Ø Zaštitni dodatni biti Ø Podržana aritmetika sa zasićenjem SPREČAVA PREKORAČENJE!! 38
Zasićenje - prekoračenje n 16 bitna aritmetika sa označenim brojevima Ø Opseg od 32768 do +32767 Zasićenje 39
Zasićenje - prekoračenje n 16 bitna aritmetika sa označenim brojevima Ø Opseg od 32768 do +32767 Prekoračenje 32767 = 0111 11112 + 3 = 0000 00112 32766 = 1000 0000 00102 40
Tipične primene DSP n Arhitektura DSP je optimizovana da brzo i jednostavno obavlja pre svega 4 algoritma: Ø FIR filtriranje Ø IIR filtriranje § MAC § Barrel shifter kao podrška skaliranju u aritmetici fiksnog zareza § Paralelno preračunavanje adrese novog podatka ili koeficijenta Ø Izračunavanje FFT § Bit-reverzno adresiranje § Cirkularno adresiranje Ø Konvolucija § MAC § Cirkularno adresiranje n Ako primena zahteva izvršavanje ovih algoritama, treba svakako koristiti DSP 41
Kako poboljšati DSP? n Više paralelne obrade Ø Povećati broj operacija koje mogu da se obave u istom ciklusu § Dodavanje novih množača, adresnih ALU. . . Ø Povećati broj instrukcija koje mogu da se obave u jednom ciklusu (protočna arh. ) n Dodavanje specijalizovanog hardvera Ø Na primer, hardver za FFT n Dodavanje ko-procesora Ø Viterbi ko-procesor, koprocesor za kompleksnu aritm. n Dodavanje DSP jezgara 42
Alternativa DSP (čemu to? ) 43
Alternativa DSP (čemu to? ) n Bežični sistemi zahtevaju puno veće propusne opsege nego ranije Brzina DSP 3 G 2. 5 G 2 G ~100 MIPS 8 -13 Kbps ~100, 000 MIPS 384 -2000 Kbps ~10, 000 MIPS 64 -384 Kbps Brzina DSP teško prati potrebe propusnog opsega budućih generacija mobilnih komunikacija Propusni opsezi 44
Šta umesto DSP? n Visoko kvalitetni C sa DSP unapređenjima. Ø Mnoge primene traže kombinaciju C i DSP. Ovako se pojednostavljuje hardver i snižava cena Ø Primer: Pentium 4, Ds. PIC § Instrukcije i hardver slični MAC. § 144 novih instrukcija prilagođenih obradi grafike i zvuka. § ALU može da radi sa više tipova podataka n n Kombinacija DSP - C u jednom čipu Više-jezgarni DSP Application Specific Integrated Circuits (ASIC) Field Programmable Gate Array (FPGA) 45
Šta je ASIC? Koriste fiksno povezana logička kola u čipu da bi obavili neku funkciju (na primer hardverski realizova FFT u 256 tačaka) n Mogu da uključe kompetne standardne DSP (Intellectual Properties – IP) n 46
ASIC - Dobre strane Brzina n Manja potrošnja u odnosu na DSP n Odnos cena/karakteristike n Ogromne mogućnosti prilikom projektovanja n 47
ASIC- Nedostaci Velika cena razvoja n Dugotrajan razvoj n Nepromenljivost gotovog proizvoda n Rešenje FPGA 48
Šta je FPGA Mreža logičkih kola čije se veze mogu programirati n Dugo su korišćeni samo u razvoju (za prototip) n Odskora postoji IP za poznate DSP n ØTrenutno: DSP + FPGA: § ALTERA (Stratex) § XILINX (Virtex II) 49
FPGA – Dobre strane Fleksibilniji u odnosu na ASIC n Za neke primene, veliki dobitak na brzini u odnosu na DSP n Isti hardver se može ponovo koristiti u drugim primenama n 50
FPGA - Nedostaci Ponovo spor razvoj n Visoka cena u odnosu na DSP n Veća potrošnja u odnosu na DSP n Dugo vreme do pojave proizvoda na tržištu u odnosu na DSP n 51
A gde je naš DSP? n Mnoge primene se teško mogu realizovati pomoću FPGA Ø Paralelizam je često vrlo ograničen samom primenom Ø Brzina nije uvek jedini faktor o kome treba voditi računa n FPGA su još uvek preskupi za proizvode masovne proizvodnje (npr. mob. telefoni) 52
A gde je naš DSP? n Poređenje: DSP, FPGA, ASIC* ASIC § Do 1000 GOp. S maksimalno § 50 -200 MOp. S/m. W § 2 -10 GOp. S/$ § 10 M-15 M $ cena razvoja § Nepromenljivi DSP § do 10 GOp. S maksimalno § < 10 MOp. S/m. W § ~0. 1 GOp. S/$ § 1 M $ cena programiranja § Programabilni FPGA § Do 500 GOp. S maksimalno § 2 -10 MOp. S/m. W § ~1 GOp. S/$ § ~5 M $ cena razvoja § Promenljivi * ref: Bill Dally, Stanford University, IEEE ICASSP 04 53
Podsetnik o načinu upisa brojeva Svi primeri ovde se odnose na osmobitne podatke Celi neoznačeni brojevi: Opseg: 0: 128: 255: 0 do 255 00002 1000 00002 11112 Primer: 154: 1001 10102 27 24 2 3 21 Celi označeni brojevi: Opseg: -128: -127: -1: 0: +127: -128 do +127 1000 00002 1000 00012 11112 00002 0000 00012 0111 11112 Primer: – 102: 1001 10102 – 27 24 2 3 21 54
Razlomljeni brojevi, fiksni zarez n n Razlomljeni brojevi se zamenjuju celim Računske operacije se obavljaju nad zamenjenim brojevima Programer mora da vodi računa o zamenama i da koriguje rezultat Programer mora u svakoj operaciji da vodi računa i o: o o Opsegu ulaznih podataka da ne bi došlo do prekoračenja prilikom operacija. Preciznosti ulaznih podataka da se ne bi izgubila rezolucija izlaznih. 55
Razlomljeni brojevi, fiksni zarez 13, 25 = 1101, 012 Zamena: ili: * * 001101012 (53 = 13, 25 * 4 = 13, 25 * 22) 011010102 (106 = 13, 25 * 8 = 13, 25 * 23) 110101002 (212 = 13, 25 * 16 = 13, 25 * 24) samo pod uslovom da je neoznačen! 13, 25 = 001101012 u formatu Q 6, 2 ili: 13, 25 = 011010102 u formatu Q 5, 3 Osnova (Radix) 56
Razlomljeni brojevi, fiksni zarez Sabiranje, oduzimanje: Formati sabiraka moraju biti isti QA, B = QA, B Ako nisu isti, menja se format broju sa većom osnovom (B) PROMENA FORMATA: • Kad treba smanjivati B - pomeranje nadesno • Kad treba povećavati B - pomeranje nalevo Množenje: QA, B * QC, D = QA+C, B+D Deljenje: QA, B / QC, D = QA-C, B-D 57
Često korišćeni formati Za neoznačene brojeve Q 0, 32 - Najmanji broj različit od nule: 2 32 2, 33 10 10 Najveći broj: 1 2 32 0, 99999767 Koristi se za normalizovane brojeve Za označene brojeve Qs 1, 31 - Najmanji pozitivan broj različit od nule: 0000 0000 00012 = +2 31 +4, 65 10 10 - Najveći negativan broj različit od nule: 1111 111112 = 2 31 4, 65 10 10 58
Razlomljeni brojevi, pokretni zarez n n Zapis podatka u memoriji sadrži i informaciju o poziciji zareza. Programer ne mora da vodi računa o svakoj operaciji pošto se položaj zareza automatski koriguje. Jednostavnije za programiranje, manja verovatnoća prekoračenja ili gubitka rezolucije. Ne mogu se koristiti standardne binarne operacije ugrađene u ALU. n Puno sporije ako se ne doda posban Fp. ALU. 59
Razlomljeni brojevi, pokretni zarez NORMALIZACIJA PODATKA: U decimalnom sistemu: Dovođenje u formu 0, x. . . 10 E gde je prva cifra x ≠ 0 mantisa eksponent 205641, 45 = 0, 20564145 106 m=0, 20564145, E=6 Ili m=0, 325, E= – 3 0, 000325 = 0, 325 10– 3 60
Razlomljeni brojevi, pokretni zarez NORMALIZACIJA PODATKA: U binarnom sistemu: Dovođenje u formu 0, 1. . . 2 E mantisa eksponent 100110, 012 = 0, 10012 26 m=0, 10012; E= 6 Ili m=0, 10012; E= – 3 0, 00010012 = 0, 10012 2– 3 61
Pokretni zarez, 1 -7 -24 format 32 -bitna reč se formira na sledeći način: Bit 31: Biti 30 do 24: Biti 23 do 0: 31 Z znak (Z) eksponent uvećan za 64 (E+64) mantisa u formatu Q 0, 24 (mantisa) 24 E+64 23 0 mantisa Z: bit znaka: 0 za pozitivne, 1 za negativne brojeve E+64: eksponent uvećan za 64 (uvek pozitivan broj) mantisa: u formatu Q 0, 24, (24 bita iza zareza) 62
Pokretni zarez, 1 -7 -24 format 31 Z 24 23 E+64 Polje se obično označava sa b (biased exponent) Odnos E i b za polje 7 -bita E b – 64 0 00000002. . . – 1 63 01111112 0 64 10000002 +1 65 10000012. . . +63 127 11111112 0 mantisa “Višak”, obično označen sa a. Bira se tako da b bude uvek pozitivno. Za polje dužine 7 bita, a=64, Za polje dužine 8 bita, a=128 Za polje dužine 11 bita, a=1024 Za polje dužine 7 bita, eksponent može biti od – 64 do +63. Dodavanjem viška a = 64 izbegava se zapis negativnog broja u polju 63
Pokretni zarez, 1 -7 -24 format Primer: 13, 25 = 1101, 012 = 0, 1101012 24 Z=0 E = 4 b = E+64 = 68 = 10001002 mantisa = 1101 0100 00002 31 24 23 1 bit 7 bita 24 bita 0 13, 25 = 0100 1101 0100 0000 64
Pokretni zarez, IEEE 754 format Bit najveće pozicione vrednosti (msb) mantise je uvek 1! Zašto onda upisivati tu jedinicu? • Polje mantise gubi bit br. 23 • • Jedinica na mestu bita 23 mantise se ne upisuje Ostali biti (22 do 0) ostaju isti kao u 1 -7 -24 formatu Polje za uvećani eksponent postaje 8 bita (biti 30 -23) Višak postaje 126 umesto 64 • Standardom je usvojeno da višak bude 126, a ne 128 što bi bi dalo opseg eksponenata isti kao oseg označenih brojeva! 65
Pokretni zarez, IEEE 754 format 31 24 23 0 1101 0100 0000 13, 25 = 0100 IEEE 754: 31 13, 25 = 0100 0001 0100 0000 b = 4+126 IEEE 754: 31 Z 23 22 E+126 0 mantisa_1 mantisa bez prve jedinice 66
Pokretni zarez, IEEE 754 format • 32 -bitni: 1 -8 -23 bita za znak, b i mantisu bez prve 1 • • 64 -bitni: 1 -11 -52 bita • • float (u C-jeziku) - single precision Najmanji broj 1, 2 10– 38, najveći 3, 4 10+38 Oko 6 -7 značajnih cifara u decimalnom sistemu double (u C-jeziku) - double precision Najmanji broj 1, 8 10– 308, najveći 2, 2 10+308 Oko 12 -15 značajnih cifara u decimalnom sistemu Specijalni slučajevi: 0 : mantisa_1 = 0; b = 0; Na. N; : mantisa_1 = 0; b = 111. . . 12 67
68
Pokretni zarez ne rešava sve! Primer: x = 10, 0 + y = 0, 000000240 z = 10, 000000240 (0 x 41200000) (0 x 3480 D 959) NETAČNO! Tačno? Nemoguće je predstaviti 10, 000000240 pomoću 32 -bitnog “float” broja! 0 x 412000000 0 x 412000001 = 10, 000000240 ne postoji! = 10, 000001000 Zato rezultat z ostaje 10, 00000 69
Može bolje u fiksnom zarezu! Na primer : x = 10, 0 + y = 0, 000000240 (0 x 0 A 000000) Q 8, 24 (0 x 00000004) Q 8, 24 z = 10, 000000240 (0 x 0 A 000004) Q 8, 24 Tačan rezultat! 70
Fixed-point and Floating-point n n n 1. 2. 3. Benchmark: Multiply Operation k=i*i Test setup: Integer multiply operation Floating-Point multiply by Floating-Point Library Floating-Point multiply by Floating-Point Hardware unit Benchmark result: code size (words) clock cyc. (6. 67 ns) Fixed-point Floating-Point. Library Floating-Point. Hardware 3 3 89 112 9 5 71
DSP sa aritmetikom u fiksnom ili u pokretnom zarezu ? n Procesori sa aritm. u fiksnom zarezu: Ø Ø Jeftiniji su Manji su, mehanički Imaju manju potrošnju Teži su za programiranje § Potrebno je veliko iskustvo i veština programera § Lako se potkradu greške kod premašenja, zaokruživanja, odsecanja. . . Ø Ograničenog dinamičkog opsega Ø Ipak, koriste se u preko 95% proizvoda široke potrošnje n Procesori sa aritm. u pokretnom zarezu: Ø U krajnjoj liniji, imaju bolju preciznost (USLOVNO!) Ø Mnogo se lakše programiraju! n Puno je teže, naročito u C jeziku, izraditi efikasan kôd sa procesorima u fiksnom zarezu Sve ove karakteristike treba shvatiti vrlo uslovno! 72
DSP sa aritmetikom u fiksnom ili u pokretnom zarezu ? Tipične primene DSP sa aritm. u pokretnom zarezu Tipične primene DSP sa aritm. u fiksnom zarezu • Modemi • Prenosni uređaji • Digitalna pretplatnička lin. (DSL) • Mob. telefoni do 3 G • Bežične bazne stanice • Digitalni audio plejeri • Komutacioni centri • Digitalni foto aparati • Privatne tel. centrale (PBX) • Elektronske knjige (kindle) • Uređaji intenzivnom obradom slike (skeneri, MR, montaža. . . ) • GPS prijenmici • Uređaji sa 3 D grafikom • Uređaji za prepoznavanje govora ili govornika • Kućni bežični telefoni • Upravljanje motorima i u industriji • DSP u automobilima (ABS, EPS. . . ) 73
Softver: kako se danas najčešće radi n n n Kôd se piše u C-jeziku. Kompajler ga prevodi na asemblerski izvorni kôd. Asembler prevodi ovaj izvorni kôd u objektni. Povezivač (linker) povezuje objektne kodove. Koristi se simulator (ili razvojni hardver) da se proveri funkcija i brzina. Ako kôd nije dovoljno brz – unapredi C-kôd i testiraj ponovo. Ako još uvek nije dovoljno brz, modifikuj asemblerski izvorni kôd ili programiraj ponovo kritične delove koristeći asemblerski jezik ! 74
Čemu taj asembler? n Većina C kompajlera za DSP proizvodi kôd koji ne koristi u potpunosti prednosti DSP arhitekture: Ø Paralelno izvršavanje više instrukcija Ø Prenos podataka paralelno sa izvršavanjem n Malo je C kompajlera koji su namenjeni samo jednom tipu DSP. Ø Univerzalnost ugrožava efikasnost koda. n n C kod može i do 30 puta* da bude sporiji od optimalno napisanog asemblerskog koda. Problem je naročito izražen kod DSP sa aritmetikom u fiksnom zarezu. 75
76
Ali ja neću da pišem u asembleru !! n Pustite neka neko drugi to uradi za vas. Ø Koristite biblioteke ili gotove module. n Upoznajte arhitekturu DSP i principe rada kompajlera! Ø Tako ćete pisati efikasniji C-kod. n n Upoznajte algoritme za obradu signala i kako se oni izvršavaju u DSP. Definišite vremenski kritične delove koda i samo njih izradite u asembleru: Ø Najčešće su takvi delovi samo par procenata ukupnog koda. Ø Izmenom par procenata koda, mogu se značajno poboljšati karakteristike celog programa. Ø Nepisano 5/80 % pravilo: § Samo 5% koda često uzima 80% procesorskog vremena 77
Kako praviti efikasniji C-kôd? n Mislite na asembler! n Pravite kratke, jednostavne petlje Izbegavajte if u petljama, kad god je to moguće Izbegavajte pozive potprograma u petljama, kad god je to moguće Koristite makroe n n n Ø Makroi izbegavaju trošenje vremena na poziv, povratak, a naročito na čuvanje i obnavljanje registara Ø Makroi se ugrađuju u izvorni kôd što može povećati veličinu koda n Izbegavajte operacije deljenja Koristite log. operacije (&, >>, |) Puno zavisi od konkretnog DSP, upoznajte njegovu arhitekturu! n 78
Texas Instruments Portfolio Microcontrollers 16 -bit MCU 32 -bit Real-time MSP 430 C 2000™ Ultra-Low Power Fixed & Floating Point Up to 25 MHz Arm-Based 32 -bit ARM DSP ARM+ ARM + DSP ARM 9 Cortex A-8 C 64 x+ plus ARM 9/Cortex A-8 C 647 x, C 64 x+, C 55 x Industry Std Low Power Industry-Std Core, High-Perf GPP Industry-Std Core + DSP for Signal Proc. Leadership DSP Performance Up to 150 MHz Up to 100 MHz Accelerators 4800 MMACs/ 1. 07 DMIPS/MHz 24, 000 MMACS Flash 1 KB to 256 KB Flash 32 KB to 512 KB Flash 8 KB to 256 KB MMU, Cache Up to 3 MB L 2 Cache Analog I/O, ADC LCD, USB, RF PWM, ADC, CAN, SPI, I 2 C USB, ENET, ADC, PWM, HMI USB, LCD, MMC, EMAC Measurement, Sensing, General Purpose Motor Control, Digital Power, Lighting Host Control, general purpose, motor control Linux/Win. CE User Apps Linux/Win + Video, Imaging, Multimedia Comm, Wi. MAX, Industrial/ Medical Imaging $0. 49 to $9. 00 $1. 50 to $20. 00 $2. 00 to $8. 00 to $35. 00 $12. 00 to $65. 00 $4. 00 to $99. 00+ Stellaris Cortex™ M 3 VPSS, USB, EMAC, MMC 1 G EMAC, SRIO, DDR 2, PCI-66 79
Texas Instruments TMS 320 DSP/DSC Dedicated families to support different market needs C 2000 Lowest Cost C 6000 C 5000 Efficiency Control Systems Best MIPS per Motor Control Watt / Dollar / Size Storage Wireless phones Digital Control Systems Internet audio players Power Supply Control Digital still cameras Modems Telephony Vo. IP Performance & Ease-of-Use Multi Channel and Multi Function App's Communication Infrastructure Wireless Base-stations DSL Imaging Multi-media Servers 80 Video
TMS 320 C 2000™ DSC Family 81
82
2019. 83
2019. 84
Versatile C 2000 Application Areas E-bike Digital Motor Control Renewable Energy Wind Power Inverters Power Tools Solar Power Inverters White Goods Digital Power DC/DC Converters Industrial Drives & Motion Control Lighting LED Street Lighting C 2000 Uninterruptable Power Supplies Auto HID Telecom / Server AC/DC Rectifiers Radar / Collision Avoidance Laser Ranging Power Line Communication Hybrid Electric Vehicles Medical Oxygen Concentrators LED TV Backlighting Optical Networking Electric Power Steering RFID Readers Automotive Precision Sensing & Control 85
TMS 320 C 28 x DSC Block Diag. TMS 320 F 28335 Code security 68 KB RAM 512 KB Flash Boot ROM 18 PWM (6 HRPWM) Memory Bus 6 CAP 2 QEP DMA C 28 x 32 -bit DSC TM 32 x 32 -bit Multiplier 32 -bit Timers (3) Real-Time JTAG R M W Atomic ALU 32 -bit Floating-Point Unit Peripheral Bus Interrupt Management 12 -bit ADC 88 GPIO 16/32 -bit EMIF SPI 3 SCI 2 Mc. BSP I²C 2 CAN 86
- Procesori i kompjuterit
- Primijenjeno racunarstvo podgorica
- Analogni i digitalni signali
- Baseband signal and bandpass signal
- Baseband signal and bandpass signal
- Digital signal as a composite analog signal
- What is the product of an even signal and odd signal?
- Edu.sharif.edu
- Sys print informatika 5
- Digitalna obrada zvuka
- što su digitalni tragovi wikipedia
- Digitalni zapis
- Kraljestvo živali digitalni album
- Digitalni sistemi
- Pracovní list hodiny
- Digitalni tragovi i elektroničko nasilje
- časovno preklopno vezje
- Digitalni multimeter merkur
- Digitalni udžbenik informatika 6
- Kako nastaje digitalni zapis slike
- Popino prase herbarijum
- Service euprava
- Digitální zachycení obrazu pro analýzu moči
- Pozitivni i negativni digitalni tragovi
- Sta je multimedija informatika
- Digitalni uređaji bojanka
- Kucna stenica
- Digitalni svijet oko nas
- Digitalni ured
- Ciclo vital familiar
- Serbspace
- Milan kozlevčar
- Kubiatko
- Milan glasinčanin
- Dr milan vukovic kardiolog
- Gcp milan
- Milan kubiatko
- Dr sipka banja luka
- Erlay milan nicolarde
- Milan remiš
- Reka ana
- La pinacoteca di brera
- Milan neděla
- Dr. milan radojicic
- Dr milan mrdak iskustva
- Milan infotech pvt ltd
- Moda italia fashion
- Arth 232
- Bridge hand evaluation methods
- Milan njegomir slike
- Prof dr milan miljevic
- Milan ambrož
- Milan kozlevčar geton
- Milan kubiatko
- Základy umelej inteligencie milan ftáčnik
- Milan herman
- The edict of milan
- Zvony detstva
- Stanislav kokoška
- Rightful duke of milan
- Trnera
- Milan m cirkovic
- Moribundus adlatus
- Milan miljevic biografija
- Paisajes de milan
- Milan rufus modlitba za mier
- Jukov milan
- Essee4
- Základy umelej inteligencie milan ftáčnik
- Avv paolo vinci
- Milan pilát
- El duomo milan
- Milan jansen
- Constantine was the emperor who ______.
- Milan petronijevic rukomet
- Okupaciona podela jugoslavije
- Milan šimek
- Prof dr milan miljevic
- Milan radojicic fon
- Fourier series symmetry
- Signal integrity
- Snr signal to noise ratio
- For digital
- A signal phrase
- How does wifi signal travel
- When is a period considered late