Jelenlegi hely

Tanszékcsoporti szeminárium

Félév: 
2014/15 I. félév
Helyszín: 
Árpád tér 2. II. em. 220. sz.
Dátum: 
2014-10-07
Időpont: 
14:00-15:00
Előadó: 
Nagy Zoltán (MTA SZTAKI)
Cím: 
Programozható logikai eszközök és magas szintű szintézis
Absztrakt: 

A számítógépes adatfeldolgozás és szimuláció során a szükséges számítási teljesítmény iránti igény folyamosan nő. A Moore törvény értelmében az újabb chip gyártási technológiák bevezetésével a számítási teljesítmény elméletileg 18-24 havonta duplázható. Az alkatrészek méretének csökkentése hamarosan fizikai korlátokba fog ütközni. Ennek első jele a processzorok órajel frekvenciájának kb. 3GHz körüli stagnálása az úgynevezett „power wall” mivel a 130W-nál nagyobb fogyasztású chipek hatékony és olcsó hűtése nem megoldható. Az egyik lehetséges megoldás a komplexitástól függően több azonos felépítésű CPU mag használata. Az Intel és AMD szerverprocesszorai jellemzően 10-18 magot tartalmaznak. Míg az általánosan programozható grafikus processzorok (GPGPU) esetében 1.000 - 3.000 egyszerűbb feldolgozó egység is megvalósítható egyetlen szilícium lapkán. Az általános célú processzorok és GPU-k integrálásának eredményeként létrejött heterogén architektúrák „Accelerated Processor Unit” (APU) néhány komplex és több száz processzort tartalmaznak. Végül de nem utolsó sorban, az újrakonfigurálható logikai áramkörök Field Programmable Gate Array-k (FPGA) több százezer logikai „processzorral” és ezres nagyságrendű szorzó-összeadóval.

Az FPGA áramkörök a 80-as évek közepén jelentek meg, speciális kialakításuknak köszönhetően tetszőleges szekvenciális áramkör megvalósítható segítségükkel. Az FPGA-k fejlődése a 2000-es évek elején érte el azt a pontot, ahol az eszközök mérete lehetővé tette komplex jelfeldolgozási feladatok megoldását a korabeli jelfeldolgozó processzoroknál lényegesen jobb számítási teljesítmény / fogyasztás mutató mellett.

Jelenleg az FPGA áramkörök a beágyazott rendszerekben nyernek egyre nagyobb teret, ahol többmagos általános célú mikroprocesszor és néhány speciális periféria kezelése vagy algoritmus gyorsítása szükséges egy chip-en megvalósítva (SoC). A legújabb chip gyártástechnológiák (20-28nm) használatát a legnagyobb cégek is csak nagy sorozatban gyártott áramköreik esetén engedhetik meg maguknak az egyre növekvő tervezési és maszkgyártási költségek miatt. A legújabb gyártástechnológiát használó FPGA áramkörökön a kis sorozatú áramkörök megvalósítása is kifizetődő. Az FPGA-k alkalmazásának másik irányvonala a nagy akár szuperszámítógépek számítási teljesítményét igénylő feladatok megoldásának gyorsítása.

Az FPGA áramkörök alkalmazási területeinek szélesedésével egyre inkább gondot okoz, hogy a megvalósítandó áramköröket hagyományos hardverleíró nyelveken (VHDL, Verilog) Regiszter-Transzfer szinten (RTL) kell leírni. A tervezés során egy-egy architektúra kialakítása és tesztelése hetekig is tarthat, így a sok lehetséges különböző architektúra közül csak kevés próbálható ki. A tervezői hatékonyság és a potenciális felhasználók számának növelésére jól alkalmazhatók a jelenleg elterjedőben lévő magas szintű szintézis rendszerek, melyek lehetővé teszik a natív C/C++ kódokból is egy áramkör generálását. Az áramkör tervező ebben az esetben az eredeti C kód átstrukturálásával és fordítási direktívák segítségével adhatja meg a rendszerben elvárt párhuzamosságot. Az áramkör VHDL modelljének legenerálása nagyságrendileg néhány percig tart, így lényegesen több tervezési opció próbálható ki, mint a hagyományos tervezési metodika esetén.

Előadásomban egy energiahatékonyságra optimalizált Kalman szűrő és egy nagy számításigényű bioinformatikai algoritmus megvalósításán keresztül hasonlítom össze a két tervezési metodikát.