Programozható many-core feldolgozó egység FPGA megvalósítása

OData támogatás
Konzulens:
Szántó Péter
Méréstechnika és Információs Rendszerek Tanszék

A diplomaterv egy programozható nagyteljesítményű, több feldolgozó egységet tartalmazó struktúra, FPGA megvalósításának kidolgozását mutatja be. A feldolgozó egység nagyban támaszkodik a Xilinx Virtex-5 illetve Virtex-6 FPGA-kban található DSP blokkok aritmetikai és logikai műveletvégző képességeire, és ez által a cél a minél nagyobb működési frekvencia elérése. Szoftvertámogatás szempontjából a "many-core" feldolgozás és a párhuzamos programozás támogatására tervezett OpenCL nyelv és a szabvány által megkövetelt szolgáltatások biztosítása a cél. Az architektúra kialakításánál is fő szempont az OpenCL szabvány megkötései és irányvonala.

A diplomaterv első részében bemutatásra kerül egy általános központi feldolgozó egység (CPU) felépítése, működése, és a teljesítmény fokozását szolgáló architektúrális megoldások. Ezután a különböző párhuzamos processzor architektúrák ismertetése következik.

Ezután a párhuzamos feldolgozásban élenjáró processzor típusok, az általános célú grafikus processzorok (GPGPU) bemutatás következik. Itt két processzor részletesebb ismertetése található, az egyik az AMD Cypress chipje, míg a másik az Nvidia Fermi architektúrája.

A következő részben az OpenCL nyelv és szabvány kerül bemutatásra. Ismertetésre kerül a szabvány célja, általános irányelvei. Ezután részletesen is tárgyalásra kerülnek a szabvány által definiált modellek (platform modell, feldolgozási modell, memória modell, programozási modell), valamint a futtató környezet kialakításához szükséges fontosabb előírások, megkötések.

Az utána lévő részben elemzésre kerülnek az OpenCL modelljei és előírásai, és ennek figyelembe vételével meghatározásra kerül a feldolgozó egység architektúrális felépítése. Meghatározásra kerülnek az egyes részegységek, azok fontosabb követelményeik és kapcsolódási pontjaik.

Ezután egy aritmetikai és logikai egység tervének bemutatása következik. Ehhez először részletesen elemzésre kerül a Virtex-5 illetve Virtex-6 FPGA-kban található DSP blokkok, azok képességeik, és konfigurációs lehetőségeik. Az ALU tervezésénél több szempont is elemzésre kerül, úgymint működési frekvencia, késleltetés, vagy az aritmetikai és logikai műveletek típusa.

Az utána lévő fejezetekben az architektúra további részegységeinek részletesebb bemutatása található. Ezek a regiszter fájl, szálütemező, memóriák, vezérlő interfész. A részegységek kialakításánál több alternatíva található, majd ezen alternatívák előnyei és hátrányai kerülnek bemutatásra, valamint a preferált megoldások részletesebb megvalósítási lehetőségei is megtalálhatók.

Az utasításkészlet kialakítása egy külön fejezetben található.

Az utolsó fejezetben továbbfejlesztési lehetőségek kerülnek bemutatásra.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.