Detail předmětu

Mikroprocesory

FEKT-BMICAk. rok: 2018/2019

Předmět je zaměřen na základy mikroprocesorových a embedded systémů. Studenti se seznámí s principem činnosti mikroprocesorů, použitím mikrokontrolérů, paměťovými systémy a správou paměti. Ve cvičeních studenti získají praktické zkušenosti s programováním mikrokontrolérů v assembleru a jazyce C.

Jazyk výuky

čeština

Počet kreditů

6

Garant předmětu

Výsledky učení předmětu

Absolvent předmětu by měl být schopen:
- navrovat kombinační logické obvody,
- navrhovat sekvenční logické obvody typu Mealy a Moore automat,
- navrhnot připojení externích pamětí k mirokontroléru,
- vytvořit softwarové vybavení pro mirokontrolér v assembleru a jazyce C,
- popsat hierarchii paměti a vysvětlit použití pamětí cache,
- vysvětlit rozdíl mezi mikroprocesorem, mikrokontrolérem, signálovým procesorem a signálovým kontrolérem,
- vysvětlit mechanismus segmentace, stránkování a virtualizace paměti.

Prerekvizity

Povinnou prerekvizitou je předmět BPC1A.
Student by měl být schopen vytvořit jednoduchý program v jazyce C a vysvětlit funkci základních elektronických součástek.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování zahrnují přednášky a cvičení na počítači. Student vypracuje šest úloh.

Způsob a kritéria hodnocení

Počítačová cvičení jsou hodnocena max. 40 body, z toho 10 bodů za samostatné naprogramování zadaných úloh a 30 bodů za dva testy.
Závěrečná zkouška má ústní část a je hodnocena max. 60 body. Student musí získat minimálně 25 bodů ze závěrečné zkoušky.

Osnovy výuky

1. Von Neumannova koncepce počítače. Základní bloky: ALU, řadič, registry, paměť, sběrnice, paměťově mapované a izolované periferie. Základní cyklus počítače. Harvardská architektura, modifikovaná Harvardská architektura. Mikroprocesor, mikrokontrolér, signálový procesor, signálový kontrolér.
2. Program, instrukce, instrukční soubor, typy instrukcí. Adresovací módy. Strojový kód.
3. Assembler: instrukce, pseudoinskrukce, návěští. Instrukční soubor mikrokontrolérů NXP rodiny HCS08.
4. Podprogramy, předávání parametů podprogramům, práce se zásobníkem. Rozdíl mezi podprogramem a makrem.
5. Obsluha periferií: aktivní čekání, přerušení, DMA. Činnost procesoru při obsluze přerušení. Maskovatelné, nemaskovatelné a pseudomaskovatelné přerušení. Vnořená přerušení. Reset procesoru, zahájení činnosti po resetu.
6. Periferní subsystémy mikrokontrolérů: porty, jednotky generování hodinového signálu, hodiny reálného času, watchdog.
7. Periferní subsystémy mikrokontrolérů: čítače a časovače, funkce Input Capture a Output Compare, měření časového intervalu. PWM.
8. Periferní subsystémy mikrokontrolérů: A/D, D/A převodníky, SCI, SPI, IIC.
9. Paměti: rozdělení, parametry. Princip a vlastnosti pamětí SRAM, DRAM, SDRAM, DDR RAM.
10. Paměti ROM, EPROM, EEPROM, FLASH (NOR, NAND FLASH), FeRAM, MRAM.
11. Připojování pamětí k mikroprocesoru. Sériové a paralelní rozhraní pamětí. Adresový dekodér. Zrcadlení. Hierarchie paměti. Paměti cache.
12. Řetězení (pipelining). Superskalární architektura. Multiprocesorové systémy. Procesory CISC, RISC, Post RISC.
13. Správa paměti: Adresový prostor. Logická a fyzická adresa. MMU. Bázový registr a registr pro limit, segmentace, stránkování. TLB. Virtualizace paměti.

Učební cíle

Cílem předmětu je naučit studenty navrhovat jednoduché kombinační a sekvenční logické obvody, seznámit je s principy činnosti mikroprocesorových systémů, subsystémy mikrokontrolérů a základy tvorby softwarového vybavení pro embedded systémy.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Počítačová cvičení jsou povinná, řádně omluvené zmeškané počítačové cvičení lze po domluvě s vyučujícím nahradit.

Prerekvizity a korekvizity

Základní literatura

Ličev L., Morkes D., Procesory - architektura, funkce, použití. Brno: Computer press, 1999. 260 s. ISBN 80-7226-172-X. (CS)
Pinker J., Poupa M. Císlicové systémy a jazyk VHDL. Praha: BEN, 2006. 349 s. ISBN 80-7300-198-5. (CS)

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

  • Program EEKR-B bakalářský

    obor B-AMT , 2 ročník, letní semestr, povinný

  • Program EEKR-CZV celoživotní vzdělávání (není studentem)

    obor ET-CZV , 1 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Von Neumannova struktura počítače. CPU - ALU, řadič, registry. Základní cykus počítače. Obvodový a mikroprogramový řadič. Mikroprocesor, mikropočítač, mikrokontrolér, signálový procesor. Izolované a paměťově mapované periferie. Organizace paměti. Program, instrukce, instrukční soubor.
2. Adresovací módy. Typy instrukcí. Programátorský model HCS08.. Adresovací módy HCS08.
3. Adresovací módy HCS08. Jazyk symbolických adres.
4. Podprogramy, přerušení, práce se zásobníkem. Reset. Způsoby obsluhy V/V.
5. Použítí jazyka C pro embedded programování. Mikroprocesor, mikrokontrolér, signálový procesor, signálový kontrolér.
6. Von Neumannova, harvardská a modifikovaná harvardská architektura mikroprocesorů. Přesahování (overlapping), řetězení (pipelining), problémy při řetězeném zpracování instrukcí.
7. Mikrokontroléry Freescale řady HCS08: pracovní módy, paměťová mapa, porty.
8. HCS08: Přerušovací systém. Reset. COP (watchdog). Generování hodinového signálu.
9. HCS08: Časovací subsystém: funkce input capture a output compare, měření časového intervalu. Analogový komparátor.
10. HCS08: A/D převodník. Sériové komunikační kanály SCI, SPI, IIC. PWM.
11. Paměťi: rozdělení, parametry. Principy a vlastnosti pamětí SRAM, DRAM, SDRAM, DDR SDRAM.
12. Principy a vlastnosti pamětí ROM, PROM, EPROM, EEPROM, FLASH, FeRAM, MRAM. Připojování pamětí ke sběrnicím.
13. Správa paměti: jednotka MMU, stránkování, TLB, virtuální paměť.

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

1. Úvodní informace.
2. Seznámení s vývojovým prostředím CodeWarior. Strojový kód - sčítání 32 bitových čísel..
3. Jazyk symbolických adres - sčítání 32 bitových čísel, adresovací módy HCS08.
4. Program v jazyce symbolických adres pro násobení 16 bitových čísel.
5. Program v jazyce symbolických adres pro přesun pole čísel. Program v jazyce symbolických adres pro setřídění pole čísel.
6. Program v jazyce symbolických adres - podprogramy, práce se zásobníkem.
7. Program v jazyce symbolických adres - obsluha přerušení, start po RESET.
8. Test číslo 1.
9. Program v jazyce C - práce s binárními I/O prorty.
10. Program v jazyce C - obsluha přerušení
11. Program v jazyce C - TOD.
11. Program v jazyce C - PWM.
12. Program v jazyce C - A/D převodník.
13. Test číslo 2.