Detail předmětu

Pokročilé asemblery

IPA Ak. rok 2019/2020 zimní semestr 5 kreditů

Chráněný režim procesorů Pentium: princip ochrany, registry, správa paměti, soubor instrukcí. Technika programování v chráněném režimu, správa úloh, virtuální režim. Využití nízkoúrovňového Win32 API v aplikacích pro Windows - konzolové aplikace, "okénkové" aplikace, OpenGL. Technologie programování s využitím multimediálních SIMD instrukcí současných procesorů Intel (MMX a SSE). Seznámení s 64bitovými procesory.

Garant předmětu

Orság Filip, Ing., Ph.D. (UITS FIT VUT)

Zástupce garanta předmětu

Goldmann Tomáš, Ing. (UITS FIT VUT)

Jazyk výuky

český

Zakončení

zkouška (písemná)

Rozsah

26 hod. přednášky, 16 hod. pc laboratoře, 10 hod. projekty

Bodové hodnocení

60 zkouška, 16 cvičení, 24 projekty

Zajišťuje ústav

Přednášející

Orság Filip, Ing., Ph.D. (UITS FIT VUT)

Cvičící

Goldmann Tomáš, Ing. (UITS FIT VUT)

Získané dovednosti, znalosti a kompetence z předmětu

Principy chráněného režimu architektury IA-32. Tvorba programů používajících instrukce MMX a SSE. Tvorba programů a knihoven pracujících v chráněném režimu používajících Win32 API na nejnižší úrovni.

Cíle předmětu

Seznámit studenty s programováním náročnějších aplikací na nejnižší úrovni. Naučit používat instrukce multimediálního rozšíření procesorů Intel. Seznámit s principy chráněného režimu architektury IA-32, naučit programovat v chráněném režimu a používat rozhraní Win32 API v nízkoúrovňových aplikacích. Seznámit s 64-bitovými procesory.

Proč je předmět vyučován

Předmět se zaměřuje na nízkoúrovňové programování v asembleru, které je mnohdy nutné v případě optimalizaci kódu nebo systémového kódu, který využívá specifické instrukce procesoru nedostupné z vyšších programovacích jazyků. Optimalizace v asembleru umožňují udržet kompletní kontrolu nad kódem (jeho velikostí i efektivitou).

Požadované prerekvizitní znalosti a dovednosti

Nezbytná je základní znalost asembleru procesorů x86 (pro studenty FIT je to předmět ISU), znalost programování v NASM a jazyka C.

Literatura studijní

  • Orság, F.: Studijní opora k předmětu IPA
  • Zbořil, F.: Strojově orientované jazyky, skripta, VUT v Brně, 1991, ISBN 80-214-0349-7
  • Hall, R. B.:Assembly Programming and Computer Architecture for Software Engineers. Prospect Press. 2017. ISBN: 978-1943153329.
  • Kusswurm, D.: Modern X86 assembly language programming: 32-bit, 64-bit, SSE, and AVX. Apress, 2014. ISBN: 9781484200650.

Literatura referenční

  • Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972
  • Irvine, K.R.: Assembly Language for Intel-Based Computers, Prentice Hall, 2002, ISBN 0130910139
  • Bistry, D.: The Complete Guide to MMX Technology, McGraw-Hill/TAB Electronics, 1997, ISBN 0070061920
  • Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7
  • Intel 64 and IA-32 Architectures Software Developer's Manuals [online]. K dispozici na <www.intel.com>.

Osnova přednášek

  1. Architektura procesorů x86-64.
  2. Rozšíření a technologie procesorů - MMX.
  3. Rozšíření a technologie procesorů - SSE.
  4. Rozšíření a technologie procesorů - AVX.
  5. Aplikace využívající MMX, SSE a AVX.
  6. Architektura a asembler procesorů ARM.
  7. Technologie NEON procesoru ARM.
  8. Programování aplikací pro procesor ARM - emulace, vestavěná zařízení.
  9. Chráněný režim procesorů IA-32 a x86-64 - soubor registrů a instrukcí, paměťové modely.
  10. Chráněný režim procesorů IA-32 a x86-64 - základní datové struktury, správa paměti.
  11. Chráněný režim procesoru IA-32 a x86-64 - způsoby ochrany dat a kódu.
  12. Chráněný režim procesoru IA-32 a x86-64 - správa úloh.
  13. Optimalizace programů v asembleru.

Osnova počítačových cvičení

  1. Tvorba a použití knihoven DLL.
  2. Win32 API - konzolová aplikace.
  3. Win32 API - klasická aplikace s okny.
  4. Win32 API - aplikace využívající OpenGL.
  5. Aplikace instrukcí rozšíření MMX.
  6. Aplikace instrukcí technologie SSE.
  7. Optimalizace kódu.

Osnova ostatní - projekty, práce

  1. Individuální projekt: program ve 32/64bitovém chráněném režimu využívající Win32 API, rozšíření MMX a/nebo technologii SSE, AVX, OpenGL.

Průběžná kontrola studia

  • Práce na cvičeních.
  • Hodnocený projekt.

Kontrolovaná výuka

Kontrolovanou výukou je práce na cvičeních a hodnocený projekt. Absenci na cvičení z důvodu nemoci nebo jiné, řádně doložené absenci, lze nahradit formou individuální práce zadané cvičícím.

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Útpoč. lab2019-11-05 N105 08:0009:50Náhradní cvičení IPA
Útpřednáškavýuky G202 11:0012:50 2BIA 2BIB 3BIT xx
Útpoč. labvýuky N105 14:0015:50
Stpoč. labvýuky N203 18:0019:50

Zařazení předmětu ve studijních plánech

  • Program BIT, 2. ročník, volitelný
  • Program IT-BC-3, obor BIT, libovolný ročník, volitelný
  • Program IT-BC-3, obor BIT, 2. ročník, volitelný
Nahoru