Szolgay Péter, Nagy Zoltán, Kiss András, László Endre (2013)
Pázmány Péter Katolikus Egyetem
A digitális jelfeldolgozó processzorok prototípus alkalmazása látható a 19 ábrán, ahol a bejövő analóg jelet egy analóg-digitál átalakítóra visszük. Az így átalakított digitális jelet feldolgozzuk és a kimenő jel ( eredmény ) egy digitál-analóg átalakítón keresztül jut a kimenetre.
Lehetséges DSP alkalmazási területek:
grafika: 3D, digitális látás, animáció, képfeldolgozás, alakzat felismerés
hang/ beszéd: beszédfelismerés, hangfeldolgozás, szöveg-beszéd konverzió
irányítás: robot-, motorirányítás
katonai: titkos kommunikáció, radar feldolgozás, navigáció
telekommunikáció: visszhangszűrés, modemek, adattitkosítás, videokonferencia
autóipari: motorirányítás, rezgés analízis, csúszás- kipörgés-gátló,
orvosi: hallókészülékek, diagnosztikai eszközök
A megjelölt lehetséges alkalmazások többsége un. valós idejű (real-time), azaz a végrehajtási sebesség egy kritikus paraméter.
A vázolt alkalmazási irányok támogatására szolgáló architekturális megfontolásokat foglaljuk össze:
Harvard architektúra, ahol külön adat és program memóriát, valamint a hozzájuk tartozó belső buszrendszereket használunk, amint ez a 20 ábrán látható.
A DSP-k másrészről RISC (Reduced Instruction Set Computer) architektúrák, az utasítások egyenlő hosszúak- minden utasítás egy ütemben végrehajtható. Ez lehetővé teszi az utasítás pipeline használatát azaz az utasítás betöltés, dekódolás és végrehajtás (Fetch-Decode-Execute) átlapolt végzését.
Az aritmetikai egység hardver szorzó egységgel, mely két 16 vagy 32 bites számot egyetlen gépi ciklus alatt összeszoroz.
A digitális jelfeldolgozásra optimalizált utasítás készlet.
Speciális címzési módokat használunk, melyek hatékonyan használhatók jelfeldolgozó algoritmusokban. Ez a gyakorlatban mindig párosul egy nagy sebességű címképző aritmetikával.
A DSP-k alapvetően két csoportra oszthatók: fix és lebegőpontos eszközökre. A fix pontos processzorok 16 vagy 24 bitesek. A legelterjedtebb DSP típusok a TEXAS Instruments TMS320CXX családja.
Jó tulajdonságai a robosztusság, zajérzéketlenség;
40MHz frekvencia; fixpontos 16 bites - 68 lábú jelfeldolgozó processzor. CMOS technológiával készül amelynek következtében jellemzői a következők: kis teljesítménydisszipáció (500mW); 80-100ns-os utasítás végrehajtási ciklusidő; 1 ciklus alatt szorzás/tárolás; 5V tápellátás;
módosított Harward architektúra: adat és programmemóriája külön helyezkedik el, közöttük lehetséges az adatátvitel! Két adatmemóriája, amelyből az egyik variálható (programmemória is) lehet: 4Kbyte-os On-Chip PROM és (256+288)x16 bites szóhosszúságú RAM; ill. 128Kbyte (2x64K) szóhosszúságú Off-Chip adattárhely; (nem Neumann).
32-Bites ALU egység: aritmetikai / logikai műveletek végrehajtása egy órajelciklus alatt. Elágazó utasítások kezelése. ALU egyik bemenete az akkumulátorból (ACC), míg a másik a szorzó vagy skálázható/állítható léptető Szorzat Regiszterből (PR) jön, miután a RAM-ból érkező adattal feltöltötték. Az eredmény az ACC-ben tárolódik. Az állítható 16 bites léptető bemenetét az adatbuszról kapja, 32 bites kimenete az ALU-hoz csatlakozik. Biztosítja a 16 bites bemenő adat megfelelő balra léptetését helyiérték helyesen 0-16 pozícióig.
16x16 Bites szorzóegység -> előjeles v. előjel nélküli 32bites szorzat eredmény kiszámítása egy gépi ciklus alatt. Két részre osztható: 16bites Temporary Regiszter (TR) mely ideiglenesen tárolja az egyik operandust, és 32 bites Szorzat Regiszter (PR).
Blokkos adatátvitel; On-Chip időzítő-vezérlő műveletek; PGA-PLCC tokozások; soros port, D0-D15: 16 bites adatbuszok (LSB-MSB) A0-A15: 16 bites címbuszok (LSB-MSB)
MP/MC: Microprocessor/Microcomputer: lehet egyprocesszoros rendszer, párhuzamosan működő multiprocesszorok egyike, hierarchikus (slave/host) processzorok egyike, globális memóriaterülettel, vagy perifériaprocesszor
Rugalmas, nagysebességű (12.5 MIPS), processzortömbbe szervezhető chip. Párhuzamos architektúra, hatékony utasításkészlet (133 utasítással), hardwareben implementált funkciók; AR0-AR7: 8 külső/kiegészítő tároló.
Magas szintű programnyelven (C) programozható
A lebegőpontos digitális jelprocesszorok 32 bitesek. Belső regisztereik 40 bitesek, a nagyobb számítási pontosság elérése céljából. A lebegőpontos processzorok esetén gyakorlatilag nincsenek számábrázolási tartományból eredő problémák. Ezek a processzorok fix pontos módban is használhatók.
Cél: nagysebességű belső/párhuzamos működés, tartós teljesítmény. 325 lábú kerámia tokozású (CGA), dupla metál CMOS technológia; 50ns utasítási ciklusidő;
CPU:
40/32 bites lebegőpontos/egész szorzó;
40/32 bites lebegőpontos/egész ALU műveletvégzés
12db 40 bites lebegőpontos regiszter, 8 külső regiszter; 14 Control Regiszter; 5Vos tápellátás;
Két azonos külső Adat és Cím-busz: osztott memória hozzáférés; nagy 20Mbyte/s átviteli sebesség;
Különálló belső Adat-, DMA társprocesszor buszok
On-Chip Program Cache: 512Byte
Program/Adat RAM: 8Kbyte dual access/1ciklus
ROM alapú bootolás: 8-32Bites memóriával
1/x ill. kiszámítása egy ciklus alatt (Barrel Shifter: 1 ciklus alatt 32 lépés)
DMA társprocesszor: konkurens feldolgozás, CPU tehermentesítése
6 db DMA csatorna inicializálása a CPU beavatkozása nélkül
Párhuzamos DMA átvitel
memória-memória adatátvitel
Kommunikációs portok:
külső HW vagy SW kommunikáció
6db kommunikációs port a procik közötti közvetlen kommunikációhoz (DMA processzorok)
20Mbyte/s kétirányú átvitel
FIFO tárak a procik közötti kommunikációhoz
arbitráció és handshaking támogatás
A DSP processzorok számítási teljesítményének legegyszerűbb módszere az órajel frekvenciájának a növelése. Ezt a CMOS technológia fejlődése teszi lehetővé esetünkben 90 nm CMOS 7 réz fémréteggel. Így 600 /720 /850 MHz sőt 1 GHz feletti órajel frekvencia érhető el.
Másik, és nagyon hatékony módszer a belső művelet végrehajtó egységek számának növelése és a párhuzamos utasítás végrehajtás. Ehhez tartozik a belső regiszterek számának növelése és regiszter fájlokba csoportosítása.
Harmadik eszköz a belső memóriák nagyságának növelése és belső memória hierarchia létrehozása. A regiszter fájl, cache memória, adat és program memória nagy teljesítményű DMA alrendszerrel és ehhez csatlakozó külső memória illesztő egységgel hatékony tároló hierarchiát valósít meg. E processzorok egyszerre több, 4 vagy 8 utasítás szót hívnak le. A lehívott utasításokat egy utasítás vezérlő osztja szét a párhuzamos végrehajtó egységek között. Egy ilyen eszköz, a Texas TMS320C67-es típusú áramkör blokkvázlatát mutatja be a 23 ábra.
Az L1, S1, M1, D1 illetve L2, S2, M2, D2 művelet végrehajtó egységek optimális esetben egyidejűleg tipikusan 3-4 utasítás végrehajtását végzik egyidejűleg. A processzort alapvetően magas szintű program nyelvre optimalizálták. 1000-4000 MFLOPS teljesítménnyel képes működni.
A digitális jelprocesszorok fejlesztő rendszerei azokat az eszközöket tartalmazzák, amelyek lehetővé teszik az alkalmazások megvalósítását. Szoftver és hardver részekből állnak. A szoftver rész tartalmazza az Assembly és magas szintű nyelvrendszert, nyomkövetőt, szoftver szimulátorokat, EPROM beégető programokat. Az alkalmazást megvalósító szoftver tesztelése a hardver fejlesztő eszközökön és/vagy szoftver szimulátoron történhet.
A TI Code Compser Studio hatékony alkalmazás fejlesztési platformot biztosít.