DSP, procesor pro zpracování digitálního signálu

DEFINICE Procesor pro zpracování digitálního signálu (DSP, digital signal processor) je programovatelný mikroprocesor p...


DEFINICE
Procesor pro zpracování digitálního signálu (DSP, digital signal processor) je
programovatelný mikroprocesor pro zvláštní účely, který je navržen tak, aby
mohl v reálném čase korigovat komunikační tok velkých objemů digitálních dat s
cílem zlepšit jejich kvalitu nebo je jiným způsobem modifikovat. Výhody DSP se
ve velké míře využívají především pro zpracování audio a videodat.
Tom Thompson Každý moderní počítač má zabudovaný mikroprocesor, ale ne každý má
specializovaný procesor pro zpracování digitálních signálů DSP. Centrální
procesorová jednotka CPU je digitálním zařízením, které přímo zpracovává
digitální data, proto se možná ptáte, jaký je rozdíl mezi digitálními daty a
digitálním signálem. Základem odpovědi by mohlo být konstatování, že pojem
signál se vztahuje ke komunikaci a ta dnes zpravidla představuje souvislý tok
digitálních dat, která často nelze uložit (a nejsou k dispozici ani pro budoucí
použití, např. z kapacitních důvodů) a proto musejí být zpracována v reálném
čase. DSP si proto musí poradit s velmi rychlými výpočty prováděnými nad velkým
objemem dat.
Digitální signály mohou přicházet téměř odkudkoli. Například stahovatelné
soubory MP3 uchovávají digitální signály, které reprezentují hudbu. Některé
videokamery digitalizují videosignály, které samy generují, a zaznamenají je v
digitálním formátu. U běžných mobilních telefonů druhé generace (např. GSM) je
typické, že váš hlas nejprve převedou do digitálního signálu a potom vaši
konverzaci odešlou. DSP a CPU
DSP se svým zaměřením a tedy i návrhem velice liší od mikroprocesoru, který
slouží jako CPU ve stolním počítači. Jednotka CPU musí být velmi univerzální.
Musí sladit provoz různých částí hardwarového vybavení počítače, jako je pevný
disk, grafická karta nebo síťový interface, aby všechny pracovaly v součinnosti
a plnily požadované úkoly.
Tato flexibilita znamená, že je desktopový mikroprocesor komplexní musí plnit
řadu životně důležitých funkcí, jako je zajištění bezpečnosti paměti,
celočíselné výpočty i výpočty s pohyblivou desetinnou čárkou, vstupně/výstupní
operace apod. Výsledkem je, že má typická moderní CPU ve svém repertoáru
několik stovek instrukcí, aby mohla podporovat všechny tyto funkce. Pro
implementaci velké knihovny instrukcí ovšem potřebuje komplexní jednotku pro
jejich dekódování, plus mnoho dalších interních logických modulů (nazývaných
výkonné jednotky), které uvedené instrukce realizují v praxi. Proto typický
desktopový mikroprocesor obsahuje desítky milionů tranzistorů. Naopak koncepce
DSP předurčuje tento procesor k tomu, aby byl specializovaný, jeho jediným
účelem je modifikovat čísla v toku digitálních signálů a provádět to rychle.
DSP obsahují především obvody pro realizaci vysokorychlostní aritmetiky a
hardware zajišťující rychlou modifikaci velkých objemů dat.
Výsledkem je mnohem menší sada instrukcí v porovnání s desktopovým
mikroprocesorem ne víc než cca 80 instrukcí. To znamená, že DSP potřebuje jen
štíhlejší jednotku dekódování instrukcí a méně interních výkonných operačních
jednotek. Navíc jsou všechny výkonné jednotky, které se zde nacházejí, zaměřeny
na vysoce výkonné aritmetické operace. Typický procesor DSP obsahuje jen
několik stovek tisíc tranzistorů.
Vzhledem ke svému specializovanému zaměření má DSP velice dobrý výkon. Jeho
soustředění na matematické operace ve svém důsledku znamená, že může DSP
nepřetržitě přijímat a zpracovávat digitální signál, jako je hudba ve formátu
MP3, nebo konverzace z mobilního telefonu, aniž by se zahltil a poztrácel
některá z dat. Ke zlepšení přenosového výkonu mají DSP přídavné interní datové
sběrnice, které pomáhají zrychlit přenos dat mezi aritmetickými jednotkami a
čipovým interfacem. Navíc může DSP použít tzv. harvardskou architekturu (kde
jsou fyzicky zcela oddělené paměťové prostory pro data a instrukce), aby
provádění programového kódu nekolidovalo s operacemi pro zpracování dat. K čemu
DSP?
Schopnost DSP dohlížet na plynulý tok dat je ideální pro mnohé aplikace.
Použitím algoritmů známých z matematiky komunikací a z teorie lineárních
systémů dokáže DSP převzít signál a provést konvoluční operace, jejichž
prostřednictvím dojde k zesílení nebo naopak zredukování typické vlastnosti
daného signálu. Určité algoritmy zajišťují, že DSP např. zpracuje vstupní
signál tak, aby se ve výstupním signálu objevily pouze požadované frekvence,
implementuje se zde tedy něco, co se nazývá filtr.
Uveďme si reálný příklad: občasný šum se často v signálu objevuje jako
vysokofrekvenční impulzy. DSP může být naprogramován tak, aby aplikoval filtr,
který oddělí tyto vysoké frekvence od zpracovaného výstupu. Toto opatření může
např. odstranit nebo minimalizovat účinky rušení u telefonického hovoru.
Procesory DSP mohou uplatnit filtry nejen na audiosignály, ale také na
digitální zobrazení. DSP lze například použít ke zvýšení kontrastu snímání MRI
(Magnetic Resonance Imaging). DSP lze rovněž využít k vyhledání specifických
profilů frekvencí nebo intenzity signálu. Z toho důvodu jsou DSP často
používány k implementaci do zařízení pro analýzu řeči, kde rozpoznají typické
sekvence zvuků nebo fonémů.
V porovnání s CPU má DSP nižší spotřebu energie, proto je ideální pro výrobky
napájené bateriemi. Jednoduchost DSP také znamená menší finanční náročnost pro
výrobce, proto je vhodný pro aplikace, kde je prioritou cena. Kombinace nízké
energetické spotřeby a nízké pořizovací ceny je důvodem, proč jednodušší DSP
obvykle najdete v mobilním telefonu nebo v automatické hračce.
Na opačném konci nabídky máme procesory DSP schopné multiprocessingu, které
obsahují více aritmetických výkonových jednotek, on-chip memory a přídavné
sběrnice. Tyto procesory DSP např. zvládnou provádět kompresi videosignálů v
reálném čase pro přenos po Internetu. Tyto vysoce výkonné (a cenově náročnější)
procesory DSP můžeme často vidět např. ve vybavení pro videokonference.

Uvnitř DSP
Schéma znázorňuje jádro procesoru Motorola DSP 5680x. Oddělené sběrnice pro
programy, data a adresy pomáhají zvyšovat výkon tím, že umožňují současně
provádět kód programu a přenášet data dále. Sekundární datová sběrnice
umožňuje, aby jednotka ALU (data arithmetic logic unit, datová aritmetická
logická jednotka) mohla přečíst dvě datové hodnoty, vynásobit je a provést
kumulovanou operaci v jednom časovém cyklu.
1 0962 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.