• Digitální signálové procesory: Základy volby. DSP

    Digitální signálový procesor

    DSP (D digitální S signální P processor) (v překladu z angličtiny znamená digitální signálový procesor (DSP) nebo také nazývaný signálový mikroprocesor (SMP) s architekturou optimalizovanou pro provozní potřeby digitálního zpracování signálu) - specializovaný mikroprocesor, jehož vlastností je streamingový charakter zpracovávající velké množství dat v reálném čase a obvykle s intenzivní výměnou dat s ostatními externí zařízení. (Potřebné pro převod signálů reprezentovaných jako čísla, obvykle v reálném čase).

    Měřítko v reálném čase(real time of operation, Real Time Scale) - jedná se o režim provozu zařízení, ve kterém probíhá registrace a aritmetické zpracování (a v případě potřeby analýza, vizualizace, ukládání, systematizace, syntéza a přenos přes komunikační kanály) dat. se provádí bez ztráty informací pocházejících z jeho zdroje

    Popis

    Účel DSP

    Účelem DSP je typicky měřit, filtrovat a/nebo komprimovat spojité analogové signály reálného světa. Většina mikroprocesorů pro všeobecné použití může také úspěšně provádět algoritmy digitálního zpracování signálu, ale vyhrazený DSP má obvykle lepší stupeň účinnosti, takže jsou vhodnější v přenosná zařízení ach, jako jsou mobilní telefony, kvůli omezení spotřeby energie. DSP často používá speciální paměťovou architekturu, která je schopna načítat více dat a/nebo instrukcí současně.

    Typický digitální systém zpracování

    digitální zpracování

    Algoritmy digitálního zpracování signálů obvykle vyžadují velké množství matematických operací, které mají být prováděny rychle a iterativně na množství vzorků dat. Signály (možná ze zvuku nebo videa) se neustále převádějí z analogového na digitální, používají se v digitální formě a poté se převádějí zpět na analogové. Mnoho aplikací DSP má limity latence; těch. aby systém fungoval, musí být operace DSP dokončena v určitém nastaveném čase a zpožděné zpracování není životaschopné.

    Výhody DSP

    Většina mikroprocesorů a operačních systémů pro všeobecné použití může úspěšně provádět algoritmy DSP, ale nejsou vhodné pro použití v přenosných zařízeních, jako jsou mobilní telefony, kvůli omezením energetické účinnosti. Dedikovaný procesor digitálního signálu však obvykle poskytuje levnější řešení s lepším výkonem, nižší latencí a bez potřeby vyhrazeného chlazení nebo velkých baterií.

    Architektura

    Architektura digitálního signálového procesoru je optimalizována zejména pro digitální zpracování signálu. Některé funkce, jako je aplikační procesor nebo mikrokontrolér, jsou také nejvíce podporovány, protože zpracování signálu je zřídka jediným úkolem systému. Nějaký užitečné funkce Optimalizace algoritmu DSP jsou uvedeny níže.

    Architektura a její vlastnosti

    Architektura DSP má na rozdíl od mikroprocesorů pro všeobecné použití řadu funkcí. Spočívá v maximální zrychlení provádění podobných úloh při digitálním zpracování signálů (hledání signálů, Fourierova transformace atd.). V matematice se takové problémy redukují na jednodušší podle pravidla „rozděl a panuj“. V našem případě je tento typ dílčího problému elementárním součinem prvků vícesložkových vektorů reálných čísel (jedná se o čísla, která lze zapsat jako konečný nebo nekonečný (periodický nebo neperiodický) desetinný zlomek.) a následnou sumací výsledků produktu.

    Na základě toho jsou procesory speciálně optimalizovány pro určité operace (v našem případě pro násobení a sčítání). V důsledku toho se zvyšuje výkon a rychlost. Za prvé, DSP jsou zaměřeny na vícenásobné násobení s velmi rychlým výpočtem adres násobených prvků pole:

    1. "Multiplikace s akumulací" (obvykle implementovaná v hardwaru a prováděná v jednom strojovém cyklu) (M = M + X × Y), kde M, X a Y jsou prvky skutečných polí s automatickým výpočtem adres prvků pole. (MAC)
    2. Hardwarová implementace opakovaného opakování dané sady instrukcí.
    3. Použití více přístupových portů paměti DSP pro současný (v jednom strojovém cyklu) výběr instrukcí a dvou operačních argumentů pro rychlé násobení s akumulací.
    4. Schopnost vektorového zpracování pomocí generátorů adresových sekvencí.

    nicméně architektura se změnila kvůli omezeným hardwarovým zdrojům prvních DSP. Paměť byla rozdělena na nezávislé segmenty, deterministický provoz příkazů (doba provádění je známa) dala vzniknout plánování práce v reálném čase, kvůli malému potrubí dochází k neoprávněným přechodům mnohem rychleji než u univerzální, vzácné sady registrů a instrukce.

    Softwarová architektura

    Podle standardů procesorů pro všeobecné použití jsou instrukční systémy DSP často nesprávné. Jedním z důsledků pro softwarovou architekturu je, že ručně optimalizované rutiny kódu sestavení jsou obvykle zabaleny do knihoven pro opětovné použití, místo aby se při zpracování základních algoritmů spoléhaly na pokročilé technologie kompilátoru.

    Digitální signálové procesory někdy používají časově náročné kódování pro zjednodušení hardwaru a znásobení efektivity kódování. Více aritmetických jednotek může vyžadovat, aby architektura paměti podporovala vícenásobné provádění za instrukční cyklus. Speciální ovládací prvky smyčky, jako je architektonická podpora pro provádění více příkazových slov ve velmi tvrdé smyčce, bez režie pro vyvolání příkazů nebo ukončení testování.

    Hardwarová architektura

    Architektura paměti

    DSP je obvykle optimalizován pro streamování dat a využívá speciální paměťovou architekturu, která je schopna načítat více dat a/nebo instrukcí současně, jako je Harvardská nebo modifikovaná von Neumannova architektura, která využívá samostatné programové a datové paměti (někdy i paralelní přístup na více sběrnicích).

    DSP může někdy spoléhat na podporu kódu, aby si byl vědom hierarchií mezipaměti a souvisejících zpoždění. Jedná se o kompromis, který umožňuje lepší výkon. Kromě toho je široce používán přímý přístup do paměti.

    Adresování a virtuální paměť

    DSPS často používá multitaskingové operační systémy, ale nemá podporu ani ochranu virtuální paměti. Operační systémy, které používají virtuální paměť, vyžadovat vícečas na přepínání mezi procesy, což zvyšuje latenci.

    • Modulo adresovací hardware
      • Umožňuje implementaci kruhových vyrovnávacích pamětí, aniž by bylo nutné testovat balení
    • Bitové zpětné adresování, zvláštním způsobem oslovování
    • Výjimka bloku správy paměti
    • Modul pro výpočet adresy paměti

    Příklady: TMS320Cхххх, ADSP-21XX

    Rýže. 1. Architektura procesorů rodiny ADSP-218x

    Funkce DSP

    Charakteristické vlastnosti DSP (DSP):

    • paměť s náhodným přístupem, paměť pouze pro čtení;
    • rozhraní sériové i paralelní;
    • schéma zpracování přerušení;
    • centrální řídicí bod je optimalizován pro opakující se matematické operace v reálném čase.

    Hlavní parametry DSP

    Hlavní parametry DSP:

    1. Aritmetický typ (pevná/plovoucí desetinná čárka).
    2. Bitová hloubka dat (pro pevnou/plovoucí - 16/32 bitů, v tomto pořadí).
    3. výkon.
    4. Frekvence hodin (interní a/nebo externí) a doba cyklu příkazu (čas pro provedení jednoho kroku příkazu).
    5. Počet příkazů provedených za jednotku času.
    6. Počet operací provedených za jednotku času (MIPS).
    7. Počet operací s pohyblivou řádovou čárkou provedených za jednotku času.
    8. Počet operací násobení a akumulace provedených za jednotku času.
    9. Typy (RAM a flash paměť) a velikost vnitřní paměti (kolik dat může DSP zpracovat bez přístupu externí paměť).
    10. Adresovatelné množství paměti.
    11. Počet a parametry vstupně-výstupních portů.
    12. Složení vnitřních přídavných zařízení (časovače, kompresory atd.).
    13. Napájecí napětí a spotřeba.
    14. Složení a funkčnost vývojových a podpůrných nástrojů.
    15. Seznam programovacích jazyků, pro které existují kompilátory pro tento systém;
    16. Dostupnost a možnosti ladicích nástrojů pro hotové programy;
    17. Dostupnost dokumentace a technické podpory;
    18. Dostupnost knihoven standardních rutin a matematických funkcí;
    19. Dostupnost, dostupnost a možnosti kompatibilních zařízení - ADC, DAC, regulátory výkonu atd.
    20. Přípustné parametry prostředí.
    21. Ostatní, v závislosti na destinaci.

    Aplikace

    Existuje několik oblastí použití DSP.

    Aplikace DSP:

    1. Komunikace (kódování informací a/nebo kanálové multiplexování (spektrální))
    2. Uznání něčeho
    3. Spektrální analyzátor (přístroj pro pozorování a měření relativního energetického rozložení elektrických (elektromagnetických) kmitů ve frekvenčním pásmu) atd.

    Často se jedná o oblasti, kde je nutné vysokorychlostní zpracování jakýchkoli signálů (informací).

    Příběh

    Než existovaly čipy DSP, bylo mnoho aplikací DSP implementováno pomocí sekčních mikroprocesorů. Oblíbený byl BS Chip (bitový modulární krystal) AMD 2901 se svou sadou komponent. AMD také vytvářelo podobné modely, nicméně charakteristické rysy konkrétního designu byly velmi často nalezeny. Tyto sekční architektury občas obsahovaly periferní multiplikační čip. Příklady těchto násobičů byly číslo od TRW, včetně TDC1008 a TDC1010, z nichž některé obsahovaly akumulátor, poskytující nezbytnou funkci multiply-accumulate (MAC).

    V roce 1976 Richard Wiggins představil koncept „Speak & Spell“ Paulu Bredlowovi, Larrymu Brantinghamovi a Gene Franzovi v Texas Instruments R&D Center v Dallasu. O dva roky později, v roce 1978, vytvořili první „Speak & Spell“, jehož technologickým jádrem byl TMS5100 jako první digitální signálový procesor v oboru. Vedl také k dalším fázím, protože byl prvním čipem, který používal lineární predikční kódování k provádění syntézy řeči.

    Na druhé straně Intel 1978. vyrobil "analogový signálový procesor" -2920. Zahrnoval převodník z analogového na digitální a naopak, na čipu s vestavěným signálovým procesorem, ale neměl hardwarový násobič a nebyl na trhu žádaný. V roce 1979 Společnost AMI vydala periferní zařízení pro zpracování dat-S2811. Byl navržen jako zařízení pro rozhraní mikroprocesoru s možností přizpůsobení majitelem. S2811 podobně nebyl na trhu žádaný.

    V roce 1980 byl implementován první samostatný procesor: DSP - NEC µPD7720 a AT&T DSP1 - byly představeny na MK (Mezinárodní konferenci) Solid State Circuits "80. Tyto dva procesory inspirovaly výzkum v oblasti telekomunikací PSTN.

    AltamiraDX1 je další raný DSP, který používá quad-integer pipelines se zpožděnými větvemi a predikcí větví.

    TMS32010, další DSP vyráběný společností Texas Instruments (TI), představený v roce 1983, byl velkým úspěchem. Byl založen na architektuře Harvardu, a tak obsahoval individuální výuka a datovou pamětí. Měl speciální příkazový systém s instrukcemi: zatížení akumulací nebo násobení akumulací. Věděl, jak pracovat s 16bitovými čísly a vynásobení tímto trvalo 390 ns. TI je nyní lídrem na trhu DSP pro všeobecné použití.

    Co je DSP?

    Digitální signálové procesory (DSP) přijímají předem digitalizované fyzické signály, jako je zvuk, video, teplota, tlak a poloha, a provádějí s nimi matematické manipulace. Vnitřní struktura digitálních signálových procesorů je speciálně navržena tak, aby to dokázaly matematické funkce jako „sčítání“, „odčítání“, „násobení“ a „dělení“.

    Signály musí být zpracovány tak, aby informace, které obsahují, mohly být graficky zobrazeny, analyzovány nebo převedeny na užitečný signál jiného typu. V reálném světě detekce signálů odpovídajících fyzikální jevy jako je zvuk, světlo, teplota nebo tlak, a jsou ovládány analogovými komponenty. Poté analogově-digitální převodník vezme aktuální signál a převede jej do digitálního formátu jako sekvenci nul a jedniček. Na tuto fázi do procesu vstupuje digitální signálový procesor, který sbírá digitalizované informace a zpracovává je. Poté odešle digitalizované informace zpět do reálného světa pro další použití. Vydávání informací se provádí jedním ze dvou způsobů - v digitálním nebo analogovém formátu. Ve druhém případě je digitalizovaný signál veden přes digitálně-analogový převodník. Všechny tyto akce jsou prováděny velmi vysokou rychlostí.

    Pro ilustraci tohoto konceptu zvažte následující blokové schéma, které ukazuje, jak se digitální signálový procesor používá v audio přehrávači MP3. Během fáze nahrávání vstupuje do systému analogový audio signál z přijímače nebo jiného zdroje. Tento analogový signál je převeden na digitální signál pomocí A/D převodníku a odeslán do digitálního signálového procesoru. DSP zakóduje do formátu MP3 a uloží soubor do paměti. Během fáze přehrávání je soubor načten z paměti, dekódován pomocí DSP a převeden digitálně-analogovým převodníkem zpět na analogový signál, který lze přehrát na reproduktoru. Ve složitějším příkladu může procesor digitálního signálu provádět další funkce, jako je ovládání hlasitosti, kompenzace frekvence a poskytování uživatelského rozhraní.

    Informace generované digitálním signálovým procesorem může počítač využít například k ovládání bezpečnostních systémů, telefonů, systémů domácího kina nebo komprese obrazu videa. Signály lze komprimovat (komprimovat) pro rychlejší a efektivnější přenos z jednoho místa na druhé (například v telekonferenčních systémech pro přenos hlasu a obrazu přes telefonní linky). Signály lze také dále zpracovávat, aby se zlepšila jejich kvalita nebo poskytly informace, které nejsou zpočátku lidskému vnímání dostupné (například v úlohách potlačení ozvěny v mobilních telefonech nebo zlepšení kvality obrazu v počítači). Fyzické signály mohou být také zpracovány v analogové formě, ale digitální zpracování poskytuje lepší kvalitu a výkon.

    Protože je digitální signálový procesor programovatelný, lze jej použít v široké řadě aplikací. Při vytváření projektu můžete napsat svůj vlastní software nebo použít software poskytovaný společností Analog Devices nebo třetími stranami.

    Více detailní informace O výhodách používání DSP v reálném zpracování signálu se můžete dozvědět v první části článku Digitální zpracování signálu 101 – Úvod do návrhu DSP s názvem „Proč potřebuji procesor digitálního signálu?“


    Co je uvnitř digitálního signálového procesoru (DSP)?

    Digitální signálový procesor obsahuje následující klíčové komponenty:

    • Paměť programu: Obsahuje programy, které procesor digitálního signálu používá ke zpracování dat
    • Datová paměť: Obsahuje informace ke zpracování
    • Výpočetní jádro: Provádí matematické zpracování přístupem k programu obsaženému v paměti programu ak datům obsaženým v paměti dat
    • I/O subsystém: Implementuje řadu funkcí pro propojení s vnějším světem

    Chcete-li získat podrobné informace o procesorech a přesných mikrokontrolérech Analog Devices, zveme vás k prostudování následujících zdrojů:

    Digitální zpracování signálu je komplexní téma a dokáže přemoci i ty nejzkušenější profesionály v oblasti DSP. Uvedli jsme zde pouze stručný přehled, ale Analog Devices nabízí také další zdroje pro další informace o digitálním zpracování signálu:

    • - přehled technologií a otázky praktické aplikace
    • Série článků v časopise Analog Dialogue: (v angličtině)
      • Část 1: Proč potřebujete digitální signálový procesor? Architektury digitálních signálových procesorů a výhody digitálního zpracování signálu oproti tradičním analogovým obvodům
      • Část 2: Další informace o digitálních filtrech
      • Část 3: Implementace algoritmů na hardwarové platformě
      • Část 4: Aspekty programování pro podporu I/O v reálném čase
    • : Často používaná slova a jejich význam

    Praktické školení v digitálních signálových procesorech je rychlé a efektivní způsob Seznamte se s používáním digitálních signálových procesorů Analog Devices. Poskytnou vám solidní praktické zkušenosti s analogovými zařízeními DSP prostřednictvím kurzu přednášek a praktických cvičení. Rozvrh a informace o registraci najdete na stránce Školení a rozvoj.

    Článek pojednává o hlavních parametrech digitálních signálových procesorů (DSP) a jejich vlivu na výběr vhodného čipu a také popisuje současný stav na trhu DSP.

    Při výběru bot chceme, aby byly módní, pohodlné a Vysoká kvalita Dáváme proto přednost známým značkám, těm firmám, které jsou již dobře známé a na trhu nejsou zdaleka poslední místa. Nyní se musíme rozhodnout: proč potřebujeme tyto boty? Pokud na ranní běh, pak je nakonec lepší koupit tenisky a na firemní večer boty. Co nosit na hory? V tomto případě potřebujete speciální pevnou obuv s tvrdou podrážkou - vibramy. Co je špatného na DSP? Při výběru digitálního signálového procesoru by nebylo špatné reprezentovat stávající trh DSP, znát hlavní výrobce a směry vývoje jimi vytvářených procesorů.

    DSP-procesory jsou určeny k provádění digitálního zpracování signálu - matematické manipulace s digitalizovanými signály. Jsou široce používány v bezdrátových systémech, zpracování zvuku a obrazu, řídicích systémech. S růstem počtu aplikací využívajících DSP a složitostí procesních algoritmů na ně rostou i požadavky na zvyšování výkonu a vybavení rozhraními a dalšími specializovanými uzly. K dnešnímu dni se objevilo mnoho typů DSP, jak univerzálních, tak zaměřených na poměrně úzký okruh úkolů.

    Žádný z procesorů přirozeně nemůže být vhodný pro všechny aplikace. Prvním úkolem vývojáře je tedy vybrat nejvhodnější procesor z hlediska výkonu, ceny, dostupnosti určitých periferií, spotřeby energie, jednoduchosti použití a dalších kritérií.

    Například pro přenosná zařízení, jako jsou mobilní telefony, přenosné digitální přehrávače, cena, stupeň integrace a spotřeba energie jsou prvořadé a maximální výkon často není potřeba (protože to obvykle znamená výrazné zvýšení spotřeby energie, aniž by to přineslo výhody při zpracování relativně nízkorychlostních zvukových dat).

    Přitom pro hydroakustické nebo radarové systémy jsou určujícími parametry rychlost provozu, dostupnost vysokorychlostních rozhraní a pohodlný vývojový systém, sekundárním kritériem je cena. Kromě toho má v mnoha případech smysl vzít v úvahu místo na trhu, které zaujímá dodavatel zpracovatele, protože. ne všichni výrobci vám mohou poskytnout řadu procesorů, které pokryjí všechny vaše potřeby. Současné rozdělení trhu mezi přední dodavatele (viz tabulka 1) ukazuje, že 4 společnosti na vrcholu seznamu dodávají více než 80 % všech DSP používaných na světě. Tyto společnosti jsou nejznámější ruský trh a jejich produkty jsou často zmiňovány.

    Tabulka 1. Hlavní výrobci DSP a jejich podíly na trhu

    Vedoucí společnosti na trhu Jméno společnosti DSP podíl na trhu
    1 Texas Instruments 54,3%
    2 Freescale Semiconductor 14,1%
    3 Analogová zařízení 8,0%
    4 Polovodiče Philips 7,5%
    5 Agere Systems 7,3%
    6 Toshiba 4,9%
    7 DSP Group 2,2%
    8 NEC Electronics 0,6%
    9 Fujitsu 0,4%
    10 Intersil 0,3%
    Ostatní společnosti 0,5%
    Celkový 100,0%

    Je třeba si uvědomit, že výrobci DSP při navrhování nových mikroobvodů je zcela jasně umisťují pro použití v různých aplikacích. To má dopad na jejich architekturu a na výkon a na vybavení procesoru tou či onou sadou periferních modulů. Tabulka 2 ukazuje umístění DSP z pohledu jejich tvůrců.

    Tabulka 2. Aplikace rodin signálových procesorů od různých výrobců

    Zpracování videa, video dohled, digitální kamery, 3D grafika TMS320DM64x/DaVinci, TMS320C64xx, TMS320C62xx (TI), PNX1300, PNX1500, PNX1700 (Philips), MPC52xx (Freescale)
    Zpracování zvuku, rozpoznávání řeči, syntéza zvuku TMS320C62xx, TMS320C67xx (TI), SHARC (analogová zařízení)
    Přenosná mediální zařízení TMS320C54xx, TMS320C55xx (TI), Blackfin (analogová zařízení)
    Bezdrátové sítě, telekomunikace, modemy, síťová zařízení TMS320C64xx, TMS320C54xx, TMS320C55xx (TI), MPC7xxx, MPC86xx, MPC8xx PowerQUICC I, MPC82xx PowerQUICC II, MPC83xx PowerQUICC II Pro, MPC85xx Freescale1 zařízení BlackQUIC3, PNACNAGER1 BlackQUICC, PNAC (Phi rty)
    Řízení pohonů, přeměna energie, automobilová elektronika, domácí potřeby, kancelářské vybavení TMS320C28xx, TMS320C24xx (TI), ADSP-21xx (analogová zařízení), MPC55xx, MPC55xx (Freescale)
    Medicína, biometrie, měřicí systémy TMS320C62xx, TMS320C67xx, TMS320C55xx, TMS320C28xx (TI), TigerSHARC, SHARC (analogová zařízení)

    Formát dat a bitová hloubka

    Jednou z hlavních charakteristik digitálních signálových procesorů je formát zpracovávaných dat. Všechny DSP pracují buď s celými čísly, nebo s čísly s pohyblivou řádovou čárkou, přičemž celá čísla mají šířku 16 nebo 32 bitů a bity s pohyblivou řádovou čárkou jsou 32. Při výběru datového formátu mějte na paměti následující: DSP s celočíselnými daty (nebo daty s pevnou řádovou čárkou) je obvykle levnější a poskytuje větší absolutní přesnost se stejnou bitovou hloubkou (protože všech 32 bitů je přiřazeno mantise v 32bitovém procesoru s pevnou řádovou čárkou a pouze 24 v procesoru s pohyblivou řádovou čárkou).

    Přitom dynamický rozsah signálů, se kterými mohou procesory pracovat bez zkreslení, je u procesorů s pevnou čárkou mnohem užší (o několik řádů). S relativně jednoduchými algoritmy zpracování to nemusí být důležité, protože Dynamický rozsah skutečných vstupních signálů je často menší než to, co umožňuje DSP, ale v některých případech může během provádění programu dojít k chybám přetečení. To vede k zásadně nevyhnutelnému nelineárnímu zkreslení výstupního signálu, podobnému zkreslení způsobenému ořezáváním v analogových obvodech.

    Proto je při výběru DSP nutné pečlivě analyzovat algoritmus zpracování a vstupní signály pro správnou volbu bitové hloubky a typu aritmetiky. Někdy, když není možné najít vhodný procesor s pohyblivou řádovou čárkou (kvůli jeho vyšší ceně nebo spotřebě energie), používá se DSP s pevnou řádovou čárkou a komprese dynamický rozsah zpracovávaných signálů (komprese), to však vede ke zvýšení složitosti algoritmu zpracování signálu a zvyšuje požadavky na výkon.

    Samozřejmě můžete na procesoru emulovat operace s plovoucí desetinnou čárkou s celočíselnou aritmetikou nebo přejít na zpracování dvouciferných čísel, ale to také značně komplikuje program a výrazně snižuje výkon.

    Přes všechna omezení většina vestavěných aplikací využívá procesory s pevnou čárkou kvůli nižší ceně a spotřebě energie. Zvýšení počtu bitů zvyšuje náklady, velikost matrice a počet požadovaných pinů procesoru a také množství požadované externí paměti. Proto mají vývojáři tendenci používat krystal s co nejnižší bitovou hloubkou.

    Stojí za zmínku, že bitová hloubka dat a bitová délka příkazů procesoru nejsou vždy ekvivalentní.

    Rychlost

    Klíčovým parametrem při výběru procesoru je rychlost. Ovlivňuje dobu zpracování vstupního signálu, a proto určuje jeho maximální frekvenci. Jednou z nejčastějších chyb vývojářů je identifikace taktovací frekvence a výkonu, která je ve většině případů chybná. Velmi často se rychlost DSP udává v MIPS (miliony instrukcí za sekundu). Toto je nejsnáze měřitelný parametr.

    Problém s porovnáváním rychlosti různých DSP je však v tom, že procesory mají různé systémy příkazy a provést stejný algoritmus různé procesory je vyžadován jiný počet těchto příkazů. Navíc někdy proto, aby různé týmy jeden procesor vyžaduje jiný počet hodinových cyklů. Výsledkem je, že procesor s rychlostí 1000 MIPS se může ukázat jako několikrát pomalejší než procesor s rychlostí 300 MIPS, zejména s různými bitovými hloubkami.

    Jedním z řešení tohoto problému je porovnat procesory na základě rychlosti, kterou jsou prováděny určité operace, jako jsou operace multiply-accumulate (MAC). Rychlost takových operací je kritická pro algoritmy, které používají digitální filtrování, korelace a Fourierovy transformace. Bohužel takový odhad také neposkytuje úplnou informaci o skutečné rychlosti procesoru.

    Nejpřesnější je odhad rychlosti provádění určitých algoritmů - například filtrování FIR a IIR, ale to vyžaduje vývoj vhodných programů a důkladnou analýzu výsledků testů.

    Existují společnosti zabývající se analýzou a porovnáváním procesorů z hlediska základních charakteristik včetně rychlosti. Lídrem mezi takovými společnostmi je BDTI - Berkeley Design Technology, Inc. (www.bdti.com). Jako příklad ukazuje obrázek 1 srovnání rychlosti moderních DSP od různých výrobců.

    Rýže. 1. Příklad porovnání výkonu různých DSP s pevným bodem

    Organizace paměti

    Organizace paměťového systému procesoru ovlivňuje výkon. To je způsobeno skutečností, že instrukce klíče DSP jsou multioperandové a jejich zrychlení vyžaduje současné čtení několika paměťových buněk. Například instrukce MAC vyžaduje současné čtení 2 operandů a samotnou instrukci tak, aby mohla být provedena v 1 cyklu. Toho je dosaženo různými metodami, včetně použití víceportové paměti, oddělení paměti programu a datové paměti (architektura Harvard), použití instrukční mezipaměti atd.

    Velikost požadované paměti je určena aplikací. Je třeba vzít v úvahu, že paměť zabudovaná v procesoru má obvykle mnohem vyšší rychlost než externí, nicméně zvýšení jejího objemu zvyšuje náklady a spotřebu DSP a omezené množství programové paměti neklesá. umožňují ukládání složitých algoritmů. Současně, pokud je tento objem dostatečný pro vaše účely, může přítomnost vestavěné paměti výrazně zjednodušit návrh jako celek a snížit jeho velikost, spotřebu energie a náklady.

    Většina DSP s pevným bodem používaných ve vestavěných aplikacích vyžaduje malé množství vnitřní paměti, obvykle 4 až 256 KB, a malé externí datové sběrnice.

    Současně DSP s pohyblivou řádovou čárkou obvykle zahrnují práci s velkými datovými poli a složitými algoritmy a mají buď velkou vestavěnou paměť, nebo velké adresové sběrnice pro připojení externí paměti (a někdy obojí). Volba typu a množství paměti by měla být opět výsledkem pečlivé analýzy aplikace, ve které je DSP použit.

    Jednoduchost vývoje aplikací

    Stupeň složitosti vývoje je určen aplikací. Zároveň je třeba mít na paměti, že větší pohodlí pro vývojáře (obvykle spojené s používáním jazyků na vysoké úrovni při programování DSP) má ve většině případů za následek méně kompaktní a rychlejší kód, což má za následek nutnost používat výkonnější a dražší DSP. Na druhou stranu v moderní podmínky rychlost vývoje (a tedy rychlost uvedení nového produktu na trh) může přinést více výhod než čas strávený optimalizací kódu při psaní programu v assembleru.

    Kromě toho je třeba mít na paměti, že neexistují žádné bezchybné programy, takže ladicí nástroje a schopnost opravovat programy v hotovém zařízení mají často prvořadý význam. Zároveň je při výběru DSP a vývojových nástrojů nutné vzít v úvahu některé vlastnosti procesorové architektury.

    Ti, kteří používají kompilátory z jazyků na vysoké úrovni (HLL), si někdy všimnou, že generují nejlepší kód pro procesory s pohyblivou řádovou čárkou. To se děje z několika důvodů: za prvé, většina jazyků na vysoké úrovni nativně nepodporuje aritmetiku s pevnou řádovou čárkou, za druhé instrukční sada DSP s pevnou řádovou čárkou je omezenější a za třetí procesory s plovoucí řádovou čárkou obvykle ukládají menší prostorová omezení. .použitá paměť.

    Nejlepších výsledků se dosáhne při kompilaci programů HLL pro procesory VLIW (procesory s extra dlouhým instrukčním slovem) s jednoduchým ortogonálním instrukčním systémem RISC a velkými soubory registrů. I pro tyto procesory je však kód generovaný kompilátorem pomalejší než ručně optimalizovaný kód assembleru. Na druhou stranu možnost nejprve simulovat proces zpracování signálu v programu jako je MathLab s dalším automatickým překladem do programu pro DSP vám umožňuje zbavit se mnoha závažných chyb v počáteční fázi vývoje.

    Ladění hotových programů lze provádět buď na hardwarovém emulátoru hotového systému, nebo na softwarovém simulátoru. Obvykle je ladění na simulátoru poněkud jednodušší z hlediska použitého hardwaru, ale neodhalí všechny možné chyby. Téměř všichni výrobci poskytují vývojářům jak simulátory, tak emulátory svých DSP. Téměř všechny moderní DSP podporují in-circuit emulaci podle standardu IEEE 1149.1 JTAG. Při použití technologie JTAG přecházíme od emulace CPU externím zařízením k přímému ovládání CPU během provádění programu, což nám umožňuje výrazně zvýšit míru shody rozložení se skutečným zařízením a tím zvýšit spolehlivost zařízení. proces ladění.

    Kromě emulátorů nabízejí výrobci širokou škálu tzv. „starter kitů“ a „evaluation modulů“, se kterými můžete okamžitě začít vyvíjet aplikaci, aniž byste čekali na prototyp vyvíjeného zařízení. V některých aplikacích lze navíc tyto vývojové nástroje použít jako koncová zařízení.

    Spotřeba energie

    DSP jsou široce používány v mobilních zařízeních, kde je klíčovou charakteristikou spotřeba energie. Ke snížení spotřeby energie se používá mnoho metod, včetně snížení napájecího napětí a zavedení funkcí správy napájení, jako je dynamická změna frekvence hodin, přepnutí do režimu spánku nebo pohotovostního režimu nebo vypnutí nepoužívaného tento moment obvod. Nutno podotknout, že tato opatření mají značný vliv na rychlost procesoru a při nesprávném použití mohou vést k nefunkčnosti navrženého zařízení (např. některé mobilní telefony se někdy mohou přestat zapínat v důsledku chyb v programy řízení spotřeby) nebo ke zhoršení jeho provozních charakteristik (například značná doba zotavení při ukončení režimu spánku).

    Odhad spotřeby energie není snadný úkol, protože tato hodnota se liší v závislosti na úkolech prováděných procesorem. Bohužel většina výrobců zveřejňuje pouze „typickou“ a „maximální“ spotřebu a ne vždy je jasné, co je těmito definicemi míněno. Výjimkou je Texas Instruments, který uvádí spotřebu energie na základě typu instrukce a konfigurace procesoru.

    Cena

    Cena procesoru je nepochybně určujícím faktorem při výběru DSP, zejména u velkých objemů výroby. Obvykle mají vývojáři tendenci volit nejlevnější procesor, je však třeba mít na paměti, že to může vést ke značným nákladům na přepracování zařízení, pokud zvolený procesor z nějakého důvodu neumožňuje dosáhnout požadované vlastnosti. Při výběru procesoru na základě nákladového kritéria je navíc nutné vzít v úvahu náklady na externí komponenty (například DSP s dostatečnou vestavěnou pamětí je dražší než podobný bez vestavěné paměti, ale cena zařízení na něm založeného jako celku může být kvůli nedostatku dalších komponent výrazně nižší a menší tištěný spoj). Velmi významným faktorem ovlivňujícím cenu DSP je typ jeho pouzdra: IO v keramických pouzdrech navržených pro průmyslové nebo speciální provozní podmínky jsou mnohem dražší než stejné IO pracující v komerčním teplotním rozsahu. A nakonec cena procesoru velmi závisí na objemu a pravidelnosti dodávek.

    Metodika výběru procesoru

    Jak bylo ukázáno dříve, správná volba DSP je vysoce závislý na aplikaci: procesor může být vhodný pro některé aplikace, ale zcela nevhodný pro jiné. Při výběru procesoru je třeba určit nejdůležitější in konkrétní případ vlastnosti a seřadit je podle důležitosti. Poté v souladu s těmito kritérii vyberte možné kandidáty a nakonec z vhodných vyberte toho nejlepšího, přičemž věnujte pozornost dalším, nekritickým charakteristikám. V tomto případě je vhodné využít posouzení vlastností procesorů vyráběných nějakou renomovanou firmou (například BTDI). Je třeba si uvědomit, že BTDI vyhodnocuje DSP nejen podle rychlosti, ale také podle dalších kritérií: účinnost paměti, spotřeba energie atd.

    Například pro implementaci aplikace je pro nás důležitá především rychlost, cena, efektivita paměti a spotřeba. Identifikovali jsme nejlepší uchazeče, včetně C64x a C64x+ DSP od Texas Instruments a TigerSHARC od Analog Devices. Obrázek 2 ukazuje graf srovnávací charakteristiky těchto procesorů podle kritérií rychlosti, ceny, spotřeby energie a pohodlí vývojových nástrojů.


    Rýže. 2. Diagram pro výběr DSP

    Nyní priority. Pokud nejprve potřebujeme vysoká rychlost a nízkou cenu, volíme Texas Instruments. Pokud navrhujeme mobilní zařízení a potřebujeme nízkou spotřebu energie a jsme připraveni obětovat rychlost, vezmeme Analogová zařízení. Je možné, že si vybrané procesory budou v klíčových parametrech velmi blízké. V tomto případě bude volba určena nekritickými charakteristikami: dostupnost ladicích nástrojů, předchozí zkušenosti vývojáře, dostupnost komponent atd.

    Pečlivý výběr DSP v rané fázi vývojového procesu může pomoci eliminovat režii spojenou s výběrem špatného DSP a zkrátit jak celkovou dobu vývoje, tak čas a náklady na odstraňování problémů.

    Literatura

    1. Jeff Bier, Choosing a Processor: Benchmarks and Beyond (S043), Berkeley, Kalifornie: Berkeley Design Technology, Inc., USA, 2006.
    2. Výběr procesoru DSP, Berkeley, Kalifornie: Berkeley Design Technology, Inc., USA, 2000.

    Dnes, v polovině osmdesátých let populární mezi elektrotechniky, jsou řeči o míře zaostávání za sovětskou elektronikou od té západní již zapomenuty. Poté posuzovali stupeň rozvoje elektroniky podle vývoje procesorů pro osobní počítače. „Železná opona“ dělala svou práci, ani jsme si tehdy nedokázali představit, že sovětská elektronika zaostává za západní ne o rok nebo dva, ale navždy.

    Běžní sovětští inženýři, kteří nebyli vpuštěni na největší světové odborné semináře o elektronice a nebyli zasvěceni do tajů zkoumaných KGB, mohli před deseti lety posoudit vývoj elektroniky podle programu Vremja a hollywoodských filmů. Po nadšení z elektronických vychytávek Jamese Bonda došlo k závěru, že: to všechno jsou speciální efekty kina; vše je vytvořeno na specializovaných mikroprocesorech (nikdy nebylo specifikováno na jakých); a že "my, kde je to nutné a kdo potřebuje mít věci a chladič." Po takových promyšlených závěrech sovětští inženýři s novým tvůrčím impulsem ve svých výzkumných ústavech pokračovali ve vytváření mistrovských děl na 155 TTL mikroobvodech nebo, nejblíže vojensko-průmyslovému komplexu, na 133. sérii.

    Ke své hanbě musím přiznat, že jsem také zhruba do poloviny devadesátých let naznačoval, že specializované procesory jsou něco naprosto složitého a nepředstavitelného. Ale doba se naštěstí změnila a první specializované procesory, se kterými jsem se měl možnost setkat, byly digitální signálové procesory neboli signálové procesory (DSP, DSP - Digital Signal Processor).

    Signálové procesory vznikly jako výsledek rozvoje digitálních technologií, které se stále více zaváděly do tradičních „analogových“ aplikací: rádiová a drátová komunikace, video a audio technika, měření a Spotřebiče. Vytvoření specializovaných procesorů pro zpracování signálu vyžaduje a čistě digitální zařízení: modemy, diskové jednotky, systémy zpracování dat atd. Hlavním rozlišovacím znakem DSP od běžných mikroprocesorů je jejich maximální vhodnost pro řešení problémů digitálního zpracování signálu. Jedná se o „specializované“ regulátory, jejichž specializace spočívá v takové architektuře a příkazovém systému, který by umožňoval optimálně provádět operace převodu signálu a filtrování v reálném čase. Běžné mikrokontroléry mají instrukce, které takové operace provádějí, nebo nejsou poskytovány vůbec, nebo jejich práce je velmi pomalá, což znemožňuje jejich použití v procesech kritických z hlediska rychlosti. Využití tradičních mikroprocesorů proto vedlo na jedné straně k neopodstatněným komplikacím a zdražení obvodového návrhu zařízení a na druhé straně k neefektivnímu jednostrannému využívání možností regulátoru. DSP byli vyzváni, aby tento rozpor vyřešili a svou práci zvládli obdivuhodně.

    Signální procesory se objevily na počátku 80. let. První široce známý signálový procesor byl TMS32010 DSP, vydaný v roce 1982 společností Texas Instruments, s výkonem několika MIPS (milionů instrukcí za sekundu), vytvořený pomocí 1,2 mikronové technologie. Po Texas Instruments začaly DSP vyrábět další společnosti. Aktuálně je Texas Instruments lídrem ve výrobě DSP, vlastní zhruba polovinu trhu s těmito ovladači. Druhým největším výrobcem DSP je Lucent Technologies, která vyrábí zhruba třetinu těchto zařízení. První čtyři završují Analog Devices a Motorola, které mají přibližně stejný podíl na trhu a společně vyrábějí asi čtvrtinu všech DSP. Zbývající výrobci, i když mezi nimi jsou tak známé společnosti jako Samsung, Zilog, Atmel a další, tvoří zbývajících 5-6 procent trhu signálových procesorů.

    Je zřejmé, že trendsettery mezi výrobci jsou přední společnosti v této oblasti a především Texas Instruments. Politika předních společností ve výrobě a propagaci signálových procesorů se výrazně liší.

    Texas Instruments si klade za cíl vyrábět co nejširší sortiment, schopný pokrýt všechny možné aplikace procesorů s rostoucím výkonem. V současnosti dosahuje výkon signálových procesorů až 8800 MIPS a jsou vyráběny technologií od 0,65 mikronu do 0,1 mikronu. Taktovací frekvence dosahuje 1,1 GHz.

    Lucent Technologies se zaměřuje na významné výrobce koncových zařízení a nabízí své produkty prostřednictvím distribuční sítě, aniž by se uchylovala k široké reklamní kampani. Společnost se specializuje na DSP pro telekomunikační zařízení, zejména v tak slibném směru, jako je vytváření celulárních komunikačních stanic.

    Analog Devices naopak vede aktivní marketingovou a reklamní kampaň, o čemž svědčí alespoň zkratka v názvu DSP této společnosti SHARK a Tiger SHARK (shark and tiger shark). V technické oblasti jsou procesory této společnosti optimalizovány pro spotřebu energie a pro budování víceprocesorových systémů.

    Motorola distribuuje své procesory prostřednictvím své rozsáhlé distribuční sítě. V architektuře DSP se Motorola jako první vydala cestou vytvoření na stejném čipu jak signálového procesoru, tak klasického mikrokontroléru, které fungují jako jeden systém, což značně zjednodušuje život vývojářům zařízení, zjednodušuje návrh obvodu.

    Architektura a výrobní technologie DSP jsou již poměrně dobře vyvinuty, nicméně požadavky na stabilitu a přesnost výpočtů DSP vedou k tomu, že se nelze zbavit vysoké složitosti funkčních zařízení, která provádějí zpracování dat (zejména ve formátu s pohyblivou řádovou čárkou), což neumožňuje výrazně snížit náklady.při výrobě procesorů. Cena DSP se může pohybovat od 2 do 180 nebo více dolarů za jednotku.

    Charakteristika DSP procesorů

    Signálové procesory se vyznačují vysokorychlostní aritmetikou, přenosem a příjmem dat v reálném čase a architekturou paměti s vícenásobným přístupem.

    Jakákoli aritmetická operace v procesu provádění vyžaduje následující základní operace: výběr operandů; provádět sčítání nebo násobení; uložte výsledek nebo jej opakujte. Proces výpočtu navíc vyžaduje zpoždění, načítání hodnot z po sobě jdoucích paměťových buněk a kopírování dat z paměti do paměti. U signálových procesorů je zvýšení rychlosti aritmetických operací dosaženo díky: paralelnímu provádění akcí, vícenásobnému přístupu do paměti (výběr dvou operandů a uložení výsledku), přítomnosti velkého počtu registrů pro dočasné ukládání dat, hardwaru implementace speciálních funkcí: implementace zpoždění, násobiče, kruhové adresování atd. Signálové procesory také implementují hardwarovou podporu pro programové cykly, kruhové vyrovnávací paměti a schopnost získat několik operandů z paměti současně v cyklu provádění instrukce.

    Hlavní výhodou a rozdílem mezi DSP a univerzálními mikroprocesory je to, že procesor komunikuje s mnoha zdroji dat v reálném světě. Procesor může přijímat a vysílat data v reálném čase bez přerušení provádění vnitřních matematických operací. Pro tyto účely jsou přímo v čipu zabudovány analogově-digitální a digitálně-analogové převodníky, generátory, dekodéry a další zařízení pro přímou "komunikaci" s okolním světem.

    Konstrukce paměti s vícenásobným přístupem je dosažena především využitím Harvardské architektury. Harvardská architektura označuje architekturu, která má dvě fyzicky oddělené datové sběrnice, což umožňuje dva přístupy do paměti současně. Ale k provádění operací DSP to samo o sobě nestačí, zvláště při použití dvou operandů v instrukci. Proto je k harvardské architektuře přidána mezipaměť pro uložení těch instrukcí, které budou znovu použity. Při použití vyrovnávací paměti zůstávají adresová a datová sběrnice volné, což umožňuje načíst dva operandy. Takové rozšíření – Harvard architecture plus cache – se nazývá rozšířená Harvardská architektura nebo SHARC (Super Harvard ARChitecture).

    Zvážíme specifické vlastnosti DSP na rodině DSP568xx Motorola, které kombinují vlastnosti digitálních signálových procesorů a univerzálních mikrokontrolérů.

    Jádro DSP56800 je programovatelný 16bitový CMOS procesor určený pro digitální zpracování signálu a výpočetní úlohy v reálném čase a skládá se ze čtyř funkčních jednotek: řízení, generování adres, ALU, bitové zpracování. Pro zvýšení výkonu jsou operace v zařízeních prováděny paralelně. Každé ze zařízení může fungovat nezávisle a současně s ostatními třemi, protože. má vlastní sadu registrů a řídicí logiku. Jádro implementuje současné provádění několika akcí: řídicí zařízení vybere první instrukci, generátor adres vygeneruje jejich adresy druhé instrukce a ALU provede násobení třetí instrukce. Kombinované převody a operace jsou široce používány.

    Vestavěná paměť může obsahovat (pro rodinu):

    Flash programová paměť až 60K

    Flash data až do 8K

    RAM programy až do 2K

    Datová RAM až 4K

    2K spouštěcí program Flash

    Na mikročipech řady je implementováno velké množství periferních zařízení: PWM generátory, 12bitové ADC se simultánním vzorkováním, kvadraturní dekodéry, čtyřkanálové časovače, řadiče rozhraní CAN, dvouvodičová sériová komunikační rozhraní, sériová rozhraní, programovatelný PLL generátor pro generování taktovací frekvence jádra DSP atd.

    Obecná charakteristika

    40 MIPS výkon při 80 MHz, napájecí napětí 2,7:3,6 V;

    Jednocyklový paralelní multiplikátor-sčítačka 16x16;

    Dva 36bitové akumulátory včetně rozšiřujících bitů;

    Jednostranný 16bitový cyklický posuvník;

    Hardwarová implementace příkazů DO a REP;

    Tři interní 16bitové datové sběrnice a tři 16bitové adresové sběrnice;

    Jedna 16bitová externí sběrnice rozhraní;

    Zásobník podprogramů a přerušení, který nemá žádné omezení hloubky.

    Čipy řady DSP568xx jsou určeny pro použití v levných zařízeních, domácích spotřebičích, které vyžadují nízkou cenu a nevyžadují ultravysoké parametry: drátové a bezdrátové modemy, systémy bezdrátový přenos digitální zasílání zpráv, digitální telefonní záznamníky, digitální fotoaparáty, jednoúčelové a víceúčelové ovladače, ovladače servomotorů a střídavých motorů.

    Obecně platí, že signálové procesory již dosáhly takové fáze svého vývoje, že je lze použít v zařízeních od vesmírných stanic až po dětské hračky.

    Jak nečekané může být použití signálových procesorů, jsem se musel přesvědčit nedávno právě na příkladu hračky. Jednou se na mě obrátil můj přítel a požádal mě, abych opravil mluvící panenku, kterou jeho němečtí přátelé dali jeho dceři. Panenka byla opravdu úžasná, podle kamarádky rozuměla až padesáti frázím a "vědomě" udržovala konverzaci. V Německu to stálo sto padesát marek, což mě vedlo k tomu, že rodiče litují rozbití panenky víc než jejich dítě. Dcera panenku tak milovala, zvláště proto, že než oněměla, mluvila německy. Bez jakékoli naděje na úspěch jsem se pustil do opravy této panenky. Pilníkem jsem odpiloval epoxidovou pryskyřici, kterou byl obvod naplněn, a pod silnou, silnou vrstvou epoxidu jsem našel půl tuctu balíčků mikroobvodů, z nichž ústřední byl DSP pro DSP56F ... poslední čísla byla bohužel nenávratně smazána. Nebylo možné přimět panenku mluvit, a bohužel jsem nezjistil, kolik inteligence jí signálový procesor přidal. Jak se později ukázalo, nejstarší syn mých známých, aby panenka křičela hlasitěji, k ní nejprve připojil napětí místo 3V, 4,5V, což ještě nebylo „smrtící“, a přestože hračka sípala, křičel, ale po 220v ... . Proto první závěr špičková technologie dobré, ale ne vždy a ne všude. Druhým závěrem je, že brzy snad budeme moci vidět DSP v kuchyňském náčiní, obuvi a oblečení, alespoň v tom neexistují žádné technické překážky.


    Zatímco celé progresivní (čti - PC závislé) lidstvo ustrnulo ve vleklém čekání na Merced a další výstřední, slibující dosud bezprecedentní výkonnostní ukazatele procesorů, malá, ale přehnaně zvědavá část nezodpovědných jedinců vytrvale hledá způsoby, jak získat supervýkon. počítače dnes. Individualismus tohoto „partizánského hnutí“ samozřejmě znamená velmi skromné ​​finanční prostředky, což vylučuje popularitu v „partizánském prostředí“ ještě ne zcela zrozeného, ​​ale již příliš drahého Mercedu. Výkonové vášně jsou živeny zpožděním uvedení slibné Sony Playstation II, celkovým snížením ceny klonových procesorů RISC 64bitové rodiny MIPS a konečně již zřetelnou krizí architektury IBM PC. V této situaci působí nenápadnost rozsáhlé rodiny levných vysoce výkonných mikroprocesorů, nazývaných DSP, umístěných samostatně v procesorové „tabulce pořadí“ více než podivně. Zástupci „DSP-klanu“ v oblasti procesorové architektury koncentrují ta nejlepší (v daleké budoucnosti očekávaná u „desktopových“ CPU) řešení a z hlediska poměru „spotřeba / výkon“ (miliwatty / MIPS) se obecně zdají být skutečnými „mimozemšťany“.

    DSP a DSP jsou různé pojmy

    Inženýrská angličtina je nevyčerpatelnou studnicí „zkoušek“ mezi vášnivými milovníky zkratek. Výjimkou není ani terminologie související s předmětem naší diskuse, pokusím se proto čtenáře ihned ušetřit případných „nástrah“. Digital Signal Processing (DSP) - digitální zpracování signálu - obrovská interdisciplinární vědní oblast, která se nachází "na křižovatce" více než tuctu nejsložitějších vědeckých směrů. Procesor digitálního signálu (Digital Signal Processor - DSP), předmět naší diskuse, je „všednější“ koncept, ale bohužel je „reifikací“ vývoje v oblasti digitálního zpracování signálu. Proto se nelze obejít bez předběžného seznámení s hlavními ustanoveními této vědy.

    Je snadné vidět, že obě zkratky zahrnují výraz „signál“. To, co se stalo se slovem „signál“, se obvykle děje s módními výrazy – každý je používá, ale nikdo se nezamýšlí nad jejich významem. Signál bude v budoucnu chápán jako informace nesoucí změny něčeho - v elektrickém napětí, tlaku plynu (například vzduchu) nebo kapaliny, v elektromagnetickém poli. Tato definice již vysvětluje nejdůležitější charakteristický rys DSP, ale o tom trochu později.

    Další zdvojení je pozorováno u slov „digitální“ a „digitální“, což v kombinaci se „signálem“ naznačuje, že informace obsažené ve změnách již zmíněného „něčeho“ jsou prezentovány v digitální podobě.

    A konečně „zpracování“ a „procesor“ (neboli v ruštině „procesor“): s těmito informacemi se provádí určitá posloupnost akcí, které sledují dosažení určitých cílů.

    Nyní lze vzhled DSP považovat za zcela definitivní: je to nějaký druh digitálu elektronické zařízení, zaměřené na aktivní interakci s reálným světem (ve kterém jsou přítomny signály) a navržené k dosažení specifikovaných cílů na základě informací obsažených v signálech.

    "Takže toto je koneckonců každý běžný mikroprocesor, který lze nazvat DSP," říkáte. Tímto způsobem určitě ne. Nesouměřitelnost časových „měřítek“ reálného světa (pro který jsou DSP určeny) a lidské trpělivosti či reakce (v nejvýjimečnějších případech je to méně než 0,05 s, což „uvolňuje ruce“ konstruktérům univerzálních mikroprocesorů a operační systémy) - taková "malá" nuance vede k obrovskému "oddělení" v architekturách, výkonnostních ukazatelích a aplikacích zástupců dvou paralelních DSP/CPU světů.

    A co PC?

    Existuje totiž specifická třída úloh (souvisejících s realitou kolem nás), existují nástroje, které řešení těchto úloh usnadňují (DSP). To vše má na první pohled velmi vzdálený vztah k osobním počítačům a DSP přítomné v PC subsystémech (například ve zvukové kartě nebo modemu) plní vysoce specializované funkce. Ve skutečnosti to tak je, dokud naše PC vypadají jako slušné krabice, „hoří“ za sto wattů a nám to zatím vyhovuje ...

    Časy se ale mění – počítače jsou stále menší, už se vejdou do dlaně. Ať jsou to dnes jen hračky - všechny tyto nepříliš pohodlné sešity pro "podnikatele" a absolutně nepohodlné (přesněji nemotorné) textové editory s perem - ale hračky jsou již NOSITELNÉ! Zvykáme si na ně, přestáváme si jich všímat a přes všechny nepříjemnosti využíváme jejich schopností v běžném životě. Jinými slovy, na totální „malou“ informatizaci domácností jsme již připraveni, ale počítače ještě ne (proto všechny ty nepříjemnosti s palmtopy a PDA). Nedostupnost počítačů nesouvisí ani s nízkým stupněm integrace v nich použitých mikroobvodů, ani s nízkým výkonem, ani s vysokou spotřebou energie. Hlavním důvodem této nedostupnosti je tzv. „chyba nejvyšší úroveň", pevně zakořeněné v myslích vývojářů: z nějakého důvodu všichni zapomněli, že nositelný počítač se stává "součástí" svého nosiče a "žije" s ním ve SKUTEČNÉM OKOLÍCÍM SVĚTĚ! Nyní se zjevně nabízí jeden jediný závěr, což je odpověď na otázku o "zapojení PC": protože DSP se zaměřují na zpracování signálů skutečného světa a nositelné osobní počítače "žijí" v reálném světě, pak ... Je to tak! Skutečný PERSONAL ( na základě příslušnosti k „osobě“, a nikoli jako proprietární) počítače by měly být založeny na DSP, nikoli na procesoru pro všeobecné použití.

    To nemůže být

    "...protože specializované procesory nesplňují požadavky moderního softwaru," budete někoho citovat. Je docela možné, že moderní software stále vyžaduje úsilí o mírovou koexistenci programů v chráněném (32bitovém) režimu a 16bitového BIOSu (základní vstupně/výstupní systém) počítače s architekturou IBM PC, a právě proto požadavky na skutečnou nekompatibilitu mezi „kompatibilními“ procesory (vzpomeňte si na všechna možná rozšíření příkazového systému od Intelu a AMD), a nakonec se kvůli „modernosti“ pevně zapomnělo na takovou drobnost, jako je softwarová mobilita, která uzavírá začarovaný kruh: "nedokonalost platformy - závislost na softwarové platformě - vylepšení platformy na novou úroveň nedokonalosti - ještě větší závislost softwaru na platformě - ... ".

    Ve skutečnosti jsou moderní DSP přizpůsobeny k práci pod kontrolou multitaskingových operačních systémů v reálném čase a k vytváření výkonných 3D akcelerátorů a ke zpracování audio/video informací v reálném čase a bůhví k čemu. Posuďte sami: 32bitové DSP řady Texas Instruments TMS320C6700 dokážou vymlátit digitální reprezentaci signálů (nebo jednoduše násobit matice 4x4 v úlohách 3D vizualizace) rychlostí 1 GFLOPS při více než skromné ​​hodinové frekvenci 167 MHz a ceně v malých dávkách až 250 USD , a úžasné a levné DSP SHARC (Analog Devices) za 10 $ (ve velkých sériích) „přebírá laťku“ 150 MFLOPS, přičemž spotřebuje pouze ... 0,3 V.

    Čísla, fakta, historie

    Ještě jednou se pokusím bránit proti případným nařčením z „vypuknutí“ přednosti vysoce specializované technologie, která nikoho nezajímá. Stav trhu s polovodiči – nejlepší ukazatel perspektiv konkrétní technologie – svědčí o stále rostoucí oblibě DSP: například v roce 1998 na pozadí celkového 10% poklesu prodeje všeho spadajícího do v kategorii "semiconductor" vzrostl trh s univerzálními programovatelnými DSP o 9 % (na úroveň 4 miliard dolarů) a vysoce specializovaný - o 15 % (5,3 miliardy). Proto lze oblibu DSP považovat za prokázanou. Zároveň s přihlédnutím ke zvláštnostem DSP lze také sebevědomě hovořit o jasném projevu konečně „zdravého“ trendu ve výpočetní technice: aktivního uvádění do reálného světa kolem (jinak proč DSP?).

    Pokud je informací o stavu trhů více než dost, pak je historie DSP předmětem hodný samostatného studia. V divočině internetu však něco najdete: titul jednoho z nejvzdálenějších předků moderních DSP si právem zaslouží mikroprocesor 8×300, který upadl v zapomnění, vyvinutý společností SMS (která později prodala 8×300 jinému , známější společnost, Signetics). 8×300, který se objevil v roce 1978, byl téměř okamžitě zapomenut a Intel se v roce 1979 rozhodl připojit k „DSP hrám“, aby jej nahradil. Na svou dobu byl Intel 2920 DSP úžasným zařízením, které na jediném čipu kombinuje analogově-digitální převodník (ADC), specializovaný mikroprocesor a DAC (digitální-analogový převodník). Ve skutečnosti z pohledu vývojového inženýra 2920 vypadala jako nějaké analogové zařízení s libovolně nastavenými vlastnostmi. DSP by byl velmi úspěšný, nebýt jednoho „ale“: DSP od Intelu se ukázalo být příliš pomalé (provedení „nejrychlejších“ příkazů trvalo 0,9 µs při maximální taktovací frekvenci 2920, což ve skutečnosti vylučovalo možnost jeho použití v jakýchkoli reálných úkolech). Extrémně špatný výkon způsobil, že 2920 „zemře, než se narodil“ a tato smutná zkušenost dala Intelu na dlouhou dobu zapomenout na vývoj DSP.

    Po Intelu se na trh DSP vrhly Lucent Technologies a NEC a v roce 1980 představily první programovatelný DSP. Na tomto historickém pozadí se zdá stěží postřehnutelné, že v roce 1978 Texas Instruments vyráběl čipy pro hračky „Speak & Spell“ („mluv a poslouchej“) ve velkém množství. Při bližším zkoumání se ukazuje, že společnost Texas Instruments byla před všemi tím, že zahájila masovou výrobu prvních specializovaných DSP ve velkém měřítku. Následně v roce 1982 společnost Texas Instruments (TI) oznámila svůj první univerzální programovatelný DSP TMS32010, jehož architektura se stala absolutním trendem na trhu digitálního zpracování signálu a TI sama se stala obdobou Intelu ve světě PC procesorů. Dnes je seznam jmen výrobců různých DSP těžko vyčíslitelný, odborníci mají více než 300 (!) unikátních architektur implementovaných „v křemíku“, a i když Intel na trh DSP na dlouhou dobu zapomněl, oznámil plány na společné vyvinout novou generaci DSP s analogovými zařízeními.

    architektonický vývoj

    Množství architektur DSP je schopno ochladit jakoukoli perzistenci, ale ... Všechny DSP musí vzhledem ke svým specifikům splňovat stejné požadavky. Vlastnosti procesorů charakteristické pro úlohy zpracování signálů lze jen těžko označit za jedinečné: je zde potřeba velmi rychlá aritmetika (a kde není potřeba?), vysoká rychlost výměny procesoru s externími zařízeními, která převádějí signály z okolního světa na elektrický reprezentace a konečně velká šířka pásma paměti subsystému. Ve skutečnosti tedy tyto požadavky nejsou příliš specifické – to je přesně to, co od našich PC požadujeme, zvýšení frekvence systémové sběrnice, vylepšení periferních rozhraní (například přechod z PCI na PCI 2) a instalace paměťových modulů SDRAM.

    Jiná věc je, že algoritmy zpracování signálů mají určitou obecnost, a proto bylo nutné soustředit úsilí konstruktérů a architektů DSP na efektivní řešení řady konkrétních problémů. Primitivní operace sčítání a násobení dvou číselných operandů, indexování datových polí a zpoždění jsou považovány za zásadní pro digitální zpracování. Aritmetická podskupina v tomto seznamu (sčítání a násobení) je zcela zřejmá: k provedení odpovídající operace musíte někde vzít dva operandy, provést na nich nezbytnou operaci s výsledkem umístěným v dočasném „úložišti“ a poté zapsat výsledek z tohoto „úložiště“ na určité místo (buňku paměť s náhodným přístupem nebo registr procesoru). U adresních operací (indexování datových polí) je situace složitější: DSP musí být schopen velmi rychle vybrat data ze sekvenčních polí a provést instrukci kopírování z paměti do paměti, která je u RISC (a CISC) procesorů vzácná. Zpožděný provoz i přes „hrozný“ nemikroprocesorový název znamená pouze velmi rychlé „schování“ dat pro pozdější použití.

    Obecně nebude velkou chybou tvrdit, že všechny architektonické inovace a zdánlivé „excesy“ moderních DSP odrážejí touhu designérů dosáhnout vysoké efektivity těchto čtyř základních operací.

    Pro urychlení aritmetických výpočtů používá DSP několik aritmetických logických jednotek (ALU) pracujících „paralelně“, což v případě „mazaně“ uspořádané paměti vnitřního registru umožňuje zadávat do příkazového systému DSP velmi zajímavé instrukce, přeloženo do lidské řeči, což znamená přibližně toto: "vynásobte obsah registru 1 obsahem registru 2 a přidejte výsledek násobení obsahem registru 3". A to vše je jeden příkaz, prováděný v jednom hodinovém cyklu. Na obdiv je příliš brzy: operace multiplikace-akumulace (tak se nazývá podobný seznam akcí) je klasikou digitálního zpracování signálu a hardware, který ji implementuje, postupně proniká do procesorů, které byly v poslední době považovány za univerzální, primárně RISC architektury, zejména do mnoha klonů MIPS.

    Efektivní implementace operace zpoždění vyžaduje, aby dobrý DSP měl mnoho vnitřních registrů (v zásadě čím více, tím lépe), v takovém případě je snadné najít jednu z neobsazených buněk registru pro "skrytí" dat. Kromě toho lze vysoké rychlosti této operace dosáhnout pouze pomocí dobrých architektonických řešení, jako je úspěšná logická organizace pole registrů DSP. V našem kontextu se tato vlastnost DSP také zdá velmi atraktivní - množství interních registrů a jejich logická organizace výrazně zjednodušují vývoj kompilátorů z jazyků na vysoké úrovni (což je mimochodem potvrzeno praxí - na Texas Instruments ftp stránkách najdete velmi zdařilé modifikace známého C kompilátoru gcc , který generuje kód pro DSP rodiny TMS).

    Nejsložitější operaci - indexování datových polí - DSP vděčí za svou jedinečnost. Množství registrů a rychlá aritmetika jsou charakteristické například pro procesory RISC (a také mnoho CISC). Ale "stroj" pro generování adres přidělených samostatnému subsystému procesoru je to pravé, co dává DSP specifičnost, ale v žádném případě neomezuje jejich rozsah. Právě naopak - jediný registr programového čítače u běžných procesorů nemůže v zásadě převyšovat výkon celého subsystému. Účinnost generátoru adres je jedna z nejvyšších důležité ukazatele, které určují efektivitu celého DSP jako celku. Téměř ve všech DSP pracují generátory adres "transparentně" pro všechny ostatní procesorové subsystémy, tedy nezabírají strojový čas a nevyžadují pozastavení základních operací. Navíc díky použití generátoru adres se DSP vyznačují velmi pokročilými metodami adresování (pro ty, kteří znají programovací jazyk C, je bohatý na triky s ukazateli, každý DSP obsahuje strojové instrukce, které implementují téměř všechny možné operace s adresami tohoto jazyka).

    Pokud si vzpomeneme na zvýšené požadavky DSP na rychlost výměny s externími zařízeními, pak v každém konkrétním procesoru najdete výsledky seriózního návrhářského úsilí. Především se jedná o vysokorychlostní sériové I/O kanály. Nízká cena rozhraní v kombinaci s dostatečnou šířkou pásma pro reálné aplikace (například 40 Mbps) i přes jejich jednoduchost uspokojí téměř všechny potenciální potřeby vývojářů. Pro rozšíření možností konkrétních procesorů se používají jako synchronní (třívodičové: hodinová frekvence, data a hodiny) a asynchronní (dvouvodičové, hodiny „maskované“ do datového toku) sériové kanály.

    Nejzajímavější a neočekávané architektonické nálezy jsou soustředěny v paměťových subsystémech DSP. Naléhavá potřeba zahrnout do systému instrukcí jednocyklové instrukce pro násobení s akumulací vedla k tomu, že DSP nemělo nic společného se „standardními“ univerzálními CPU. V jednom cyklu totiž není možné současně číst nebo zapisovat data adresovaná jedinou adresovou sběrnicí – to vyžaduje tolik adresových sběrnic, kolik je datových jednotek působících jako instrukční operandy. Nejzajímavější je, že vývojáři DSP našli zcela netriviální a elegantní řešení tohoto problému, a to i v případě použití známé von Neumannovy paměťové architektury (jediná fyzická paměť pro program a data). "Proč vůbec používat von Neumannovu architekturu?" - ptáš se. Harvardská architektura přece jen existuje a je implementována v tolika procesorech (oddělená fyzická paměť pro programy a data se samostatnými sběrnicemi), ale... Univerzální DSP musí umět pracovat s externí RAM - mnoho programů pro zpracování signálu jsou velmi složité, k uložení kódu, který je implementuje, a mezilehlých dat vyžaduje značné množství paměti RAM (většina moderních DSP má vestavěné mechanismy pro správu levných a rychlých SDRAM s kapacitou 16 až 64 MB). Pro implementaci skutečné Harvardské architektury jsou zapotřebí dvě adresové a datové sběrnice, což s 32bitovým procesorem vede k 128 pinům – to je příliš drahé a příliš nepohodlné. Při takovém balancování mezi výkonem a cenou našli architekti DSP nečekanou „rovnováhu“: Harvardské interní a zároveň modifikované von Neumannovy externí architektury. Už jsme si zvykli, že procesory pracují na vyšší taktovací frekvenci než např. paměťové sběrnice, takže úprava Neumann DSP bude působit poněkud zvláštně: paměťová sběrnice pracuje na vyšší (obvykle 4x) v poměru k vnitřnímu frekvence procesoru. To umožňuje, aby jedna perioda (cyklus) procesoru provedla několik přístupů do paměti - jednoduše a efektivně a zároveň ušetřila spoustu dalších výstupů.

    Nyní přirozeně vyvstává otázka: jak lze dosáhnout tak vysokého výkonu DSP, když procesor běží na nižší frekvenci? Téměř v celém dnešním DSP průmyslu existuje několik oblíbených triků a architektur, které hrají roli "strukturálního násobiče hodin". Tady se neberou podle počtu (ne po megahertzích), ale podle dovednosti. Módní abstraktní termíny jako VLIW (velmi dlouhé strojové instrukce) se již dlouhou dobu úspěšně používají například v procesorech Texas Instruments rodiny TMS320C6xxx, jejichž 256bitový instrukční kód je schopen „zapouzdřit“ až osm 32bitových operandy reprezentované čísly s pohyblivou a pevnou řádovou čárkou. K "využití" takových příkazů se používá několik (v případě TMS320C6xxx - šest) aritmetických logických jednotek a samostatné rychlé hardwarové násobiče. Nepoměrně levnější SHARC od Analog Devices (model ADSP-21065L, cena ve velkém množství 10 $) používá tři samostatné ALU s vysokorychlostními násobiči (schopnými pracovat „paralelně“), samostatný hardwarový „posunovač“ dat (posunovač, který poskytuje "posun" obsahu bitů o počet bitů specifikovaných jako operand N bitů doleva nebo doprava, což je ekvivalentní velmi rychlému násobení nebo dělení 2**N), vnitřní Harvardské a externí modifikované von Neumannovy architektury (taktovací frekvence RAM sběrnice až 60 MHz), vestavěná dvouportová paměť (s možností současného přístupu dvou procesorových subsystémů) konfigurovatelná konfigurace a nakonec velmi specifický (ale také mimořádně pohodlný) příkazový systém. Assembler SHARC připomíná programovací jazyk na poměrně vysoké úrovni, zaměřený na vývoj matematických aplikací (řeknu to takto: zjednodušený paralelní FORTRAN). I přes relativně „krátký“ instrukční bitový formát (69 bitů) je v assembleru 21065 možné zapsat např. následující jednocyklovou instrukci:

    IFMS MRF=0; F6=(F2+F3)/2;

    (pokud je splněna podmínka "MRF se rovná 0", pak vypočítejte poloviční součet registrů F2 a F3 s výsledkem umístěným v registru F6).

    Výsledkem je, že desetidolarový čip provádí velmi náročný program 1024bodové komplexní rychlé Fourierovy transformace za ... 304 μs (pro srovnání zkuste tento problém jako test vašeho Pentia).

    Zpět k PC

    Přirozeně, že v tak malém objemu článku nebylo možné provést hloubkový přehled různých DSP. Ale hlavní cíl, myslím, byl splněn – dozvěděli jste se, že na světě existují rychlé, snadno programovatelné a levné procesory.

    Co se týče PC otázky, zapomeňme na chvíli na všechny ty PCI a AGP sběrnice, grafické akcelerátory, monstrózní operační systémy. Zkusme si představit funkčně víceprocesorový počítač (jeden procesor je CPU, druhý je subsystém grafického okna, třetí je subsystém smart input/output), pro který existují standardy pouze pro programovací jazyky, systémová volání modulu CPU a příkazy vyměňované mezi jednotlivými moduly (např. 32bitový word packed příkaz "otevřít okno o velikosti 1024 x 1024 pixelů" nebo "nakreslit čáru z aktuální pozice do bodu se souřadnicemi X, Y"). Když už jsme sebrali tu drzost, představme si, že operační systém našeho PC nemá vůbec ponětí o všech druzích jednotek: pevných discích, CD-ROM a dalších, ale ví, co je to ftp (implementace něčeho takového existuje a se nazývá Andrew Filesystem), respektive - vstupní modul / výstup je tenký ftp server.

    A nakonec funkční moduly propojme vysokorychlostním sériovým spojem (například levná gigabitová 1355, o které jsem již mluvil). Pokud vše funguje (a funguje), doplním: všechny procesory v tomto PC jsou DSP třídy SHARC (nebo výkonnější pro produktivní modely). Dostáváme: otevřenou na úrovni specifikací, uvolňující ruce výrobcům (nechte je soutěžit, jak se jim líbí UVNITŘ funkčních modulů, pokud se nedotýkají VNĚJŠÍCH mezimodulových specifikací), architekturu, zpočátku orientovanou na síť (ftp -souborový systém nerozlišuje mezi místními a vzdálenými jednotkami, velmi produktivní (i se "skromnými" výpočetními schopnostmi 21056L - nikdy jste nepřemýšleli o tom, kolik zdrojů má OS a grafický / okenní subsystém běžící na stejném procesoru "hltat" up“, levné, a co je nejdůležitější, SKUTEČNĚ SCHOPNÉ SPLŇOVAT ROSTOUCÍ POŽADAVKY MOBILNÍCH UŽIVATELŮ. Protože právě DSP je „příliš tvrdý“ pro takové úkoly, jako je rozpoznávání řeči a vizuálních vzorů, syntéza řečových zpráv, rychlé hledání v databázích je 3D vizualizace v reálném čase téměř vším, čeho je dnes naše představivost schopna.