Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA
INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA Programska memorija Memorija podataka Sprega ka spoljnoj memoriji Opšte namenska U/I sprega Kontroler direktnog pristupa mem. Kolo za kontrolu prekida magistrala podataka magistrala instrukcija Jedinica za Jedinica za Skrivena Kolo za Kolo za generisanje generisanje memorija za vremensku vremensku adresa (0) adresa (1) instrukcije kontrolu (0) kontrolu (1) Kolo za generisanje takta (PLL) Generator stanja čekanja Upravljanje potrošnjom JEGRO DSP REGISTARSKI SKUP Višekanalni serijski sprežni sistem (0) Višekanalni serijski sprežni sistem (1) Sprega ka centralnom računaru
JEGRO CENTRALNOG PROCESORA I REGISTARSKI FAJLOVI 1/2 Programska memorija Memorija podataka Sprega ka spoljnoj memoriji Opšte namenska U/I sprega Kontroler direktnog pristupa mem. Kolo za kontrolu prekida magistrala podataka magistrala instrukcija Jedinica za Jedinica za Skrivena Kolo za Kolo za generisanje generisanje memorija za vremensku vremensku adresa (0) adresa (1) instrukcije kontrolu (0) kontrolu (1) Kolo za generisanje takta (PLL) Generator stanja čekanja Upravljanje potrošnjom JEGRO DSP REGISTARSKI SKUP Višekanalni serijski sprežni sistem (0) Višekanalni serijski sprežni sistem (1) Sprega ka centralnom računaru
JEGRO CENTRALNOG PROCESORA I REGISTARSKI FAJLOVI 2/2 Skup registara (A) Skup registara (B) Akumulator (A) Registar upravljanja režimom rada A0 A1 A2 A3 B0 B1 B2 B3 Akumulator (B) Privremeni registar (0) Privremeni registar (1) Registar stanja Dekodiranje instrukcije i distribucija signala magistrala instrukcija magistrala podataka Množač MUX MUX SABIRAČ ALJ NULA Limiter i zaokruživač Logika ograničenja (saturacija) Proširenje znaka Barel pomerač
MNOŽAČI Često korišćena-zahtevna operacija digitalne obrade signala MNOŽENJE Množenje jedna instrukcija, ali sa sračunavanje je potrebno više taktova (kašnjenje) Rezultat množenja dva n-bitna broja je 2n CELOBROJNO MNOŽENJE 7 celobrojnih bita operand A decimalna tačka 7 celobrojnih bita operand A decimalna tačka x 15 celobrojnih bita rezultat A*B 7 celobrojnih bita 7 celobrojnih bita operand B izabrani deo rezultata A*B MNOŽENJE BROJEVA U NEPOKRETNOM AREU x 15 celobrojnih bita rezultat A*B 7 celobrojnih bita operand B 7 celobrojnih bita izabrani deo rezultata A*B
POMERAČI Operacija množenja i akumulacije rezultata ima tendenciju povećanja dužine rezultata Rešenja skaliranje (množenjem) njegovih ulaza 2 n Problem: Željeno: Filter G=100 Dobijeno: Rešenje: x 1/128 Filter G=100
AKUMULATORSKI REGISTRI Akumulatorski registri čuvaju krajnje i među rezultate MAC instrukcije i drugih aritmetičkih operacija Dužina akumulatora veća od dužine množača Dodatni biti zaštitni biti n zaštitnih bita daje kapacitet za 2 n akumulacija Ukoliko nema zaštitnih bita ulazne vrednosti moraju se skalirati A operand B operand n bita n bita x 2n bita + 2n+m bita AKUMULATOR 2n+m bita
REGISTRI (Opšte namene) Registri služe kao privremene memorijske komponente u koje se smeštaju vrednosti podataka, operandi u toku aritmetičkih i logičkih operacija Registri služe kao ulazi u aritmetičko-logičku jedinicu Registri imaju istu dužinu reči kao i interna magistrala podataka DSP Kod većine DSP, registri se organizuju u parove skupove registara A i B Bit najveće težine............... REGISTAR A............... REGISTAR B
REGISTAR STANJA Služi za smeštanje informacije o rezultatu dobijenom u toku aritmetičkih operacija DSP Algoritmi mogu prolaziti kroz različite puteve obrade zavisno od ishoda operacije Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 9 Bit 10 Bit 11 Bit 12 Bit 13 Bit 14 Bit 15 C OV N MC MO U E RP TF XP res RT S0 S1 res ALJ prenos (carry) ALJ nula(zero) ALJ prekoračenje opsega(overflow) ALJ negativna vrednost (negative) Množač prenos (M. cary) Množač prekoračenje o. (M. overflow) Ne-normalizovana vrednost Proširenje (extension) U toku izvršavanje petlje Testna zastavica Stanje spoljne nožice Ispitivanje registra Izbor registra 0 Izbor registra 1
REGISTAR UPRAVLJANJA REŽIMOM RADA DSP Služi za određivanje šta će DSP obaviti u određenim situacijama Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 9 Bit 10 Bit 11 Bit 12 Bit 13 Bit 14 Bit 15 EN LR RE PM NM EM S I0 I1 GI XP res HM R0 R1 AV Režim redosleda bajta (Litle/Big endian) Dozvoljen ROM (ROM enable) Dozvoljen RAM (RAM enable) Režim rada procesora (Processor mode) Numerički režim rada Režim rada proširenja (Extension mode) Režim rada zasićenja Maska prekida 0 (Interupt mask) Maska prekida 1 (Interupt mask) Globalni prekid Režim rada spoljašnje nožice Rezervisano Režim održavanja stanje (Hold mode) Režim zaokruživanja 0 Režim zaokruživanja 1 Vidljivost adresa
JEDINICA A DEKODIRANJE INSTRUKCIJA I DISTRIBUCIJU KONTROLNIH SIGNALA U opštem slučaju rad ovog dela procesora je nevidljiv za korisnika. Sve instrukcije prolaze kroz različite faze u toku obrade (prihvat dekodiranje izvršenje). Veliku važnost ova jedinica ima kod arhitektura sa protočnom strukturom (Većina DSP-ova) Programska adresna magistrala PROGRAMSKI BROJAČ (PC) LOGIKA A Magistrala ka procesoru KONTROLOR PREKIDA Programska magistrala podataka PROTOČNA OBRADA INSTR. DEKODIRANJE INSTRUKCIJA SISTEMSKI STEK
PROGRAMSKI BROJAČ (PC) Generiše adresu sledeće instrukcije koja se prihvata iz memorije Režimi rada: Normalni režim rada (uvećava vrednost za +1) Režim rada skoka ili obrade prekida, puni se adresom prve instrukcije prekidne rutine /podprograma Kod određene grupe DSP-ova adrese se određuju u jedinici za generisanje adresa.
PROCESORSKO JEGRO (PUT TOKA PODATAKA) SA ARITMETIKOM POKRETNOG AREA 1/2 MAGISTRALA PODATAKA (s) DU 1 DU 2 n j REGISTRI OPERANDA X Y KONVERT. TIPA MNOŽAČ POK. AR. P m S n SABIRAČ POKR. AR. n AKUMULATORI a 0 (n) a 0 (n) a 0 (n) a 0 (n) j
PROCESORSKO JEGRO (PUT TOKA PODATAKA) SA ARITMETIKOM POKRETNOG AREA 2/2 MNOŽAČI Rezultat množenja isti format ili se povećava broj bita mantise (max. 8-12 bita) ALJ Obavlja operacije: sabiranja, oduzimanja, abs, negacije, min, max itd. a sabiranje u MAC instrukciji Izuzeci (exception): prekoračenje opsega, deljenje sa nulom. Procesor ukazuje na izuzetak postavljanjem odgovarajućeg bita u registar stanja ili uzrokovanjem prekida AOKRUŽIVANJE I kod procesora sa pokretnim zarezom postoji tendencija porasta dužine bita kod operacija množenja, akumulacije i ostalih aritmetičkih operacija. Jedno rešenje 40 do 44-bitni format