autor: Ing. Robert Krejčí, kategorie: Hardware

Testování algoritmů číslicového zpracování signálů

Výběr dvou platforem pro DSP
OMAP-L137

Doktorské pondělky
12.1.2009

Ing. Robert Krejčí

Školitel: Ing. Václav Hanžl, CSc.

V předchozích dvou článcích jsme si řekli o kritériích výběru vhodné hardwarové platformy a pak o možnostech softwarové optimalizace algoritmů číslicového zpracování signálů. V tomto navazujícím článku si popíšeme konkrétní výsledky, které vznikly z předchozího průzkumu.

Dva přístupy

  • MIPS32

  • OMAP (Texas Instruments)

V předchozích dvou článcích jsme si řekli o kritériích výběru vhodné hardwarové platformy a pak o možnostech softwarové optimalizace algoritmů číslicového zpracování signálů. V tomto článku si popíšeme konkrétní výsledky, které vznikly z předchozího průzkumu.

Na základě výše zmíněných kritérií jsme zvolili dva zcela odlišné přístupy. Do našeho průzkumu jsme vybrali procesor od firmy Broadcom založený na architektuře jádře MIPS a pak jeden dvoujádrový procesor od firmy Texas Instruments.

A. MIPS

Struktura mikroprocesoru BCM4704 od firmy Broadcom
  • RISC + pipeline + kompilátor = větší výkon

  • BCM4704

  • 32-bitová RISC architektura

  • 5-stupňový pipeline, 4 instrukční cykly

  • Dvouúrovňová cache

  • Pracovní frekvence: 264 MHz, výkon: 264 MIPS

Architektura MIPS vznikla na začátku 80. let minulého století z výzkumné práce Johna Henessyho a jeho studentů na stanfordské univerzitě. Jejich výzkumným cílem bylo dokázat, že koncept architektury typu RISC, tedy poměrně jednoduché instrukce ve spojení s pipeliningem a dobrým kompilátorem, vede k vytvoření rychlejšího procesoru. Tato myšlenka byla tak úspěšná, že v roce 1984 došlo ke komercializaci této architektury.

MIPS v současné době není konkrétní procesor, ale plně syntetizovatelné jádro, které můžou výrobci procesorů začlenit do svých produktů. Dokonce i takový gigant, jako je Microchip Technologies, se rozhodl do 32-bitové verze svých mikrokontrolérů použít právě jádro MIPS32.

MIPS je velmi rozšířená architektura zejména v oblasti tzv. "Embedded" systémů neboli malých zařízení. Pro náš výzkum jsme zvolili procesor BCM4704 od firmy Broadcom. Jeho jádrem je průmyslový standard MIPS32 s rozšířenou instrukční sadou o DSP instrukce. Její základní rysy jsou:

  • 32-bitová RISC architektura

  • 5-stupňový pipeline s dobou trvání 4 instrukční cykly

  • Dvouúrovňová cache

  • Pracovní frekvence: 264 MHz, výkon: 264 MIPS

DSP rozšíření architektury MIPS

DSP rozšíření architektury MIPS

Rozšíření specifické pro aplikaci (Application Specific Extension):

  • SIMD (8/16/32)

  • Saturační aritmetika, zaokrouhlování

  • MAC

  • Absolutní hodnota

  • Bitová reverze

  • Čtyři 64-bitové akumulátory

  • atd.

Rozšíření specifické pro aplikaci („ASE“) rozšiřuje klasickou architekturu MIPS např. v těchto oblastech:

  • SIMD (8/16/32) - paralelní zpracování dat. Během jediného instrukčního cyklu tak lze získat např. čtyři výsledky násobení čtyř párů osmibitových čísel.

  • Saturační aritmetika pro práci s čísly ve zlomkovém tvaru s pevnou řádovou čárkou

  • Rozšířená práce s výsledky násobení a sčítání (MAC)

  • Instrukce pro usnadnění výpočtů skalárního součinu

  • Absolutní hodnota

  • Bitová reverze (standardně používaná např. při výpočtu FFT)

  • Jsou k dispozici celkem čtyři 64-bitové akumulátory (registry pro výpočty typu MAC).

  • atd.

Testovací prostředí

  • Vývojová deska: 10000 Kč

  • ASUS WL-500g Premium: 2000 Kč

  • Linux + programy

  • Příspěvek ve sborníku Žilina 2008

Více o routeru ASUS WL-500g Premium si můžete přečíst v článku Využití spotřební elektroniky pro DSP.

Vývojová deska s procesorem BCM4704 by stála řádově 10000 Kč. Ale není důvod si něco takového pořizovat, když se tento procesor dá běžně sehnat na trhu spotřební elektroniky. Místo vývojové desky jsme použili router od firmy ASUS WL-500g Premium. Tím ušetřili značné množství peněz a starostí se sháněním vývojového modulu. Navíc pro tento hardware je k dispozici několik distribucí Linuxu a tisíce běžných linuxových programů a nástrojů.

Orientační měření DSP výpočtů

Přehrávač Madplay na WL-500gP
  • MadPlay - přehrávač MPEG-1 Audio Layer 3, Fixed Point

  • Přehrávání MP3 s převzorkováním ze 44,1 kHz na 48 kHz: 25%

    Výpis procesů se zátěží procesoru
  • Měření typických DSP operací: řádově 2x

    Zrychlení operací s použitím DSP ASE

Provedli jsme orientační měření výpočetního výkonu na úloze s číslicovým zpracováním signálů. K tomu jsme použili přehrávač hudby ve formátu MP3 zvaný Madplay, což je MPEG audio dokodér optimalizovaný pro architekturu s pevnou řádovou čárkou. Tento program dekóduje hudební soubory ve formátu MP3 (mimo jiné) a posílá je na zvukovou kartu.

Výpis procesů se zátěží procesoru

Výsledek tohoto měření nám dává základní představu pro další kroky našeho výzkumu: přehrávání souborů MP3 s převzorkováním ze 44,1 kHz na 48 kHz zabírá přibližně 25% výkonu procesoru. To je výsledek výchozí verze programu, bez optimalizace pro platformu MIPS a bez využití DSP instrukcí.

Zrychlení operací s použitím DSP ASE

Oficiální dokumenty MIPS uvádějí ještě další výsledky měření typických DSP operací. Graf ukazuje, že s použitím instrukcí DSP instrukcí lze dosáhnout řádově dvojnásobného zrychlení výpočtů.

Texas Instruments

  • Dvoujádrový OMAP-L137 = ARM926EJ-S + TMS320C674x

  • 300 MHz

  • 300 MIPS (ARM9) + 2400 MIPS/1800 FLOPS (C674x)

  • Low power: 0,5 W

  • $23 @ 100 units

Druhá cesta, kterou jsme se vydali, je volba zcela nového procesoru od firmy Texas Instruments, který se dostal na trh ve druhé polovině roku 2008. Dvoujádrový procesor OMAP-L137 je symbiózou RISCového procesoru ARM řady 9 (ARM926EJ-S) s pevnou řádovou čárkou a signálového procesoru řady C67 (TMS320C674x) s architekturou VLIW s plovoucí řádovou čárkou.

Oba procesory pracují na taktovací frekvenci 300 MHz a mohou tak podat výkon 300 MIPS (ARM9) + 2400 MIPS/1800 FLOPS (C674x).

OMAP-L137 patří do kategorie nízkopříkonových procesorů (Low-Power) a to bylo jedním z důvodů, proč jsme si tento procesor vybrali. Jeho příkon je totiž při plném výpočetním zatížení pouhých 0,5 W.

Jeho cena je rovněž vynikající: přibližně $23 při odběru 100 kusů.

Vývojové prostředí

  • Code Composer Studio

  • Plně funkční - bez omezení funkcí

  • Pouze pro vývojovou desku OMAP-L137

Texas Instruments dodává vývojové desky s tímto procesorem a k tomu plně funkční vývojové prostředí Code Composer Studio, omezené na použití pouze se zakoupenou vývojovou deskou.

Závěr

MIPS/BCM4704

  • Plně funkční relativně levné zařízení / testovací prostředí v ceně řádově 2000 Kč.

  • Síťová připojitelnost: Ethernet, WiFi, USB.

  • Operační systém Linux - nutné znát alespoň základy.

  • Menší dostupnost informací - na více místech, více verzí včetně zastaralých a neaktuálních.

TI OMAP-L137

  • Vývojová deska s vývojovým prostředím: 10000 Kč

  • Dostupné informace, tutoriály

  • Nízkopříkonový velmi výkonný procesor vhodný pro zpracování audio-signálů

MIPS/BCM4704

Řešení ASUS WL-500gP/BCM4704/MIPS32 je vhodné pro jednodušší DSP operace a v případech, kdy lze využít již hotové zařízení se síťovou připojitelností.

  • Plně funkční relativně levné zařízení / testovací prostředí v ceně řádově 2000 Kč.

  • Síťová připojitelnost: Ethernet, WiFi, USB.

  • Operační systém Linux - nutné znát alespoň základy.

  • Menší dostupnost informací - na více místech, více verzí včetně zastaralých a neaktuálních.

TI OMAP-L137

OMAP-L137 se jeví jako dostatečně výkonná platforma pro rozpoznávač řeči.

  • Vývojová deska s vývojovým prostředím stojí řádově 10000 Kč.

  • Jsou dostupné informace, tutoriály, návody, manuály.

  • OMAP-L137 je nízkopříkonový velmi výkonný procesor vhodný pro zpracování audio-signálů.

Literatura

  • Dominic Sweetman: See MIPS run Linux. Morgan Kaufmann Publishers, 2007.

  • MIPS Technologies Inc.: Effective Programming of the 24KE™ and the 34K™ Core Families for DSP Code, 2007.

  • Oficiální dokumenty výrobců.

 
{e_like}
 
 
Nahoru