Jednočipový počítač
Jednočipový počítač nebo také anglicky microcontroller (mikrokontrolér, MCU, µC) je většinou monolitický integrovaný obvod obsahující kompletní mikropočítač. Jednočipové počítače se vyznačují velkou spolehlivostí a kompaktností, proto jsou určeny především pro jednoúčelové aplikace jako je řízení, regulace apod. Často jsou jednočipové počítače součástí vestavěných (embedded) systémů. Za jednočipový počítač je možno označit i hlavní integrovaný obvod v současných mobilních telefonech.
Architektura
editovatJednočipový počítač je integrovaný obvod, který v sobě zahrnuje zpravidla vše potřebné k tomu, aby mohl obsáhnout celou aplikaci, aniž by potřeboval další podpůrné obvody. Především jde o paměť pro uložení programu (FLASH, EEPROM nebo ROM) a operační paměť RAM pro uložení aplikačních proměnných a zásobníku. Většina jednočipových počítačů také obsahuje rozsáhlou sadu podpůrných obvodů. Typicky jde o bloky pro logické a analogové vstupy/výstupy, pro komunikační linky, pro rozdělení strojového času a další aplikační logiku.
Existují základní dvě architektury mikroprocesorů – von Neumannova a Harvardská, každá má svoje výhody i nevýhody. Při současném stupni integrace se zřejmě častěji využívá Harvardská architektura, vysoký stupeň integrace dovoluje připojit různé bloky paměti pomocí vlastních sběrnic. Dělení na „Harvardskou“ a „von Neumannovu“ architekturu je však při dnešním stupni integrace již poněkud akademické. U moderních architektur se často uživateli adresový prostor jeví navenek jako lineární (von Neumannovský), zatímco fyzicky jsou paměti k jádru připojeny pomocí několika nezávislých sběrnic (např. jedna sběrnice pro FLASH/ROM (paměť programu), druhá pro uživatelskou vnitřní RAM a zásobník, třetí pro připojení integrovaných paměťově mapovaných periferií, další pro připojení externí RAM).
von Neumannova architektura
editovatVon Neumannova architektura je architektura, pro kterou je typická společná paměť pro data i program. Toto uspořádání má výhody v tom, že nepotřebujeme rozlišovat instrukce pro přístup k paměti dat a paměti programu, což vede k zjednodušení vlastního čipu. Další výhodou je, že je potřeba pouze jedna datová sběrnice, po které se přenáší oba typy dat, což je výhodné v případě použití externích pamětí, kdy se redukuje potřebný počet nutných vstupů a výstupů. Nevýhodou je, že přenos obou typů dat po jedné sběrnici je pomalejší, než při oddělených sběrnicích pro paměti dat a programu.
Harvardská architektura
editovatHarvardská architektura je typická oddělením paměti programu a paměti dat. Hlavní nevýhodou této architektury je větší technologická náročnost daná nutností vytvořit dvě sběrnice. Za hlavní výhodu lze považovat možnost jiné šířky programové a datové sběrnice. Této možnosti se široce využívá, takže najdeme osmibitové mikrokontroléry s programovou sběrnicí širokou 12, 14 i 16 bitů. Mezi další výhody harvardské architektury patří rychlost vykonávání instrukcí, protože instrukci i potřebná data lze číst v jeden okamžik.
Instrukční soubory
editovatDalší rozdělení mikrokontrolérů je podle použitého instrukčního souboru. V oblasti jednočipových počítačů se běžně používají instrukční soubory typu CISC a RISC.
CISC
editovatCISC označuje procesor s „komplexním instrukčním souborem“. Procesor podporuje mnoho formátů a druhů instrukcí. Na jednu stranu to znamená úsporu místa v programové paměti (vyšší hustotu kódu), na druhé straně to však znamená komplikovanější a pomalejší dekódování instrukcí ve vlastním mikrokontroléru.
RISC
editovatRISC označuje procesor s redukovaným instrukčním souborem. Základní myšlenkou je omezení počtu a zjednodušení dekódování instrukcí, což vede ke zjednodušení instrukčního dekodéru a zkracuje se celý proces dekódování. Hlavní výhodou tohoto přístupu je rychlost a jednoduchost, na stejné ploše čipu může být místo 16bitového procesoru CISC 32bitový procesor RISC. Nevýhodou je, že je někdy pro stejnou funkčnost potřeba více instrukcí, což vede k dalším problémům, na příklad složité implementace atomické operace složené z více instrukcí.
Základní struktura
editovat- procesor – taktovací kmitočet bývá jednotky až stovky MHz, šířka slova procesoru 4 až 64 bitů,
- operační paměť – paměť typu RAM, velikost od jednotek byte po desítky KiB,
- paměť programu – paměť typu ROM, EPROM, EEPROM nebo flash obsahující program a data, velikost řádově desítky až stovky KiB,
- oscilátor – RC nebo krystal,
- vstupně/výstupní rozhraní – takzvané porty.
Periferie
editovatJednočipový počítač může kromě základních součástí obsahovat další periferie:
- řadič přerušení,
- časovače,
- čítače,
- watchdog timer,
- řadič displeje,
- řadič klávesnice,
- programovatelné hradlové pole.
Vstupně/výstupní rozhraní
editovatV závislosti na složitosti a počtu pinů může pro komunikaci s okolím používat různá vstupní nebo výstupní zařízení.
- paralelní porty (až desítky pinů)
- sériové porty (asynchronní, synchronní, viz sériový kanál)
- porty komunikačních sběrnic (CAN-BUS, Ethernet)
- A/D převodníky
- D/A převodníky
- PWM výstupy (viz pulzně šířková modulace)
- vstupy pro zachycování času a počítání událostí (capture)
- aplikačně zaměřené porty (např. vstupy pro čtení čidel polohy rotoru, budiče LCD displayů apod.)
Špičkové jednočipové počítače určené např. pro mobilní telefony nebo pro automobily dnes zasahují do oblasti donedávna vyhrazené pouze pro procesory osobních počítačů, mohou disponovat dokonce rozhraním pro připojení blokových RAM (SDR, DDR SDRAM, …) nebo pro připojení pevných disků (ATAPI, SATA).
Literatura
editovat- MATOUŠEK, David. Práce s mikrokontroléry ATMEL AT89C2051: [měření, řízení a regulace pomocí několika jednoduchých přípravků]. 1. vyd. Praha: BEN - technická literatura, 2002- . sv. µC & praxe. ISBN 80-7300-048-2.
- BUMBA, Jiří. Programování mikroprocesorů: praktický návod nejen pro mikroprocesory PIC. Vyd. 1. Brno: Computer Press, 2011. 135 s. Učebnice. ISBN 978-80-251-2838-1.
Související články
editovatExterní odkazy
editovat- Obrázky, zvuky či videa k tématu jednočipový počítač na Wikimedia Commons
- Elektronika, Jednočipové mikropočítače (MFF UK): http://physics.mff.cuni.cz/kfpp/skripta/elektronika/kap9/jednocpoc.html