Ugrás a tartalomhoz

Párhuzamos számítógép architektúrák, processzortömbök

Szolgay Péter, Nagy Zoltán, Kiss András, László Endre (2013)

Pázmány Péter Katolikus Egyetem

2 Digitális jelfeldolgozó processzorok (DSPk)

2 Digitális jelfeldolgozó processzorok (DSPk)

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.

19. ábra. digitális jelfeldolgozó processzor prototípus alkalmazása

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.

20. ábra. Digitális jelfeldolgozó processzor elvi felépitése

2.1 A DSP-k osztályozása - Fix és lebegőpontos architektúrák

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.

2.1.1 TMS320C25 DSP

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ó

21. ábra. A TMS320C25 felépíése

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.

2.1.2 TMS320c40 paralel DSP: 32 bites lebegőpontos jelprocesszor

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. x 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

2.1.3 TMS320C6xxxx egy korszerű DSP család

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.

22. ábra. TMS320C64x Processzor mag, amely 8 processzorból épül fel

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.

23. ábra. TMS320C6xxx. DSP blokkvázlata

2.1.4 Hatékony fejlesztői környezet

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.

24. ábra. A Texas Instruments Code Composer Studiójának egy képernyője látható

A TI Code Compser Studio hatékony alkalmazás fejlesztési platformot biztosít.

Ellenőrző kérdések:

  1. Milyen fajta, a párhuzamos működést segítő megoldások figyelhetők meg egy korszerű DSP architektúrában?

  2. Miért Harvard architektúra egy DSP?

  3. Ismertesse a TMS320C6xxx sorozatú DSP processzorok főbb jellemzőit!