Sekvenční logika - Sequential logic

V teorii automatů je sekvenční logika typ logického obvodu, jehož výstup závisí nejen na aktuální hodnotě jeho vstupních signálů, ale také na posloupnosti minulých vstupů, historii vstupů. To je na rozdíl od kombinační logiky , jejíž výstup je funkcí pouze přítomného vstupu. To znamená, že sekvenční logika má stav ( paměť ), zatímco kombinační logika nikoli.

Sekvenční logika se používá ke konstrukci strojů s konečným stavem , což je základní stavební kámen ve všech digitálních obvodech. Prakticky všechny obvody v praktických digitálních zařízeních jsou kombinací kombinační a sekvenční logiky.

Známým příkladem zařízení se sekvenční logikou je televize s tlačítky „kanál nahoru“ a „kanál dolů“. Stisknutím tlačítka „nahoru“ dá televizi vstup, který jí říká, aby přepla na další kanál nad ten, který právě přijímá. Pokud je televizor na kanálu 5, stisknutím tlačítka „nahoru“ jej přepnete na příjem kanálu 6. Pokud je však televizor na kanálu 8, stisknutím tlačítka „nahoru“ jej přepnete na kanál „9“. Aby výběr kanálu fungoval správně, musí si být televize vědoma toho, který kanál aktuálně přijímá, což bylo určeno výběrem minulých kanálů. Televize ukládá aktuální kanál jako součást svého stavu . Když je mu dán vstup „kanál nahoru“ nebo „kanál dolů“, sekvenční logika obvodů pro výběr kanálu vypočítá nový kanál ze vstupu a aktuálního kanálu.

Digitální sekvenční logické obvody se dělí na synchronní a asynchronní typy. V synchronních sekvenčních obvodech se stav zařízení mění pouze v diskrétních časech v reakci na hodinový signál . V asynchronních obvodech se stav zařízení může kdykoli změnit v reakci na změnu vstupů.

Synchronní sekvenční logika

Téměř veškerá sekvenční logika je dnes taktovaná nebo synchronní . V synchronním obvodu generuje elektronický oscilátor nazývaný hodiny (nebo generátor hodin ) sekvenci opakujících se pulsů nazývaných hodinový signál, který je distribuován do všech paměťových prvků v obvodu. Základním paměťovým prvkem v sekvenční logice je klopný obvod . Výstup každého klopného obvodu se mění pouze při spuštění hodinovým pulzem, takže změny logických signálů v celém obvodu začínají současně, v pravidelných intervalech, synchronizované hodinami.

Výstup všech úložných prvků (klopných obvodů) v obvodu v kteroukoli danou dobu, binární data, která obsahují, se nazývá stav obvodu. Stav synchronního obvodu se mění pouze na hodinových pulzech. V každém cyklu je další stav určen aktuálním stavem a hodnotou vstupních signálů, když dojde k hodinovému impulzu.

Hlavní výhodou synchronní logiky je její jednoduchost. Logické brány, které provádějí operace s daty, vyžadují omezenou dobu, aby reagovaly na změny jejich vstupů. Tomu se říká zpoždění šíření . Interval mezi hodinovými impulsy musí být dostatečně dlouhý, aby všechny logické brány měly čas reagovat na změny a jejich výstupy se „ustálily“ na stabilní logické hodnoty, než dojde k dalšímu hodinovému impulzu. Pokud je tato podmínka splněna (ignorujeme některé další podrobnosti), obvod je zaručeně stabilní a spolehlivý. To určuje maximální provozní rychlost synchronního obvodu.

Synchronní logika má dvě hlavní nevýhody:

  • Maximální možná taktovací frekvence je určena nejpomalejší logickou cestou v obvodu, jinak známou jako kritická cesta. Každý logický výpočet, od nejjednodušších po nejsložitější, musí být dokončen v jednom hodinovém cyklu. Logické cesty, které rychle dokončují své výpočty, jsou tedy většinu času nečinné a čekají na další hodinový puls. Synchronní logika proto může být pomalejší než asynchronní logika. Jedním ze způsobů, jak urychlit synchronní obvody, je rozdělit složité operace na několik jednoduchých operací, které lze provádět v po sobě jdoucích hodinových cyklech, což je technika známá jako pipelining . Tato technika je široce používána v designu mikroprocesorů a pomáhá zlepšit výkon moderních procesorů.
  • Hodinový signál musí být distribuován na každý klopný obvod v obvodu. Protože hodiny jsou obvykle vysokofrekvenční signál, tato distribuce spotřebovává relativně velké množství energie a rozptyluje velké množství tepla. Dokonce i žabky, které nedělají nic, spotřebovávají malé množství energie, čímž vytvářejí odpadní teplo v čipu. U přenosných zařízení, která mají omezenou kapacitu baterie, se hodinový signál rozsvítí, i když zařízení nepoužíváte, a spotřebovává energii.

Asynchronní sekvenční logika

Asynchronní sekvenční logika není synchronizována hodinovým signálem; výstupy obvodu se mění přímo v reakci na změny vstupů. Výhodou asynchronní logiky je, že může být rychlejší než synchronní logika, protože obvod nemusí čekat na hodinový signál ke zpracování vstupů. Rychlost zařízení je potenciálně omezena pouze zpožděním šíření použitých logických bran .

Asynchronní logika je však obtížnější navrhnout a podléhá problémům, které se u synchronních návrhů nevyskytují. Hlavním problémem je, že prvky digitální paměti jsou citlivé na pořadí, v němž přicházejí jejich vstupní signály; pokud dva signály dorazí na klopný obvod nebo západku téměř současně, do kterého stavu obvod jde, může záviset na tom, který signál se dostane k bráně jako první. Proto může obvod přejít do nesprávného stavu, v závislosti na malých rozdílech v zpoždění šíření logických bran. Tomu se říká závod . Tento problém není v synchronních obvodech tak závažný, protože výstupy paměťových prvků se mění pouze při každém taktu. Interval mezi hodinovými signály je navržen tak, aby byl dostatečně dlouhý, aby umožnil "usazení" výstupů paměťových prvků, takže se nemění, když přijdou další hodiny. Jediné problémy s časováním jsou proto způsobeny „asynchronními vstupy“; vstupy do obvodu z jiných systémů, které nejsou synchronizovány s hodinovým signálem.

Asynchronní sekvenční obvody se obvykle používají pouze v několika kritických částech jinak synchronních systémů, kde je rychlost prémiová, například v částech mikroprocesorů a obvodech pro zpracování digitálního signálu .

Návrh asynchronní logiky využívá různé matematické modely a techniky ze synchronní logiky a je aktivní oblastí výzkumu.

Viz také

Reference

Další čtení