Kas yra DSP procesorius? Kelių branduolių DSP TMS320C6678

10.05.2024

Šiandien jau pamiršti devintojo dešimtmečio viduryje elektronikos inžinierių populiarūs pokalbiai apie tai, kiek sovietinė elektronika atsiliko nuo vakarietiškos. Tada elektronikos išsivystymo laipsnis buvo vertinamas pagal asmeninių kompiuterių procesorių kūrimą. Geležinė uždanga tuo metu net negalėjo įsivaizduoti, kad sovietinė elektronika atsiliko nuo vakarietiškos ne metais ar dvejais, o amžiams.

Paprasti sovietų inžinieriai, kuriems nebuvo leista dalyvauti didžiausiuose pasaulyje profesionaliuose elektronikos seminaruose ir nežinojo KGB atrastų paslapčių, apie elektronikos raidą galėjo spręsti iš programos „Vremya“ ir iš Holivudo filmų prieš dešimt metų. Po jaudulio apie Džeimso Bondo elektroninius prietaisus buvo padaryta išvada, kad: visa tai yra specialieji kino efektai; viskas kuriama ant specializuotų mikroprocesorių (niekada nebuvo nurodyta, kokius); ir kad „kur mums reikia ir kam to reikia, turime šaunesnių dalykų“. Po tokių gilių išvadų sovietų inžinieriai, gavę naują kūrybinį impulsą savo tyrimų institutuose, toliau kūrė šedevrus ant 155 TTL mikroschemų arba, arčiausiai karinio-pramoninio komplekso, 133 serijos.

Savo gėdai, turiu pripažinti, kad aš taip pat iki 9-ojo dešimtmečio vidurio numaniau, kad specializuoti procesoriai yra kažkas visiškai sudėtingo ir neįsivaizduojamo. Bet, laimei, laikai pasikeitė ir pirmieji specializuoti procesoriai, su kuriais susipažinau, buvo skaitmeniniai signalų procesoriai arba signalų procesoriai (DSP, Digital Signal Processor).

Tobulėjant skaitmeninėms technologijoms atsirado signalų procesoriai, kurie vis dažniau buvo diegiami į tradicines „analogines“ programas: radijo ir laidinį ryšį, vaizdo ir garso įrangą, matavimo ir buitinius prietaisus. Grynai skaitmeniniuose įrenginiuose taip pat reikėjo sukurti specializuotus signalų apdorojimo procesorius: modemus, diskų įrenginius, duomenų apdorojimo sistemas ir kt. Pagrindinis DSP skiriamasis bruožas nuo įprastų mikroprocesorių yra maksimalus jų pritaikymas sprendžiant skaitmeninio signalo apdorojimo problemas. Tai būtent „specializuoti“ valdikliai, kurių specializacija slypi tokioje architektūroje ir komandų sistemoje, kuri leistų optimalias signalo konvertavimo ir filtravimo operacijas atlikti realiu laiku. Įprasti mikrovaldikliai arba iš viso nepateikia tokias operacijas atliekančių komandų, arba jų veikimas yra labai lėtas, todėl jų neįmanoma naudoti sparčiai svarbiuose procesuose. Todėl tradicinių mikroprocesorių naudojimas lėmė, viena vertus, nepateisinamą įrenginio grandinės projektavimo sudėtingumą ir brangumą, kita vertus, neefektyvų, vienpusį valdiklio galimybių panaudojimą. DSP buvo raginami išspręsti šį prieštaravimą ir puikiai susidorojo su savo užduotimi.

Signalų procesoriai pasirodė devintojo dešimtmečio pradžioje. Pirmasis plačiai žinomas signalų procesorius buvo TMS32010 DSP, kurį 1982 m. išleido „Texas Instruments“, su kelių MIPS (milijonų instrukcijų per sekundę) našumu, sukurtas naudojant 1,2 mikrono technologiją. Po Texas Instruments kitos įmonės pradėjo gaminti DSP. Šiuo metu DSP gamybos lyderė yra Texas Instruments, kuriai priklauso apie pusė šių valdiklių rinkos. Antra pagal dydį DSP gamintoja yra „Lucent Technologies“, gaminanti apie trečdalį šių įrenginių. Ketvertuką užbaigia „Analog Devices“ ir „Motorola“, kurios užima maždaug vienodas rinkos dalis ir kartu pagamina maždaug ketvirtadalį visų DSP. Likę gamintojai, nors tarp jų yra ir tokių žinomų kompanijų kaip Samsung, Zilog, Atmel ir kt., signalų procesorių rinkos užima 5-6 proc.

Akivaizdu, kad tarp gamintojų tendencijų kūrėjai yra pirmaujančios šios srities kompanijos ir pirmiausia Texas Instruments. Pirmaujančių įmonių politika signalų procesorių gamybos ir reklamavimo srityje labai skiriasi.

„Texas Instruments“ siekia sukurti kuo platesnį asortimentą, galintį aprėpti visas įmanomas procesoriaus programas ir vis didėjantį našumą. Šiuo metu signalų procesorių našumas siekia iki 8800 MIPS, o jie gaminami naudojant technologiją nuo 0,65 mikrono iki 0,1 mikrono. Laikrodžio dažnis siekia 1,1 GHz.

„Lucent Technologies“ orientuojasi į stambius galutinės įrangos gamintojus ir siūlo savo produktus per platinimo tinklą, nesiimdama plačios reklamos kampanijos. Bendrovė specializuojasi telekomunikacijų įrangos DSP srityje, ypač tokia šiuo metu perspektyvia kryptimi kaip korinio ryšio stočių kūrimas.

Priešingai, „Analog Devices“ vykdo aktyvią rinkodaros politiką ir reklamos kampaniją, ką patvirtina šios bendrovės DSP santrumpa SHARK ir Tiger SHARK (ryklys ir tigrinis ryklys). Techninėje srityje šios įmonės procesoriai yra optimizuoti energijos suvartojimui ir daugiaprocesorinėms sistemoms kurti.

„Motorola“ platina savo procesorius per platų platinimo tinklą. DSP architektūroje „Motorola“ pirmoji pasuko keliu vienu metu sukurti signalo procesorių ir klasikinį mikrovaldiklį, veikiančią kaip viena sistema, o tai labai supaprastina įrangos kūrėjų gyvenimą supaprastindama grandinės dizainą.

DSP architektūra ir gamybos technologijos jau yra gana gerai išvystytos, tačiau darbo stabilumo ir DSP skaičiavimų tikslumo reikalavimai lemia tai, kad neįmanoma atsikratyti didelio funkcinių įrenginių, atliekančių duomenų apdorojimą, sudėtingumo. (ypač slankiojo kablelio formatu), o tai ženkliai nesumažina kaštų procesorių gamyboje. DSP kaina gali svyruoti nuo 2 iki 180 ar daugiau dolerių už vienetą.

DSP procesorių charakteristikos

Signalų procesoriai pasižymi didelės spartos aritmetika, duomenų perdavimu ir priėmimu realiuoju laiku bei daugialypės prieigos atminties architektūra.

Bet kuriai aritmetinei operacijai vykdymo metu reikalingos šios elementarios operacijos: operandų parinkimas; atlikti sudėtį arba daugybą; rezultato išsaugojimas arba kartojimas. Be to, skaičiavimo procesas reikalauja delsos, verčių atrankos iš nuoseklių atminties langelių ir duomenų kopijavimo iš atminties į atmintį. Signalų procesoriuose aritmetinių operacijų atlikimo greitis padidinamas dėl: lygiagretaus veiksmų vykdymo, daugkartinės prieigos prie atminties (dviejų operandų gavimas ir rezultato išsaugojimas), daugybės registrų laikinam duomenų saugojimui, aparatinės įrangos diegimo. specialių galimybių: vėlavimų įdiegimas, daugikliai, skambučio adresavimas ir kt. Signalų procesoriai taip pat įdiegia aparatinės įrangos palaikymą programos kilpoms, skambėjimo buferiams ir galimybę vienu metu gauti kelis operandus iš atminties komandų vykdymo ciklo metu.

Pagrindinis privalumas ir skirtumas tarp DSP ir bendrosios paskirties mikroprocesorių yra tas, kad procesorius sąveikauja su daugeliu duomenų šaltinių realiame pasaulyje. Procesorius gali priimti ir perduoti duomenis realiu laiku, nenutraukdamas vidinių matematinių operacijų. Šiems tikslams analogo-skaitmeno ir skaitmeninio-analogo keitikliai, generatoriai, dekoderiai ir kiti įrenginiai, skirti tiesioginiam „bendravimui“ su išoriniu pasauliu, yra įmontuoti tiesiai į lustą.

Daugiaprieigės atminties konstrukcija daugiausia pasiekiama naudojant Harvardo architektūrą. Harvardo architektūra reiškia architektūrą, kuri turi dvi fiziškai atskiras duomenų magistrales, leidžiančias vienu metu pasiekti dvi atminties prieigas. Tačiau vien to nepakanka DSP operacijoms atlikti, ypač kai instrukcijoje naudojami du operandai. Todėl Harvardo architektūra prideda talpyklos atmintį, kad išsaugotų tas instrukcijas, kurios bus naudojamos dar kartą. Naudojant sparčiąją atmintį, adresų magistralė ir duomenų magistralė lieka laisvos, todėl galima gauti du operandus. Šis plėtinys – Harvardo architektūra ir talpykla – vadinamas išplėstine Harvardo architektūra arba SHARC (Super Harvard ARChitecture).

Mes apsvarstysime specifines DSP charakteristikas naudodami Motorola DSP568xx šeimą, kuri sujungia skaitmeninių signalų procesorių ir universalių mikrovaldiklių savybes.

DSP56800 branduolys yra programuojamas 16 bitų CMOS procesorius, skirtas realaus laiko skaitmeninių signalų apdorojimo ir skaičiavimo užduotims atlikti ir susideda iš keturių funkcinių vienetų: valdymo, adresų generavimo, ALU ir bitų apdorojimo. Siekiant padidinti našumą, operacijos su įrenginiais atliekamos lygiagrečiai. Kiekvienas iš įrenginių gali veikti savarankiškai ir vienu metu su trimis kitais, nes turi savo registrų rinkinį ir valdymo logiką. Šerdis įgyvendina kelių veiksmų vienu metu vykdymą: valdymo įrenginys parenka pirmąją komandą, adresų generavimo įrenginys generuoja antrosios komandos adresus, o ALU padaugina trečiąją komandą. Plačiai naudojami kombinuoti pervedimai ir operacijos.

Integruotoje atmintyje gali būti (šeimai):

Flash programos atmintis iki 60K

„Flash“ duomenų atmintis iki 8K

RAM programos iki 2K

RAM duomenys iki 4K

2K atsisiųsti programą flash atmintis

Šeimos mikroschemose įdiegta daugybė išorinių įrenginių: PWM generatoriai, 12 bitų ADC su vienu metu imtuvu, kvadratiniai dekoderiai, keturių kanalų laikmačiai, CAN sąsajos valdikliai, dviejų laidų nuosekliojo ryšio sąsajos, nuosekliosios sąsajos, programuojamas osciliatorius su PLL, kad generuotų DSP šerdies laikrodžio dažnį ir kt.

Bendrosios charakteristikos

Našumas 40 MIPS, esant 80 MHz taktiniam dažniui ir 2,7 maitinimo įtampai: 3,6 V;

Vienpusis lygiagretus 16x16 daugiklis-sumtuvas;

Du 36 bitų akumuliatoriai, įskaitant išplėtimo bitus;

Vieno ciklo 16 bitų sukamasis perjungiklis;

Aparatinė DO ir REP komandų realizacija;

Trys vidinės 16 bitų duomenų magistralės ir trys 16 bitų adresų magistralės;

Viena 16 bitų išorinės sąsajos magistralė;

Paprogramių ir pertraukimų krūva, kuri neturi gylio apribojimų.

DSP568xx šeimos lustai skirti naudoti nebrangiuose įrenginiuose, buitinėje technikoje, kuriai reikia nebrangių ir nereikalaujančių itin aukštų parametrų: laidiniuose ir belaidžiuose modemuose, belaidėse skaitmeninių pranešimų sistemose, skaitmeniniuose telefono atsakikliuose, skaitmeninėse kamerose, specializuotuose ir universalūs valdikliai, servovariklio valdymo įtaisai ir kintamosios srovės elektros varikliai.

Apskritai signalų procesoriai jau pasiekė tokį vystymosi etapą, kad juos galima naudoti įvairiuose įrenginiuose – nuo ​​kosminių stočių iki vaikų žaislų.

Neseniai pamačiau, kokios netikėtos gali būti signalų procesorių programos, pasitelkus žaislo pavyzdį. Vieną dieną į mane kreipėsi pažįstamas ir paprašė pataisyti kalbančią lėlę, kurią jo draugai vokiečiai padovanojo jo dukrai. Lėlė, pasak draugės, buvo nuostabi, ji suprato iki penkiasdešimties frazių ir „sąmoningai“ palaikė pokalbį. Vokietijoje tai kainavo šimtą penkiasdešimt markių, todėl pagalvojau, kad tėvai labiau gailisi dėl lėlės sulūžimo nei jų vaikas. Mano dukra šiaip mylėjo lėlę, juolab kad prieš nutildama ji kalbėjo vokiškai. Neturėdamas jokios sėkmės, ėmiausi šios lėlės taisymo. Naudojau failą epoksidinei dervai, kuria buvo užpildyta grandinė, nusausinti ir po storu, storu epoksidinės dervos sluoksniu aptikau pusšimtį mikroschemų paketų, iš kurių pagrindinis buvo DSP56F DSP... paskutiniai skaitmenys, deja, buvo negrįžtamai ištrinti. Niekada nebuvo įmanoma priversti lėlės kalbėti ir, deja, nenustačiau, kiek intelekto jai pridėjo signalų procesorius. Kaip vėliau paaiškėjo, vyresnysis draugų sūnus, norėdamas, kad lėlė rėktų garsiau, pirmiausia pajungė jai įtampą, o ne 3 V, 4,5 volto, kas dar nebuvo „mirtina“, ir nors žaislas švokštė, rėkė, bet po 220 V ... . Iš čia ir pirma išvada – aukštosios technologijos yra gerai, bet ne visada ir ne visur. Antra išvada – galbūt netrukus DSP galėsime išvysti virtuvės reikmenyse, batuose ir drabužiuose, bent jau tam nėra jokių techninių kliūčių.


65 nanometrai – kitas Zelenogrado gamyklos „Angstrem-T“ tikslas, kainuosiantis 300–350 milijonų eurų. Bendrovė „Vnešekonombank“ (VEB) jau pateikė lengvatinės paskolos paraišką gamybos technologijoms modernizuoti, šią savaitę pranešė „Vedomosti“, remdamasi gamyklos direktorių tarybos pirmininku Leonidu Reimanu. Dabar Angstrem-T ruošiasi paleisti 90 nm topologijos mikroschemų gamybos liniją. Ankstesnės VEB paskolos, už kurią ji buvo įsigyta, mokėjimai prasidės 2017 m. viduryje.

Pekinas sudužo Volstrytą

Pagrindiniai Amerikos indeksai pirmąsias Naujųjų metų dienas pažymėjo rekordiniu nuosmukiu.

Masinei gamybai pradedamas pirmasis Rusijos plataus vartojimo procesorius Baikal-T1, kurio kaina – 60 USD

„Baikal Electronics“ įmonė 2016 metų pradžioje žada pradėti pramoninę gamybą apie 60 USD kainuojantį rusišką „Baikal-T1“ procesorių. Įrenginiai bus paklausūs, jei vyriausybė sukurs tokią paklausą, teigia rinkos dalyviai.

MTS ir Ericsson kartu kurs ir įdiegs 5G Rusijoje

„Mobile TeleSystems PJSC“ ir „Ericsson“ sudarė bendradarbiavimo sutartis dėl 5G technologijos kūrimo ir diegimo Rusijoje. Bandomuosiuose projektuose, įskaitant 2018 m. pasaulio čempionatą, MTS ketina išbandyti Švedijos pardavėjo plėtrą. Kitų metų pradžioje operatorius pradės dialogą su Telekomunikacijų ir masinių ryšių ministerija dėl penktos kartos mobiliojo ryšio techninių reikalavimų formavimo.

Sergejus Čemezovas: „Rostec“ jau yra viena iš dešimties didžiausių inžinerinių korporacijų pasaulyje

„Rostec“ vadovas Sergejus Čemezovas interviu RBC atsakė į aktualius klausimus: apie „Platon“ sistemą, „AVTOVAZ“ problemas ir perspektyvas, Valstybinės korporacijos interesus farmacijos versle, kalbėjo apie tarptautinį bendradarbiavimą sankcijų kontekste. spaudimas, importo pakeitimas, reorganizacija, plėtros strategija ir naujos galimybės sunkiais laikais.

„Rostec“ „aptvėrė save“ ir kėsinasi į „Samsung“ ir „General Electric“ laurus

„Rostec“ stebėtojų taryba patvirtino „Plėtros strategiją iki 2025 m.“. Pagrindiniai tikslai – padidinti aukštųjų technologijų civilinių gaminių dalį ir pasivyti „General Electric“ bei „Samsung“ pagal pagrindinius finansinius rodiklius.

Kas yra DSP?

Skaitmeniniai signalų procesoriai (DSP, skaitmeninių signalų procesoriai) priima iš anksto suskaitmenintus fizinius signalus, tokius kaip garsas, vaizdas, temperatūra, slėgis ir padėtis, ir atlieka matematines manipuliacijas su jais. Skaitmeninių signalų procesorių vidinė struktūra yra specialiai sukurta taip, kad jie galėtų labai greitai atlikti tokias matematines funkcijas kaip sudėjimas, atimtis, daugyba ir padalijimas.

Signalai turi būti apdorojami taip, kad juose esančią informaciją būtų galima atvaizduoti grafiškai, analizuoti arba paversti kito tipo naudingu signalu. Realiame pasaulyje fizinius reiškinius, tokius kaip garsas, šviesa, temperatūra ar slėgis, atitinkantys signalai aptinkami ir manipuliuojami analoginiais komponentais. Tada analoginis-skaitmeninis keitiklis paima tikrąjį signalą ir konvertuoja jį į skaitmeninį formatą kaip vienetų ir nulių seriją. Šiame etape į procesą patenka skaitmeninis signalų procesorius, kuris surenka suskaitmenintą informaciją ir ją apdoroja. Tada ji išveda suskaitmenintą informaciją atgal į realų pasaulį tolesniam naudojimui. Informacija teikiama vienu iš dviejų būdų – skaitmeniniu arba analoginiu. Antruoju atveju suskaitmenintas signalas perduodamas per skaitmeninį analoginį keitiklį. Visi šie veiksmai atliekami labai dideliu greičiu.

Norėdami iliustruoti šią koncepciją, apsvarstykite toliau pateiktą blokinę diagramą, kurioje parodyta, kaip skaitmeninio signalo procesorius naudojamas kaip MP3 garso grotuvo dalis. Įrašymo fazės metu analoginis garso signalas patenka į sistemą iš imtuvo ar kito šaltinio. Šis analoginis signalas konvertuojamas į skaitmeninį signalą naudojant analoginį-skaitmeninį keitiklį ir siunčiamas į skaitmeninio signalo procesorių. Skaitmeninis signalo procesorius užkoduoja jį į MP3 formatą ir išsaugo failą atmintyje. Atkūrimo fazės metu failas paimamas iš atminties, iššifruojamas skaitmeninio signalo procesoriaus ir konvertuojamas skaitmeniniu į analoginį keitiklį atgal į analoginį signalą, kurį galima atkurti garsiakalbių sistemoje. Sudėtingesniame pavyzdyje skaitmeninis signalo procesorius gali atlikti papildomas funkcijas, tokias kaip garsumo valdymas, dažnio kompensavimas ir vartotojo sąsajos teikimas.

Skaitmeninio signalo procesoriaus sugeneruota informacija gali būti naudojama kompiuteriu, pavyzdžiui, valdyti apsaugos sistemas, telefonus, namų kino sistemas ar vaizdo glaudinimą. Signalus galima suspausti, kad būtų galima greičiau ir efektyviau perduoti iš vienos vietos į kitą (pavyzdžiui, telekonferencijų sistemose, skirtose balso ir vaizdo perdavimo telefono linijomis). Signalai taip pat gali būti papildomai apdorojami, siekiant pagerinti jų kokybę arba pateikti informaciją, kuri iš pradžių žmonėms nepasiekiama (pavyzdžiui, atliekant aido panaikinimo užduotis mobiliuosiuose telefonuose ar kompiuterio vaizdo pagerinimui). Fizinius signalus galima apdoroti analogine forma, tačiau skaitmeninis apdorojimas užtikrina geresnę kokybę ir greitį.

Kadangi DSP yra programuojamas, jį galima naudoti įvairiose programose. Kurdami projektą galite rašyti savo programinę įrangą arba naudoti programinę įrangą, kurią teikia Analog Devices arba trečiosios šalys.

Norėdami gauti daugiau informacijos apie DSP naudojimo realiame signalų apdorojime naudą, galite perskaityti pirmąją Skaitmeninio signalo apdorojimo 101 dalį – DSP sistemos projektavimo įvadas, pavadintą „Kodėl reikalingas DSP?


Kas yra skaitmeninio signalo procesoriaus (DSP) viduje?

Skaitmeninis signalo procesorius apima šiuos pagrindinius komponentus:

  • Programos atmintis: Sudėtyje yra programų, kurias skaitmeninio signalo procesorius naudoja duomenims apdoroti
  • Duomenų atmintis: Jame yra informacijos, kurią reikia apdoroti
  • Skaičiavimo šerdis: Atlieka matematinį apdorojimą, pasiekdamas programą, esančią programos atmintyje, ir duomenis, esančius duomenų atmintyje
  • I/O posistemis: Suteikia daugybę funkcijų, skirtų sąsajai su išoriniu pasauliu

Norėdami sužinoti daugiau apie Analog Devices procesorius ir tikslius analoginius mikrovaldiklius, rekomenduojame peržiūrėti šiuos išteklius:

Skaitmeninis signalo apdorojimas yra sudėtingas dalykas ir gali priblokšti net labiausiai patyrusius DSP profesionalus. Pateikėme tik trumpą apžvalgą, tačiau Analoginiai įrenginiai taip pat siūlo papildomų išteklių, kuriuose pateikiama išsamesnės informacijos apie skaitmeninio signalo apdorojimą:

  • - technologijų ir praktinio pritaikymo klausimų apžvalga
  • Straipsnių serija žurnale Analog Dialogue: (anglų kalba)
    • 1 dalis: Kodėl jums reikia skaitmeninio signalo procesoriaus? DSP architektūros ir skaitmeninio signalo apdorojimo pranašumai, palyginti su tradicinėmis analoginėmis grandinėmis
    • 2 dalis: Sužinokite daugiau apie skaitmeninius filtrus
    • 3 dalis. Algoritmų diegimas aparatinės įrangos platformoje
    • 4 dalis: Programavimo svarstymai, susiję su realiojo laiko įvesties/išvesties palaikymu
  • : Dažnai vartojami žodžiai ir jų reikšmės

DSP praktinės laboratorijos yra greitas ir efektyvus būdas susipažinti su analoginių įrenginių DSP naudojimu. Jie leis jums įgyti pasitikėjimo ir praktinių įgūdžių dirbant su Analog Devices skaitmeniniais signalų procesoriais per paskaitų ir praktinių pratimų kursą. Tvarkaraštį ir registracijos informaciją galite rasti puslapyje Mokymai ir tobulėjimas.

Skaitmeninio signalo apdorojimo DSP (skaitmeninio signalo procesorius)

YpatumaiDSP

DSP yra specializuoti procesoriai, skirti daug skaičiavimo reikalaujančioms programoms.
Jei atidžiau pažvelgsime, pavyzdžiui, į dviejų skaičių dauginimo procesą išsaugant rezultatą tradiciniuose mikroprocesoriuose, pamatysime, kaip praleidžiamas kompiuterio laikas: pirmiausia paimama komanda (komandos adresas nustatomas į adreso magistralę). ), tada pirmasis operandas (operando adresas nustatomas į adresų magistralę ), tada operandas perkeliamas į akumuliatorių, tada gaunamas antrasis operandas ir kt. Šio proceso paspartinimas bendrosios paskirties procesoriuje neįmanomas dėl vienos adresų magistralės ir vienos duomenų magistralės, taip pat vieno duomenų banko. Atsižvelgiant į tai, visos operacijos, skirtos operandų gavimui iš atminties, instrukcijos gavimui ir operando saugojimui, atliekamos nuosekliai naudojant tą pačią duomenų magistralę ir adresų magistralę. Be to, jei atsižvelgsime į aritmetinės eilutės ciklinio sumavimo operaciją, pamatysime, kad čia laikas, skirtas pridėti, yra susijęs su pirmosios ciklo komandos adreso prisiminimu, ciklo (skaitiklio) būklės patikrinimu ir grįžimu į pirmoji komanda. Be to, didelės pridėtinės išlaidos atsiranda atliekant paprogramės šuolio ir grąžinimo operacijas (registro reikšmių įrašymas ir atkūrimas iš kamino) ir daugelis kitų operacijų. Jei atsižvelgsime į didžiulį matematinių operacijų skaičių atliekant skaitmeninį signalo apdorojimą, paaiškėja, kad labai jautrūs skaičiavimų tikslumo nuostoliai apvalinimo metu yra neišvengiami, o tai negali turėti įtakos bendram rezultatui. Taip nutinka dėl to paties pločio visų bendrosios paskirties procesorių registrų.
Apdorojant skaitmeninį signalą visos šios išlaidos yra nepriimtinos. Siekiant pašalinti šį bendrosios paskirties procesorių trūkumą, buvo sukurti skaitmeniniai signalų procesoriai (DSP – Digital Signal Processor).

Trijų autobusų Harvardo architektūra

Jo ypatumas visų pirma slypi tame, kad skirtingai nuo dviejų mums įprastų magistralių: adresų magistralės ir duomenų magistralės bei vieno atminties banko, DSP turi mažiausiai 6-7 skirtingas magistrales ir 2-3 atminties bankus. Šia funkcija siekiama maksimaliai pagreitinti daugybos operacijos atlikimą išsaugant rezultatą, kuris neabejotinai yra labiausiai naudojamas ir daug resursų reikalaujantis skaitmeninio signalo apdorojimo būdas. DSP architektūra leidžia per vieną mašinos ciklą gaminti:

  • komandos gavimas per programos adresų magistralę ir programos duomenų magistralę;
  • dviejų operandų gavimas daugybos operacijai per dvi duomenų adresų eilutes;
  • operandų įvedimas į akumuliatorius per dvi duomenų magistrales;
  • daugybos operacija;
  • išsaugokite rezultatą akumuliatoriuje.

Taigi trijų magistralių Harvardo architektūra leidžia vienu mašinos ciklu atlikti beveik bet kokią operaciją.
Kaip pavyzdys, kaip efektyviai naudoti DSP diegiant skaitmeninius signalų apdorojimo algoritmus, sudėtingos 1024 taškų Furjė transformacijos vykdymo laikas yra 20 ms 486DX2 66 MHz (32 bitų) ir 3,23 ms 24 bitų 33 MHz. DSP56001 iš Motorola arba 3,1 ms 32 bitų 33 MHz DSP TMS320C30 su slankiąja aritmetika iš Texas Instruments.
Tačiau, kaip jau minėta, skaitmeniniai signalų procesoriai išsiskiria ne tik dideliu našumu, matuojamu daugybos/kaupimo operacijų greičiu (MIPS – milijonai komandų per sekundę), bet ir tokiomis charakteristikomis kaip programos vykdymo seka, aritmetiniai veiksmai. ir atminties adresavimas, leidžiantis iki minimumo sumažinti neproduktyvų laiką. Apskritai DSP skiriasi nuo kitų tipų mikroprocesorių ir mikrovaldiklių šiais penkiais pagrindiniais būdais:

  • Greita aritmetika.

DSP procesorius turi atlikti daugybos, daugybos su kaupimu, ciklinį poslinkį, taip pat standartines aritmetines ir logines operacijas vienu ciklu.

  • Išplėstas dinaminis garsumas dauginimo / kaupimo operacijai.

Tam tikros reikšmių sekos sumos apskaičiavimo operacija yra esminė DSP įdiegtiems algoritmams. Apsauga nuo perpildymo būtina norint išvengti duomenų praradimo.

  • Dviejų operandų gavimas per vieną ciklą.

Akivaizdu, kad daugumai DSP atliekamų operacijų reikia dviejų operandų. Taigi, norint pasiekti maksimalų našumą, procesorius turi turėti galimybę gauti du operandus vienu metu, o tam taip pat reikalinga lanksti adresų sistema.

  • Aparatinės įrangos įdiegtų ciklinių buferių (įtaisytųjų ir išorinių) prieinamumas.

Daugybė algoritmų, įdiegtų DSP, reikalauja naudoti ciklinius buferius. Adreso žymeklio ciklų arba modulinio adresavimo aparatinės įrangos palaikymas sumažina procesoriaus sąnaudas ir supaprastina algoritmo įgyvendinimą.

  • Kilpų ir šakų tvarkymas neprarandant našumo.

DSP algoritmai apima daugybę pasikartojančių operacijų, kurios gali būti įgyvendintos kaip kilpos. Galimybė sekti kodo programos vykdymą cikle neprarandant našumo išskiria DSP iš kitų procesorių. Taip pat laiko švaistymas atliekant sąlyginę šakos operaciją taip pat nepriimtinas apdorojant skaitmeninį signalą.
Tačiau nereikėtų manyti, kad DSP gali visiškai pakeisti bendrosios paskirties procesorius. Paprastai skaitmeniniai signalų procesoriai turi supaprastintą instrukcijų rinkinį, kuris neleidžia atlikti nematematinių operacijų taip efektyviai kaip bendrosios paskirties procesoriai. Bandymas sujungti galią matematiniams skaičiavimams ir lankstumą kitų tipų operacijoms viename procesoriuje lemia nepagrįstą išlaidų padidėjimą. Todėl DSP dažnai naudojami kaip koprocesoriai (matematiniai, grafiniai, greitintuvai ir kt.) su pagrindiniu procesoriumi arba kaip nepriklausomas procesorius, jei to pakanka.

DSPįmoniųMotorola

Šiuo metu „Motorola“ gamina tris skaitmeninių signalų procesorių šeimas. Tai yra DSP56100, DSP56000 ir DSP96000 serijos. Visos nurodytos serijos mikroschemos yra pagrįstos DSP56000 architektūra ir skiriasi bitų gyliu (atitinkamai 16, 24, 32 bitai) ir kai kuriais integruotais įrenginiais. Tokiu būdu pasiekiamas visų trijų šeimų mikroschemų suderinamumas iš apačios į viršų. Visi „Motorola“ DSP yra sukurti pagal anksčiau aprašytą identišką trijų magistralių Harvardo architektūrą su daugybe komponentų, prievadų, valdiklių, atminties bankų ir magistralių, veikiančių lygiagrečiai, kad būtų pasiektas maksimalus našumas.
Duomenų perdavimasįvyksta dvikryptėse duomenų magistralėse (viena DSP56100 (XDB) ir dvi DSP56000 ir DSP96000 (XDB ir YDB)), programos duomenų magistralėje (PDB) ir bendrojoje duomenų magistralėje (GDB). Be to, DSP96000 turi atskirą tiesioginės atminties prieigos magistralę (DDB). Duomenų perdavimas tarp magistralių vyksta per vidinį padangų valdymo įtaisas.
Kreipimasis atliekama per dvi vienakryptes magistrales: duomenų adresų magistralę ir programos adresų magistralę.
Bitų manipuliavimo blokas leidžia lanksčiai valdyti bet kurio bito būseną registruose ir atminties ląstelėse. Šios galimybės turėjimas yra pranašumas prieš kitų vartotojų DSP.
Aritmetinis loginis vienetas (ALU) atlieka visas aritmetines ir logines operacijas ir apima įvesties registrus, akumuliatorius, akumuliatoriaus išplėtimo registrus (8 bitų, leidžiančius 256 perpildymus neprarandant tikslumo), lygiagrečią vieno ciklo daugybos ir saugojimo vienetą (MAS), taip pat poslinkių registrus sistemos komandos leidžia vykdyti ALU vienu daugybos instrukcijų ciklu, daugyba su rezultato išsaugojimu, sumavimas, atimtis, poslinkis ir loginės operacijos. Būdinga Motorola DSP savybė yra galimybė padvigubinti ALU įvesties registrus ir taip padidinti apdorojamų skaičių bitų gylį. Kitas svarbus bruožas yra padalijimo operacija, kurios dažnai nėra kitų gamintojų ir ji pakeičiama daugybos operacija iš atvirkštinio skaičiaus, dėl kurios prarandamas tikslumas.
Adresų generavimo blokas atlieka visus skaičiavimus, susijusius su adresų nustatymu atmintyje. Šis blokas veikia nepriklausomai nuo kitų procesoriaus blokų. Per vieną ciklą galima atlikti dvi skaitymo iš atminties arba vieną rašymo operacijas. „Motorola“ DSP turi itin galingą adresavimo sistemą, leidžiančią beveik bet kokį duomenų manipuliavimą atlikti viena komanda. Ši svarbi savybė išskiria įmonės gaminamus DSP iš jų analogų. Modulo adresavimas yra naudingas organizuojant skambėjimo buferius be patikrinimo už ribų, taip išvengiant laiko sąnaudų. Galimybė adresuoti naudojant reikšmingą bitų inversiją palengvina FFT įgyvendinimą.
Blokuoti valdymas egzekucija programas yra 6 registrai, tarp kurių Ciklo adreso rodyklė Ir Ciklo skaitiklis, leidžianti organizuoti aparatinės įrangos palaikymą organizuojant kilpas „Motorola DSP“, kuriai nereikia papildomų mašinos ciklų, kad būtų galima patikrinti išėjimo iš kilpos ir kilpos skaitiklio keitimo sąlygas. DO ciklo komanda aiškiai nurodo pakartojimų skaičių.
Sistemos krūva yra atskira 15 žodžių RAM dalis ir gali saugoti informaciją apie 15 pertraukimų, 7 kilpas arba 15 paprogramių išėjimų. Duomenys iš kamino nuskaitomi per vieną ciklą, taip sumažinant procesoriaus išlaidas.
Pagrindinis Motorola DSP skiriamasis bruožas yra tas, kad visi lustai turi lusto emuliatorius, leidžianti derinti programas nenaudojant papildomos aparatinės įrangos. Taigi nereikia pirkti brangių derinimo įrankių. Emuliatorius leidžia rašyti/skaityti registrus ir atminties ląsteles, nustatyti lūžio taškus, žingsnis po žingsnio vykdyti programas ir kitus veiksmus siunčiant komandas per 4 laidų magistralę.
Siekiant sumažinti energijos sąnaudas, kai neskaičiuojama, yra du mažos galios režimai: SUSTABDYTI Ir LAUKTI.
Norint dirbti kartu su kitais procesoriais ir tiesioginės atminties prieigos kanalais, įmontuotas HOST sąsaja.
Turėdami visas aukščiau išvardytas skaitmeninio signalo apdorojimo savybes, Motorola DSP turi itin galingą ir lanksčią komandų sistemą, leidžiančią vartotojui patogiai ir efektyviai dirbti su procesoriais.

DSP96000 šeima

DSP96000 šeimos DSP turi 32 bitų architektūrą ir palaiko slankiojo kablelio operacijas. Šeimos mikroschemos skirtos Multimedia kompiuterinėms sistemoms. Šios serijos DSP gali veikti kaip nepriklausomi lustai, o per du nepriklausomus 32 bitų prievadus gali nuosekliai keistis duomenimis su kitais procesoriais.
Šeimos mikroschemose yra 6 atminties bankai, 8 magistralės ir 4 autonominiai skaičiavimo blokai: ALU, programų valdymo blokas, dvigubo adresų generavimo blokas ir įmontuotas dviejų kanalų tiesioginės atminties prieigos valdiklis.
DSP96000 šeimos lustų charakteristikos:

  • 49,5 MIPS esant 40 MHz
  • 60 MFLOPS esant 40 MHz, 50 ns ciklas
  • 32 bitų organizacija
  • 2 bankai duomenų atminties RAM 512x32 bitai
  • 2 bankai ROM duomenų atminties 512x32 bitų
  • Programa RAM 1024x32 bitai
  • 56 baitų įkrovos ROM
  • adresuojama išorinė atmintis 2x232 32 bitų duomenų ir programos atminties žodžiai
  • įmontuotas emuliatorius
  • 2 kanalai DMA
  • 2 mainų kanalai su išoriniais procesoriais
  • 223 kontaktų PGA arba QFP paketas

DSPįmoniųTeksasasInstrumentai

Šios įmonės DSP atstovauja šie mikroprocesoriai: TMS 32010, TMS 320C20, TMS 320C25, TMS 320C30, TMS 320C40, TMS 320C50.

TMS320C25 architektūros ypatybės

TMS320C2x architektūra yra pagrįsta TMS32010 architektūra, pirmuoju mikroprocesorių DSP šeimos nariu. Be to, jo instrukcijų rinkinys sutampa su TMS32010 mikroprocesoriaus instrukcijų rinkiniu, kuris palaiko programinės įrangos suderinamumą iš apačios į viršų.
TMS320C2x mikroprocesorius turi vieną bateriją ir naudoja Harvardo architektūrą, kurioje duomenų atmintis ir programos atmintis yra atskirtos į skirtingas adresų sritis. Tai leidžia laiku visiškai užblokuoti iškvietimą ir komandos vykdymą. Komandų sistema apima komandas, skirtas keistis duomenimis tarp dviejų atminties sričių. Už mikroprocesoriaus ribų duomenų ir programų atminties erdvės sujungiamos toje pačioje magistralėje, kad būtų maksimaliai padidintas adresų diapazonas abiejose atminties srityse, tuo pačiu sumažinant kontaktų skaičių. Mikroprocesoriaus viduje programos ir duomenų erdvės nukreipiamos į atskiras magistrales, kad padidėtų procesoriaus galia ir programos vykdymo greitis.
Padidintą sistemos dizaino lankstumą užtikrina du dideli RAM blokai, esantys luste, iš kurių vienas gali būti naudojamas ir kaip programų, ir kaip duomenų atmintis. Dauguma procesoriaus instrukcijų vykdomos per vieną mašinos ciklą, naudojant tiek išorinę greitosios prieigos programos atmintį, tiek vidinę RAM atmintį. TMS320C2x mikroprocesoriaus lankstumas taip pat leidžia prijungti lėtą išorinę atmintį ar išorinius įrenginius naudojant READY signalą; tačiau šiuo atveju komandos vykdomos keliais mašinos ciklais.

Atminties organizavimas

TMS32020 mikroschemoje yra 544 16 bitų RAM atminties žodžiai, iš kurių 288 žodžiai (blokai B1 ir B2) visada yra skirti duomenims, o 256 žodžiai (blokas B0) gali būti naudojami kaip duomenų atmintis arba kaip programos atmintis skirtinguose procesoriuose. konfigūracijos. TMS320C25 taip pat turi 4K žodžių maskuojamą ROM, o TMS320E25 turi 4K UV ištrinamą EPROM atmintį.
TMS320C2x yra su trimis atskirtomis adresų erdvėmis – programų atminčiai, duomenų atminčiai ir I/O įrenginiams, kaip parodyta Fig. 6.5. Šios ne lusto erdvės išskiriamos naudojant -PS, -DS, -IS signalus (atitinkamai programai, duomenims, įvesties / išvesties erdvėms). Atminties blokai B0, B1, B2, esantys mikroschemoje, iš viso apima 544 laisvosios kreipties atminties (RAM) žodžius. RAM blokas B0 (256 žodžiai) yra duomenų atminties 4 ir 5 puslapiuose, jei jis skirtas duomenims, arba adresais >FF00 - >FFFF, jei jis yra programos atminties dalis. B1 blokas (tik duomenys) yra 6 ir 7 puslapiuose, o B2 blokas užima aukščiausius 32 žodžius 0 puslapyje. Atkreipkite dėmesį, kad likusią 0 puslapio dalį užima 6 adresuojami registrai ir atsarginė sritis; 1–3 puslapiai taip pat reiškia rezervinę sritį. Rezervinės zonos negali būti naudojamos informacijai saugoti;
Vidinė programos atmintis (ROM), esanti procesoriaus mikroschemoje, gali būti naudojama kaip apatiniai programos atminties 4K žodžiai. Norėdami tai padaryti, MP/*MC kaiščiui turi būti taikomas žemo lygio signalas. Norint uždrausti naudoti vidinę ROM sritį, MP/*MC turi būti nustatytas aukštas lygis.

Išorinė atmintis ir I/O sąsaja

TMS32020 mikroprocesorius palaiko daugybę sąsajų sistemų. Duomenų, programų ir įvesties/išvesties adresų erdvė suteikia sąsajas su atmintimi ir išoriniais įrenginiais, padidindama sistemos galimybes. Vietinės atminties sąsają sudaro:

  • 16 bitų duomenų magistralė (D0-D15);
  • 16 bitų adresų magistralė (A0-A15);
  • duomenims, programoms ir įvesties/išvesties adresų erdvės, parenkamos pagal signalus (*DS, *PS ir *IS);
  • įvairūs sistemos valdymo signalai.

R/*W signalas valdo perdavimo kryptį, o *STRB signalas – perdavimą.
Įvesties / išvesties erdvėje yra 16 įvesties prievadų ir 16 išvesties prievadų. Šie prievadai suteikia visą 16 bitų sąsają išoriniams įrenginiams per duomenų magistralę. Vienkartinis įvestis/išvestis naudojant IN ir OUT instrukcijas baigiamas dviem instrukcijų ciklais; tačiau naudojant pasikartojimo skaitiklį, vieno prievado prieigos laikas sutrumpėja iki 1 ciklo.
Įvesties/išvesties naudojimą supaprastina tai, kad įvestis/išvestis atliekama taip pat, kaip ir prieiga prie atminties. Įvesties / išvesties įrenginiai susiejami su įvesties / išvesties adresų erdve, naudojant išorinio procesoriaus adresus ir duomenų magistralę, taip pat kaip ir atmintis. Adresuojant į vidinę atmintį, duomenų magistralė yra trečioje būsenoje, o valdymo signalai yra pasyvios (aukštos).
Sąveiką su atmintimi ir I/O įrenginiais įvairiais greičiais lydi signalas READY. Bendraudamas su lėtais įrenginiais, TMS320C2x laukia, kol įrenginys baigs savo darbą ir apie tai signalizuoja procesoriui per eilutę READY, o po to procesorius tęsia darbą.

Centrinis aritmetinis loginis vienetas

Centriniame aritmetiniame loginiame bloke (CALU) yra 16 bitų mastelio poslinkio registras, 16 x 16 lygiagretusis daugiklis, 32 bitų aritmetinis loginis blokas (ALU), 32 bitų akumuliatorius ir keli papildomi poslinkio registrai, esantys abiejuose daugiklio išėjimą ir akumuliatoriaus lizdą.
Bet kuri ALU operacija atliekama tokia seka:

  1. duomenys fiksuojami iš RAM į duomenų magistralę,
  2. duomenys pereina per mastelio keitimo registrą ir ALU, kuriame atliekamos aritmetinės operacijos,
  3. rezultatas perkeliamas į akumuliatorių.

Vienas įėjimas į ALU visada yra prijungtas prie akumuliatoriaus išvesties, o antrasis gali gauti informaciją iš daugiklio produktų registro (PR) arba įkelti iš atminties per mastelio keitimo registrą.

Konvejerio operacijos

Komandų konvejerį sudaro išorinės magistralės prieigos operacijų, atliekamų komandų vykdymo metu, seka. Išankstinis iškvietimas-dekodavimas-vykdymas konvejeris paprastai yra nematomas vartotojui, išskyrus kai kuriuos atvejus, kai dujotiekis turi būti nutrauktas (pavyzdžiui, atšakos metu). Kol dujotiekis veikia, išankstinis gavimas, dekodavimas ir komandų vykdymas yra nepriklausomi vienas nuo kito. Tai leidžia komandoms sutapti. Taigi per vieną ciklą gali būti aktyvios dvi ar trys komandos, kiekviena skirtinguose darbo etapuose. Todėl mes gauname dviejų lygių konvejerį TMS32020 ir trijų lygių TMS320C25.
Konvejerio lygių skaičius ne visada turi įtakos komandos vykdymo greičiui. Dauguma instrukcijų vykdomos per tą patį ciklų skaičių, neatsižvelgiant į tai, ar instrukcijos paimamos iš išorinės atminties, vidinės RAM, ar vidinės ROM.
Papildoma TMS320C25 procesoriaus aparatinė įranga leidžia išplėsti konvejerio lygių skaičių iki trijų, o tai pagerina procesoriaus našumą. Šios priemonės apima išankstinio užfiksavimo skaitiklį (PFC), 16 bitų mikroskambučio krūvą (MCS), instrukcijų registrą (IR) ir instrukcijų eilės registrą (QIR).
Naudojant trijų lygių konvejerį, PFC yra kitos iš anksto užfiksuotos instrukcijos adresas. Užbaigus išankstinį fiksavimą, komanda įkeliama į IR. Jei IR išsaugo komandą, kuri dar nebuvo įvykdyta, tada iš anksto užfiksuota komanda įdedama į QIR. Po to PFC padidinamas 1. Kai tik dabartinė komanda bus įvykdyta, komanda iš QIR bus perkrauta į IR tolesniam vykdymui.
Programos skaitiklyje (PC) yra toliau vykdomos komandos adresas ir jis nenaudojamas fiksavimo operacijoms.
Tačiau paprastai kompiuteris naudojamas kaip rodyklė į dabartinę programos vietą. Kompiuterio turinys padidinamas po kiekvienos įvykdymo komandos. Kai įvyksta pertraukimas arba paprogramės iškvietimas, kompiuterio turinys nustumiamas į krūvą, kad vėliau būtų galima grįžti į norimą programos vietą.
Išankstinio fiksavimo, dekodavimo ir konvejerio vykdymo ciklai yra nepriklausomi vienas nuo kito, todėl vykdomos komandos gali sutapti laiku. Per bet kurį ciklą vienu metu gali būti aktyvios trys komandos, kurių kiekviena yra skirtingame užbaigimo etape.

DSP procesoriai.doc

DSP procesoriai

Skaitmeninis signalų apdorojimas (DSP) – skaitmeninis signalų apdorojimas (DSP) – naudojamas daugelyje programų.

Pirmiausia reikia išsiaiškinti žodžių, sudarančių šią sąvoką, reikšmę:


  • Skaitmeninis skaičiavimas, naudojant atskirus signalus duomenims pateikti skaitmenine forma

  • Signalas yra kintantis parametras, kuriuo informacija perduodama elektros grandine

  • Apdorojimas – operacijų su duomenimis atlikimas pagal programos instrukcijas

  • Skaitmeninis signalų apdorojimas, keičiantis arba analizuojantis informaciją, kuri matuojama diskrečiomis skaičių sekomis
Reikia atkreipti dėmesį į dvi unikalias skaitmeninio signalo apdorojimo ypatybes:

  • signalai ateina iš realaus pasaulio – šis glaudus ryšys su realiu pasauliu lemia daug specialių reikalavimų, tokių kaip būtinybė reaguoti į gaunamus signalus realiu laiku, matuoti ir konvertuoti juos į skaitmeninę formą.

  • signalai yra diskretūs – tai reiškia informacijos praradimą tarp atskirų mėginių
DSP pranašumai būdingi daugeliui skaitmeninių sistemų ir apima:

Universalumas:


  • skaitmenines sistemas galima perprogramuoti kitoms programoms (bent jau ten, kur naudojami programuojami DSP lustai)

  • skaitmenines sistemas galima perkelti į įvairią įrangą

Atkuriamumas:


  • skaitmenines sistemas galima nesunkiai padvigubinti

  • skaitmeninės sistemos nepriklauso nuo tikslių komponentų tolerancijos

  • skaitmeninių sistemų charakteristikos nesikeičia priklausomai nuo temperatūros

Paprastumas:


  • kai kuriuos dalykus skaitmeninėse sistemose galima atlikti lengviau nei analoginėse sistemose
DSP naudojamas daugelyje praktinių pritaikymų

Kiekvienoje programoje DSP procesoriai pasižymi bendromis savybėmis:


  • jie naudoja daug matematinių skaičiavimų

  • jie susiduria su signalais iš realaus pasaulio

  • signalų tyrimas trunka ribotą laiką

Atminties architektūros

Įprastoms DSP operacijoms atlikti reikia daug paprastų pridėjimo ir daugybos.

Sudėjus ir dauginant reikia:


  • gauti du operandus

  • atlikti sudėtį arba daugybą (dažniausiai abu)

  • išsaugokite rezultatą arba palaikykite, kol pakartosite
Norint gauti du operandus per vieną instrukcijų ciklą, vienu metu reikia atlikti dvi prieigos prie atminties. Tačiau iš tikrųjų, be dviejų operandų gavimo, taip pat reikia išsaugoti rezultatą ir perskaityti pačią instrukciją. Todėl atminties prieigos skaičius per komandų ciklą bus didesnis nei du. Šiuo tikslu DSP procesoriai palaiko kelias atminties prieigas per tą patį instrukcijų ciklą. Tačiau naudojant vieną atminties magistralę vienu metu neįmanoma pasiekti dviejų skirtingų adresų atmintyje. Yra dviejų tipų DSP procesorių architektūros, leidžiančios įgyvendinti kelis prieigos prie atminties mechanizmus:

  • Harvardo architektūra

  • modifikuota von Neumann architektūra

Tikra Harvardo architektūra vieną magistralę skiria instrukcijoms gauti (adreso magistralė), o kitą – operandams gauti (duomenų magistralė). Tačiau to nepakanka norint atlikti DSP operacijas, nes iš esmės jie visi naudoja du operandus. Todėl Harvardo architektūra, susijusi su skaitmeninio signalo apdorojimu, duomenų prieigai naudoja adresų magistralę. Svarbu pažymėti, kad dažnai reikia gauti tris komponentus – nurodymą su dviem operandais, kurių pati Harvardo architektūra nepajėgi. Šiuo atveju ši architektūra apima talpyklą. Jis gali būti naudojamas toms instrukcijoms saugoti, kurios bus naudojamos dar kartą. Naudojant sparčiąją atmintį, adresų magistralė ir duomenų magistralė lieka laisvos, todėl galima gauti du operandus. Šis plėtinys – Harvardo architektūra ir talpykla – vadinamas išplėstine Harvardo architektūra arba SHARC (Super Harvard ARChitecture).

Harvardo architektūrai reikia dviejų atminties magistralių. Tai žymiai padidina lusto gamybos sąnaudas. Taigi, pavyzdžiui, DSP procesoriui, veikiančiam su 32 bitų žodžiais ir 32 bitų adresų erdvėje, kiekvienai atminties magistralei reikia mažiausiai 64 kontaktų, iš viso 128 kontaktų. Tai lemia didesnius lustų dydžius ir grandinės projektavimo sunkumus.

Net ir paprasčiausia DSP operacija – sudėjimas, kuri apima du operandus ir išsaugo rezultatą atmintyje, reikalauja keturių atminties prieigos (trijų, kad būtų paimti du operandai ir instrukcija, o viena – rezultatui išsaugoti atmintyje). Tai viršija Harvardo architektūros galimybes. Kai kurie procesoriai naudoja kitokio tipo architektūrą, kad įveiktų šią kliūtį. Tai modifikuota von Neumann architektūra.

Von Neumann architektūra naudoja tik vieną atminties magistralę:

Ši architektūra turi daug teigiamų savybių. Jis yra pigesnis ir reikalauja mažiau autobuso kaiščių. Von Neumann architektūra yra lengviau naudojama, nes programuotojas gali talpinti ir instrukcijas, ir duomenis bet kurioje laisvos atminties vietoje.
^

Perdangos efektas


Signalas atrenkamas tam tikrais laiko intervalais ir nežinoma, kas vyksta tarp mėginių. Tarkime, tam tikru momentu analoginis signalas turi tam tikrą šuolį arba impulsą. Ir tegul šis šuolis įvyksta per laiko intervalą tarp dviejų atskirų mėginių. Kadangi tai nematuoja impulso, po viso analoginio signalo atrinkimo negalime nustatyti, ar iš tikrųjų buvo impulsas.
Mažiau akivaizdžiu atveju signalas gali būti vaizduojamas greitai besikeičiančiais komponentais. Tačiau vėlgi, mums neįmanoma sekti šių sparčių pokyčių. Todėl mėginių ėmimas turi būti atliekamas pakankamai dideliu greičiu, kad būtų užfiksuoti greičiausi signalo pokyčiai. Kartais galime turėti tam tikrų išankstinių žinių apie signalą arba daryti prielaidas apie signalo elgesį tarp mėginių.

Jei mėginių ėmimas nebus atliktas pakankamu greičiu, bus neįmanoma atsekti sparčiausių signalo pokyčių.

Pavaizduotoje diagramoje aukšto dažnio signalas atrenkamas mažiau nei du kartus per laikotarpį. Rezultatas yra neteisingas signalo atvaizdavimas diskrečiąja forma, nes jei dabar išlyginsime gautus pavyzdžius tam tikra kreive, gausime žemo dažnio signalo vaizdą. Šis reiškinys, kai vieno dažnio signalas po diskretizavimo pasirodo kaip kito dažnio signalas, vadinamas slapyvardžio efektu.

Svarbu pažymėti, kad dažnio slapyvardžio problema yra ta, kad neįmanoma nustatyti, su kokiu dažnio signalu susiduriate. Tačiau kartais galime turėti tam tikrų išankstinių žinių apie signalą arba daryti prielaidas apie signalo elgesį tarp mėginių.

Nyquist parodė, kad norint aiškiai pavaizduoti visus dažnio komponentus, reikia imti mėginius, kurių dažnis yra du ar daugiau kartų didesnis už didžiausią signalo dažnį.
Diagramoje aukšto dažnio signalas atrenkamas du kartus per laikotarpį. Jei dabar nubraižysime lygią kreivę, jungiančią mėginius, rezultatas bus signalas, panašus į analoginį įvestį. Bet jei diskretiška atranka atliekama taškuose, kur signalo amplitudė yra nulinė, signalo iš viso nebus. Štai kodėl reikia imti mėginius tokiu dažniu, kuris yra bent du kartus didesnis už didžiausią signalo dažnį. Taip išvengiama persidengimo poveikio.

Didžiausias signalo dažnis, leidžiantis nustatyti diskretizavimo dažnį, vadinamas Nyquist dažniu.
Nyquist iš tikrųjų sako, kad mėginių ėmimas turėtų būti atliekamas ne didžiausiu dažniu, o didesniu nei dažniai, sudarantys signalo pralaidumą.

^ I/O sąsaja

Praktiškai DSP daugiausia susijęs su realiu pasauliu. Nors dažnai pamirštama, ši savybė yra vienas reikšmingiausių skirtumų tarp DSP procesorių ir bendrosios paskirties mikroprocesorių:
Įprastoje DSP programoje procesorius sąveikauja su daugeliu duomenų šaltinių realiame pasaulyje. Bet kuriuo atveju procesorius gali priimti ir perduoti duomenis realiu laiku, nenutraukdamas vidinių matematinių operacijų. Yra trys DSP procesorių duomenų šaltiniai:


  • įvesties ir išvesties signalus

  • sąveika su įvairiais sistemos valdikliais

  • sąveika su panašiais DSP procesoriais

^

Analoginio signalo konvertavimas


Dauguma DSP programų yra susijusios su analoginiais signalais, todėl analoginis signalas turi būti konvertuojamas į skaitmeninę formą.
Analoginis signalas, kuris yra nenutrūkstamas ir apibrėžtas be galo tiksliai, konvertuojamas į diskrečią seką, kurios komponentai yra skaitmenine forma pavaizduotos reikšmės.

Konvertuojant signalą iš analoginės formos į diskrečiąją formą, dalis informacijos prarandama dėl:


  • matavimų paklaidos

  • sinchronizacijos netikslumai

  • matavimų trukmės apribojimai
Šie reiškiniai vadinami atrankos klaidomis.

Prieš imant mėginius, nuolatinis analoginis signalas turi būti iš anksto išsaugotas. Kita vertus, matuojant signalą, jis pasikeis.

Tik prieš tai išsaugojus signalą, jį galima išmatuoti ir išmatuotas vertes konvertuoti į skaitmeninę formą.

Diskretūs signalo pavyzdžiai, kurie yra skaitmeninės išmatuotos analoginio signalo vertės, paprastai imami reguliariais intervalais.

Svarbu pažymėti, kad signalas yra atrinktas tik tada, kai visas signalas buvo iš anksto išsaugotas. Tai reiškia, kad gali būti naudojami lėtesni ADC. Tačiau grandinė, atsakinga už išankstinį signalo saugojimą, turi veikti pakankamai greitai, kad signalas nespėtų reikšmingai pasikeisti. Kai signalas išsaugomas, ALU nereikia didelio greičio, kad jį konvertuotų į skaitmeninę formą.

Matuojant analoginį signalą, nežinoma, kas iš tikrųjų matuojama. Signalo matavimo proceso metu dalis informacijos prarandama.
Kartais galite turėti preliminarios informacijos apie signalą arba daryti prielaidas apie galimą jo elgesį, kas iš dalies atkurs atrankos metu prarastą informaciją.

^ Atrankos klaidos

Konvertuojant analoginį signalą į skaitmeninę formą, jo tikslumą riboja duomenims atvaizduoti turimų bitų skaičius.
Diagrama rodo analoginį signalą, kuris konvertuojamas į skaitmeninę formą 8 bitų atrankos tikslumu.
Sklandžiai kintantis analoginis signalas diskrečiame atvaizde turės laiptelio formą dėl jo pateikimo tikslumo apribojimų.

Klaidos, atsirandančios dėl analoginio signalo skaitmeninimo, yra netiesinės ir priklauso nuo signalo.
Klaidų netiesiškumas reiškia, kad jų negalima apskaičiuoti naudojant įprastinę matematiką.
Priklausomybė nuo signalo reiškia, kad klaidos yra nuoseklios ir jų negalima sumažinti naudojant įprastinius metodus.

Klaidų problemos yra dažnos skaitmeninio signalo apdorojimo metu. Šios klaidos atsiranda dėl riboto tikslumo (ty žodžio ilgio), yra netiesinės (todėl neįmanoma apskaičiuoti) ir priklauso nuo signalo (taigi nuoseklios). Dėl klaidų neįmanoma tiksliai apskaičiuoti DSP algoritmo su apribojimais duomenų pateikimo tikslumui. Todėl vienintelė išeitis iš šios situacijos – išbandyti algoritmo veikimą su skirtingais įvesties signalais. Klaidų netiesiškumas taip pat sukelia nestabilumą, ypač naudojant IIR filtrus.

Skaitmeniniam signalų apdorojimui naudojamo mašininio žodžio ilgis lemia tikslumą ir dinaminį diapazoną. Dėl sinchronizacijos netikslumų pasirinktame diskretiniame signale atsiranda klaidų.

Sinchronizavimo metu padarytos klaidos taip pat yra nelinijinės ir priklauso nuo signalo.

Tikrosios DSP sistemos yra susijusios su trimis klaidų šaltiniais:


  • apribojimas, kai skaitmeniniu būdu konvertuojamas jo tikslumo signalas pagal baigtinį mašinos žodžio ilgį

  • ribotas procesoriaus atliekamų aritmetinių skaičiavimų tikslumas

  • signalo tikslumo apribojimas pagal mašininio žodžio ilgį, kai jis konvertuojamas iš diskrečios formos atgal į analoginį
Šios klaidos kartu sudaro atrankos klaidų sąvoką. Klaidos yra nelinijinės ir priklauso nuo signalo. Klaidų netiesiškumas reiškia, kad jų negalima apskaičiuoti naudojant įprastinę matematiką. Signalo priklausomybė lemia poreikį apskaičiuoti kiekvienam atskiram signalui būdingų klaidų poveikį. Paprastas sprendimas, kaip sumažinti klaidas, atsirandančias dėl riboto mašinos žodžio ilgio, yra sukurti kiekvieno klaidos šaltinio modelius, kurie atvaizduoja atrankos iškraipymus kaip atsitiktinį triukšmą.

Atrankos modelis su atsitiktinio triukšmo įtaka aiškiai supranta efekto esmę. Tačiau iš tikrųjų šis modelis nėra visiškai teisingas, ypač grįžtamojo ryšio sistemoms, tokioms kaip IIR filtrai.
Su klaidų atsiradimu susijęs efektas panašus į atsitiktinio triukšmo buvimą sistemoje.