Rendszerarchitektúrák

VIMIMA08  |  Villamosmérnök MSc  |  Félév: 1  |  Kredit: 4

A tantárgy célkitűzése

A tantárgy a beágyazott számítógépes rendszerek felépítését, architektúráját mutatja be, átfogóan, a limitált képességű, egyszerű célfeladatokat ellátó mikrokontrolleres egységektől (pl. IoT, Internet of Things) a nagyteljesítményű beágyazott számításokat is biztosító összetett rendszerekig. Részletesen ismerteti az alkalmazható számítási modelleket, az ezekhez választható feldolgozó egységeket, mint az architektúra legfontosabb alkotóelemeit. Fontos célkitűzés a beágyazott rendszerekben alkalmazható elemek széles körének alkalmazási szempontok szerinti bemutatása, a használati elvárások, fejlesztési lehetőségek, a teljesítőképesség és hatékonyság elemzése. Ennek kapcsán értékeli a különböző architektúrájú egyedi és többmagos processzorokon alapuló megoldásokat, és az áramkörön kialakítható komplex SoC (System-on-a-Chip) rendszereket, bemutatva a heterogén, processzorokat és konfigurálható logikai eszközöket is tartalmazó megoldásokat. A tárgy elemzi az SoC rendszerek belső kommunikációs megoldásait, a külvilághoz kapcsolódó vezetékes és vezeték nélküli interfészek jellemzőit, és ezek legfontosabb adatátviteli tulajdonságait. Tematikájában szerepel a beágyazott rendszerek jellemző alkalmazási területeinek áttekintése, a fontosabb területek követelményeinek, teljesítményigényeinek, elvárásainak elemzése. A beágyazott rendszerek általános felépítésének bemutatása, rendszerszintű komponensek, modulok funkcióinak ismertetése. A célfeladatokhoz illeszkedő elemkészlet, a vezérlési, adatfeldolgozási, multimédia és kommunikációs szempontok figyelembevétele a különböző architektúrák kialakításánál. A korszerű nagyteljesítményű beágyazott processzortípusok felépítésének (RISC, DSP, VLIW), a többmagos, homogén és heterogén processzortömböket tartalmazó nagyteljesítményű rendszerek kialakításának, és jellemző tulajdonságainak elemzése. Az alkalmazásfüggő szempontok megjelenése a központi egységek felépítésének kialakításában, a konfigurálható utasításkészletű processzorok és programozható logikákban realizált lágymagos egységek alkalmazásának előnyei. A hardveres gyorsítók, célfeladatot ellátó funkcionális egységek (IP, Intellectual Property) használata a nagyteljesítményű rendszerekben. A komplex, egyetlen áramkörön belül realizált rendszerek (SoC, System-on-a-Chip) tervezési kérdései, áramkörön belüli kommunikációs megoldások kialakítási lehetőségei. A hierarchikus buszrendszerek, áramkörön belüli hálózati topológiák tulajdonságainak elemzése. A beágyazott rendszer és környezetének kapcsolata, a legfontosabb külső interfészek, memóriaillesztési feladatok áttekintése. A beágyazott rendszerek egymás közötti, M2M kommunikációs lehetőségeinek rövid áttekintése, a vezetékes és vezeték nélküli megoldások ismertetése.

A tárgy oktatói

Dabóczi Tamás
Dabóczi Tamás

egyetemi tanár

tárgyfelelős

Raikovich Tamás
Raikovich Tamás

tanársegéd

A tantárgy részletes tematikája

tematika

A beágyazott rendszerek (BR) jellemző alkalmazási területeinek áttekintése. Követelmények, teljesítményigények, nem funkcionális paraméterek és elvárások elemzése. A  BR általános felépítésének bemutatása, rendszerszintű komponensek, modulok, interfészkapcsolatok funkcióinak ismertetése.

A kis és közepes teljesítményigények kiszolgálásának eszközei. Egyszerű célhardverek, vezérlőegységek, mikrovezérlő áramkörök.

Általános célú mikroprocesszorok belső felépítése, a RISC (Load/Store) paradigma előnyei, következményei. Az ARM, MIPS és PowerPC családok fontosabb tulajdonságai. Központi egység, memóriakezelés, interfészek.  

A RISC CPU-k jellemző műveletvégzési tulajdonságai, az utasításvégrehajtás pipe-line szervezése, kivételkezelés. A SW fejlesztés követelményeinek figyelembevétele az utasítás architektúra, regiszterhasználat, memória kezelés kialakításakor.

Alkalmazási területhez optimalizált processzor struktúrák. A párhuzamosítás lehetőségei és architekturális megvalósításai: utasítás, adat és feladat szintű megoldások. DSP, VLIW, szuperskalár, SIMD, multicore, manycore rendszerek és fontosabb jellemzőik. A DSP és RSIC felépítésű egységek konvergenciája, egyesített követelmény specifikáció.

A feladat orientált konfigurálható utasításkészletű processzorok, Xtensa, ARC. Programozható adatfeldolgozás, erőforrás allokáció, ütemezés, mikroprogramozott vezérlés. Az FPGA-kban kialakítható lágyprocesszoros CPU egységek jellemzői (MicroBlaze, Nios, Mico32).

A heterogén feldolgozó egységek, hardveres gyorsítók és célfeladatot ellátó funkcionális egységek (IP-k) alkalmazási szempontjai. Utasításvezérelt és adatfolyam jellegű feldolgozás összehasonlítása, elemzése. 

A LabVIEW grafikus fejlesztési környezet. Általános jellemzők, alkalmazásfejlesztés a Host és Real-Time és a konfigurálható egységekre. A LabVIEW FPGA kiegészítés, az FPGA programozási szint előnyei, tervezési szempontok.

Az SoC áramkörök tervezési kérdései, rendszerszintű kommunikációs feladatok megvalósítási lehetőségei. Az áramkörön belüli buszrendszerek jellemzői (topológia, adatátvitel).  NoC kommunikációs megoldások.

Funkcionális egységek fejlesztése, illesztése SoC rendszerekben. A periféria illesztés feladata, a programozói IF kialakítása. A BFM szimuláció előnye.

A IP szintű építkezés jellemzői, előnyök, hátrányok. A socket alapú megoldások, az OCP és VSIA VCI szabványok.

Rendszeren belüli interfészek: lokális buszok (PCI), DDRx memória interfészek, soros nagysebességű adatkapcsolatok (PCIe). Tervezési szempontok adatkapcsolatok kialakítására.

Rendszerek közötti kommunikáció: Vezetékes és vezeték nélküli adatátvitel.

Egy egyszerű perifériaegység funkcionális áramköreinek megtervezése Verilog HDL nyelven, az egység illesztése egy ismert áramkörön belüli buszrendszerhez és a teljes terv működésének ellenőrzése BFM szimulációval. A gyakorlatok a félév elejétől ennek az otthoni tervezési feladatnak az elkészítéséhez adnak támogatást.