Architektury počítačů a paralelních systémů
Cílem předmětu je seznámit studenty se základním technickým vybavením počítačů a principem činnosti jejich jednotlivých částí. Vybrané principy jsou demonstrovány na mikropočítačích, osobních počítačích a GPU (dostupné architektury).
Absolvováním kurzu získají studenti znalosti o základních komponentách počítače a pochopí obecné principy jejich fungování. Během praktické části kurzu si studenti osvojí schopnost vyvíjet programy pro mikropočítače, víceprocesorové počítače a programování GPU. Seznámí se také se základy programování v jazyce symbolických instrukcí.
Stránky předmětu: https://poli.cs.vsb.cz/edu/apps/
Harmonogram 2024/2025
Užitečné odkazy:
Oficiální stránky k předmětu: https://poli.cs.vsb.cz/edu/apps
Skripta Assembler x86
Příklady a zdrojové kódy github.com/apps-cs/
Příklady a zdrojové kódy pro naše cvičení github.com/Kykina/APPS
Cvičení 1
Seznámení s prostředím počítačové učebny.
Spojování zdrojových kodů C a ASM.
Registry procesoru, datové typy, přímé adresování globálních proměnných.
Instrukce MOV, MOVSX, MOVZX.
2 body
Cvičení 2
Globální proměnné, adresování nepřímé s jedním registrem.
Instrukce ADD, SUB, CMP, INC, DEC, NEG, AND, TEST, OR, XOR, NOT, SHL, SHR.
Podmíněné skoky Jcc pro znaménková čísla.
Podmínka a cyklus.
3 body
Cvičení 3
Volání funkcí, návratové hodnoty, předávání parametrů,
Adresování nepřímé s využítím dvojice registrů.
Podmíněné skoky, cykly, složené podmínky.
3 body
Cvičení 4
Volání funkcí, vnořený cyklus.
Instrukce IMUL a IDIV, instrukce CMOVxx volání funkce z JSI.
4 body