Tantárgy neve, kódja: Számítógép-architektúrák II., GINFBAN-SZAMARC2-1

Szak neve, képzési szintje: Mérnökinformatikus alapszak, BSc
Tanterv: 2017
Heti órászám (előadás + gyakorlat + labor): 2+0+2
Kreditérték: 5
Elmélet: 50 %
Gyakorlat: 50 %
A tantárgy tantervi helye: 5. félév
Munkarend: Nappali
Előtanulmányi feltételek: Számítógép-architektúrák I. + 100 kr
Értékelés: gyakorlati jegy
Tantárgy besorolása: differenciált szakmai ismeretek
Oktatás nyelve: Magyar
Tantárgyfelelős: Dr. Pintér István
Felelős tanszék: Informatika Tanszék
Tantárgy oktatója(i): Dr. Pintér István
Ellenőrzésért felel: Dr. Pintér István
Tárgy oktatásának célja:
A tantárgy célja a számítási teljesítmény növelése lehetőségeinek és korlátainak ismertetése a számítógép-architektúrák szintjén, az IA32/x86-64 architektúrától eltérő mikroprocesszokrok tulajdonságainak áttekintése, SIMD és a párhuzamosítás lehetőségei.
Elsajátítandó ismeretanyag előadás:

A számítási teljesítmény növelése (ILP (pipeline, váróciklusok, függőségek típusai és kezelése)), gyorsítótárak típusai és működése, statikus és dinamikus elágazás-előrejelezés, sorrendtől eltérő végrehajtás, feltételezett végrehajtás. A disszipáció csökentése. Az operációs rendszerek megvalósításának HW támogatása, operációs-rendszer funkciók és SW megszakítások. ARM, AVR, TMS320C5000 ISA, IA32/x86-64 MMX, SSE. Speciális algoritmusok megvalósításának támogatása ISA-szinten (mátrixműveletek, jelfeldolgozás, adatátvitel). IA32/x86-64 MMX és SSE ISA megismerése, gyakorlása és egyszerűbb algoritmusok megvalósítása ISA szinten megfelelő eszközzel, elsősorban a következő vonatkozásokban: speciális aritmetikai lehetőségek, párhuzamos aritmetikai műveletvégzés, mátrix-műveletek.


Elsajátítandó ismeretanyag laboratórium:

Ismétlés (A gépi utasítások működésének vizsgálata Visual Studio-val. Adatmozgatás, fixpontos aritmetika.Logikai műveletek, léptetés, forgatás, ciklusszervezés, FPU, IN, OUT, BCD, NOT, NEG, XLAT, sztringkezelő utasítások.) Vegyes feladatok (EBP, állapotregiszter, RDTSC, CPUID stb.). Gyakorló feladatok (Kódelemzés, folyamatábra. Szöveg kódolása. BCD/BIN/HEX konverzió. FP32 bitmezők kiírása, denormalizált szám. Álvéletlenszám-generátor, RDRAND utasítás. Vezérléstechnikai rendszer állapota. Véges állapotgépek szimulációja.) Fixpontos telítéses összeadás, kivonás. Két fixpontos vektor elemenkénti szorzata. Két fixpontos vektor elemei különbsége abszolút-értékének összege.FP32 lebegőpontos számokból álló vektorok skaláris szorzata. A CPUID utasítás, SIMD lehetőségek. MMX és az FPU, példa MMX utasításokra. Példa SSE utasításokra, vektorok elemenkénti szorzása. Két vektor Manhattan-távolsága. Négydimenziós FP32 vektorok skaláris szorzata.

Elsajátítandó szakmai kompetenciák (tudás, képesség, attitűd, autonómia és felelősség, további szakmai kompetenciák):
Tudása:

tudása - Ismeri az informatikai rendszerek hardver és szoftver elemeinek működését, megvalósításuk technológiáját, működtetéséből származó feladatok megoldásának mikéntjét, valamint informatikai és egyéb műszaki rendszerek összekapcsolásának lehetőségeit. - Ismeri az informatika és a mérnöki szakma szókincsét és kifejezési sajátosságait magyar és angol nyelven, legalább alapszinten.

Képességei:

képességei - Tanulmányai során szerzett ismeretanyagát felhasználva képes beágyazott rendszereket specifikálni és megvalósítani. - Képes a megszerzett alapismeretekre építve egy-egy műszaki informatikai területen mélyebb ismeretek önálló megszerzésére, a szakirodalom feldolgozására, majd a területhez kapcsolódó informatikai problémák megoldására. - Együttműködik informatikusokkal és villamosmérnökökkel a csoportmunka során, és más szakterületek képviselőivel is az adott probléma követelményelemzésének és megoldásának kimunkálása során. - Folyamatosan képezi magát és lépést tart az informatikai szakma fejlődésével.

Attitűdje:

- Hitelesen képviseli a mérnöki és informatikai szakterületek szakmai alapelveit. - A saját munkaterületén túl a teljes műszaki rendszer átlátására törekszik. - Törekszik a hatékony és minőségi munkavégzésre.

Autonómia és felelősség:

- Felelősséget érez az önálló és csoportban végzett informatikai rendszerelemzői, -fejlesztői és -üzemeltetési tevékenységéért. - Feltárja az alkalmazott technológiák hiányosságait, a folyamatok kockázatait és kezdeményezi az ezeket csökkentő intézkedések megtételét.

További szakmai kompetenciák:

- digitális technológia hatékony alkalmazása, tanulási célok elérését szolgáló digitális megoldások ismerete

A számonkérés és értékelés rendszere:
Félévközi tanulmányi követelmények:
Pontszerző dolgozatok az előadás és a gyakorlat anyagából. Ezekkel 100 pont szerezhető. A gyakorlati jegy megállapítása a TVSz alapján történik.
Vizsgakövetelmények:

A gyakorlati jegy megállapítása a TVSz alapján történik.

Tanulmányi segédanyagok, laborháttér:

Pintér I.: Számítógép-architektúrák II. Assembly segédlet.; 15 fős számítógépterem, MS Visual Studió

Kötelező irodalom:

A. S. Tanenbaum: Számítógép-architektúrák, Panem, ISBN:9789635454570, 2006[ Koszna Ferenc: Assembly nyelvű programozás Visual Studio alatt. Jegyzet. Kecskemét, 2021. ISBN 978-615-5817-67-0

Ajánlott irodalom:

Tanenbaum, Austin: Structured Computer Organization 6th Edition, ISBN-13: 978-0132916523, Pearson, 2013. Hennessy, Patterson: Computer Architecture 6th Edition, ISBN: 9780128119051, Morgan Kaufmann, 2017.