Caracteristicile procesoarelor de semnal. Ghid pentru începători pentru procesarea semnalului digital (DSP)

27 iunie 2017 la 12:27

DSP multi-core TMS320C6678. Prezentare generală asupra arhitecturii procesorului

  • Programarea microcontrolerelor

Acest articol deschide o serie de publicații dedicate procesoarelor de semnal digital multi-core TMS320C6678. Articolul oferă o idee generală despre arhitectura procesorului. Articolul reflectă cursuri și materiale practice oferite studenților ca parte a cursurilor de pregătire avansată în cadrul programului „Procesoare de semnal digital multi-core C66x de la Texas Instruments”, desfășurat la Universitatea de Inginerie Radio de Stat din Ryazan.

Procesoarele de semnal digital TMS320C66xx se bazează pe arhitectura KeyStone și sunt procesoare de semnal multi-core de înaltă performanță care funcționează atât cu virgulă fixă, cât și cu virgulă mobilă. Arhitectura KeyStone este un principiu pentru fabricarea sistemelor multi-core pe un cip, dezvoltat de Texas Instruments, care permite organizarea eficientă lucrand impreuna un numar mare nuclee de tipuri DSP și RISC, acceleratoare și dispozitive periferice cu lățime de bandă suficientă a canalelor de transfer de date interne și externe, pe baza cărora sunt componente hardware: Multicore Navigator (controller de schimb de date prin interfețe interne), TeraNet (bus intern de transfer de date) , Controler de memorie partajată multicore (controler de acces memorie partajată) și HyperLink (interfață cu dispozitive externe la viteza pe cip).

Arhitectura procesorului TMS320C6678, procesorul cu cea mai înaltă performanță din familia TMS320C66xx, este prezentată în Figura 1. Arhitectura poate fi împărțită în următoarele componente principale:

  • un set de nuclee de operare (CorePack);
  • subsistem pentru lucrul cu memorie internă și externă partajată (Memory Subsystem);
  • periferice;
  • coprocesor de rețea;
  • controler intern de redirecționare (Multicore Navigator);
  • module hardware de service și magistrala internă TeraNet.

Poza 1. Arhitectura generală a procesorului TMS320C6678

Procesorul TMS320C6678 funcționează la o frecvență de ceas de 1,25 GHz. Funcționarea procesorului se bazează pe un set de nuclee de operare C66x CorePack, al căror număr și compoziția depind de model specific procesor. TMS320C6678 DSP include 8 nuclee de tip DSP. Nucleul este elementul de calcul de bază și include unitati de calcul, seturi de registre, mașină de program, memorie de programe și date. Memoria inclusă în nucleu se numește locală.

Pe lângă memoria locală, există o memorie comună tuturor nucleelor ​​- memorie partajată procesor multi-core(Memorie partajată multicore - MSM). Memoria partajată este accesată prin Subsistemul de memorie, care include și o interfață memorie externa EMIF pentru schimbul de date între procesor și cipurile de memorie externe.

Coprocesorul de rețea crește eficiența procesorului ca parte a diferite feluri dispozitive de telecomunicații, implementând sarcini de prelucrare a datelor tipice pentru acest domeniu în hardware. Funcționarea coprocesorului se bazează pe accelerator transmisie de pachete date (Packet Accelerator) și accelerator de securitate a informațiilor (Security Accelerator). Specificația procesorului listează un set de protocoale și standarde acceptate de aceste acceleratoare.

Perifericele includ:

  • Serial RapidIO (SRIO) versiunea 2.1 – oferă viteze de transfer de date de până la 5 GBaud pe linie cu numărul de linii (canale) – până la 4;
  • PCI Express (PCIe) Versiunea Gen2 – oferă viteze de transfer de date de până la 5 GBaud pe linie cu numărul de linii (canale) – până la 2;
  • HyperLink– interfață magistrală internă, care vă permite să comutați procesoarele construite pe arhitectura KeyStone direct între ele și să schimbați la viteza pe cip; viteza de transfer de date – până la 50 Gbaud;
  • Gigabit Ethernet (GbE) oferă viteze de transmisie: 10/100/1000 Mbps și este suportat de un accelerator hardware de comunicații în rețea (coprocesor de rețea);
  • EMIF DDR3– interfata de memorie externa de tip DDR3; are o lățime de magistrală de 64 de biți, oferind spațiu de memorie adresabil de până la 8 GB;
  • EMIF– interfață de memorie externă scop general; are o lățime de magistrală de 16 biți și poate fi folosit pentru a conecta 256MB Flash NAND sau 16MB NOR Flash;
  • TSIP (porturi seriale de telecomunicații)– port serial de telecomunicații; oferă viteze de transmisie de până la 8 Mbit/s pe linie cu un număr de linii de până la 8;
  • UART– port serial asincron universal;
  • I2C– magistrală de comunicare internă;
  • GPIO– intrare/ieșire de uz general – 16 pini;
  • SPI– interfață serială universală;
  • Cronometre– folosit pentru a genera evenimente periodice.
Modulele hardware de service includ:
  • Modulul de depanare și urmărire– permite instrumentelor de depanare să acceseze resursele interne ale unui procesor care rulează;
  • boot ROM – stochează programul de boot;
  • semafor hardware– servește pentru suportul hardware al organizației partajarea procese paralele cu resurse partajate de procesor;
  • modul de gestionare a energiei– unelte control dinamic moduri de alimentare pentru componentele procesorului pentru a minimiza consumul de energie în momentele în care procesorul nu funcționează la capacitate maximă;
  • Circuitul PLL– generează frecvențe interne de ceas al procesorului dintr-un semnal extern de ceas de referință;
  • Controler cu acces direct la memorie (EDMA).– gestionează procesul de transfer de date, descarcând nucleele de operare ale DSP-ului și fiind o alternativă la Multicore Navigator.
Controlerul intern de redirecționare (Multicore Navigator) este un modul hardware puternic și eficient responsabil cu arbitrarea transferurilor de date între diferite componente ale procesorului. Sistemele multi-core pe un cip TMS320C66xx sunt dispozitive foarte complexe și pentru a organiza schimbul de informații între toate componentele unui astfel de dispozitiv este necesară o unitate hardware specială. Multicore Navigator permite nuclee dispozitiv periferic, dispozitivele gazdă nu preiau funcțiile de control ale schimbului de date. Când orice componentă a procesorului trebuie să trimită o serie de date către o altă componentă, pur și simplu îi spune controlorului ce să trimită și unde. Toate funcțiile pentru transferul în sine și sincronizarea expeditorului și destinatarului sunt preluate de Multicore Navigator.

Baza funcționării procesorului multi-core TMS320C66xx este din poziția schimbului de date de mare viteză între toate numeroasele componente ale procesorului, precum și module externe, servește ca magistrală internă TeraNet.

Următorul articol va discuta în detaliu arhitectura nucleului de operare C66x.

1. Ghid de programare multicore / SPRAB27B - august 2012;
2. TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual / SPRS691C - februarie 2012.

Acest articol deschide o serie de publicații dedicate procesoarelor de semnal digital multi-core TMS320C6678. Articolul oferă o idee generală despre arhitectura procesorului. Articolul reflectă cursuri și materiale practice oferite studenților ca parte a cursurilor de pregătire avansată în cadrul programului „Procesoare de semnal digital multi-core C66x de la Texas Instruments”, desfășurat la Universitatea de Inginerie Radio de Stat din Ryazan.

Procesoarele de semnal digital TMS320C66xx se bazează pe arhitectura KeyStone și sunt procesoare de semnal multi-core de înaltă performanță care funcționează atât cu virgulă fixă, cât și cu virgulă mobilă. Arhitectura KeyStone este un principiu pentru fabricarea sistemelor multi-core pe un cip, dezvoltat de Texas Instruments, care permite organizarea eficientă a funcționării comune a unui număr mare de nuclee DSP și RISC, acceleratoare și dispozitive periferice, asigurând un debit suficient de intern și extern. canale de transfer de date, pe baza cărora sunt componente hardware: Multicore Navigator (controller de schimb de date prin interfețe interne), TeraNet (magistrală de transfer intern de date), Controller de memorie partajată Multicore (controller de acces la memorie partajată) și HyperLink (interfață cu dispozitive externe la -viteza cipului).

Arhitectura procesorului TMS320C6678, procesorul cu cea mai înaltă performanță din familia TMS320C66xx, este prezentată în Figura 1. Arhitectura poate fi împărțită în următoarele componente principale:

  • un set de nuclee de operare (CorePack);
  • subsistem pentru lucrul cu memorie internă și externă partajată (Memory Subsystem);
  • periferice;
  • coprocesor de rețea;
  • controler intern de redirecționare (Multicore Navigator);
  • module hardware de service și magistrala internă TeraNet.

Poza 1. Arhitectura generală a procesorului TMS320C6678

Procesorul TMS320C6678 funcționează la o frecvență de ceas de 1,25 GHz. Funcționarea procesorului se bazează pe un set de nuclee de operare C66x CorePack, numărul și compoziția cărora depind de modelul specific de procesor. TMS320C6678 DSP include 8 nuclee de tip DSP. Nucleul este un element de calcul de bază și include unități de calcul, seturi de registre, o mașină de program, program și memorie de date. Memoria inclusă în nucleu se numește locală.

Pe lângă memoria locală, există o memorie comună tuturor nucleelor ​​- memoria partajată a unui procesor cu mai multe nuclee (Multicore Shared Memory - MSM). Memoria partajată este accesată prin subsistemul de memorie, care include și o interfață de memorie externă EMIF pentru comunicarea dintre procesor și cipurile de memorie externă.

Coprocesorul de rețea crește eficiența procesorului ca parte a diferitelor tipuri de dispozitive de telecomunicații, implementând sarcini de procesare a datelor tipice pentru această zonă în hardware. Coprocesorul se bazează pe Packet Accelerator și Security Accelerator. Specificația procesorului listează un set de protocoale și standarde acceptate de aceste acceleratoare.

Perifericele includ:

  • Serial RapidIO (SRIO) versiunea 2.1 – oferă viteze de transfer de date de până la 5 GBaud pe linie cu numărul de linii (canale) – până la 4;
  • PCI Express (PCIe) Versiunea Gen2 – oferă viteze de transfer de date de până la 5 GBaud pe linie cu numărul de linii (canale) – până la 2;
  • HyperLink– interfață magistrală internă, care vă permite să comutați procesoarele construite pe arhitectura KeyStone direct între ele și să schimbați la viteza pe cip; viteza de transfer de date – până la 50 Gbaud;
  • Gigabit Ethernet (GbE) oferă viteze de transmisie: 10/100/1000 Mbps și este suportat de un accelerator hardware de comunicații în rețea (coprocesor de rețea);
  • EMIF DDR3– interfata de memorie externa de tip DDR3; are o lățime de magistrală de 64 de biți, oferind spațiu de memorie adresabil de până la 8 GB;
  • EMIF– interfață de memorie externă de uz general; are o lățime de magistrală de 16 biți și poate fi folosit pentru a conecta 256MB NAND Flash sau 16MB NOR Flash;
  • TSIP (porturi seriale de telecomunicații)– port serial de telecomunicații; oferă viteze de transmisie de până la 8 Mbit/s pe linie cu un număr de linii de până la 8;
  • UART– port serial asincron universal;
  • I2C– magistrală de comunicare internă;
  • GPIO– intrare/ieșire de uz general – 16 pini;
  • SPI– interfață serială universală;
  • Cronometre– folosit pentru a genera evenimente periodice.
Modulele hardware de service includ:
  • Modulul de depanare și urmărire– permite instrumentelor de depanare să acceseze resursele interne ale unui procesor care rulează;
  • boot ROM – stochează programul de boot;
  • semafor hardware– servește pentru suport hardware pentru organizarea accesului partajat al proceselor paralele la resursele procesorului partajat;
  • modul de gestionare a energiei– implementează controlul dinamic al modurilor de putere ale componentelor procesorului pentru a minimiza consumul de energie în momentele în care procesorul nu funcționează la capacitate maximă;
  • Circuitul PLL– generează frecvențe interne de ceas al procesorului dintr-un semnal extern de ceas de referință;
  • Controler cu acces direct la memorie (EDMA).– gestionează procesul de transfer de date, descarcând nucleele de operare ale DSP-ului și fiind o alternativă la Multicore Navigator.
Controlerul intern de redirecționare (Multicore Navigator) este un modul hardware puternic și eficient responsabil cu arbitrarea transferurilor de date între diferite componente ale procesorului. Sistemele multi-core pe un cip TMS320C66xx sunt dispozitive foarte complexe și pentru a organiza schimbul de informații între toate componentele unui astfel de dispozitiv este necesară o unitate hardware specială. Multicore Navigator permite nucleelor, perifericelor și dispozitivelor gazdă să nu preia funcțiile de control ale schimbului de date. Când orice componentă a procesorului trebuie să trimită o serie de date către o altă componentă, pur și simplu îi spune controlorului ce să trimită și unde. Toate funcțiile pentru transferul în sine și sincronizarea expeditorului și destinatarului sunt preluate de Multicore Navigator.

Baza pentru funcționarea procesorului multi-core TMS320C66xx în ceea ce privește schimbul de date de mare viteză între toate numeroasele componente ale procesorului, precum și modulele externe, este magistrala internă TeraNet.

Următorul articol va discuta în detaliu arhitectura nucleului de operare C66x.

1. Ghid de programare multicore / SPRAB27B - august 2012;
2. TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual / SPRS691C - februarie 2012.

Procesoare de semnal digital sunt o clasă de microprocesoare specializate concepute pentru a rezolva probleme procesare digitală a semnalului(DSP), care includ procesarea semnalului audio, procesarea imaginilor, recunoașterea vorbirii, recunoașterea modelelor, filtrarea digitală, analiza spectrală etc.

Adesea în literatură se numesc astfel de microprocesoare procesoare de semnal digital(DSP) sau DSP (procesoare de semnal digital).

Primele procesoare din această clasă au apărut la sfârșitul anilor 1970. Cerințele practice asociate cu dezvoltarea pe scară largă a comunicațiilor mobile fără fir, a sistemelor fixe de comunicații în bandă largă, a utilizării prelucrării semnalului digital în echipamentele audio și video de consum și periferice de calculator, pe de o parte, și progresul colosal al industriei electronice, pe de o parte. altele, au condus la faptul că până în prezent productivitatea DSP a crescut la sute de milioane de operațiuni pe secundă, iar prețul a scăzut cu peste 90% și chiar și pentru cele mai puternice procesoare este acum mai mică de 20 USD. Consum redus de energie (mai puțin de 1 W per frecventa maxima funcționarea procesorului) asigură utilizarea lor pe scară largă în diverse dispozitive încorporate, de la electronice de larg consum până la sisteme de bord cu destinație specială.

Procesare digitală a semnalului este prelucrarea aritmetică a unei secvențe de valori ale amplitudinii semnalului obținute la intervale regulate. Principalul lucru care distinge aceste informații este că nu sunt neapărat stocate în memorie și, prin urmare, este posibil să nu fie disponibile în viitor. Prin urmare, trebuie procesat în timp real (RTM).

Principalele caracteristici ale procesării semnalului digital care determină în mare măsură arhitectura procesoarelor DSP includ:

    prelucrare continuă volume mari date în RMV;

    oferind posibilitatea schimbului intensiv cu dispozitive externe.

Pentru a implementa eficient algoritmii de procesare a semnalului digital, este necesar suport hardware pentru operațiunile de bază DSP. Prin urmare, să luăm în considerare mai întâi principiile procesării semnalului digital, care au un impact deosebit asupra arhitecturii DSP-ului.

Orice semnal analogic poate fi reprezentat sub formă de caracteristici - amplitudine-timp sau frecvență-amplitudine. Pentru a trece de la o formă de prezentare la alta, utilizați transformata Fourier. Operațiile care efectuează această conversie sunt de bază în procesare digitală a semnalului.

transformata FourierÎn cazul general, reprezintă lucru cu o anumită funcție continuă. Transformarea Fourier continuă este convenabilă pentru a lucra în teorie, dar în practică avem de-a face de obicei cu date discrete. Pentru a procesa semnale audio și video într-un computer, acestea sunt mai întâi convertite în formă digitală și reprezentate ca un anumit set de eșantioane de frecvență și amplitudine prelevate la anumite intervale (perioada de eșantionare). Prin urmare, merită să vorbim aici nu despre integrală, ci despre transformată Fourier discretă(DFT).

Să fie dată o succesiune finită de numere x 0 ,x 1 ,x 2 , ..., x N-1 (complexă în cazul general). Transformată Fourier gj discretă constă în căutarea unei alte secvențeX 0, X 1, X 2, ..., X N-1, ale cărei elemente se calculează folosind formula:

În cazul general, o oscilație armonică, care are forma prezentată în Fig. 16.1, este descrisă prin următoarea expresie:

Orez. 16.1. Vedere generală a oscilației armonice

unde este frecvența circulară a semnalului. Vom numi această expresie armonică.

Să transformăm ultima expresie în forma:

Să defalcăm fiecare număr complex X k din expresia transformării Fourier inverse (16.2) în componentele imaginare și reale, iar exponențiala - conform formulei lui Euler pentru sinusul și cosinusul argumentului real. Primim:

Să luăm acum în considerare funcția x = f(t), care reprezintă un sunet sau o altă vibrație. Fie ca această fluctuație să fie descrisă printr-un grafic pe un interval de timp (Fig. 16.2).

Pentru a procesa acest semnal într-un computer, trebuie să-l eșantionați. În acest scop, intervalul de timp este împărțit în N-1 părți

Orez. 16.2. Discretizarea funcției armonice

iar valorile funcției x 0 , x 1 , x 2 , ..., x N-1 sunt stocate pentru N puncte de la limitele intervalelor.

Ca urmare transformată Fourier discretă directă N valori pentru X k pot fi obținute conform (16.1).

Dacă aplicăm acum transformată Fourier discretă inversă, apoi obțineți secvența originală (x n ). Secvența originală a constat din numere reale, iar șirul (X k ) este în general complexă. Dacă echivalăm partea sa imaginară cu zero, obținem:

Comparând această formulă cu formulele (16.4) și (16.6) pentru armonici, vedem că expresia (16.8) este suma N oscilații armonice frecvente diferite, fază și amplitudine. Adică sensul fizic transformată Fourier discretă constă în reprezentarea unui semnal discret ca o sumă de armonici. Parametrii fiecărei armonici se calculează prin transformarea Fourier directă, iar suma armonicilor se calculează prin cea inversă.

Acum, de exemplu, o operațiune de „filtru trece-jos” care „taie” dintr-un semnal toate frecvențele peste o anumită valoare specificată poate pur și simplu seta la zero coeficienții corespunzători frecvențelor care trebuie eliminate. Apoi, după procesare, se efectuează transformarea inversă.

Particularități procesare digitală a semnalului Să ne uităm la exemplul unui algoritm de filtrare nerecursiv. Structura dispozitivului care implementează acest algoritm este prezentată în Fig. 16.3.

Orez. 16.3. Schema de funcționare a unui filtru nerecursiv

Prelucrarea constă în generarea unui semnal de ieșire Y[k] pe baza valorilor N ale ultimelor mostre de intrare x[k], care ajung la intrarea dispozitivului după un anumit interval de timp T. Probele primite sunt stocate în celule tampon circulare. Când se primește următorul eșantion, conținutul tuturor celulelor tampon este rescris în poziția adiacentă, cea mai veche probă părăsește tamponul, iar cea nouă este scrisă în celula cea mai de jos.

Analitic, algoritmul de operare al unui filtru nerecursiv este scris astfel:

unde a i sunt coeficienți determinați de tipul de filtru.

Eșantioanele de la ieșirile elementelor tampon sunt trimise la multiplicatori, ale căror intrări secunde primesc coeficienți a i . Rezultatele produselor sunt adăugate și formează o probă a semnalului de ieșire Y[k], după care conținutul tamponului este deplasat cu 1 poziție și ciclul de funcționare a filtrului se repetă. Semnalul de ieșire Y[k] trebuie calculat înainte de sosirea următorului semnal de intrare, adică în intervalul T. Aceasta este esența funcționării în timp real a dispozitivului. Intervalul de timp T este specificat de frecvența de eșantionare, care este determinată de zona de aplicare a filtrului. Prin corolar teoremei lui Kotelnikov, într-un semnal discret perioada corespunzătoare celei mai mari frecvențe reprezentabile corespunde la două perioade de eșantionare. În timpul procesării semnal sonor Frecvența de eșantionare poate fi luată la 40 kHz. În acest caz, dacă este necesară implementarea unui filtru digital nerecursiv de ordinul 50, atunci trebuie efectuate 50 de înmulțiri și 50 de acumulări de rezultate de înmulțire într-un timp de 1/40 kHz = 25 μs. Pentru procesarea semnalului video, intervalul de timp în care trebuie efectuate aceste acțiuni va fi cu câteva ordine de mărime mai scurt.

Dacă efectuați DFT a secvenței de intrare direct, strict conform formulei originale, va dura mult timp. Calculând prin definiție (suma de N termeni de N ori), obținem o valoare de ordinul lui N 2.

Cu toate acestea, vă puteți descurca cu un număr semnificativ mai mic de operațiuni.

Cel mai popular dintre algoritmi pentru calculele accelerate DFT este metoda Cooley-Tukey, care vă permite să calculați DFT pentru numărul de mostre N = 2k într-un timp de ordinul N*log 2 N (de unde și numele - Transformare rapidă Fourier, FFT sau în versiunea în limba engleză FFT - Fast Fourier TRnsformation). Ideea principală a acestei metode este de a împărți recursiv o matrice de numere în două sub-tare și de a reduce calculul DFT din întreaga matrice la calculul DFT din sub-matrice separat. În acest caz, procesul de împărțire a matricei inițiale în subbary se realizează folosind metoda de sortare inversă de biți.

În primul rând, matricea de intrare este împărțită în două sub-matrice - numere pare și impare. Fiecare dintre subgrupuri este renumerotat și din nou împărțit în două subgrupuri - cu numere pare și impare. Aceasta sortare continua pana cand dimensiunea fiecarui subbary ajunge la 2 elemente. Ca rezultat (care poate fi arătat matematic), numărul fiecărui element original din sistemul binar este inversat. Adică, de exemplu, pentru numerele pe un singur octet, numărul binar 00000011 va deveni numărul 110000000, numărul 01010101 va deveni numărul 10101010.

Există algoritmi FFT pentru cazurile în care N este o putere a unui număr prim arbitrar (nu doar doi), precum și pentru cazurile în care N este produsul puterilor numerelor prime ale oricărui număr de eșantioane. Cu toate acestea, FFT implementat folosind metoda Cooley-Tukey pentru cazul N = 2k a devenit cel mai utilizat. Motivul pentru aceasta este că algoritmul construit folosind această metodă are o serie de proprietăți tehnologice foarte bune:

    structura algoritmului și operațiunile sale de bază nu depind de numărul de mostre (se modifică doar numărul de rulări ale operației de bază);

    algoritmul este ușor de paralelizat folosind o operațiune de bază și canalizat, și este, de asemenea, ușor în cascadă (coeficienții FFT pentru 2N eșantioane pot fi obținuți prin conversia coeficienților a două FFT-uri peste N eșantioane, obținuți prin „decimând” probele originale de 2N printr-una);

    Algoritmul este simplu și compact, permite prelucrarea datelor „la loc” și nu necesită RAM suplimentară.

Microcontrolerele cu un singur cip și chiar microprocesoarele de uz general tind să fie relativ lente atunci când efectuează operațiuni specifice DSP. În plus, cerințele pentru calitatea conversiei semnalului analogic sunt în continuă creștere. ÎN microprocesoare de semnal astfel de operațiuni sunt suportate la nivel hardware și, prin urmare, sunt efectuate destul de rapid. Funcționarea în timp real necesită, de asemenea, ca procesorul să suporte acțiuni la nivel hardware, cum ar fi procesarea întreruperii și buclele software.

Toate acestea conduc la faptul că procesoarele DSP, incluzând arhitectural multe caracteristici ale microprocesoarelor universale, în special cu Arhitectura RISC, asa de microcontrolere cu un singur cip, în același timp diferă semnificativ de ele. Un microprocesor universal, pe lângă operațiile pur computaționale, servește drept legătură unificatoare a întregului sistem de microprocesoare, în special a unui computer.

Acesta trebuie să controleze funcționarea diferitelor componente hardware cum ar fi unitățile de disc, afisajele grafice, interfata retea pentru a le asigura munca coordonată. Acest lucru duce la o arhitectură destul de complexă, deoarece trebuie să suporte, împreună cu operații aritmetice întregi și în virgulă mobilă, funcții de bază precum protecția memoriei, multiprogramare, procesare grafică vectorială etc. Ca rezultat, un microprocesor tipic de uz general cu CISC, și adesea Arhitectura RISC are un sistem de câteva sute de instrucțiuni care asigură toate aceste funcții și suportul hardware corespunzător. Acest lucru duce la necesitatea de a avea zeci de milioane de tranzistori într-un astfel de MP.

În același timp procesor DSP este un dispozitiv foarte specializat. Singura sa sarcină este să proceseze rapid un flux de semnale digitale. Este format în principal din circuite hardware de mare viteză care funcționează funcții aritmeticeși manipulatoare de biți, optimizate pentru a procesa rapid cantități mari de date. Din această cauză, DSP-ul are un set de comenzi mult mai mic decât un microprocesor universal: numărul lor nu depășește de obicei 80. Aceasta înseamnă că DSP-ul necesită un decodor de comandă ușor și un număr mult mai mic de actuatoare. În plus, toate actuatoarele trebuie să susțină în cele din urmă performanta ridicataoperatii aritmetice. Atât de tipic procesor DSP constă din nu mai mult de câteva sute de mii (nu zeci de milioane, ca în CISC-MP modern) tranzistoare. Din această cauză, astfel de parlamentari consumă mai puțină energie, ceea ce le permite să fie utilizate în produse alimentate cu baterii. Producția lor este extrem de simplificată, așa că își găsesc aplicație în dispozitive ieftine. Combinația dintre consumul redus de energie și costul redus le permite să fie utilizate nu numai în sectorul telecomunicațiilor de vârf, ci și în telefoanele mobile și jucăriile robotizate.

Să notăm principalul caracteristicile arhitecturii procesoarelor de semnal digital:

    Arhitectura Harvard, care se bazează pe fizic și separare logică memoria comenzilor și memoria datelor. Comenzi taste procesor DSP sunt multi-operanzi, iar accelerarea funcționării lor necesită citirea simultană a mai multor celule de memorie. În consecință, cipul are magistrale separate de adrese și date (în unele tipuri de procesoare există mai multe magistrale de adrese și date). Acest lucru vă permite să combinați preluarea operanzilor și executarea instrucțiunilor în timp. Utilizare arhitectura Harvard modificată presupune că operanzii pot fi stocați nu numai în memoria de date, ci și în memoria de instrucțiuni împreună cu programe. De exemplu, în cazul implementării filtrelor digitale, coeficienții pot fi stocați în memoria programului, iar valorile datelor în memoria de date. Prin urmare, coeficientul și datele pot fi selectate într-un singur ciclu de mașină. Pentru a asigura preluarea instrucțiunilor în același ciclu de mașină, fie cache-ul programului, sau accesarea de două ori a memoriei programului în timpul unui ciclu de mașină.

    Pentru a reduce timpul de execuție a uneia dintre principalele operațiuni de procesare a semnalului digital - multiplicarea - se folosește un multiplicator hardware. La procesoarele de uz general, această operațiune este implementată în mai multe cicluri de schimbare și adăugare și necesită mult timp, dar în procesoare DSP Datorită unui multiplicator specializat, este nevoie de un singur ciclu. Circuitul de multiplicare hardware încorporat vă permite să efectuați operația principală DSP într-un ciclu de ceas - inmultire cu acumulare(MultIPly-Accumulate - MAC) pentru operanzi pe 16 și/sau 32 de biți.

    Suport hardware pentru tampoane circulare. De exemplu, pentru filtrul prezentat în Fig. 16.3, de fiecare dată când este calculată o mostră a semnalului de ieșire, este utilizată o nouă mostră a semnalului de intrare, care este stocată în memorie în locul celui mai vechi. O zonă fixă ​​de RAM poate fi utilizată pentru un astfel de tampon circulant. În acest caz, în timpul calculelor, sunt generate numai valori secvențiale ale adreselor RAM, indiferent de ce operație - scriere sau citire - se efectuează în prezent. Implementarea hardware a bufferelor ciclice vă permite să setați parametrii bufferului (adresă de pornire, lungime) în program în afara corpului buclei de filtrare, ceea ce vă permite să reduceți timpul de execuție a secțiunii ciclice a programului.

    Reducerea duratei ciclului de comandă. Acest lucru este în mare măsură asigurat de tehnicile caracteristice procesoarelor RISC. Principalele sunt plasarea operanzilor majorității instrucțiunilor în registre, precum și pipeline-ul la nivelurile de instrucțiuni și microinstrucțiuni. Transportorul are de la 2 la 10 trepte, ceea ce permite procesarea simultană a până la 10 comenzi la diferite etape de execuție. Aceasta folosește generarea de adrese de registru în paralel cu executarea operațiilor aritmetice, precum și accesul la memorie multiport. Aceasta include, de asemenea, o tehnică caracteristică microprocesoarelor universale cu Arhitectura EPIC, ca utilizarea instrucțiunilor cu cuvinte foarte lungi (VLIW) generate în etapa de compilare a programului. Cele discutate mai sus servesc, de asemenea, aceluiași scop. Arhitectura Harvard procesor, tipic pentru microcontrolerele cu un singur cip.

    Prezența memoriei interne pe cipul procesorului, ceea ce face ca DSP-urile să fie similare cu MK-urile cu un singur cip. Memoria încorporată în procesor este de obicei mult mai rapidă decât memoria externă. Prezența memoriei încorporate poate simplifica semnificativ sistemul în ansamblu, reducându-i dimensiunea, consumul de energie și costul. Capacitate memorie interna este rezultatul unui anumit compromis. Creșterea acestuia duce la prețuri mai mari pentru procesor și crește consumul de energie, iar capacitatea limitată a memoriei programului nu permite stocarea algoritmilor complexi. Majoritatea procesoarelor DSP cu virgulă fixă ​​au capacități mici de memorie internă, de obicei 4 până la 256 KB, și magistrale de date externe cu lățime redusă care conectează procesorul la memoria externă. În același timp, DSP-urile cu virgulă mobilă implică de obicei lucrul cu cantități mari de date și algoritm complexși au fie memorie încorporată capacitate mare, sau o lățime mai mare a magistralei de adrese pentru conectarea memoriei externe (și uneori a ambelor).

    Gamă largă de posibilități de interacțiune hardware cu dispozitive externe, inclusiv:

    o mare varietate de interfețe, inclusiv controlere de rețea industrială CAN, interfețe de comunicație încorporate (SCI) și periferice (SPI), I2C, UART;

    mai multe intrări pentru semnale analogiceși, în consecință, un ADC încorporat;

    canale de ieșire modulație de lățime a impulsurilor (PWM);

    sistem dezvoltat de întreruperi externe;

    controlere de acces direct la memorie.

Unele familii DSP oferă special hardware, facilitând crearea de sisteme multiprocesor cu procesare paralelă date pentru a crește productivitatea.

Procesoarele DSP sunt utilizate pe scară largă în dispozitivele mobile unde consumul de energie este o preocupare majoră. Procesoarele de semnal utilizează o varietate de tehnici pentru a reduce consumul de energie, inclusiv reducerea tensiunii de alimentare și introducerea de funcții de gestionare a energiei, cum ar fi schimbarea dinamică a frecvenței ceasului, trecerea în modul de repaus sau de așteptare sau oprirea alimentării neutilizate. acest moment periferie. De menționat că aceste măsuri au un impact semnificativ asupra vitezei procesorului și, dacă sunt utilizate incorect, pot duce la inoperabilitatea dispozitivului proiectat (de exemplu, putem aminti unele telefoane mobile care uneori au încetat să mai pornească drept urmare). a erorilor în programele de management energetic) sau la deteriorarea acesteia caracteristici de performanta

(de exemplu, un timp de recuperare semnificativ la ieșirea din modul de repaus). Sistem de comandă a procesorului de semnal

are multe caracteristici ale sistemelor de instrucțiuni ale microprocesoarelor universale (în special cu arhitectura RISC) și microcontrolerelor cu un singur cip. Include operații de bază aritmetice și logice și instrucțiuni de sărituri, dar într-o cantitate mai mică decât în ​​MP-urile universale. Numărul de moduri de adresare a operanzilor este, de asemenea, relativ mic. Comanda are un format simplu, clar definit. Lungimea comenzii este de unul sau mai puțin de două cuvinte de 16 biți. Cu toate acestea, împreună cu utilizarea unui set redus de instrucțiuni, procesoarele DSP folosesc și instrucțiuni suportate de hardware care sunt tipice pentru procesarea MMX, cum ar fi instrucțiuni pentru găsirea minimului și maximului, obținerea unei valori absolute, adăugare cu saturație, în care, în cazul unui depășire la adăugarea a două numere, rezultatului i se atribuie valoarea maximă posibilă într-o grilă de biți dată. Acest lucru duce la mai puține conflicte în conducte și îmbunătățește eficiența procesorului.

Pe de altă parte, DSP-urile conțin o serie de comenzi, a căror prezență este determinată de specificul aplicației lor și care, ca urmare, sunt rareori prezente în alte tipuri de microprocesoare. În primul rând, aceasta este, desigur, instrucțiunea de multiplicare și acumulare pentru suma MAC, care stă la baza DSP: A = B*C+A. În sistemele de instrucțiuni ale unor procesoare de semnal, la programare, puteți specifica de câte ori această instrucțiune va fi executată într-o buclă și regulile de modificare a indicilor pentru adresarea operanzilor B și C. În acest caz, spre deosebire de instrucțiunile repetate din procesoare convenționale, procesorul de semnal poate suporta hardware verificarea stării de terminare a buclei. Aceasta include, de asemenea, comenzi de schimbare (rescriere) la o celulă RAM de date adiacentă, care acceptă funcționarea tamponului ciclic pentru a pregăti multiplicarea în următorul ciclu de ceas.

Programarea microprocesoarelor din această clasă are și propriile sale caracteristici. Comoditate semnificativă pentru dezvoltatori, asociată de obicei cu utilizarea limbilor nivel inalt, în cele mai multe cazuri rezultă într-o formă mai puțin compactă și cod rapid. Deoarece caracteristicile DSP necesită funcționare în timp real, acest lucru duce la necesitatea de a utiliza DSP-uri mai puternice și mai scumpe pentru a rezolva aceleași probleme. Această situație este deosebit de critică pentru produsele cu volum mare, unde diferența de cost a unui DSP mai productiv sau procesor suplimentar joaca un rol important. În același timp, în condiții moderne, viteza de dezvoltare (și, în consecință, lansarea pe piață a unui nou produs) poate aduce mai multe beneficii decât timpul petrecut cu optimizarea codului la scrierea unui program în assembler.

O abordare de compromis aici este de a folosi assembler pentru a scrie cele mai critice secțiuni ale programului, care necesită cel mai mult timp și necesită resurse, în timp ce partea principală a programului este scrisă într-un limbaj de nivel înalt, de obicei C sau C++.

Procesoarele de semnal digital (DSP) sunt un fel deosebit tehnologie cu microprocesor concepută pentru a funcționa în timp real. Domenii de aplicare a DSP:

Filtrarea semnalului digital,

Prelucrare optimă, calculul funcțiilor de corelare,

Analiza spectrală semnale,

Codare și decodificarea informațiilor,

Recunoașterea și sinteza vorbirii, sinteza și procesarea muzicii,

Procesarea imaginii,

Grafică pe computer, sinteză de imagini,

Tehnologia de măsurare.

Principala caracteristică distinctivă a DSP este volumul mare de calcule efectuate în timp real. Aceasta definește următoarele trăsături distinctive DSP:

Utilizarea unei arhitecturi Harvard extinse - comenzi separate și memorii de date cu magistrale independente, care permite un ciclu de ceas al frecvenței interne a cristalului pentru a prelua comenzi și a le executa,

Comenzi scurte, implementate în dispozitive transportoare, determină Arhitectura RISC DSP,

Prezența obligatorie a unui multiplicator hardware paralel care execută comenzi de multiplicare într-un ciclu de ceas a frecvenței interne a cristalului,

Disponibilitate echipe speciale procesare a semnalului. De exemplu, în familia de procesoare TMS320 de la Texas Instruments există o comandă dmov, care adaugă un eșantion de semnal nou la eșantion, deplasând mostrele rămase cu o secțiune de timp, comanda LTD încarcă multiplicand în registrul multiplicator, deplasează eșantioane de semnal și adună rezultatul înmulțirii anterioare cu conținutul acumulatorului.

Pe parcursul istoriei sale de dezvoltare de la începutul anilor 80 ai secolului trecut, mai multe generații de DSP-uri s-au schimbat, dar un număr de DSP-uri din generațiile anterioare în versiuni moderne continuă să fie produse datorită arhitecturii lor de succes. Prima generație DSP TMS32010 a fost dezvoltată de Texas Instruments în 1982. Acest microprocesor pe 16 biți cu o performanță de 5 milioane de instrucțiuni pe secundă (MIPS) avea o memorie RAM internă de 144-256 de cuvinte, ROM de 1,5 - 4K cuvinte. ALU și bateria erau de 32 de biți, multiplicatorul hardware era de 16x16 - rezultatul de 32 de biți, existau porturi de intrare-ieșire.



DSP-urile de a doua generație au apărut la mijlocul anilor 80. Acesta este TMS32020, un microprocesor CMOS TMS320C25 cu performanță de 10 MIPS. Cele mai interesante sunt DSP-urile DSP56000 și DSP56001 cu performanțe de 10, respectiv 25 MIPS. Au fost dezvoltate de Motorola. Acestea sunt singurele DSP-uri pe 24 de biți. Modificări ale DSP-urilor acestei arhitecturi sunt încă în curs de producere. Arhitectura DSP56001 este prezentată în Fig. 7.1. Procesorul are o arhitectură Harvard extinsă. RAM-urile de date X și Y au magistrale de adrese separate YA, XA și date XD, YD. În plus, o magistrală de adrese PA separată este utilizată pentru a adresa ROM-ului de pornire și RAM de program, care au, de asemenea, o magistrală de date PD separată. Autobuzul de date GD este utilizat pentru a încărca programe de pe computerul gazdă în mod sincron Interfață serială. În plus, GD este utilizat pentru întreruperile de la controlerul programabil de întrerupere. Unitățile de comutare pot transfera date și adrese între aceste magistrale, iar unitățile externe de comutare a magistralei permit ieșirea oricărei magistrale de pe cip. Generatorul de semnal de control generează semnale externe management. Un cuarț extern este conectat la generatorul de ceas și ceasează întregul circuit.

Orez. 7.1. Arhitectura DSP56001

ROM-urile X și Y conțin eșantioane sinus și cosinus, ceea ce permite recepția și procesarea în cuadratura. În prezent, un astfel de DSP este cel mai des folosit în procesarea și sinteza sunetului.

DSP-urile din a treia generație au apărut la începutul anilor 80-90. Acestea sunt TMS320C30 - TI, DSP96002 - Motorola, DSP32C AT&T Microelectronics. Caracteristicile acestor procesoare sunt că sunt pe 32 de biți, pot efectua calcule cu numere întregi și în virgulă mobilă într-un singur ALU, au o arhitectură Harvard extinsă, prezența temporizatoarelor și porturi de intrare/ieșire. O modificare a TMS320C30 DSP este încă în producție - acestea sunt TMS320VC33-120 și -150. Performanță TMS320VC33-150 150 de milioane de operații în virgulă mobilă pe secundă (MFLOPS).

Parametrii săi principali:

RAM de cuvinte 34K pe 32 de biți cu două magistrale de acces paralele,

Generator de ceas cu capacitatea de a multiplica frecvența internă,

nucleu în virgulă mobilă pe 32 de biți,

4 dispozitive externe de eșantionare stroboscopice,

Controler de întrerupere

Bootloader,

8 registre de înaltă precizie de 40 de biți,

Un port serial,

Două cronometre

coprocesor de acces direct la memorie (DMA),

Pachet LQFP cu 144 de pini.

DSP-urile de a patra generație au fost dezvoltate în anii 90. Aici, DSP-ul a fost împărțit în DSP-uri în virgulă fixă ​​de 16 biți relativ ieftine și DSP-uri în virgulă mobilă scumpe de înaltă performanță pe 32-40 de biți. DSP-urile cu punct fix au început să fie utilizate în echipamente de comunicații, modemuri, dispozitive audio multimedia, procesare a semnalului, printre companiile care dezvoltă astfel de DSP, este cunoscută familia Analog Devices ADSP. DSP cu virgulă mobilă - pentru procesare semnale în bandă largă, imagini, în grafica pe computer. Un reprezentant tipic al unui DSP cu virgulă mobilă este TMS320C40 – TI. Arhitectura acestui DSP este prezentată în Fig. 7.2. Performanța acestui procesor este de 275 MIPS. Caracteristica principală arhitectura sa este prezența unei magistrale de intrare-ieșire acces directîn memorie cu un coprocesor. Este proiectat pentru schimburi de mare viteză prin porturi de comunicație 0 – 5 cu alte procesoare care formează o arhitectură MIMD. Fiecare port are 8 biți de date și 4 semnale însoțitoare cu un debit de 20 Mb/s.


Orez. 7.2. Arhitectura TMS320C40

În fig. Figura 7.3 prezintă o variantă a topologiei conexiunilor procesorului.

Orez. 7.3. Topologie Conexiuni DSP

DSP-urile de generația a cincea și a șasea au fost dezvoltate la începutul secolului al XXI-lea. Aici merită remarcată evoluțiile TI - procesoare din familiile C5000 și C6000. Familia C5000 este o familie de DSP-uri în virgulă fixă ​​cu costuri reduse, cu viteză mare și consum redus de 0,9 V, iar C6000 este un DSP în virgulă fixă ​​și în virgulă mobilă cu performanțe de până la 1200 MFLOPS Unii parametri ai familiei TMS320C55x :

Consum 0,05 mV/MIPS,

Performanță 140 – 800 MIPS incl. operatii de inmultire,

Lungime variabilă a comenzii 8 – 48 de biți,

2 multiplicatori, 2 ALU, 4 baterii,

4 registre de date,

Selecția de comenzi este de 32 de biți fiecare.

În prezent, DSP-urile sunt utilizate împreună cu logica programabilă. Instrumentele pentru depanarea echipamentelor bazate pe DSP și logica programabilă sunt împărțite în două categorii:

Suport software pentru generarea și depanarea codului de mașină pentru procesarea semnalului în DSP-uri (instrumente generarea codului),

Suport software și hardware pentru integrarea DSP-ului cu hardware-ul țintă al dispozitivului în curs de dezvoltare și un mijloc de depanare a programului de procesare cu hardware-ul în timp real.

Aceste două tipuri de depanare sunt de obicei efectuate de diferiți dezvoltatori cu timp suprapus, ceea ce accelerează procesul de proiectare și fabricație hardware. În fig. 7.4 prezintă structura procesului de depanare a echipamentelor cu DSP și logică programabilă.

Orez. 7.4. Procesul de dezvoltare a echipamentelor pe DSP și FPGA

În procesul de depanare a unui program DSP, există returnări și corecții ale programului, dar există și reveniri pentru a schimba logica încorporată în logica programabilă a hardware-ului. Astfel, procesul de depanare atunci când utilizați DSP-uri și FPGA-uri se dovedește a fi semnificativ mai flexibil și vă permite să schimbați atât software-ul, cât și hardware-ul.

Care sunt caracteristicile dezvoltării echipamentelor bazate pe DSP și logica programabilă?

1. Dezvoltarea diferitelor arhitecturi de procesare paralela atat in DSP-uri cat si in logica programabila.

2. Dezvoltarea de instrumente adecvate de depanare bazate pe emulatori, simulatoare și interfețe de testare similare cu JTAG.

3. Combinație de DSP și logica programabilă într-un singur cip, de exemplu în TMS320C54x.

4. Dezvoltarea eficienței de optimizare a compilatoarelor de limbaje de nivel înalt, cum ar fi C, la un nivel, astfel încât să nu fie necesare inserții de asamblare în programe.

5. Dezvoltarea sistemelor hardware eterogene pe un singur cip, inclusiv diferite tipuri de microprocesoare, inclusiv DSP-uri, și echiparea acestora cu multiprocesoare paralele sisteme de operareîn timp real.


Bibliografie

1. Super computer. Organizare hardware și software / Ed. S. Fernbach: Trans. din engleza – M.: Radio și comunicații, 1991.

2. Hockney R., Jessope K. Calculatoare paralele. Arhitectură, programare și algoritmi: Trans. din engleză-M.: Radio și Comunicații, 1986.

3. Kougi P.M. Arhitectura calculatoarelor transportoare: Per. din engleză-M.: Radio și Comunicații, 1985.

4. Calcul paralel/ Ed. G. Rodriga: Per. din engleză-M.: Nauka, 1986.

5. Pukhalsky G.I., Novoseltseva T.Ya. Proiectarea dispozitivelor discrete pe circuite integrate: Director. – M.: Radio și comunicații, 1990.

6. Steshenko V.B. ALTERA FPGA: proiectarea dispozitivelor de procesare a semnalului. - M: DODEKA, 2000.

7. Knyshev D.A. Compania FPGA” XILINX”: descrierea structurii principalelor familii. - M: DODEKA-XXI, 2001.

8. Sikarev A.A., Lebedev O.N. Dispozitive microelectronice formarea si procesarea semnalelor complexe. - M.: Radio și comunicare, 1983.

Procesor de semnal digital(procesor de semnal digital - DSP) este un microprocesor programabil specializat conceput pentru manipularea în timp real a unui flux de date digitale. Procesoarele DSP sunt utilizate pe scară largă pentru procesarea fluxului informatii grafice, semnale audio și video.

Orice calculator modern echipat cu un procesor central și doar câteva cu un procesor de semnal digital (DSP - digital signal processor). CPU-ul este evident un sistem digital și procesează date digitale, așa că diferența dintre datele digitale și semnalele digitale, adică semnalele procesate de DSP, nu este clară la prima vedere.

În cazul general, este firesc să includeți toate fluxurile ca semnale digitale. informații digitale, care se formează în procesul de telecomunicații. Principalul lucru care distinge aceste informații este că nu sunt neapărat stocate în memorie (și, prin urmare, este posibil să nu fie disponibile în viitor), prin urmare, trebuie procesate în timp real.

Numărul surselor de informații digitale este aproape nelimitat. De exemplu, fișierele descărcate în format MP3 conțin semnale digitale care reprezintă de fapt înregistrarea sunetului. Unele camere video digitalizează semnalele video și le înregistrează în format digital. ÎN modele scumpe Telefoanele fără fir și cele mobile convertesc, de asemenea, vocea într-un semnal digital înainte de transmitere.

Variații pe o temă

Procesoarele DSP sunt fundamental diferite de microprocesoarele care formează unitatea centrală de procesare calculator desktop. Datorită naturii activității sale, procesorul central trebuie să îndeplinească funcții de unificare. Acesta trebuie să gestioneze funcționarea diferitelor componente hardware ale computerului, cum ar fi unitățile de disc, afișajele grafice și interfața de rețea, pentru a se asigura că funcționează în armonie.

Aceasta înseamnă că procesoarele desktop au o arhitectură complexă, deoarece trebuie să suporte funcții de bază, cum ar fi protecția memoriei, aritmetica întregului, operațiunile cu virgulă mobilă și procesarea grafică vectorială.

Ca rezultat, un procesor central modern obișnuit acceptă câteva sute de instrucțiuni care îndeplinesc toate aceste funcții. Prin urmare, este necesar un modul de decodare a comenzilor care să permită implementarea unui dicționar de comandă complex, precum și o varietate de circuite integrate. Ei, de fapt, trebuie să efectueze acțiunile determinate de comenzi. Cu alte cuvinte, un procesor tipic dintr-un computer desktop conține zeci de milioane de tranzistori.

Procesorul DSP, dimpotrivă, trebuie să fie un „specialist îngust”. Singura lui sarcină este să schimbe fluxul de semnale digitale și să o facă rapid. Un DSP constă în principal din circuite hardware aritmetice de mare viteză și de manipulare a biților, optimizate pentru a schimba rapid cantități mari de date.

Din această cauză, DSP-ul are un set de comenzi mult mai mic decât procesorul central al unui computer desktop; numărul lor nu depășește 80. Aceasta înseamnă că DSP-ul necesită un decodor de comandă ușor și un număr mult mai mic de actuatoare. În plus, toate dispozitivele de execuție trebuie să suporte în cele din urmă operații aritmetice de înaltă performanță. Astfel, un procesor DSP obișnuit este format din nu mai mult de câteva sute de mii de tranzistori.

Fiind foarte specializat, procesorul DSP își face treaba perfect. A lui functii matematice vă permit să primiți și să modificați continuu un semnal digital (cum ar fi înregistrările audio MP3 sau o înregistrare a unei conversații pe telefonul mobil) fără a încetini transferul de informații sau a le pierde. Pentru a crește randamentul, procesorul DSP este echipat cu magistrale de date interne suplimentare, care asigură un transfer mai rapid de date între modulele aritmetice și interfețele procesorului.

De ce avem nevoie de procesoare DSP?

Capacitățile specifice ale procesorului DSP în ceea ce privește procesarea informațiilor îl fac remediul ideal pentru multe aplicații. Folosind algoritmi bazați pe aparatul matematic adecvat, procesorul DSP poate percepe un semnal digital și poate efectua operații de convoluție pentru a îmbunătăți sau suprima anumite proprietăți ale semnalului.

Datorită faptului că procesoarele DSP au semnificativ mai puține tranzistoare decât unități centrale de procesare, consumă mai puțină energie, permițându-le să fie folosite în produse alimentate cu baterii. Producția lor este, de asemenea, extrem de simplificată, așa că își găsesc aplicație în dispozitive ieftine. Combinația dintre consumul redus de energie și costul redus determină utilizarea procesoarelor DSP în celulareși în jucării robot.

Cu toate acestea, gama de aplicații ale acestora este departe de a fi limitată la aceasta. Datorită numărului mare de module aritmetice, prezenței memoriei pe cip și magistralelor de date suplimentare, unele procesoare DSP pot fi folosite pentru a susține multiprocesare. Ele pot efectua compresia/decompresia video live atunci când sunt transmise prin Internet. Astfel de procesoare DSP de înaltă performanță sunt adesea folosite în echipamentele de videoconferință.

În interiorul DSP

Diagrama prezentată aici ilustrează structura de bază a procesorului Motorola DSP 5680x. Autobuzele interne separate de comandă, date și adrese ajută la îmbunătățirea dramatică a debitului sistem de calcul. Prezența unei magistrale de date secundare permite unității aritmetice să citească două valori, să le înmulțească și să efectueze o operație de acumulare a rezultatului într-un ciclu de procesor.