Nagyteljesítményű mikrokontrollerek és interfészek

A tantárgy angol neve: High Performance Microcontrollers and Interfaces

Adatlap utolsó módosítása: 2022. december 27.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki szak, MSc képzés       
Számítógép-alapú rendszerek főspecializáció       
A1 tantárgy       

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUMA18   2/1/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Tevesz Gábor,
A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUMA18
4. A tantárgy előadója
 Név:
 Beosztás: Tanszék, intézet:
 Dr. Tevesz Gábor
 c. egyetemi tanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Dr. Nagy Ákos
 egyetemi adjunktus
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Kiss Domokos
 egyetemi tanársegéd
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Kovács Viktor
 egyetemi tanársegéd Automatizálási és Alkalmazott
 Informatikai Tanszék
5. A tantárgy az alábbi témakörök ismeretére épít Mikrokontrollerek alapszintű ismerete, digitális technika alapelvei, tervezési módszerei.
6. Előtanulmányi rend
Kötelező:
(NEM
(TárgyEredmény( "BMEVIAUMA07", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUMA07", "FELVETEL", AktualisFelev()) > 0))

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
-
7. A tantárgy célkitűzése A tantárgy célja, hogy széleskörű ismereteket nyújtson a számítógépes rendszerek és a nagyteljesítményű mikrokontrollerek architektúráiról, ill. építőelemeiről. A hagyományos architektúrák elemzését követően bemutatja a teljesítőképesség növelése céljából megalkotott modern megoldásokat, amelyek a végrehajtás párhuzamosításának különféle lehetőségeit foglalják magukban. Speciális architektúrák (ARM, grafikus processzorok, GPGPU) jellemzőit is tárgyalja, s összeveti ezeket a szoft- és hardprocesszoros SoC eszközökkel. A tárgy hallgatói megismerkednek a teljesítményt és megbízhatóságot növelő, s a fogyasztást csökkentő módszerekkel. Részletesen foglalkoznak az irányítórendszer részeit összekapcsoló nagysebességű buszrendszerek (USB, SATA, PCI-Express) jellemzőivel, működésével.
8. A tantárgy részletes tematikája

I. Az előadások részletes tematikája:

Nagyteljesítményű mikrokontrollerek

1.  Számítógép-architektúrák alapvető fogalmainak átismétlése: utasításkészlet-architektúra és mikroarchitektúra, CISC és RISC processzorok. Processzorok teljesítőképességének fogalma, Iron Law, Amdahl-törvény. A teljesítőképesség mérése és növelésének lehetőségei.

2.  Csővezeték-szerevezés (pipelining) alapjai. Közönséges és szuperskalár utasítás-csővezeték. Szuperskalár szervezés típusai: egységes szerkezetű, diverzifikált és dinamikus csővezetékek. Utasítások egymásra hatása: RAW, WAW, WAR és vezérlési függőségek és kiküszöbölésük, operandus-előrecsatolás, regiszter átnevezés, elágazásbecslés.

3.  VLIW processzorok felépítése és működése. Szálszintű párhuzamosság támogatása a mikroprocesszorokban, időosztásos és szimultán többszálúság. Fizikai és logikai processzormagok.

4.  Nagyteljesítményű ARM processzorok. Az ARM utasításkészlet általános jellemzői, ARM ISA kiegészítések. Újdonságok az ARMv8 architektúrában, az AArch32 és AArch64 végrehajtási állapotok különbségei. ARM Cortex-A mikroarchitektúrák.

5.  Többprocesszoros rendszerek, osztályozásuk feladat-hozzárendelési mód, processzorok közti kapcsolat, memóriamegosztottság, processzorok típusa és kezelése szerint. Gyorsítótárak multiprocesszoros környezetben: Többszintű gyorsítótárak, gyorsítótár-koherencia, a MESI koherencia-protokoll. Az Intel Nehalem mikroarchitektúra multiprocesszoros tulajdonságai, többmagos ARM processzorok, ARM big.LITTLE és ARM DynamIQ technológia.

6.  Grafikus processzorok története, kialakulása, a CPU és GPU kapcsolata, 3D grafikai feladatok (raszterizálás, sugárkövetés) architekturális támogatása, grafikus csővezeték. GPU memóriák, jelentősebb GPU architektúrák. GPU-k nem grafikus alkalmazásai, univerzális shaderek.

7.  Az AMD TeraScale és az AMD GCN architektúra tulajdonságai. GPU-k programozása, vertex és pixel shader-ek, compute shader-ek, OpenCL, CUDA. Neurális hálók alkalmazásának architekturális támogatása.

Buszok és interfészek

8.  A SATA interfész. A háttértárolók fontosabb jellemzői. Az ATA (IDE) és a SATA interfészek általános jellemzői. A SATA rétegszerkezete, a fizikai réteg (mechanikai és elektromos jellemzők), az adatkapcsolati réteg (keret küldése és fogadása, összekeverés, 8b/10b kódolás, primitívek), a transzport réteg (FIS összeállítás és szétbontás, kommunikáció az adatkapcsolati réteggel, a puffer/FIFO tartalom menedzselése). Native Command Queuing.

9.  Universal Serial Bus (USB). Bevezetésének előzményei. Általános jellemzők: rendszerarchitektúra (busz topológia, eszközök és végpontok) rendszer konfiguráció, fel- és lecsatlakozás, adatfolyam típusok, sebesség, sávszélesség allokáció, a hardver és szoftver réteges szerkezete, az USB helye egy PC-ben. A mechanikai interfész jellemzői: Csatlakozótípusok, kábelek. Elektromos jellemzők: adók és vevők, jelszintek, J és K állapotok, a HUB és az eszközök kapcsolata, sebesség identifikáció, meghajtó- és vevőáramkörök, kódolás. Logikai jellemzők: az adatátvitel elemei, a tranzakciók csomagjai (token, adat és kézfogásos csomagok), az IN, OUT, SETUP és speciális csomagok, a tranzakciók lefolyása, USB leírók és konfigurálás. Az USB 3.x és USB4 szabványok jellemzői.

10.  A PCI buszcsalád. A PCI busz bevezetésének előzményei, a család tagjai. A PCI busz mechanikai, elektromos és logikai jellemzői, PCI busz jelek, parancsok és tranzakciók. A rendszer konfigurálása, arbitráció, megszakítások. A PCI-X busz.

11.  A PCI Express busz: a soros technológia előretörése, rendszerarchitektúra, réteges felépítés. A fizikai réteg elemei: elektromos és logikai alrendszer, pufferek, multiplexerek, bájt szétszedő és összerakó modulok, összekeverők és visszaállítók, 8b/10b kódoló-dekódoló, órajel kinyerés, szóhatár felismerés, sávelcsúszás kompenzálás, vevő detektálás, karakter egymásrahatás kompenzálása. Csomag alapú réteges protokoll (tranzakciós és adatkapcsolati réteg csomagok). Korszerű soros buszok kapcsolódása. A DisplayPort interfész, a HDMI interfész, a Thunderbolt interfész. Nagyteljesítményű soros interfészek közös tulajdonságai és kapcsolódása.

System-on-Chip rendszerek

12.  Egylapkás rendszerek általános tulajdonságai. Történeti áttekintés, System-on-Chip (SoC), Network-on-Chip (NoC), System-in-Package (SiP), System-on-Module (SoM) rendszerek. Intellectual property (IP): soft, hard, firm és analóg IP blokkok. RTL és HDL leírás. A Verilog nyelv áttekintése. FPGA alapú SoC rendszerek. Xilinx 7-es FPGA család bemutatása.

13.  Lapkán belüli kommunikációs buszok. Buszrendszerek általános felépítése, ARM AMBA buszcsalád bemutatása: APB, AHB és AXI buszok, AXI4-Stream és AXI4-Lite megoldások.

II. A gyakorlatok részletes tematikája:

A gyakorlatokon példák és esettanulmányok formájában kerül elmélyítésre az előadásokon elhangzott elméleti tananyag.

1.    Utasítás-csővezetékek működésének vizsgálata egy tipikus hatfázisú RISC csővezeték példáján.
2.    Függőségek gyakorlati hatása a szuperskalár csővezetékben. Esettanulmány: dinamikus utasítás-csővezeték és szimultán többszálúság megvalósítása az Intel Nehalem mikroarchitektúrában.
3.    OpenCL host és kernel kódok vizsgálata.
4.    Interfészek és buszok mechanikai, elektromos és logikai jellemzői. Aktuális technológiai elvárások a nagyteljesítményű interfészekkel szemben. A 8b/10b kódolás számításának lépései. Videojel-tömörítés.
5.    Magas szintű logikai szintézis (HLS) bemutatása. Xilinx Vivado HLS bemutatása és gyakorlati példák áttekintése.
6.    Hard és soft processzormagok SoC rendszerekben. A Xilinx MicroBlaze és az Intel Nios megoldások összehasonlítása. Xilinx MicroBlaze esettanulmány.
7.    Xilinx Zynq PSoC esettanulmány: kamera illesztése, képfeldolgozás megvalósításának különböző lehetőségei.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tárgy anyaga előadásokon és gyakorlatokon kerül ismertetésre. Az előadások és a gyakorlatok az anyag ütemében váltogatják egymást, a gyakorlatokon példák és esettanulmányok formájában kerül elmélyítésre az előadásokon elhangzott elméleti tananyag.
10. Követelmények

Szorgalmi időszakban:

Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak alatt egy alkalommal nagyzárthelyivel mérjük. Az aláírás megszerzésének feltétele a zárthelyi elfogadható (legalább elégséges szintű, azaz minimum 45%-os) megoldása. A vizsgára bocsátás feltétele az aláírás megléte.

Vizsgaidőszakban:

A vizsga írásbeli. A kreditpont megszerzésének feltétele: legalább elégséges vizsgaosztályzat elérése.
A tárgyból szerzett érdemjegy 30%-ban a zárthelyin, 70%-ban a vizsgán elért eredményből (pontszámból) kerül meghatározásra.
11. Pótlási lehetőségek

A zárthelyihez a TVSz előírásai szerint a szorgalmi időszakban 1 pótlási lehetőséget biztosítunk. Második pótlás lehetősége csak indokolt esetben, egyéni egyeztetést követően biztosítható.

A vizsgák a TVSz előírásai szerint pótolhatók.
12. Konzultációs lehetőségek Órák előtt és után, valamint a számonkérésekhez kapcsolódóan egyeztetés szerint.
13. Jegyzet, tankönyv, felhasználható irodalom
  • Gál T.: Interfésztechnikák. SZAK Kiadó, 2010. ISBN 978-963-9863-13-2
  • Gál T., Tevesz G., Kiss D., Nagy Á., Kovács V.: Nagyteljesítményű mikrokontrollerek és interfészek (Elektronikus jegyzet). BME AUT, 2023.
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra42
Félévközi készülés órákra 24
Felkészülés zárthelyire 32
Házi feladat elkészítése -
Kijelölt írásos tananyag elsajátítása 16
Vizsgafelkészülés 36
Összesen 150
15. A tantárgy tematikáját kidolgozta
 Név:
 Beosztás: Tanszék, intézet:
 Dr. Gál Tibor
 c. egyetemi tanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Dr. Tevesz Gábor
 c. egyetemi tanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Kiss Domokos
 egyetemi tanársegéd
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Kovács Viktor
 egyetemi tanársegéd Automatizálási és Alkalmazott
 Informatikai Tanszék
 Dr. Nagy Ákos
 egyetemi adjunktus
 Automatizálási és Alkalmazott
 Informatikai Tanszék