Mikroprocesory a mikropočítače

B232 - Letní 23/24
Tento předmět se nenachází v Moodle. Na jeho domovskou stránku se můžete dostat pomocí tlačítka "Stránka kurzu (mimo Moodle)" vpravo (pokud existuje).

Mikroprocesory a mikropočítače - A8M37MAM

Kredity 7
Semestry zimní
Zakončení zápočet a zkouška
Jazyk výuky čeština
Rozsah výuky 4P+2C
Anotace
Cílem předmětu je seznámit studenty s vlastnostmi mikroprocesorových systémů, naučit je používat interní periferie procesoru, připojit externí obvody ke sběrnici procesoru a realizovat rozšíření paměťového nebo vstupně/výstupního prostoru. Naučit studenty vytvořit jednoduché programy v jazyce symbolických adres, v jazyce C a kombinaci obou jazyků. Po absolvování předmětu by měl student umět navrhnout a zrealizovat jednodušší mikroprocesorový systém včetně připojení nezbytných periferií a realizace potřebného programového vybavení.
Cíle studia
Cílem předmětu je seznámit studenty s vlastnostmi mikroprocesorových systémů, naučit je používat interní periferie procesoru, připojit externí obvody ke sběrnici procesoru a realizovat rozšíření paměťového nebo vstupně/výstupního prostoru. Naučit studenty vytvořit jednoduché programy v jazyce symbolických adres, v jazyce C a kombinaci obou jazyků. Po absolvování předmětu by měl student umět navrhnout a zrealizovat jednodušší mikroprocesorový systém včetně připojení nezbytných periferií a realizace potřebného programového vybavení.
Osnovy přednášek
1. Obvodový řadič a jeho transformace na mikroprogramovatelný řadič, vznik adresového registru, programového
čítače a registru mikroprogramu (zásobníku). Rozdíl mezi řadičem a mikroprocesorem.
2. Algoritmus mikroprocesoru a jeho komunikace s pamětmi a periferiemi. Uložení programu v programové
paměti. Architektura klasického mikropočítače a jeho součásti (CPU, zápisníková paměť, ALU, dekodér
instrukcí, řadič), paměť programu a dat, zásobník, vstupy a výstupy, přerušovací systém a sběrnice.
3. Vývoj a základní struktury mikroprocesorového systému, CISC, RISC, rozdělení procesorů. Architektury
universálních, signálových (běžných i VLIW) a jednočipových procesorů. Uspořádání pamětí, přístup do
adresových prostorů, šířka instrukční a datové sběrnice, ALU a registrů (střadače).
4. Používané paměti (volatelní a nevolatelní, ROM, RAM, RAM se zálohováním, EPROM, EEPROM, Flash,
FRAM, PRAM), dynamické paměti a jejich časování a vlastnosti. Dvoufázový a čtyřfázový přístup procesoru k
pamětem. Omezení doby přístupu do paměti. Vícekanálové paměti.
5. Programování procesoru, strojový kód (mikroinstrukce), asembler, asembler s aritmetickou knihovnou,
kompilované jazyky (jazyk C, atd.), interpretované a multiplatformní jazyky (Java, atd.).
6. Fáze zpracování instrukce, zvyšování výpočetního výkonu procesorů, pipeline, výkonnost procesoru, cache.
Principy SISD, SIMD, MIMD. Architektura super skalár. Rozklad do mikroinstrukcí.
7. Adresový a vstupně/výstupní prostor procesoru, připojení pamětí, časové parametry, přepínání pamětí,
rekonfigurace systému za běhu, připojení programové a datové paměti převyšující přímý adresový prostor
procesoru.
8. Připojení vnějších periferií, rozšíření vstupně/výstupního prostoru paralelními i sériovými obvody, připojení
klávesnic a displejů.
9. Interní periferie jednočipových a signálových procesorů (obvody nulování, čítače/časovače, "watchdog",
záchytný a komparační systém, PCA, PWM, A/D a D/A převodníky)
10. Přístrojové sběrnice (SPI, I2C, MicroWire, 1-Wire, CAN)
11. Komunikační sběrnice RS422, RS485, multiprocesorová komunikace
12. Synchronní a asynchronní sériová rozhraní, RS232, USB, IEEE-1394, PCI-e. Sběrnice pro vysoké datové toky.
13. Vývojové prostředky pro vývoj zařízení s mikroprocesorem (monitor, RTOS, multitasking), programování v
reálném čase, stavové, událostní a modulární. Problematika přerušovacího systému, úlohy s velkým počtem
přerušení.
14. Synchronizace procesů a vláken (semafor, kritická sekce, mutex), programování multiprocesorových systémů,
paralelizace programu pro procesory s větším počtem aritmetických jednotek (softwarový pipeline). Predikce
skoků a smyček, spekulativní vykonání, řízení spotřeby, dynamické řízení frekvence, zapínání jader
Osnovy cvičení
Program cvičení MAM 8051 / AVR
1. Organizace cvičení, bezpečnost práce v laboratoři, seznámení s vývojovým prostředím (Keil uVision3 a vývojovým kitem 80C552 / Atmel Studio 6.1 a vývojovou deskou), možnostmi vývoje programu
2. Jednoduchý program v C / ASM.
3. Samostatná úloha č. 1.
4. Samostatná úloha č. 2.
5. Propojení jazyka C s podprogramem nebo dílčí částí napsanou v Asembleru.
6. Samostatná úloha č. 3.
7. Samostatná úloha č. 4.
8. Test č. 1. Rozbor úlohy č. 5.
9. Úloha č. 5.
10. Připojení pamětí a externích periferií ke společné sběrnici (seminář).
11. Samostatná úloha č. 6.
12. Test č. 2.
13. Rezerva pro dokončení úloh, zápočet.
Literatura
1. Lala, K.: Principlesofmodern Digital Design, John Wiley, 2007
2. Navabi, Z.: EmbeddedCore Design withFPGAs, Mc Graf Hill, 2007
3. Hamacher, C. and col.: ComputerOrganization and Embedded Systems, Mc Graf Hill, 2012
4. Predko, M.: Programming and Customizingthe 8051 Microcontroller, Mc Graf Hill, 1999
5. Gadre, D.:Programming and Customizingthe AVR Microcontroller, Mc Graf Hill, 2001
6. Skalický, P.: Mikroprocesory řady 8051, rozšířené vydání, 144 s., BEN, Praha, 2001
7. Skalický P.: Aplikace signálových procesorů, Vydavatelství ČVUT, Praha 2003, str.136
8. Gook M.: Hardwarová rozhraní Průvodce programátora, ComputerPress Brno, 2006, ISBN 80-251-1019-2
9. MessmerH.-P., Dembowski K.: Velká kniha hardware, CP Books, Brno, 2005, ISBN 80-251-0416-8
Požadavky
Předpokládáme, že student bude umět realizovat kombinační obvod v různých modifikacích s logickými členy, multiplexery, pamětmi a PLD a vypočítat jeho časové zpoždění. Navrhne a zanalyzuje logické chování jednoduchého sekvenčního obvodu, vypočítá jeho maximální hodinový kmitočet. Bude znát časové parametry pro správnou činnost paměťových členů, pamětí a chování základních sekvenčních obvodů registrů, čítačů, posuvných registrů.