Název:

Programování na strojové úrovni

Zkratka:ISU
Ak.rok:2015/2016
Semestr:letní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
IT-BC-3BIT1.povinný
Vyučovací jazyk:čeština
Kredity:6 kreditů
Ukončení:zápočet+zkouška (písemná)
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:3900260
 zkouškatestycvičenílaboratořeostatní
Body:60162400
Garant:Orság Filip, Ing., Ph.D. (UITS)
Přednášející:Hanáček Petr, doc. Dr. Ing. (UITS)
Orság Filip, Ing., Ph.D. (UITS)
Cvičící:Dvořák Michal, Ing. (UITS)
Goldmann Tomáš, Ing. (UITS)
Janků Petr, Ing. (UITS)
Kanich Ondřej, Ing., Ph.D. (UITS)
Kešner Filip, Ing. (UPSY)
Košík Michal, Ing. (UITS)
Nikl Vojtěch, Ing. (UPSY)
Semerád Lukáš, Ing. (UITS)
Šebek Petr, Ing. (UITS)
Široký Adam, Ing. (UPGM)
Vaverka Filip, Ing. (UPSY)
Wiglasz Michal, Ing. (UPSY)
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav inteligentních systémů FIT VUT v Brně
Nahrazuje:
Strojově orientované jazyky (SOJ), FIT
 
Cíle předmětu:
  Seznámit s programováním počítačů na nejnižší úrovni se zaměřením na vybranou architekturu. Seznámit a naučit aktivně pracovat s číselnými soustavami, zobrazováním čísel bez a se znaménkem, aritmetikou v dvojkové soustavě a se zobrazováním reálných čísel. Seznámit s vybranou konkrétní architekturou procesorů, formátem instrukcí a adresovacími režimy. Naučit aktivně programovat běžné řídící konstrukce v asembleru s daným souborem instrukcí. Propojit programování v asembleru na nízké úrovni s programovacími jazyky vyšší úrovně knihovnami a službami operačního systému. Naučit používat koprocesor pro práci s reálnými čísly (FPU).
Anotace:
  Číselné soustavy: zobrazování celých čísel bez a se znaménkem, aritmetika ve dvojkové soustavě, reálná čísla ve formátu IEEE-754. Strojový jazyk: jazyk symbolických instrukcí, základní funkce počítače. Konkrétní architektura procesoru: registry, základy organizace paměti, adresování, systém přerušení, práce s koprocesory, soubor instrukcí a jejich formát. Programování na úrovni strojového jazyka: základní programátorské konstrukce, překlad a linkování kódu. Návaznost na vyšší programovací jazyky: standardní předávání řízení a parametrů při volání funkcí, služby operačního systému. Koprocesor: formát čísel, instrukční sada, programování koprocesoru FPU.
Požadované prerekvizitní znalosti a dovednosti:
  Základní znalost programování v jazyce C.
Získané dovednosti, znalosti a kompetence z předmětu:
  Studenti se seznámí s jednou konkrétní architekturou procesoru. Naučí se používat nejdůležitější instrukce daného procesoru a koprocesoru FPU, jazyk symbolických instrukcí a budou schopni vytvářet jednoduché programy, překládat je a spojovat do spustitelných programů. Získají základní vědomosti o předávání řízení, předávání parametrů, přehled o službách operačního systému a jejich volání a budou schopni tyto získané vědomosti prakticky používat.
Dovednosti, znalosti a kompetence obecné:
  Studenti získají základní vědomosti o architektuře a činnosti procesoru, které patří k základním znalostem všech odborníků oboru IT. Naučí se řešit jednoduché problémy v jazyku symbolických instrukcí a návaznost na vyšší programovací jazyky.
Osnova přednášek:
 
  1. Úvod, číselné soustavy, reprezentace čísel, binární aritmetika.
  2. Základní funkce procesoru, strojový jazyk, jazyk symbolických instrukcí, asembler.
  3. Architektura procesoru - registry, typy operandů, formát instrukcí, adresování paměti, přerušení.
  4. Architektura procesoru - přenosy, aritmetické a logické instrukce.
  5. Architektura procesoru - posuny a rotace, předávání řízení.
  6. Architektura procesoru - další instrukce.
  7. Půlsemestrální test.
  8. Zásady programování ve strojovém jazyku, základní řídící konstrukce.
  9. Funkce, standardní předávání řízení a parametrů.
  10. Programové moduly, knihovny, služby operačního systému.
  11. Koprocesor FPU - architektura, reprezentace reálných čísel, instrukční sada.
  12. Koprocesor FPU - instrukční sada, programování a ukázky použití.
  13. Překladač jazyka symbolických instrukcí - pseudoinstrukce, direktivy, výrazy, operátory, operandy a makra.
Osnova počítačových cvičení:
 
  1. Vývojové prostředí pro asemblery, překlad, sestavení a spuštění programu v příkazové řádce.
  2. Číselné soustavy (převody mezi soustavami), číselné kódy (reprezentace záporných čísel, reálná čísla).
  3. Hypotetický počítač (programování a ladění kódu ve vývojovém prostředí).
  4. Aritmetické a logické instrukce, instrukce posunů a rotací.
  5. Test - řešení jednoduchého matematického problému v asembleru.
  6. Skokové instrukce a základní řídicí konstrukce (if-then-else, while, do-while, for, switch-case).
  7. Práce s pamětí (proměnné, pole).
  8. Test - programování základních řídících konstrukcí.
  9. Volání funkcí a předávání parametrů funkcím.
  10. Volání služeb a funkcí operačního systému a volání funkcí z knihoven vyšších programovacích jazyků.
  11. Test - jednoduchý program s uživatelským vstupem a výstupem z příkazové řádky.
  12. Práce s koprocesorem FPU.
  13. Test - programování koprocesoru.
Literatura referenční:
 
Průběžná kontrola studia:
  
  • půlsemestrální písemný test
  • testy v počítačových cvičeních
Podmínky zápočtu:
  Nejméně 20 bodů získaných v průběhu semestru.

Minimální počet bodů nutný pro úspěšné absolvování semestrální zkoušky je 25.

 

Vaše IPv4 adresa: 34.229.113.106