„Digital Signal Processor” változatai közötti eltérés

Innen: HamWiki
Ugrás a navigációhoz Ugrás a kereséshez
(alapcikk+kategória)
 
a (DSP lapot átneveztem Digital Signal Processor névre: Egyértelműbb, hogy nem a Digital Signal Processing :))
 
(2 közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva)
36. sor: 36. sor:
 
;Miért DSC?:
 
;Miért DSC?:
  
* Csak 40 MHz-en jár (miközben a 32 bites ARM-ok, RISC-ek 100 MHz körül)
+
* Csak 40 MHz-en jár (miközben a számtalan gyártó által gyártott 32 bites [http://hu.wikipedia.org/wiki/ARM_architekt%C3%BAra ARM]-ok, [http://www.mips.com/products/processors/32-64-bit-cores/ MIPS]-ek 100 MHz körül)
 
* csak egyetlen szálon képes utasítást végrehajtani
 
* csak egyetlen szálon képes utasítást végrehajtani
 
* 16 bites argumentumokat képes szorozni, 32 bites eredményét két, egyenként 40 bites akkumulátor egyikéhez hozzáadni.
 
* 16 bites argumentumokat képes szorozni, 32 bites eredményét két, egyenként 40 bites akkumulátor egyikéhez hozzáadni.
42. sor: 42. sor:
 
* hardveres CRC generátora azonban van - mint speciális, gyakran használt célhardver.
 
* hardveres CRC generátora azonban van - mint speciális, gyakran használt célhardver.
  
Összességében a dsPIC-ről elmondható, a digitális jelfeldolgozást tényleg támogatja, de közel sem hordozza magán a DSP összes jó áramköri trükkjét.
+
 
 +
Összességében a dsPIC-ről elmondható, a digitális jelfeldolgozást tényleg támogatja, de közel sem kerültek bele a DSP jó áramköri trükkjeinek lényeges részei.
  
 
Szubjektív vélemény: napjainkban igen meggondolandó, hogy egy mindössze DSC teljesítményt igénylő feladatra 32 bites ARM vagy MIPS mellett vagy pedig egy 16 bites dsPIC mellett dönt a fejlesztő.
 
Szubjektív vélemény: napjainkban igen meggondolandó, hogy egy mindössze DSC teljesítményt igénylő feladatra 32 bites ARM vagy MIPS mellett vagy pedig egy 16 bites dsPIC mellett dönt a fejlesztő.

A lap jelenlegi, 2008. október 26., 23:56-kori változata

A DSP kettős jelentésű szó, egyrészt a Digital Signal Processing (digitális jelfeldolgozás - mint témakör), másrészt a Digital Signal Processor (digitális jelfeldolgozó processzor - mint eszköz) rövidítése. Az alábbiakban az utóbbiról lesz szó.

Digital Signal Processor

A digitális jelfeldolgozó processzor igen sok közös vonást mutat a mikrovezérlőkkel, azonban a számítási feladatokra erőteljesen ki van hegyezve.

A mikrovezérlővel közös tulajdonságai

  • Program fut benne
  • Ráadásul hasonlóképp, mint a mikrovezérlőben
  • RAM, ROM terület van, mint a RISC mikrovezérlőkben
  • Perifériák (A/D, D/A, I/O portok, SPI, I2C, Ethernet kontroller, stb.) találhatók rajta
  • Órajel vezérelt sorrendi utasításvégrehajtó.
  • RISC mikrovezérlőkhöz hasonlóan 1 órajel kell utasításonként.

Miben tér el a mikrovezérlőtől?

  • Sokkal magasabb belső órajel, néha GHz-ek; a mikrovezérlők általában 100 MHz alatt járnak.
  • Erős párhuzamosítás. Például C+=A*B; D=E+F; G=H*I három független operandusú műveletet egyetlen igen összetett utasításként adhatunk oda, ezáltal valójában 3 független műveletet végrehajt, 3 párhuzamos szálon.
  • Komplex aritmetikai lépés, például a fenti C+=A*B egy szorzás majd a végeredménynek a C regiszterhez adása egyetlen komplex utasítás.
  • Pileline feldolgozó: nem feltétlen 1 órajel alatt végzi el a szorzást, de 100 órajel alatt 100 szorzást tényleg rá lehet bízni. Ezt a tényt azonban a programozás során figyelembe kell venni.
  • Sok RAM: jelfeldolgozáshoz jól jön.
  • A szokásos regisztereknél sokkal több bites akkumulátor: dedikált eredményösszegző regiszterek még hosszabbak, mint azok, amely eredményeit szeretnénk itt összegezni. Ezáltal a pontosság növekszik, mivel nem kell összegzés előtt jobbra tolva néhány bitet elhagynunk. A sok-sok összegzés mégsem vezet túlcsorduláshoz.
  • Hardveres ciklikus puffer, automatikus növeléssel, csökkentéssel. Ez azért kellemes, mert a szűrési algoritmusok a bejövő adatokat szorozzák össze egy súlyfüggvény elemeivel. Gyakorlatilag ez két azonos hosszúságú memóriaterület keresztbeszorzása, amely ciklussal valósítható meg. A mikrovezérlők esetén ez a két indexelt cím szorzásán kívül tartalmaz inkrementáló és dekrementáló utasításokból 1-1 darabot, összehasonlító utasítást és feltételes elágazó utasítást. Ezáltal a 4-5 utasítás ismételgetése helyett egyetlen utasítás ismétlésébe belefér ez a művelet, ezáltal a DSP 5-ször hatékonyabban gazdálkodik ilyen műveleteknél az órajelével.
  • Speciális vektorműveletekre hardvertámogatás.

Példa: Egy adott DSP 16 független szálat képes kezelni, 1 GHz-en jár és FIR szűrőket szeretnénk megvalósítani. Hányszor gyorsabb egy 32 bites 100 MHz-es RISC mikrovezérlőnél?

Látható, hogy a 16 szál miatt és a 10-szeres órajel és az 5-ször hatékonyabb órajelfelhasználás miatt 800-szor gyorsabb. És ebben még nincsenek beleszámolva a vektoros hardvergyorsító céláramkörök.


Digital Signal Controller

A Microchip cég dsPIC egycsipes számítógépei kapcsán találkozhattunk ezzel a kifejezéssel. A cég a szóhasználattal utal arra, hogy ez az integrált áramkör azt az alkalmazási szegmenst hivatott betölteni, amely mikrovezérlőt igényel, de egy picivel több számítási feladat akadna. Ezáltal jól hasznosítható pehelysúlyú DSP-s feladatokhoz is, ugyanakkor nem rossz választás olyan helyre sem, ahol a számítások mellé mikrovezérlő feladat is szükséges.

Miért DSC?
  • Csak 40 MHz-en jár (miközben a számtalan gyártó által gyártott 32 bites ARM-ok, MIPS-ek 100 MHz körül)
  • csak egyetlen szálon képes utasítást végrehajtani
  • 16 bites argumentumokat képes szorozni, 32 bites eredményét két, egyenként 40 bites akkumulátor egyikéhez hozzáadni.
  • hardveres ciklikus puffert csak autoinkrementált indexregiszterrel támogat, egyébként nem.
  • hardveres CRC generátora azonban van - mint speciális, gyakran használt célhardver.


Összességében a dsPIC-ről elmondható, a digitális jelfeldolgozást tényleg támogatja, de közel sem kerültek bele a DSP jó áramköri trükkjeinek lényeges részei.

Szubjektív vélemény: napjainkban igen meggondolandó, hogy egy mindössze DSC teljesítményt igénylő feladatra 32 bites ARM vagy MIPS mellett vagy pedig egy 16 bites dsPIC mellett dönt a fejlesztő.