Detail předmětu
Mikroprocesory
FEKT-BMICAk. rok: 2016/2017
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
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- 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
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
Způsob a kritéria hodnocení
Závěrečná zkouška má ústní část a je hodnocena max. 60 body.
Osnovy výuky
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
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Prerekvizity a korekvizity
- povinná prerekvizita
Počítače a programování 1
Základní literatura
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
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Kombinační logické obvody (spínače, přepínače, dekodéry, multiplexory, demultiplexory). Sekvenční logické obvody: klopné obvody.
3. Sekvenční logické obvody: Huffmanův model automatu, Mealyho automat, Moorův automat.
Registry, čítače, děliče, posuvné registry.
3. Paměti. Blokové schéma počítače, CPU - ALU, řadič, registry. Mikroprocesor, mikropočítač, mikrokontrolér, signálový procesor. Popis činnosti mikroprocesoru. Hodinový cyklus, fáze, strojový cyklus a instrukční cyklus.
4. Adresovací módy. Podprogramy, přerušení, práce se zásobníkem. 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í.
5. Mikrokontroléry Motorola řady HCS12: Programátorský model, adresovací módy. Operační módy a paměťové mapy.
6. HCS12: Přerušovací systém. Porty, jednotka MEBI funkce Key Wake up, jednotka PIM. Jednotka CRG (oscilátory, fázový závěs, hodiny reálného času (RTI), watchdog (COP)).
7. HCS12: A/D převodník. Časovací subsystém: funkce input capture, funkce output compare, pulsní akumulátory.
8. HCS12: Sériový asynchronní komunikační kanál SCI. Sériový synchronní komunikační kanál SPI. Mudul PWM. Úsporné režimy WAIT a STOP.
9. Připojování vnějších prvků jako paměti, A/D a D/A převodníky, displeje, klávesnice k mikrokontrolérům.
10. Segmentace, stránkování a virtualizace paměťového prostoru. Architektura procesorů Intel IA32 (I386): Programátorský model registry ALU. Adresovací módy. Adresování paměti a I/O zařízení.
11. IA32: Tvorba fyzické adresy v reálném módu. I386 chráněný režim: Procesy a úrovně oprávnění. Selektory a deskriptory, tabulky deskriptorů GDT, LDT. Zpřístupnění datového segmentu.
12. IA32: Předání řízení do instrukčního segmentu, brány. Přepínání procesů. Přerušení v reálném a v chráněném režimu. Stránkovácí jednotka.
13. Architektura procesorů Intel P6. MMX, SSE, SSE2, SSE3 instrukce. Nové trendy ve vývoji procesorů Intel. Embedded systémy.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Vyjádření čísel s pohyblivou řádovou čárkou dle standardu IEEE-754. Zjednodušování logických funkcí, návrh binární sčítačky.
3. Návrh sekvenčních logických obvodů.
4. Jazyk symbolických adres mikrokontrolérů HCS12. Program v jazyce symbolických adres pro součet a rozdíl dvou 16-ti a 32-ti 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 pro násobení dvou 16-ti bitových čísel pomocí instrukce MUL. Program v jazyce symbolických adres pro násobení dvou 16-ti bitových čísel pomocí posuvů.
7. Program v jazyce symbolických adres - práce se zásobníkem.
8. Program v jazyce C - práce s binárními I/O prorty.
9. Program v jazyce C demonstrující využití funkce Real Time Interupt u HCS12.
10. Program v jazyce C demonstrující využití sériového komunikačního rozhraní (SCI) u HCS12.
11. Program v jazyce C demonstrujícího použití A/D převodníku mikrokontrolérů řady HCS12.
12. Program v jazyce C demonstrující využití funkce Output Compare a Input Capture časovacího systému HCS12.
13. Zápočtový test.