informatika i · 2020-01-31 · investice do rozvoje vzdĚlÁvÁnÍ moderní technologie ve studiu...

87
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. INFORMATIKA I. (struktura počítačů) pro obor Aplikovaná fyzika Luděk Bartoněk 2011

Upload: others

Post on 05-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

1

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

INFORMATIKA I.

(struktura počítačů) pro obor Aplikovaná fyzika

Luděk Bartoněk 2011

Page 2: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

2

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

OBSAH

Úvod ........................................................................................................................................... 5 1. TEORETICKÉ PROSTŘEDKY ........................................................................................ 5

1.1. Množiny ....................................................................................................................... 6

1.2. Výroky, pravdivostní hodnoty, logické funkce ........................................................... 8

1.3. Úplný soubor logických funkcí ................................................................................. 11

1.4. Logické algebry ......................................................................................................... 12

1.5. Boolova algebra ......................................................................................................... 12

1.6. Modely logických funkcí ........................................................................................... 14

1.7. Mapa logické funkce ................................................................................................. 15

1.8. Normální formy Boolovy algebry ............................................................................. 15

1.9. Využití map pro minimalizaci normální formy Boolovy algebry ............................. 16

2. LOGICKÉ ČLENY A OBVODY .................................................................................... 18

2.1. Dvouhodnotový signál ............................................................................................... 18

2.2. Třídění logických obvodů .......................................................................................... 21

2.3. Kombinační logické obvody ...................................................................................... 21

2.3.1. Součtový logický člen ........................................................................................ 23

2.3.2. Součinový logický člen ...................................................................................... 23

2.3.3. Invertor ............................................................................................................... 23

2.3.4. Univerzální logické členy ................................................................................... 24

2.3.5. Fyzikální realizace logických členů ................................................................... 26

2.3.6. Diodově-tranzistorové obvody ........................................................................... 26

2.3.7 Obvody TTL se Schottkyho diodou ................................................................... 31

2.3.8 Emitorově vázané obvody .................................................................................. 32

2.3.9 Injekční integrované logické obvody ................................................................. 33

2.3.10 Logické členy s tranzistory MOS ....................................................................... 35

2.3.11 Prahové logické členy ........................................................................................ 36

2.4 Typické kombinační obvody sčítačky ....................................................................... 37

2.4.1 Sčítačka modulo 2 .............................................................................................. 37

2.4.2 Koincidenční obvod ........................................................................................... 38

2.4.3 Dekodér .............................................................................................................. 40

2.5 Sekvenční obvody...................................................................................................... 41

Page 3: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

3

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

2.5.1 Jednostupňový KO ............................................................................................. 41

2.5.2 Dvoufázový režim činnosti obvodu řízeného hodinovými impulzy .................. 42

3. PAMĚŤOVÉ OBVODY .................................................................................................. 43 3.1 Typy polovodičových pamětí .................................................................................... 43

3.2 Stručný přehled základních unipolárních technologií ............................................... 44

3.2.1 Paměti EPROM .................................................................................................. 45

3.2.2 Paměti EEPROM ................................................................................................ 46

3.2.3 Paměti SRAM .................................................................................................... 47

3.2.4 Paměti DRAM .................................................................................................... 48

3.3 Vytváření paměťových sestav ................................................................................... 49

3.4 Aplikace paměťových obvodů v hardwarových automatech .................................... 51

3.5 Kontrola a oprava chyb obsahu paměti ..................................................................... 53

4. PROGRAMOVATELNÝ AUTOMAT ........................................................................... 55

4.1 Činnost automatu ....................................................................................................... 56

4.2 Programové řízení automatu ...................................................................................... 59

4.3 Přerušení .................................................................................................................... 61

5. ZOBRAZENÍ INFORMACE V PAMĚTI POČÍTAČE .................................................. 61

5.1 Aktivní a pasivní informace ...................................................................................... 61

5.2 Zobrazení numerické informace v paměti ................................................................. 62

5.2.1 Číselné soustavy, vzájemné převody čísel mezi číselnými soustavami ............. 63

5.2.2 Zobrazení dvojkového čísla v počítači, rozsah čísel, přesnost zobrazení .......... 66

5.2.3 Přímý kód (Signed magnitude) .......................................................................... 66

5.2.4 Inverzní kód (One’s complement) ...................................................................... 67

5.2.5 Doplňkový kód (Two’s complement) ................................................................ 67

5.2.6 Kód transformované nuly (Excess 12mcode) ...................................................... 68

5.3 Zobrazení znakové informace, kódy ASCII a EBCDIC ........................................... 69

5.4 Zobrazení instrukcí v paměti ..................................................................................... 72

5.4.1 Kód instrukce ..................................................................................................... 73

5.4.2 Adresy instrukce ................................................................................................. 73

5.4.3 Typy a struktura adresy ...................................................................................... 73

6. ARITMETIKA VE DVOJKOVÝCH KÓDECH ............................................................. 75 6.1 Zobrazení v pevné řádové čárce, typ integer ............................................................. 77

6.2 Zobrazení v pohyblivé řádové čárce, typ real ............................................................ 79

Page 4: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

4

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

6.3 Zobrazeni logických hodnot, typ Boolean ................................................................. 80

7. ZÁKLADNÍ ARITMETICKÉ OPERACE ...................................................................... 81 7.1 Sčítání v polyadických soustavách ............................................................................ 81

7.2 Odčítání v polyadických soustavách ......................................................................... 82

7.3 Násobení v polyadických soustavách ........................................................................ 83

7.3.1 Desítkové násobení ............................................................................................ 83

7.4 Dělení v polyadických soustavách ............................................................................ 85

LITERATURA ......................................................................................................................... 86

Page 5: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

5

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Úvod

Studium na vysoké škole se neobejde bez využívání výpočetní techniky. Soudobá výpo-

četní technika z pohledu běžného uživatele jsou dnes především 32-bitové (64-bit) osobní

mikropočítače, kompatibilní nebo blízké standardu PC. Tato skupina je v našich podmínkách

většinou zaměřena výlučně uživatelsky. Díky téměř nepřebernému množství dostupných pro-

gramových „balíků" mohou být tyto mikropočítače efektivně využívány při nejrůznějších pra-

cích, především kancelářského, konstrukčního, technického i výpočetního charakteru. Jakmile

je jednou určitý program zvládnut, může být pro jeho využívání vyškolena většinou i osoba

jinak věci neznalá, která pak může podávat i profesionální výkony.

Existuje také oblast aplikací obdobné techniky v laboratořích a v průmyslu, kterou představují

různé varianty mikropočítačů, především pro jejich příznivější ekonomické ukazatele a také

zlepšující se dostupnost. Zde lze uvažovat zejména jednočipové mikropočítače, paměti

CMOS s většími kapacitami, programová logická pole atd. Každý, kdo se seznamuje s čísli-

covou a mikroprocesorovou technikou soustavně, si musí uvědomit, že je to dlouhodobá, trva-

lá záležitost. Musí si vytvořit svůj vlastní styl práce, číst a shánět informace, třídit je a získá-

vat přehled o reálné situaci. K základům také patří alespoň orientační zvládnutí některého

vyššího programovacího jazyka (např. Basic, Pascal, C), které tvoří dobrý základ pro práci se

strojově orientovanými jazyky.

Úvod do celé problematiky byl volen za předpokladu minimální předběžné přípravy. Byla zde

snaha vytvořit pokud možno systematický pohled na kombinační a sekvenční logiku, který je

nezbytný pro vysvětlení uvedené problematiky. Následuje stručný přehled číslicových a pa-

měťových obvodů a základy hardwarových a programovatelných automatů, čímž se vytváří

předpoklad pro výklad principů, techniky a programování mikroprocesorových systémů a

mikropočítačů ve vyšších ročnících aplikované fyziky. Na předložený studijní materiál se

navazuje ve vyšších ročnících studia aplikované fyziky výkladem konkrétních aplikací počí-

tačů a programování mikroprocesorů (řízení experimentu v reálném čase atd.) z pohledu do-

sažené přesnosti měření při znalosti definičního rozsahu hodnot zobrazených v paměti počíta-

če.

Materiál není konstrukčního typu, ale měl by přispět k fyzikálnímu pochopení počítačového

systému pro jeho optimální implementaci do případných počítačových aplikací.

1. TEORETICKÉ PROSTŘEDKY

Tato kapitola svým obsahem částečně překrývá s náplní skript1 [Mašláň]. Proto je zde

uveden pouze výklad částí, které jsou nezbytné k ucelenému výkladu uvedené látky. Equation Section (Next)

1 Mašláň, Žák: Logické obvody, UP Olomouc 1994

Page 6: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

6

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

1.1. Množiny

Všechny množinové operace můžeme znázornit graficky v rovině v tzv. Vennových diagra-

mech, někdy též nazývaných Eulerovy kruhy (obr. 1.1, 1.2). Základní čtverec, obdélník či ovál

obsahuje všechny podmnožiny, s nimiž se pracuje a budeme ho označovat množinou I. Pod-

množiny musí vesměs splňovat podmínku částečného překrytí. Při úpravách výrazů s množi-

nami se využívá následující množina základních pravidel a zákonů (pro používání závorek

platí běžná konvence):

a) Pravidla pro částečné uspořádání:

Zákon reflexivní (zvratu) X Y pro všechna X (1.1)

Zákon symetrie (souměrnosti) je-li X Y , Y X , pak X Y (1.2)

Zákon transitivní (přechodný) je-li X Y ,Y Z , pak X Z (1.3)

b) Pravidla pro operaci sjednocení a průnik:

Zákon idempotentní (opakování) X X X X X X (1.4)

Zákon komutativní (zaměňování) X Y Y X X Y Y X (1.5)

a)

b) pro jednu podmnožinu množiny I

c)

e)

f) pro dvě podmnožiny množiny I

g)

Obr. 1.1. Vennovy diagramy

a) E F b) G H c) J K d) J I J

Obr. 1.2. Příklady znázornění množinových operací a) sjednocení množin, b) průnik množin,

c) rozdíl množin, d) doplněk, výsledná podmnožina je vybarvena

Zákon asociativní (sdružování) X Y Z X Y Z (1.6)

X Y Z X Y Z

Page 7: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

7

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Zákon distributivní (rozdělování) X Y Z X Y X Z (1.7)

c) Pravidlo ekvivalence (totožnosti);

pro X Y platí

X Y Y X Y X (1.8)

d) Pravidla pro množiny I a 0

pro , , , , 0 platí 0 pro všechna X I Y I Z I I X I X (1.9)

Zákon o agresivnosti 0 a I

0 0I X I X (1.10)

Zákon o neutrálnosti 0 a I

0 0X X I X (1.11)

e) Pravidla pro doplněk

Zákony doplňku (o vyloučeném třetím)

0X X I X X (1.12)

Zákony De Morganovy (duality)

X Y X Y X Y X Y (1.13)

Zákon involuce (zanikání, dvojí negace)

X X

(1.14)

Z uvedených pravidel vyplývají další pravidla, která používáme při úpravách výrazů s mno-

žinovými operacemi:

f) Zobecněný distributivní zákon

1 2 1 2

1 1 1 2 1 2 1

n m

m n mS

X X X Y Y Y

X Y X Y X Y X Y X Y

(1.15)

g) Sjednocení a průnik vyhovují zákonům absorpce (pohlcení)

X X X X X X (1.16)

X X Y X X X Y X (1.17)

h) Platí zákony absorpce negace

Page 8: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

8

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

X X Y X Y X X Y X Y

(1.18)

X X Y X Y X X Y X Y

(1.19)

i) Zobecněný zákon De Morganův (Shannonův teorém)

X Y Z W X Y Z W (1.20)

1.2. Výroky, pravdivostní hodnoty, logické funkce

Představme si, že daná množina N má n prvků. Pak se z n prvků dá vytvořit celkem

2nk (1.21)

různých podmnožin (včetně podmnožiny 0 a podmnožiny obsahující všechny prvky n N ).

Uvědomíme-li si, že každý prvek n N má tu vlastnost, že je v podmnožinách buď příto-

men, nebo nepřítomen, pak se pro práci s výše uvedenými podmnožinami množiny N dají

využít vlastnosti výrokové nebo jiné dvouhodnotové logické algebry.

Logická algebra je algebra vhodná k popisu vztahů mezi logickými proměnnými. Výrok je

tvrzeni x, o němž můžeme jednoznačně prohlásit, zda je pravdivé nebo nepravdivé. Říkáme

také, že ke každému výroku x je přiřazena pravdivostní hodnota. Pravdivost značíme zpravi-

dla l a nepravdivost 0. Ve dvouhodnotových logických algebrách odpovídá prvek množiny

výroku nebo vstupní logické proměnné a počet podmnožin, které lze z n prvků vytvořit je

počet všech možných kombinací hodnot těchto prvků. Celkový počet různých složených

dvouhodnotových logických funkcí pro uvedenou k kombinaci vstupních logických proměn-

ných je

22 2nkL (1.22)

Výroky (logické proměnné) označíme písmeny. Z jednoduchých výroků pomocí logických

spojek můžeme tvořit složené výroky. Pravdivostní hodnota složeného výroku je dána pravdi-

vostními hodnotami jednoduchých výroků, s nichž se tento složený výraz skládá a pravidly –

logickým operacemi, které jsou přiřazeny každé spojce. Logická operace je operace, v níž

operandy i výsledek jsou logické proměnné nebo jejich množiny.

Operace je vytvoření údaje (tzv. výsledku) z jednoho nebo více údajů (operandů) na základě

pravidel, která určují výsledek pro libovolnou přípustnou kombinaci operandů.

Operátor je symbol, označující operaci, umístěný mezi symboly, před symboly, za symboly

nebo nad symboly operandů.

Jednočlenná operace je operace s jedním operandem, dvojčlenná operace je operace se dvěma

operandy.

Výrazy takto sestavené ze symbolů proměnných, operátorů a závorek, nazýváme obvykle

výrokové formule. Když dosadíme za každou proměnnou do výrokové formule výrok z mno-

žiny výroků, jejichž pravdivostní hodnoty jsou dány, dospějeme k výroku, jehož pravdivostní

hodnotu umíme určit. Přitom pravdivostní hodnota tohoto výroku závisí zřejmě při dané vý-

rokové formuli pouze na pravdivostních hodnotách dosazených výroků a nikoliv na jejich

Page 9: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

9

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

konkrétní podobě. S výhodou se tato úloha řeší v tabulkách (viz tab. 1.1), kde v záhlaví jsou

předepsány výrokové formule jednoduchých i složených výroků, s nichž je cílový výrok se-

staven a v tabulce jsou uvedeny všechny možné kombinace pravdivostních hodnot těchto vý-

roků tak, že pravdivost výroku je zaznamenaná symbolem l a nepravdivost symbolem 0.

Řešme uvedenou metodou výrokovou formuli (1.23).

x y x y (1.23)

Tab. 1.1. Tabulka pro ověření vztahu (1.23)

Obdobně můžeme řešit otázku shodnosti výrokových formulí. Máme například zjistit, zda

výrokové formule uvedené ve vztahu (1.24) popisují tutéž skutečnost:

x y x y (1.24)

Tab. 1.2. Pravdivostní tabulka vztahu (1.24)

Vidíme, že pro uvedené výrokové formule jsme dospěli k cílové výrokové formuli, kterou

nazýváme tautologicky pravdivou čili tautologií, tedy výchozí výrokové formule popisují

tutéž skutečnost. Kdybychom nedospěli k tautologii, může pak v místě nepravdivosti dodefi-

novat potřebný výrok, a tedy můžeme tímto způsobem vyřešit úlohu "jak zajistíme, aby jistá

výroková formule po případné úpravě modelovala předepsanou skutečnost". Lze si ověřit, že

tytéž úlohy lze úspěšně řešit i Vennovým diagramem nebo úpravami výrazů podle základních

pravidel pro úpravy množinových výrazů. Pro potřeby analýzy a syntézy logických sítí je vý-

hodnější pracovat s pojmy logická proměnná a logická funkce než s pojmy výrok a výroková

x

y

x y

x y

x y x y

0

0

0

0

1

0

1

l

0

0

l

0

l

0

0

l

1

l

1

1

x

y

x y

x y

x

y

x y

x y x y

0

0

0

1

1

1

1

l

0

1

l

0

l

0

0

l

l

0

l

0

0

1

0

l

l

1

l

0

0

0

0

l

Page 10: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

10

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

formule. V této oblasti aplikací mají zvláštní a základní význam logické funkce jedné a dvou

proměnných. Logická funkce jedné proměnné je přehledně uvedena v tab. 1.3.

Při prostudování tabulek zjistíme plnou platnost výrazů (1.21) a (1.22). Nulová funkce f0(x) a

jednotková funkce f3(x) jsou konstanty, které jsou nezávislé na vstupní proměnné, vlastní

funkce jedné proměnné jsou funkce opakování f1(x) a negace f2(x).

Tab. 1.3. Tabulka logických funkcí jedné proměnné

Pro doplnění uveďme, že z hlediska logických sítí nás zajímají pouze extenzionální výrokot-

vorné funktory, které lze přiřadit k logickým funkcím. V logice se však používají i intenzio-

nální výrokovorné funktory, u nichž hodnota složeného výroku závisí nejen na pravdivostních

hodnotách výchozích výroků, ale i na jejich obsahu (např. „ x protože y―, „věřím, že x―

apod.). Jejich praktické ekvivalenty i s doporučením operátorů jsou uvedeny v tab. 1.4.

Tab. 1.4. Tabulka operátorů a logických spojek

proměnná

funkční formule

název funkce

x

x

0 0 f0(x) = 0 nulová

0

l

f1(x) = x

opakovaní (aserce)

l

0

f2(x) = x

negace

l

l

f3(x) = l

jednotková

1, ,n nF x x Y funkce nF , závorka, 1, ,nx x

závorku uzavřít, rovná se výrazu Y

1 ,F x y x y

3 ,F x y x

6 ,

F x y x y

x y

7 , |F x y x y

8 , .F x y x y x y xy

9 ,F x y x y

10 ,F x y x y

11 ,F x y x y

x ani y

x je inhibováno y

ne x; x negace; x non

x není ekvivalentní y;

x modulo dvě y

ne xy; x Shefferova funkce y

xy; x i y; x krát y

x je ekvivalentní y

x (přímo) implikuje y

x nebo y

Page 11: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

11

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

1.3. Úplný soubor logických funkcí

Tak, jak byly vypsány všechny logické funkce jedné proměnné (tab. 1.3), můžeme vypsat

funkce i více proměnných a stanovit pro ně operátory a názvy. Již při třech proměnných nám

nastanou potíže, protože výraz (1.22) skutečně platí, a pro tři proměnné je 256 funkcí (tab.

1.5). Při více proměnných se dostáváme do prakticky neřešitelných potíží. Proto se hledaly

cesty, jak tuto nepříjemnou skutečnost obejít. Řešení se našlo v tom, že existují jisté podmno-

žiny logických funkcí, jejichž vhodnými vazbami, tj. vytvořením výrokové formule s více než

jedním operátorem se podařilo realizovat všechny zbývající logické funkce. Tyto podmnožiny

se nazývají úplné soubory logických funkcí.

Tab. 1.5. Počet logických funkcí více proměnných

Je zřejmé, že nás zajímají především ty úplné soubory logických funkcí, jež neobsahují funk-

ce, které lze zbývajícími funkcemi opsat. Budeme je nazývat minimální úplné soubory logic-

kých funkcí. Z minimálního úplného souboru logických funkcí nelze již žádnou logickou

funkci vypustit, můžeme však libovolnou logickou funkci do něho přidat a dostaneme tak jiné

úplné soubory logických funkcí, které ovšem již nejsou minimální. Nejčastěji se úplné soubo-

ry logických funkcí vybírají z logických funkcí jedné proměnné a dvou proměnných a zobec-

ňují se pro více proměnných. V tomto případě jsou pouze dvě funkce, z nichž každá sama

tvoří úplný soubor logických funkcí. Je to negace logického součtu, kterou pro potřeby úpl-

ných souboru budeme nazývat Peirceovou funkcí a negace logického součinu, kterou budeme

ze stejných důvodů nazývat Shefferovou funkcí. Z ostatních logických funkcí jedné a dvou

proměnných získáme další minimální úplné soubory logických funkcí tak, že vybereme vhod-

né dvojice logických funkcí. Lze odvodit [1], že všechny možné dvojice, jenž tvoří úplný

soubor, jsou tyto: implikace – negace; implikace - nulová funkce; implikace – inhibice; impli-

kace - nonekvivalence; inhibice – ekvivalence; inhibice – negace; inhibice – jednotková; lo-

gický součin – negace; logický součet – negace. Kromě uvedených minimálních úplných sou-

borů logických funkcí lze z logických funkcí jedné a dvou proměnných vytvořit minimální

úplné soubory logických funkcí, které obsahují tři funkce: logický součin - ekvivalence - nulo-

vá funkce; logický součin - nonekvivalence - jednotková funkce; logický součin - ekvivalence –

nonekvivalence; logický součet - ekvivalence - nulová funkce; logický součet - nonekvivalence

- jednotková funkce; logický součet - ekvivalence – nonekvivalence. Úplný soubor logických

funkcí lze sestavit i z funkcí více proměnných a popřípadě i logických funkcí typu prahová

logická funkce. Prahová logická funkce je definována pro více vstupních proměnných, kdy

vstupní proměnné jsou váhově ohodnoceny a logická funkce nabývá hodnotu l, až aritmetický

součet vah vstupů je roven nebo větší než stanovený práh. Váha je činitel, jímž se násobí čís-

lice na daném řádovém místě, aby se získala její hodnota v čísle. Práh je pevná, stanovená

fyzikální hodnota, nutné k tomu, aby závisle proměnná nabyla určité logické hodnoty.

Počet proměnných

0

l

2

3

4

5

Počet logických funkcí

2

4

16

256

65536

4 294 967 296

Page 12: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

12

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

1.4. Logické algebry

Jakýkoli, úplný soubor logických funkcí je základem, na němž lze deduktivně (axiomatic-

ky) zavést jistou logickou algebru. Každá z těchto algeber se zavádí jako množina A konstant,

proměnných a logických funkcí, v níž jsou axiomaticky dány některé vlastnosti určitých ope-

rací s prvky množiny A, a to těch operací, které vytvářejí funkce příslušného úplného souboru

logických funkcí. Ze souboru axiomů, jímž je zavedena určitá logická algebra, lze ryze for-

málně odvodit všechny vlastnosti této algebry [1]. Soubor axiomů musí být: bezesporný (kon-

sistentní), tj. nelze z něho správnými postupy odvodit dvě vlastnosti vzájemně si odporující

(jistý výrok a jeho negaci), úplný v tom smyslu, že přidáním jakéhokoli dalšího výroku (který

nevyplývá z daného souboru axiomů) nebo jeho negace by se porušila bezespornost. Kromě

uvedených podmínek je žádoucí, aby soubor axiomů obsahoval pouze

a) jednoduchá tvrzení, která se již nedají rozložit na několik tvrzení jednodušších

b) tvrzení vzájemně nezávislá, tj. taková, z nichž žádné nelze formálně odvodit z ostatních.

Při formálním vymezení axiomů není vymezen význam prvků množiny, která tvoří příslušnou

logickou algebru. Z axiomů vyplývají pouze formální vztahy mezi těmito prvky, zprostředko-

vané zavedenými operacemi. Vyskytují-li se konkrétní prvky, pro něž platí (po zavedení

vhodného kódu) daný soubor axiomů, říkáme, že jde o konkrétní interpretaci (model) daného

souboru axiomů. Kód je dohodnutý systém pravidel pro jednoznačné přiřazení významu ke

znakům nebo signálům. Tentýž soubor axiomů může mít mnoho konkrétních interpretací v

různých oborech lidské činnosti. Vlastnosti, které byly odvozeny z formálně pojímaných axi-

omů, platí i v těchto jednotlivých interpretacích. V tom spočívá hlavní metodologický význam

formálního pojetí axiomů. K prvkům a vztahům mezi těmito prvky u jisté formálně zavedené

logické algebry lze tedy nalézt různé interpretace. Jsou to například výroková algebra nebo

algebra množin (byla uvedena v kap. 1.1 pod názvem "Množiny").

Vzájemně různých formálních logických algeber může být tolik, kolik se dá sestavit úplných

souborů logických funkcí. Víme však, že těchto souborů je neomezený počet, neboť ke kaž-

dému souboru lze přidávat libovolný počet dalších logických funkcí, čímž dostáváme stále

nové úplné soubory logických funkcí. Zatím je vybudováno jen několik logických algeber.

Jsou to většinou logické algebry, které se opírají o logické funkce dvou proměnných a zobec-

nění jejich axiomů pro více proměnných.

1.5. Boolova algebra

Nejvýznačnější algebrou pro teorii logických sítí i pro mnohé jiné obory je Boolova alge-

bra (zkráceně B-algebra).

Boolova algebra2 je dvouhodnotová logická algebra, která užívá logického součtu, součinu a

negace jako základních operací.

Boolovská proměnná je logická proměnná nabývající dvou hodnot.

Boolovská funkce je logická funkce boolovské proměnné.

2 V tomto a dalších názvech se v češtině připouští termín "boolovský i Boolův". V předloženém textu budeme termín "boolovský" chápat

jako obecnější, širší než "Boolův".

Page 13: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

13

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Boolovská operace je dvouhodnotová logická operace.

Boolovský operátor (boolovská spojka) je operátor boolovské operace.

Tabulka boolovských operací je tabulka udávající závislost výsledku booloveké operace na

jejích operandech.

Boolovu algebrou budeme nazývat každou množinu B, která obsahuje jednak dva navzájem

různé význačné prvky 0 a l, jednak další prvky , ,x y z a v níž jsou definovány operace souč-

tu, součinu a negace tak, že platí tento soubor axiomů;

1. Jestliže prvky x B a y B , pak také x y B a xy B (vnitřní zákony komposice).

2. V množině B je význačný prvek 0 B takový, že 0x x je splněno pro libovolný prvek

x B ; podobně je význačný prvek 1 B , u něhož je .1x x (zákony absorbce).

3. Pro prvky , ,x B y B je vždy splněno x y y x a současně xy yx (zákony komuta-

tivní).

4. Pro prvky , , x B y B z B je vždy splněno x yz x y x z a současně

x y z xy xz (zákony distributivní).

5. Ke každému prvku x B se vyskytuje současně prvek x B , pro který platí 0xx a sou-

časně 1x x (zákony vyloučeného třetího).

6. Jsou alespoň dva takové prvky a x B y B , že x y .

Soubor axiomů, který byl uveden, zavedl již v roce 1904 americký matematik a logik E.V.

Huntington. Je to pouze jeden z mnoha možných přístupů k axiomatickému vybudování

Boolovy algebry, jejíž název byl zvolen na počest význačného irského matematika a logika

Georga Boolea (1815-1864) a jejíž základy lze vysledovat u starořeckého filosofa a encyklo-

pedického vědce, zakladatele logiky a řady speciálních věd Aristotela (384-322 před n.l.). Z

uvedeného souboru axiomů lze odvozovat i další pravidla Boolovy algebry [1]. Za povšimnutí

stojí, že uváděné základní rovnosti Boolovy algebry jsou většinou uspořádány po dvojicích,

přičemž výrazy v rovnostech na pravé straně se získají z příslušných výrazů na levé straně a

naopak pouze tím, že prvek 0 se nahradí prvkem l, prvek l prvkem 0, logický součin logickým

součtem a logický součet logickým součinem. Jde tedy o dvojice duálních výrazů. Principu

duality lze s výhodou využít při odvozování nových pravidel Boolovy algebry. Při odvození

jakékoli rovnosti Boolovy algebry získáme totiž mimoděk i rovnost mezi odpovídajícími du-

álními výrazy. Když se nyní zamyslíme nad všemi logickými výrazy, které byly až dosud v

textu uvedeny, zjistíme, že byly boolovské a že tedy modelovaly algebraicky boolovské funk-

ce. Lišily se od sebe pouze v algebraickém vyjádření. Boolovské funkce mohou být tedy mo-

delovány výrazy, v nichž se mohou vyskytovat jakékoli dílčí operace. Pokud ve výrazu použi-

jeme pouze operace definované v Boolově algebře, budeme je nadále nazývat Boolovými vý-

razy a logické funkce takto algebraicky popsané Boolovými funkcemi. Při zkrácení je možno

užívat zápis B-výraz a B-funkce.

Boolovské funkce lze porovnávat nejen z hlediska jejich rovnosti, ale i z hlediska nerovností.

Page 14: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

14

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Předpokládejme, že

0 1, 0 0, 1 1 . (1.25)

Nerovnost dvou boolovských funkcí 1 2 1 2, , , a g x , , ,n nf x x x x x můžeme pak zavést

takto:

Jestliže je f g a jestliže i if g , kde i prochází všechny možné kombinace proměnných

podle vztahu (1.25) a kde if , popř. ig značí hodnoty logické funkce pro příslušnou kombi-

naci proměnných, říkáme, že funkce f je menší než funkce g a píšeme symbolicky f g .

Uveďme několik základních vztahů tykajících se nerovností mezi boolovskými

mi3[1].

1. Je-li f < g a g < h, potom je též f < h.

2. Je-li f < g, potom je též , , f g f h g h fh gh .

3. Je-li f < h a současně g < h, potom je též , f g h fg h .

4. Je-li f < g a současně f < h, potom je též , f g h f gh .

1.6. Modely logických funkcí

Doposud jsme se setkali s několika modely logických funkcí. Byly to algebraický výraz,

tabulka a plošný útvar Vennova diagramu. Některé vztahy a přechody jsme definovali. Dále

rozšíříme tuto oblast poznatků o další možnosti.

Mějme logickou funkci tří proměnných, jejíž tabulkový model je tab. 1.6. Poslední sloupec

obsahuje pravdivostní hodnoty logické funkce , ,F x y z . Prostřední pole obsahuje kombinace

vstupních logických proměnných, které jsou v záhlaví zapsány v pořadí, daném předpisem

normální báze , ,x y z . Jako pomůcka jsou uvedeny váhy, které jednotlivým proměnným při-

řazujeme. Pracovní oblast prostředního pole obsahuje pravdivostní hodnoty logických pro-

měnných. Jednomu řádku (kombinaci proměnných) říkáme vstupní stav. Každý vstupní stav

jme schopni zakódovat vstupním stavovým indexem s. Pokud pravdivostní tabulka obsahuje

vstupní stavy podle (1.21) a všem stavům je přiřazena pravdivostní hodnota logické funkce

, ,F x y z , pak se jedná o logickou funkci určenou. V případě alespoň jednoho neurčeného

stavu mluvím o logické funkci neurčené. Pokud se neurčené stavy vyskytují, značíme je X.

3 Pro úplnost můžeme uvést další algebry např. Shefferova, Peirceova, Žegalkinova, Lindmanova algebra atd.

Page 15: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

15

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Tab. 1.6. Pravdivostní tabulka

1.7. Mapa logické funkce

Velmi častým grafickým útvarem pro zápis boolovské funkce je logická mapa.

Obr. 1.3. Trojrozměrná jednotková krychle logické funkce , ,F x y z .

1.8. Normální formy Boolovy algebry

Z mnoha možných způsobů zápisů uveďme několik výrazů logické funkce, jejíž model

(mapa) je na obr. 1.4.

Obr. 1.4. Karnaughova, Svobodova funkce F(x,y,z)

s x y z , ,F x y z

0 0 0 0 0

1 0 0 1 1

2 0 1 0 0

3 0 1 1 1

4 1 0 0 1

5 1 0 1 0

6 1 1 0 1

7 1 1 1 0

Page 16: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

16

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Několik možných zápisů funkce G(x,y,z) zadané Karnaughovou mapou.

, ,G x y z = xyz xyz xyz xyz (1.26)

= x y z x y z x y z x y z (1.27)

= yz zy xz (1.28)

= x z x y y z (1.29)

= yz xz (1.30)

= x z y z (1.31)

= atd.

kde jednotlivé zápisy B-výrazů lze pojmenovat:

1.26 - úplná normální disjunktní (součtová) forma – ÚNDF

1.27 - úplná normální konjunktní (součinová) forma – ÚNKF

1.28 - zkrácená normální disjunktní forma – ZNDF

1.29 - zkrácená normální konjunktní forma - ZNKF

1.30 - minimální normální disjunktní forma – MNDF

1.31 - minimální normální konjunktivní forma - MNKF

1.9. Využití map pro minimalizaci normální formy Boolovy algebry

Úplně zadaná logická funkce , ,F x y z .

Tab. 1.7. Označení ÚNDF a ÚNKF v úplně zadané logické funkci , ,F x y z

S x y z F

0 0 0 0 0 KF x y z

1 0 0 1 1 DF x y z

2 0 1 0 1 DF x y z

3 0 1 1 0 KF x y z

4 1 0 0 0 KF x y z

5 1 0 1 1 DF x y z

6 1 1 0 1 DF x y z

7 1 1 1 1 DF x y z

Page 17: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

17

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Úplná normální disjunktní forma (UNDF) funkce , ,F x y z

x y z x y z x y z x y z x y z

(1.32)

Obr. 1.5. Po optimalizaci minimalizovaná disjunktní forma (MNDF)

, ,F x y z x y y z y z (1.33)

Úplná normální konjunktní forma (UNKF) funkce , ,F x y z

x y z x y z x y z , (1.34)

Obr. 1.6. Po optimalizaci minimalizovaná normální konjunktní forma (MNKF)

x y z y z . (1.35)

Příklad minimalizované disjunktní formy funkce , ,F x y z a její realizace logickými obvody.

MNDF , ,F x y z x y y z y z =

= . . .x y y z y z = . . . . .x y y z y z =

= . . . .x y y z y z = . . .x y y z yz =

= . . .x y y z yz = . . . . .x y y z y z .

Page 18: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

18

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 1.7. Realizace minimalizované disjunktní formy funkce , ,F x z y logickými obvody

2. LOGICKÉ ČLENY A OBVODY Equation Section (Next)

Nejužívanější definice logického obvodu je následující: Logickým obvodem nazýváme tako-

vý fyzikální determinovaný systém, u něhož každá veličina na vstupu i výstupu může

v ustáleném stavu nabývat s předepsanou přesností pouze jedné ze dvou možných logických

hodnot a který obsahuje takové prvky, jejichž vstupní i výstupní veličiny mohou nabývat rov-

něž jen jedné ze dvou možných logických hodnot.4

2.1. Dvouhodnotový signál

Pro vyjádření dvou stavů kteréhokoliv z vstupních nebo výstupních veličin jsou zavedeny

symboly 0 a 1 a můžeme také říci, že tyto symboly jsou zobrazeny dvouhodnotovým signá-

lem, někdy též zvaným elementárním signálem. Jinak řečeno, symbolům 0 a 1, které zobrazují

stavy nějaké logické proměnné, přiřazujeme signální hodnoty nebo krátce signál (např. napětí

U0 a U1 a naopak).

Signálem v uvedené souvislosti může být jakákoliv fyzikální veličina, proto mohou být lo-

gické obvody realizovány na libovolném fyzikálním principu. V praxi však našly uplatnění

jen některé principy, a to takové, které dávají předpoklady pro vysokou rychlost zpracování

informace, malý prostorový objem a malou energetickou spotřebu. Proto se využívá zejména

principů elektrických a magnetických.

Na obr. 2.1 je uveden přehled nejčastěji užívaných signálů zobrazujících symboly 0 a 1

v logických obvodech.

4 Obecně jsou možné i logické obvody několikahodnotové. V dalších úvahách se však omezíme pouze na dvouhodnotové obvody, které jsou

v praxi nejrozšířenější.

Page 19: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

19

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.1. Signály zobrazujících symboly 0 a 1 v logických obvodech.

V obvodech počítačů se logické proměnné a jim odpovídající signály mění, a přijímají se

většinou jen ve vymezených časových okamžicích t (obr. 2.2). Dobu t časového intervalu

nazýváme taktem (také periodou nebo dobou jednoho bitu). Elementární signál má tedy vý-

znam pouze uvnitř doby t , protože v době změny signálu nemůžeme rozhodnout, zobrazí-

me-li logickou hodnotu 0 či 1.

V počítači se setkáváme se dvěma způsoby zobrazení stavů logických proměnných nebo,

jak se často říká, se dvěma způsoby zobrazení informace: hladinovým čili statickým a dyna-

mickým. U statického zobrazení jsou symboly 0 a 1 zobrazeny např. napěťovými hladinami,

které, které vyplňují celou dobu t (okamžiky změn hladin ideálně neuvažujeme). Na obr.

2.2a je příklad statického zobrazení logické proměnné, která postupně nabývá logických hod-

not 1,1,0,1.

Obr. 2.2. Způsoby zobrazení informace: a) statické (hladinové) zobrazení; b) dynamické zob-

razení

U dynamického zobrazení je symbol 1 zobrazen přítomností impulsu v době t , symbol 0

jeho nepřítomností, popřípadě opačnou polaritou impulsu (obr. 2.1). Proto se tomuto způsobu

zobrazení říká také impulsní. Na obr. 2.2b je příklad dynamického zobrazení téže časové zá-

Page 20: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

20

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

vislosti proměnné jako u hladinového způsobu. Nejčastější způsob hladinového zobrazení je

zobrazení pomocí napěťových úrovní. Uvažme příklad skutečného provedení logického členu,

který pracuje se dvěma úrovněmi signálu 0,5 V a 5 V. Někdy se tyto úrovně označují L (low

~ nízká) a H (high ~ vysoká). Tato písmena se často vyskytují v pravdivostních tabulkách,

popisujících skutečný logický člen. Na schématu i v popisu členu Booleovou algebrou je uve-

dena logická proměnná, nabývajících logických hodnot 0 nebo 1.

Přiřadit k sobě dvojici: schéma – skutečné provedení logického členu lze zásadně dvojím způ-

sobem: 0 L ,1 H , které označujeme jako pozitivní logika a nebo 0 H , I L , nega-

tivní logika.

Jestliže se komerční člen charakterizuje v tabulce znaky L, H je to samo o sobě dostatečně

výstižné. Jsou-li v tabulkách jen logické hodnoty 0 a 1 je nutné ještě dodat, o jakou logiku jde.

Např. člen popisovaný při pozitivní logice jako logický součin, dává výstup v negativní logice

jako logický součet atd. Snadno se o tom přesvědčíme, jestliže v pravdivostních tabulkách

včetně jejich záhlaví zaměníme logickou hodnotu 0 za 1 a naopak.

Zobrazení logických hodnot 0 a 1 kmitočtem, fází nebo magnetickou indukcí (obr. 2.1) se

většinou užívá v paměťových systémech počítačů a souvisí s požadavkem větší spolehlivosti

nebo trvalostí uchování informace v takových systémech i při odpojení napájecích zdrojů.

Přiřazujeme-li logickým hodnotám 0 a 1 nějaké konkrétní hodnoty napětí např. U0 a UI, máme

na mysli ideální hodnoty těchto napětí (tj. např. UI je přesně 5V, U0 je přesně 0,5V; žádné jiné

hodnoty nejsou v ideálním případě přípustné). U reálného obvodu je však nemožné dodržet

ideální hodnoty, protože každá veličina logického obvodu je závislá na mnoha dalších činite-

lích, jako např. na rozptylu parametrů použitých součástek, vlivu šumu, teploty, kolísání na-

pájecího napětí, magnetického či elektrického pole atd. Proto je správnější hovořit o pásmech

signálů kolem ideálních hodnot. Příklad takových pásem je na obr. 2.3.

Obr. 2.3. Pásma signálů.

Každou hodnotu napětí, ležící v intervalu ULmin až ULmax považujeme za nízkou úroveň a hod-

notu napětí z intervalu UHmin až UHmax pokládáme za vysokou úroveň.

Vlivy, které neumožňují dodržet ideální úrovně elementárních signálů, nedovolují rovněž

stanovit ideální, ostrou hranici mezi pásmy. Proto jsou intervaly nízké a vysoké úrovně oddě-

Page 21: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

21

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

leny tzv. zakázaným pásmem. Vyskytne-li se v logickém obvodu hodnota napětí ze zakázané-

ho pásma, nemůžeme rozhodnout, zda zobrazuje logickou hodnotu 0 či I.

2.2. Třídění logických obvodů

Podle fyzikálního principu rozeznáváme logické obvody elektrické, magnetické, pneuma-

tické, optické, mechanické, chemické atd. Podle použitých základních prvků můžeme např.

elektrické dělit na reléové, diodové, tranzistorové, diodově tranzistorové atd. Podle způsobu

vazby uvnitř logických členů mluvíme o logických obvodech vázaných odporově, emitorově

atd. Podle hlediska technologie a složitosti mluvíme o logických obvodech malé, střední a

velké integrace. Z hlediska rychlosti zpracování informace v obvodu rozlišujeme rychlé a

pomalé obvody apod.

V další části studijního materiálu si budeme všímat pouze logických členů elektrických, a to

takových, jejichž vstupní i výstupní stavy se vyznačují napěťovými hladinami, a které proto

často nazýváme hladinové a nebude-li uvedeno jinak, budou uvažovány výhradně obvody

pracující v kladné logice.

2.3. Kombinační logické obvody

Fyzikální model základní (jednoduché) logické funkce budeme nazývat základním logickým

členem nebo krátce logickým členem.

Každý logický člen je charakterizován vztahem mezi jeho vstupními a výstupními logický-

mi proměnnými. Vstupní proměnné příslušejí nezávisle a výstupní závisle proměnné té logic-

ké funkce, kterou daný logický člen realizuje. Každé vstupní proměnné xi (popř. výstupní

proměnné yj) je přiřazeno napětí 0 1,ixU U U (popř. 0 1,

jyU U U ). Napětí Ux nazýváme

vstupním, Uy výstupním napětím. Připomeňme, že mnohdy z důvodů stručnosti nerozlišujeme

např. mezi xi a Uxi, a to zejména ve schématech a u časových diagramů, které můžeme pova-

žovat za jeden ze způsobů popisu chování logického členu.

Spojováním základních logických členů vytváříme složené členy nebo logické obvody,

jimiž realizujeme logické funkce.

Každý kombinační i sekvenční logický člen charakterizujeme:

1. Logickými vlastnostmi; ty jsou dány logickými funkcemi, které člen realizuje.

2. Fyzikálními vlastnostmi; ty umožňují hodnotit kvalitu nějakého reálného logického čle-

nu pomocí jistých fyzikálních veličin, které budeme nazývat parametry logického členu.

a) Základní statické parametry

Počet nezávislých vstupů (vstupy větvení).

Rozvětvení. Rozvětvením nazýváme číslo N, které je rovno maximálnímu počtu

jednotkových zátěží, které lze připojit na výstup členu viz obr. 2.4a, kde je rozvětvení nazna-

čeno soustavou paralelních vodičů.

Page 22: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

22

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.4. Parametry logického členu

Statická, neboli převodní charakteristika se definuje jako závislost výstupního napětí plně

zatíženého logického členu na jenom ze vstupních napětí. Při jejím měření musí být na ostatní

vstupy logického členu připojena taková úroveň napětí, aby nebránila působení změny vstup-

ního napětí na výstup. Převodní charakteristika logického členu obsahujícího zesilovač je na

obr. 2.4d. Mezní hodnoty napěťových úrovní na výstupu členu tj. U1min, U1max, U0min, U0max.

Šumová imunita neboli odolnost proti statickému rušení se definuje se jako šířka pásma dovo-

lených změn napěťových úrovní na vstupu členu podle obr. 2.4b. S1 vyjadřuje odolnost proti

statickému rušení na jednotkové úrovni a podobně S0 na nulové úrovni. Kromě těchto veličin

se udávají zpravidla ještě tyto: příkon, velikost napájecího napětí a jejich tolerance, provozní

teplota, popřípadě rozmezí teplot, vstupní a výstupní proudy apod.

b) Základní dynamické parametry

Dynamické parametry charakterizují především kmitočtové vlastnosti logického členu a defi-

nujeme je pomocí obr. 2.4c. Doba tpd0 udává zpoždění přechodu signálu na nulovou úroveň a

podobné doba tpd1 udává zpoždění přechodu signálu na jednotkovou úroveň.

Charakteristické zpoždění je dáno vztahem

0

2

pd pdI

pd

t tt

(2.1)

Dynamická šumová imunita se udává většinou jako maximální dovolená šířka a amplituda

rušivého signálu, jehož vliv se ještě nesmí projevit na výstupním signálu.

Kromě těchto parametrů se někdy ještě udávají délky hran elementárních signálů a u sekvenč-

ních logických členů požadavky na tvar výstupních signálů apod.

3. Provozně ekonomické vlastnosti: dobu života, spolehlivost, pořizovací náklady, kon-

strukční a technologické řešení, provozní náklady, zabraný prostor, požadavky na napá-

jecí napětí, odolnost v prostředí atd.

Page 23: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

23

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

2.3.1. Součtový logický člen

Součtový logický člen realizuje funkci disjunkce, proto jej nazýváme člen NEBO (anglicky

OR).

Obr. 2.5. Součtový logický člen

Chování součtového logického členu pro dvě vstupní proměnné x1 a x2 a výstupní proměn-

nou y je popsáno logickou mapou včetně symbolické značky na obr. 2.5.

2.3.2. Součinový logický člen

Součinový člen realizuje logickou funkci konjunkce, která odpovídá spojení výroků pomocí

spojky „ i ―, proto jej často nazýváme člen I (anglicky AND). Jeho symbolická značka

s logickou mapou je na obr. 2.6.

Obr. 2.6. Součinový logický člen

2.3.3. Invertor

Abychom dostali takový soubor členů, který umožňuje realizovat libovolnou logickou funk-

ci, musíme k předchozím členům vytvořit ještě jeden člen umožňující realizaci negace (funkci

jediné nezávisle proměnné). Takový člen, jehož grafická značka a logická mapa je na obr. 2.7,

nazýváme člen NE (anglicky NOT). Je-li na jeho vstupu jednotková úroveň signálu, pak vý-

stupní je nulová a naopak.

Page 24: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

24

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.7. Logický člen NOT a jeho převodní charakteristiky

2.3.4. Univerzální logické členy

Jak bylo již předešle uvedeno, logické členy se při realizaci nějaké logické funkce řadí vět-

šinou za sebou tak, že výstupy jedněch jsou připojeny na vstupy dalších, takže vznikají řetěz-

ce logických členů.

Má-li logický člen umožnit vytvoření libovolně dlouhých řetězců, musí mít jeho převodní

charakteristika takový tvar, aby ze „zkažené nulové úrovně―, která vstoupí, vznikla „méně

zkažená nulová úroveň― na výstupu a obdobně u jednotkové úrovně. Tomu jevu se říká rege-

nerace hladin a požadovaná charakteristika by měla mít tvar podle obr. 2.4d.

Hladinově regenerovat může jen člen obsahující aktivní prvek (např. tranzistor). Této předsta-

vě nejlépe vyhovuje logický člen, který má na svém výstupu např. invertor, jehož převodní

charakteristika je uvedena na obr. 2.7 a splňuje požadavek regenerace hladin. Jde v podstatě o

tutéž charakteristiku jako obr. 2.4, avšak (vzhledem k funkci negace realizované invertorem)

zakreslené v opačné diagonále.

Logický člen regenerující hladiny pomocí invertorů si tedy můžeme představit blokově podle

obr. 2.8.

Obr. 2.8. Struktura univerzálního logického členu

Na logickou část navazuje invertující část. Realizuje-li logická část např. funkci logického

součinu, pak na výstupu takového členu dostáváme negaci tohoto součinu, což odpovídá

Page 25: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

25

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Shefferově funkci, což je úplný soubor funkcí. Podobně realizuje-li logická část členu logický

součet, pak na výstupu je jeho negace což odpovídá Peirceově funkci, která je také úplným

souborem funkcí. Znamená to, že tato koncepce představuje Shefferův (resp. Peirceův) člen,

který sám umožňuje realizovat libovolnou logickou funkci. Proto takové členy také nazýváme

univerzálními logickými členy.

Obr. 2.9. a) Shefferův, b) Pierceův člen

Na obr. 2.9a je grafická značka Shefferova členu, pro který se značně rozšířil název NAND

(NOT-AND), nebo I-NE a jeho principiální zapojení v němž jsou pro přehlednost vynechány

vstupní odporové děliče, přičemž negace se vytváří připojením tranzistorů na společný kolek-

torový odpor. Analogicky lze popsat i Peirceův člen jako součtový člen s negací. Odtud vy-

plývá i jeho název: člen NEBO-NE, NOR (NOT-OR). Grafická značka i princip zapojení je

na obr. 2.9b.

Obr. 2.10. Montážní logický člen

Uvažujme nyní členy pole obr. 2.10a se spojenými výstupy. Předpokládáme, že konkrétní

zapojení obou součtových členů umožňuje spojit jejich výstupy bez nežádoucích následků

(např. zničení tranzistorů); pak se snadno přesvědčíme, že jsme tímto spojením vytvořili

vlastně nový logický člen, protože výstup dosáhne jednotkové úrovně pouze tehdy, když oba

Page 26: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

26

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

výstupy součtových členů budou mít současně jednotkovou úroveň. V tomto případě jde o

člen součinový, který si můžeme představit v podobě obr. 2.10b. Takovýto logický člen, jehož

symbolická značka je na obr. 2.10c, nazýváme montážním, fiktivním nebo drátovým logic-

kým členem. Důležité uplatnění nacházejí drátové či montážní logické členy, zejména při

přenosu informace pomocí sběrnice, kde zastávají funkci tzv. multiplexoru.

2.3.5. Fyzikální realizace logických členů

Podívejme se nyní blíže na skutečnou podobu nejrozšířenějších logických členů, které se

vyrábějí jako integrované obvody a které podle použitých konstrukčních prvků rozdělujeme

na několik skupin.

Odporově vázané členy se vyvinuly z přímo vázaných členů (DCTL — directly coupled

transistor logic), u nichž přímé spojení kolektorů s bází navazujícího tranzistoru bylo sice z

výrobního hlediska jednoduché, avšak nepříznivě se přitom projevoval výrobní rozptyl

vstupních charakteristik tranzistorů, který značně omezoval rozvětvení a zhoršoval činnost

obvodu. A tak se do obvodů báze zařadily odpory a takto vzniklý obvod se začal označovat

jako odporově vázaný tranzistorový člen zkratkou RTL (resistor - transistor logic). Obvody

RTL se vyráběly jako monolitické integrované obvody i jako hybridní obvody. Byly vyvinuty

různé modifikace obvodů RTL.

Na obr. 2.11a je konkrétní zapojení obvodu RTL a na obr. 2.11b je uvedeno odpovídající lo-

gické schéma. Obvod má komplementární výstupy, což poskytuje uživateli bohatší možnosti

využití obvodu. V dnešní době nejsou již obvody RTL důležitým druhem, vyskytují se jen u

starších číslicových zařízení a jsou nahrazeny modernějšími obvody, zejména obvody TTL.

Obr. 2.11. Obvody RTL

2.3.6. Diodově-tranzistorové obvody

Jako další můžeme uvést spojení diodových obvodů s tranzistory. Vznikly tak obvody

označované zkratkou DTL (diode-transistor logic), jejichž základním představitelem je obvod

Page 27: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

27

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

podle obr. 2.12, který také odpovídá zavedené představě univerzálního logického členu. Dio-

dy D1, D2, D3 a odpor R1 tvoří jednoduchý diodový obvod logického součinu, zbývající část

obvodu představuje invertor.

Obr. 2.12. Základní obvod DTL

Diody D4 a D5, tvoří vazební článek mezi součinovým obvodem a invertorem. Tyto tzv. po-

souvací diody umožňují realizovat obvod bez pomocného zdroje předpětí a navíc zvětšují

šumovou imunitu obvodu.

Jsou-li všechna vstupní napětí na úrovni 4 V, diody D1 až D4 nevedou a kdyby neprocházel

proud přechodem báze-emitor, bylo by napětí v bodě B asi 2,5 V, což je víc, než je zapotřebí

k otevření tranzistoru. Ten se tedy otevře, napětí v bodě B klesne asi na 0,6 V, takže napětí na

výstupu členu odpovídá saturačnímu napětí a je asi 0,2 V.

Je-li kterékoliv ze vstupních napětí na nulové úrovni, tj. přibližně na 0,2 V, je v bodě A asi

0,8 V. K tomu, aby přes diody D4 a D5 od bodu A procházel nějaký proud, by na těchto dio-

dách muselo být napětí alespoň 1,2 V. Jelikož tomu tak není, proud přes tyto diody neprochá-

zí, takže v bodě B je napětí 0 V, které udrží tranzistor v uzavřeném stavu, a tedy na výstupu je

napětí 4 V odpovídající jednotkové úrovni elementárního signálu.

Tento člen tedy realizuje funkci NAND: 1 2 3y x x x . Kdyby v uvažovaném případě s alespoň

jedním vstupním napětím na úrovni 0,2 V byla namísto dvou posouvacích diod použita jen

jedna, pak napětí 0,8 V v bodě A by způsobilo otevření této diody (prahové napětí pro otevře-

ní diody nebo přechodu báze-emitor uvažujeme 0,6 V) a pak by v bodě B bylo 0,8 — 0,6 =

0,2 V, což je sice méně než prahové napětí, potřebné pro otevření tranzistoru, ale již 0,4 V

šumového napětí by mohlo tento tranzistor otevřít a narušit tak správnou činnost obvodu.

Nejrozšířenějším druhem logických členů jsou zatím tranzistorově-tranzistorové obvody,

uváděné obvykle zkráceně jako obvody TTL (transistor-transistor logic). Můžeme si je před-

stavit jako modifikovaný obvod DTL, u něhož je diodová část, tvořící funkci součinu, nahra-

zena víceemitorovým tranzistorem.

Page 28: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

28

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.13. Základní obvod TTL a jeho převodní charakteristika

Na obr. 2.13a je konkrétní zapojení jednoho základního logického členu NAND se třemi

vstupy, vyráběného ve formě integrovaného obvodu s označením MH 7410, jehož převodní

charakteristika je na obr. 2.13b.

Kdybychom zjednodušeně uvažovali pouze část obvodu s tranzistorem T1,T2 a T3 a k tranzis-

toru T3 připojili jednoduchý kolektorový odpor, dostali bychom obvod velmi podobný obvodu

DTL: emitory tranzistoru T1 odpovídají vstupním diodám, přechody báze-kolektor tranzistoru

T1 a báze-emitor tranzistoru T2 tvoří posouvací diody (D4 a D5 v obr. 2.12). Avšak snaha po

zkrácení časových konstant a zvětšení výkonového zisku vedla k zapojení s tranzistorem T4.

Zkrácení časové konstanty lze uskutečnit zmenšením kolektorového odporu (uvažováno

vzhledem k tranzistoru T3), avšak malý kolektorový odpor by zase zvětšil potřebný příkon

obvodu. Je tedy žádoucí, aby při otevřeném tranzistoru T3 (tj. při dolní úrovni na vstupu čle-

nu) byl jeho kolektorový odpor velký a při zavírání tohoto tranzistoru z požadavku co nejkrat-

ší časové konstanty zase malý. Tuto funkci kolektorového odporu tranzistoru T3 uspokojivě

řeší sériové spojení diody D tranzistoru T4 a jeho kolektorového odporu, jehož velikost se ve

výrobě ustálila na 100 až 130 .

Uvažujme nyní, že výstupní napětí Uy je na dolní úrovni. Pak všechna vstupní napětí Ux musí

být na horní úrovni a tranzistory T2 a T3 jsou v saturaci. Napětí na bázi T4 se rovná napětí

kolektoru T2 a dosahuje přibližně 0,2 + 0,6 = 0,8 V. Uvažujeme-li saturační napětí na přecho-

du kolektor-emitor tranzistoru T3 0,2 V, pak na sériové spojení přechodu báze-emitor a diodu

D zbývá tedy jen 0,6 V, což je nepostačující k otevření tranzistoru T4, a tedy při otevřeném T3

je v jeho kolektoru zapojen velký odpor.

Nyní uvažujme, že kterékoliv ze vstupních napětí se změní na dolní úroveň. V tom případě se

tranzistory T1 a T2 uzavřou, napětí na bázi T4 poroste a stejně tak poroste výstupní napětí Uy,

dokud nedosáhne hodnoty napájecího napětí, zmenšeného o úbytky na diodě D, tranzistoru T4

a odporu Rk , tj. velikosti asi 3,5 V. Během vzrůstu výstupního napětí se také musí nabít před-

pokládaná zatěžovací kapacita, a to se děje proudem procházejícím přes odpor Rk, otevřený

tranzistor T4 i diodu D, jejichž odpory v propustném směru jsou velmi malé. Časovou kon-

stantu tohoto nabíjení tedy určuje v podstatě jen malý odpor Rk, a tím je dosaženo krátké spí-

nací doby.

Zdálo by se, že vzhledem k požadavku malé časové konstanty by odpor Rk mohl být ještě

menší. Avšak během spínání, kdy je ještě T4 otevřen, je odpor Rk jediným kolektorovým od-

Page 29: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

29

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

porem tranzistoru T3, takže při jeho dalším zmenšování by neúměrně vzrostla proudová špič-

ka ve výstupním obvodu, která již při uvedeném odporu 130Ω dosahuje asi desetinásobek

ustáleného stavu proudu. Odpor Rk tedy omezuje proudové špičky, vznikající během spínání.

Samotný výstupní obvod je zřejmě zdrojem proudového šumu, který může vyvolat nežádoucí

jevy (odrazy, zvětšení příkonu při vysokých kmitočtech apod.).

Uvedené zapojení má jistou nevýhodu: nelze tvořit tzv. montážní logický člen spojením vý-

stupů několika členů. Snadno se přesvědčíme, že přímé propojení výstupů např. dvou uvede-

ných členů, z nichž jeden dosahuje horní a druhý dolní úrovně výstupního napětí vede vlastně

ke zkratu, který může způsobit zničení tranzistorů.

Obr. 2.14. Obvod TTL s otevřeným kolektorovým výstupem

Aby bylo možné vytvářet montážní členy i u obvodů TTL, vyrábějí se logické členy podle

zapojení na obr. 2.14a, které vlastně představuje zjednodušený základní obvod s otevřeným

kolektorovým výstupem. Požadovaná logická funkce se realizuje tak, že se výstupy takových-

to členů připojí na společný vnější kolektorový odpor, jehož velikost se určí podle počtu při-

pojených členů.

Tak např. zapojení podle obr. 2.14b realizuje logickou funkci 1 2 3 4 5 6. .y x x x x x x (uvažované

členy s otevřeným kolektorem jsou zobrazeny zjednodušeně pouze výstupním tranzistorem

T3). Odpovídající logické schéma je na obr. 2.14c. Jak je zřejmé, jde v tomto případě o souči-

nový montážní člen.

Zapojení s otevřeným kolektorem neposkytuje výhody základního zapojení podle obr. 2.13

získané použitím tranzistoru T4 a diody D ve výstupním obvodu členu. Aby byly tyto výhody

zachovány a bylo možné vytvářet montážní logické členy, byl navržen tzv. třístavový logický

člen NAND. Jeho principiální zapojení je na obr. 2.15a. Jak je vidět, jde o modifikaci základ-

ního zapojení obvodu TTL, ve kterém lze blokovacím spínačem uzemnit bázi tranzistoru T4 a

emitor T1. Skutečná podoba blokovacího spínače je na obr. 2.15b. Tento obvod může být v

jednom ze tří možných stavů: 1. Je-li Ublokovací = U1 (tj. blokovací spínač je sepnut) jsou oba

tranzistory T3 i T4 uzavřeny bez zřetele na ostatní vstupy obvodu. Tento stav se nazývá sta-

vem s vysokou impedancí výstupního obvodu.

Page 30: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

30

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.15. Principiální zapojení třístavového členu NAND

2. Je-li Ublokovací = U0 (tj. blokovací spínač je rozepnut) a všechny ostatní vstupy jsou jednot-

kové, je tranzistor T3 otevřen a T4 zavřen.

3. Je-li Ublokovací = (U0 (spínač je rozepnut) a kterýkoliv z ostatních vstupů je na dolní úrovni,

je T, uzavřen a T4 otevřen.

Předpokládejme nyní několik takových členů se spojenými výstupy. Budou-li všechny bloko-

vací vstupy na jednotkové úrovni, bude společný výstup ve stavu s vysokou výstupní impe-

dancí. Bude-li však mít jediný ze spojených členů blokovací signál na nulové úrovni, bude

logická hodnota na společném výstupu určena logickou hodnotou danou právě tímto logic-

kým členem, takže takovéto spojení se chová jako montážní logický člen.

Zdálo se, že třístavový člen NAND najde podstatně širší uplatnění v návrhářské praxi. Zatím

tomu tak není a můžeme jej chápat jako obohacení možností poskytovaných technologií TTL.

Další možnost poskytují obvody TTL v podobě složeného členu podle obr. 2.16a. Jde o

další modifikaci základních obvodů, která realizuje funkci 1 2 3 4 1y x x x x y , kde

1 5 6 7 8y x x x x je funkce, která se vytváří pomocným logickým obvodem, tzv. expandérem.

Zapojení expandéru je na obr. 2.16c a jak vyplývá ze samotného názvu, slouží k rozšíření

počtu vstupů. Na obr. 2.16b je odpovídající logické schéma k uvedenému zapojení s expandé-

rem. Vzhledem k realizované funkci nazýváme takto složený člen I-NEBO-NE nebo častěji

AND-OR-INVERT.

Page 31: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

31

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.16. Složený logický člen a expandér

Integrovaný obvod MH 7450 obsahuje dva nezávislé členy podle obr. 2.16a a obvod MH

7460 dva nezávislé expandéry. Základní obvody TTL NAND se vyrábějí v několika modifi-

kacích podle počtu vstupů (ten je dán počtem emitorů prvního tranzistoru).

Řada MH 74 je určena pro provozní teploty 0 až 70 °C; ekvivalentní co do zapojení je řada

MH 54, určená pro provozní teploty - 55 až +125 °C, a také řada MH 84 pro provozní teploty

-25 až +85 °C.

2.3.7 Obvody TTL se Schottkyho diodou

Snaha zvýšit spínací rychlosti u logických členů s tranzistory vedla k využití Schottkyho

diod. U těchto diod tvoří téměř celý propustný proud elektrony, které procházejí z polovodiče

do kovu. V Schottkyho diodě proto nevzniká nadbytečný náboj a zotavovací doba je z tohoto

důvodu nulová.

Obr. 2.17. Tranzistor se Schottkyho diodou

Page 32: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

32

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Připojíme-li Schottkyho diodu k tranzistoru podle obr. 2.17a dostáváme tak tranzistor, které-

mu obvykle říkáme Schottkyho tranzistor, u něhož lze dosáhnout velmi krátkých spínacích

časů. Na obr. 2.17b je příklad charakteristik pro křemíkovou a Schottkyho diodu. Jak je vidět,

je na Schottkyho diodě v propustném směru mnohem menší napětí než u křemíkové diody.

Proto paralelní spojení Schottkyho diody s přechodem kolektor-báze křemíkového tranzistoru

zabrání nasycení (saturaci) tohoto tranzistoru a jeho spínací doby se zkrátí na doby kratší než

1 ns. Navíc dojde ke zlepšení kompenzace napětí mezi emitorem a bází.

Na obr. 2.18 je zapojení jednoho ze základních logických členů (dvouvstupový NAND - SN

74 S 00 fy Texas Instruments), které souhrnně označujeme zkratkou S-TTL. Schottkyho dio-

dy jsou zde použity i ve vstupním obvodu, a slouží k omezení amplitud napětí vlivem odrazů

na vedeních u všech tranzistorů kromě T4. Ten nemůže při normálních podmínkách dosáh-

nout saturace, proto není kombinován se Schottkyho diodou. Tranzistor T6 zlepšuje průběh

převodní charakteristiky.

Výstupní impedance obvodu při úrovni napětí U0 je asi 50 Ω. Charakteristické zpoždění u

obvodů S-TTL bývá 2 až 4 ns, střední příkon asi 40 mW; dají se použít až do kmitočtu téměř

100 MHz.

Obr. 2.18. Logický člen S-TTL

2.3.8 Emitorově vázané obvody

Jedny z nejrychlejších integrovaných logických obvodů (u nás nepříliš používané) jsou

emitorově vázané obvody, označované zkratkou ECL (emitter-coupled logic) nebo též jinak

proudově řízené logické obvody (CML — current-mode logic).

Page 33: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

33

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.19. Příklad členu ECL

Příklad zapojení ECL obvodu je na obr. 2.19a. Obvod pracuje s referenčním napětím 4 V,

které v podstatě určuje mez pro rozlišení dolní a horní úrovně elementárního signálu. Ob-

vykle napětí 4,4 V zobrazuje logickou hodnotu 1, napětí 3,6 V logickou hodnotu 0. Tranzisto-

ry Tt,T2, T3 tvoři logickou funkci a jsou spolu s T4 připojeny na společný emitorový odpor Re

jako v diferenciálním zesilovači. Jsou-li všechna vstupní napětí, odpovídající proměnným

x1,x2, x3 na dolní úrovni (3,6 V), jsou tranzistory T1, T2, T3 zavřeny a T4 otevřen, takže v bodě

B je asi 4,2 V, v bodě A téměř 5 V. Naopak, je-li kterýkoliv z tranzistorů T1, T2, T3 otevřen

horní úrovní napětí na svém vstupu, je tranzistor T4 uzavřen, takže v bodě B je téměř 5 V,

kdežto v bodě A asi 4,2 V. Považujeme-li tyto dvě hodnoty napětí za elementární logický

signál, pak zřejmě v bodě A odpovídá funkci 1 2 3x x x v bodě B funkci 1 2 3x x x .

Obvod v závislosti na vstupních napětích přepíná emitorový proud buď do tranzistoru T4 ne-

bo do vstupních tranzistorů, a poskytuje výstupní funkci v komplementárním tvaru. Výstup z

bodu A popř. B však vzhledem k napětím 4,2 a ~5 V nelze použít k buzení vstupů případného

navazujícího členu (kde, jak jsme řekli, je třeba napětí 3,6 a 4,4 V), takže jsou v základním

obvodu ještě výstupní obvody s tranzistory T5 a T6, které upraví napětí do požadovaného roz-

sahu. Symbolická značka celého obvodu je na obr. 2.19b.

Obvody ECL umožňují rovněž jednoduchou tvorbu montážních logických členů; vyznačují

se nízkou výstupní impedancí, značně velkým vstupním větvením (až 20) i rozvětvením (15).

Příkon je poněkud větší - asi 40 mW na jeden člen; typické charakteristické zpoždění je 5 až

7 ns. Nevýhodou je potřeba dvou napájecích napětí.

2.3.9 Injekční integrované logické obvody

Injekční integrované logické obvody (pro které se ujalo označení IIL nebo I2L) se zhruba

podobají obvodům DCTL, avšak liší se ve způsobu napájení. V obvodech I2L jsou jako spí-

nače použity tranzistory NPN s vícenásobnými kolektory, jejichž báze jsou vybaveny samo-

statnými proudovými zdroji podle obr. 2.20a. I když v souvislosti s výkladem o logických

členech není nutno zacházet do podrobností, přece jen připomeňme, že tento proudový zdroj

je tvořen laterárním tranzistorem, který je dán strukturou přechodů oblastí P (pod emitorem

Page 34: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

34

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

tranzistoru T1), oblastí N (na substrátu) a oblastí P (pod bází tranzistoru T1). Oblast P pod

emitorem T1 je tzv. injektor, který vstřikuje minoritní nosiče do oblasti báze T1, a způsobí tak

sepnutí tohoto tranzistoru. Takový laterární tranzistor je uveden na obr. 2.20b.

Obr. 2.20. Principy zapojení obvodů s integrovanou injekční logikou

Nyní si popišme zapojení podle 2.20c. Proud z proudového generátoru prochází do kolektoru

tranzistoru T1 tehdy, když tento tranzistor bude v sepnutém stavu (tj. otevřen) a to znamená,

že tranzistor T2 zůstává zavřen a naopak, je-li v rozepnutém stavu T1, prochází proud z prou-

dového generátoru do báze tranzistoru T2 a otevře ho. Tohoto principu lze využít k realizaci

logických členů.

Obr. 2.21. Příklad obvodu s integrovanou injekční logikou

Tak na obr. 2.21 je obvod, který připomíná montážní logický člen a který realizuje funkci

logického součtu vstupních proměnných A, B. Je-li A = 0 i B = 0 (tj. na vstupy je přivedeno

napětí 0V), prochází proud od obou proudových zdrojů do vstupů, takže oba tranzistory T1 i

T2 zůstávají zavřené a v místě spojených kolektorů těchto tranzistorů lze naměřit jednotkovou

úroveň napětí (u I2L obvodů zpravidla 0,7 V). Ve všech ostatních případech kombinací vstup-

ních napětí je vždy alespoň jeden z tranzistorů T1 a T2 otevřen, takže výstupní napětí je nulo-

vé. To znamená, že tato část obvodu realizuje funkci A B . Výstupní obvod s tranzistorem

T3 a odporem Rk působí jako invertor, na jehož výstupu je logický součet A + B.

Smysl použití více kolektorů si můžeme ukázat u tranzistoru T2, který v uvedeném případě

má dva kolektory. Na druhém kolektoru tohoto tranzistoru lze sledovat napěťové hladiny od-

Page 35: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

35

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

povídající B . Vytvoření více kolektorů tedy poskytuje širší možnosti využití jednoho základ-

ního obvodu při realizaci nějaké požadované logické funkce.

Injekční integrované logické obvody jsou založeny na využití velmi jednoduché základní bi-

polární struktury se dvěma tranzistory, přičemž se logická funkce vytváří pouhým propojová-

ním těchto základních prvků. To umožňuje umístit jednoduchou technologií výroby integro-

vaného obvodu na plochu 1 mm2 až 3000 obvodů. Navíc je součin příkon * zpoždění (který se

pokládá za jakýsi souhrnný ukazatel kvality členů) v porovnání s ostatními druhy tak malý, že

obvody I2L najdou v dohledné době výlučné uplatnění při praktické realizaci logických obvo-

dů v různých oblastech techniky, a to jako obvody s malými příkony.

Obvody I2L neobsahují žádné odpory (až na jediný — výstupní), uživatel si může sám zvo-

lit injekční úroveň a tak se absolutní úroveň šumové imunity nedá určit. Proto se určuje jen

relativní šumová imunita, a to jako maximální šumový proud (injekční), který ještě neovlivní

činnost obvodu při dané úrovni injekce. Nevýhodou obvodů I2L je, že pro spínací časy větší

než 10 ns prudce stoupá příkon. Přesto lze úrovní injekce volit spínací rychlosti a tak omezit

ztrátový příkon na minimum.

2.3.10 Logické členy s tranzistory MOS

Logické členy s tranzistory MOS mají specifické vlastnosti, pro které je jejich použití v

mnoha případech mimořádně výhodné. Vyznačují se tím, že člen obsahuje pouze jeden druh

prvku — MOS tranzistor, který může pracovat ve funkci spínače, zatěžovacího odporu i pa-

měťové kapacity. Technologie výroby je tedy jednodušší než u bipolárních obvodů a umožňu-

je realizovat na ploše 1 mm2 stovky tranzistorů, což vede k tomu, že jsou neobyčejně vhodné

pro velkou integraci. Mají nepatrnou spotřebu energie (neboť jejich proudy jsou až o dva řád-

ky nižší než u bipolárních tranzistorů), mimořádně velký vstupní odpor (asi 1014 ), avšak

jejich rychlost je nižší než u bipolárních tranzistorů a klesá s kapacitní zátěží; proto někdy

vznikají problémy při vytváření delších řetězců; rovněž dovolený teplotní rozsah je menší (do

+85 °C).

Na obr. 2.22 je příklad členu NAND s tranzistory MOS. Tranzistor T1 pracuje ve funkci spo-

lečného kolektorového odporu a princip zapojení se tedy neliší od členů s bipolárními tranzis-

tory.

Page 36: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

36

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.22. Logický člen s tranzistory MOS.

2.3.11 Prahové logické členy

Prahovým logickým členem nazýváme člen, který realizuje prahovou logickou funkci ne-

závisle proměnných 1, 2 , nx x x definovanou takto

1

1 2

1

0 je-li .

, ,

1 je-li .

n

i i

i

n

n

i i

i

w x P

f x x x

w x P

(2.2)

kde 0,1 ,i ix w je váha a P je práh funkce. Funkční hodnota na výstupu prahového obvodu

nezávisí obecně na počtu vstupních signálů - na výstupu se může objevit jednotková úroveň

třeba již při jediném vstupním signálu s jednotkovou úrovní, jestliže tento signál má váhu

převyšující práh.

Vyjádření prahové funkce určuje také strukturu prahového členu, kterou si můžeme představit

podle obr. 2.23a. Ve vstupu jsou obvody pro vytváření součinů wi . xi (nejde o součin logic-

ký), jejichž výstupy se sečtou (opět nikoliv logicky) v obvodu, kterému můžeme říkat sumá-

tor. Výstupní veličina sumátoru se pak v porovnávacím obvodu porovná s hodnotou prahu a

podle podmínek definovaných dříve vztahem 2.2 se na výstupu objeví jednotková nebo nulo-

vá úroveň, odpovídající hodnotě prahové funkce.

Obr. 2.23. Prahový obvod

Na obr. 2.23b je schéma jednoduchého a rozšířeného prahového obvodu užívaného např. ve

funkci hlídače kódu. Úlohu vstupních obvodů pro vytváření součinů zde zastávají odpory R1,

R2 …, Rn, protože vstupní proudy I1, I2, …, In jsou nepřímo úměrné jejich velikostem. Spojení

odporů do bodu A v souladu s 1. Kirchoffovým zákonem odpovídá součtu těchto proudů.

Tranzistor je pak porovnávajícím prvkem, který je v počátečním stavu uzavřen napětím -Ub,

které odpovídá prahu P. Vhodnou volbou odporů a napětí lze dosáhnout toho, že tranzistor

otevře tehdy, když jsou splněny podmínky definované danou konkrétní prahovou logickou

Page 37: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

37

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

funkcí. V uvedeném případě je výstup z kolektoru tranzistoru, a jde tedy o prahový člen

s inverzním (negovaným) výstupem.

V praxi se nejčastěji uvažují prahové členy, u nichž je váha konstantní (nebo rovna 1) a práh

P je celistvým násobkem váhy. Grafická značka prahového členu je na obr. 2.24a. Je-li např.

P = 2 a w = 1, na výstupu prahového členu se objeví jednotková úroveň pouze tehdy, když

alespoň dva vstupní signály nabývají jednotkovou úroveň.

Obr. 2.24 Prahový a majoritní člen

Zvláštním případem prahových funkcí pro stejné váhy jsou tzv. majoritní funkce. Zapisují se:

1 2 3, , , , nM x x x x . Grafická značka majoritního členu je na obr. 2.24b. Na výstupu majorit-

ního členu se objeví jednotková úroveň jen tehdy, když většina vstupů členu je připojena na

jednotkovou úroveň.

2.4 Typické kombinační obvody sčítačky

V této části budou uvedeny typické kombinační obvody, které se v počítačích nebo jiných

číslicových zařízení vyskytují a kterým často říkáme funkční bloky. Mezi základní funkční

bloky řadíme sčítačky, různé typy dekodérů čí přepínačů (realizované většinou jako kombi-

nační obvody) a dále registry, čítače, střadače (jakožto sekvenční obvody, které popíšeme

později).

Funkční obvod ve většině případů považujeme za konstrukční celek, který může být použit

v různých částech číslicového počítače.

2.4.1 Sčítačka modulo 2

Chování sčítačky je dané pravdivostní tabulkou na obr. 2.25, kde p představuje přenos,

z x y . Úplná součtová forma logické funkce popisující chování sčítačky modulo 2 je

z xy x y . (2.3)

Page 38: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

38

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.25. Sčítačka modulo 2

Tato forma je zároveň minimální formou, lze tedy přímo zakreslit logickou síť pro strukturu I-

NEBO podle obr. 2.25c. Kdyby byly k dispozici pouze signály, odpovídající přímým logic-

kým proměnným, obsahovala by logická síť ještě dva invertory pro vytvoření x a y . Meto-

dou algebraických úprav lze dokázat, že vztah z xy xy lze přepsat na tvar

. . .z x xy y xy . (2.4)

Takto upravený vztah je již realizovatelný členy NAND podle obr. 2.25d a v porovnání se sítí

I-NEBO odpovídající vztahu z xy xy při nedostupnosti negovaných proměnných obsahu-

je jen čtyři logické členy. Schematická značka sčítačky je na obr. 2.25b.

2.4.2 Koincidenční obvod

Koincidenční obvod (komparátor) je kombinační logický obvod, který slouží k porovnání

dvou n-místných slov. Jestliže se obě porovnávaná slova shodují ve všech svých bitech, obje-

ví se na výstupu koincidenčního obvodu jednotková úroveň elementárního signálu, v opač-

ném případě bude nulová.

Obr. 2.26. Paralelní koincidenční logický obvod

Page 39: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

39

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Uvažujme dvě slova X a Y, jejichž jednotlivé řády tvoří proměnné 1 2, , , nx x x a 1 2, , , ny y y.

Zřejmě platí, že hodnota koincidenčního signálu K I pro 1,2, ,i ix y i n . To umož-

ňuje, podobně jako u n-místné dvojkové sčítačky, navrhnout koincidenční obvod pomocí roz-

kladu. Jestliže označíme symbolem Ki signál koincidence v i-tém řádu, pak

1 2

1

.n

i n i

i

K K K K K K

(2.5)

kde je symbol logického součinu, který v tomto případě vyjadřuje, že slova jsou shodná

tehdy, když jsou shodná současně ve všech svých bitech. Hodnoty signálu K1 lze odvodit

z pravdivostní tabulky na obr. 2.26a.

i i i i iK x y x y (2.6)

Tento vztah vyjadřuje logickou funkci ekvivalence jednotlivých bitů, již odpovídají dvou-

stupňové obvody I-NEBO v obr. 2.26b, jejichž výstupy jsou připojeny na člen logického sou-

činu, který odpovídá vztahu

1

n

i

i

K K

(2.7)

Využijeme-li toho, že funkce ekvivalence a nonekvivalence jsou komplementární, můžeme

vztah

i i i i iK x y x y (2.8)

přepsat takto

i i i i iK x y x y (2.9)

Porovnáme-li tento nový vztah se vztahem

z xy xy (2.10)

vidíme, že celý výraz pod negací je shodný s výrazem pro funkci modelovanou či realizova-

nou sčítačkou modulo 2, a tedy

iK z (2.11)

což umožňuje realizovat koincidenční obvod pomocí sčítaček modulo 2 s inverzí na výstupu.

Uvažujeme-li, že jsou tyto sčítačky sestavené z členů NAND, pak celý koincidenční obvod

má podobu podle obr. 2.26c nebo 2.26d. Nutno připomenout, že uvedené obvody neobsahují

žádné paměťové prvky, proto signály na výstupu mají informační logickou hodnotu jen po

dobu trvání vstupních signálů.

Page 40: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

40

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

2.4.3 Dekodér

Důležitými funkčními obvody počítačů jsou dekodéry, které slouží např. k převodu jedno-

ho kódu na jiný, k dekódování obsahu registru instrukcí, nebo registru adresy apod.

Dekodér je obecně kombinační logický obvod, který má n vstupů a m výstupů. Název dekodér

je odvozen z toho, že takový kombinační obvod převádí kód n vstupních proměnných na kód

m výstupních proměnných. Jako příklad lze uvést logický návrh dekodéru pro převod desít-

kových číslic z přímého dvojkového kódu BCD do Aikenova kódu s vahami 2421. Označme

proměnné kódu BCD s vahami 8421 symboly x1, x2, x3, x4 a proměnné kódu 2421 symboly

y1, y2, y3, y4.

Chování dekodéru lze popsat pravdivostní tabulkou na obr 2.27a, v níž N je desítková číslice.

Proměnné y1 až y4 můžeme považovat za logické závislé proměnné, jejichž hodnota je dána

stavem nezávisle proměnných x1 až x4 podle tabulky. Na výstupy y1 až y4 se můžeme dívat

jako na samostatné logické funkce, které lze realizovat např. logickým obvodem struktury I-

NEBO. Pro každý z těchto výstupů lze známým způsobem zapsat úplnou součtovou normální

formu a tu pak minimalizovat.

Obr. 2.27. Převodník kódu

Proveďme minimalizaci pomocí Karnaughových map, z nichž jedna, pro výstup y1 je na obr

2.27c. S využitím neurčitých stavů dostáváme

1 1 2 3 2 4.y x x x x x (2.12)

Podobně určíme minimální formy pro ostatní výstupy

42 1 2 3 2y x x x x x , (2.13)

Page 41: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

41

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

2 33 1 3 2 4y x x x x x x , (2.14)

4 4y x. (2.15)

Odpovídající struktura je pak na 2.27d. Celý převodník kódu lze schematicky kreslit podle

obr. 2.27b.

2.5 Sekvenční obvody

Z hlediska logických obvodů je třeba zavést nejprve sekvenční obvod asynchronní, jakož

to obvod obecnější a zavedením jeho normalizované formy dospět ke speciálnějšímu obvodu

synchronnímu. Zvláštní pozornost přitom věnujme pojmu paměťový člen.

2.5.1 Jednostupňový KO

Ovládací proměnné obvodu obr. 2.28 tradičně značí R a S (z anglického set = nastavit na

logickou hodnotu 1 a reset = nastavit opačně). Někdy se užívá samotné smyčky bez hodino-

vých hradel. Tomuto zapojení budeme říkat asynchronní klopný obvod (paměťový člen) typu

RS.

Obr. 2.28. Jednoduchý klopný obvod řízený hodinovými impulzy

Obvodu včetně hodinových hradel budeme říkat taktovaný klopný obvod (paměťový člen) typu

RS. Abychom ho odlišili od dokonalejšího paměťového členu, budeme o něm říkat, že je jed-

nostupňový, schopný jen dvoufázové činnosti (někdy též vzorkovací obvod nebo obvod řízený

úrovní hodinového impulsu).

Page 42: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

42

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 2.29. Asynchronní klopný obvod Obr. 2.30. Jednostupňový klopný obvod z členů

NAND a jeho schematická značka.

Rovněž ze součinových členů lze vytvořit klopný obvod stejného druhu s dvěma invertory viz

obr. 2.29. Zde je třeba si uvědomit, že pamatovací stav smyčky je při stavu ovládacích pro-

měnných t = 1, u = 1. Pro nulování vnitřní proměnné je třeba položit u = 0 a pro nastavení na

logickou hodnotu 1 t = 0. Je patrno, že zřetelem na nastavení obvodu je ovládací, proměnné

aktívní, rovná-li se hodnotě 0. V souladu s tímto se značí , u R t S . Hodinový systém lze

vytvořit např. ze čtyř součinových členů obr. 2.30.

2.5.2 Dvoufázový režim činnosti obvodu řízeného hodinovými impulzy

Spolehlivé ošetření přináší např. kombinační obvod, vložený mezi výstup a vstup členů

systému. Na obr. 2.31 je člen s jediným přívodem hodinových impulzů, složený ze dvou dílů

– stupňů (dvoustupňový paměťový člen, člen schopný jednofázové činnosti).

Prvnímu se říká řídící stupeň (též hlavní paměť), druhému závislý stupeň (též pomocná pa-

měť). Tím se platí za jedinou vynikající vlastnost: výstup se změní teprve tehdy, když obvod

není citlivý na vstupu. Na obr 2.31b je značka pro paměťový člen RS.

Obr. 2.31. a) Dvoustupňový paměťový člen řízený hod. impulzy b) schématická značka

Page 43: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

43

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Zavedením dvoustupňového paměťového členu se podařilo odstranit nebezpečí, že by se roz-

ruch, procházející od výstupu paměťového členu, vrátil ostatními obvody ke vstupu paměťo-

vého členu ještě během téhož vzorkovacího intervalu.

3. PAMĚŤOVÉ OBVODY

Tak jako základním prvkem sekvenčního obvodu je klopný obvod, můžeme za stavební ká-

men číslicové techniky považovat paměťovou buňku. Obojí mají schopnost uchovat, zapama-

tovat si binární stav logické proměnné. Zatímco klopný obvod je víceméně „samostatným"

prvkem, tvoří paměťová buňka jen část číslicové paměti. Teprve po doplnění podpůrnými

obvody (zesilovače, adresové dekodéry atd.) vznikne konstrukční prvek, schopný uchovat

určité množství logických hodnot nebo informací pro další potřebu nebo zpracování. Využití

paměti je podstatou variability a modifikovatelnosti jednoduchých i složitých elektronických

číslicových systémů. Funkci dílčích obvodů i celých systémů lze ovlivňovat (programovat)

změnou obsahu užitých paměťových prvků. Principem funkce takto programovaných automa-

tů i nadále zůstává přesně definovaná sekvence obvodových stavů. Není však již určena vý-

lučně zapojením, ale v podstatné míře obsahem „programové" paměti.

Podle aplikačního určení a užité technologie se paměti dělí do několika skupin. My si všim-

neme na oblast unipolárních polovodičových pamětí, které zcela dominují.

3.1 Typy polovodičových pamětí

Základní rozdělení typů polovodičových pamětí podle aplikace je na obr. 3.1.

POLOVODIČOVÉ PAMĚTI

RWM ROM

RAM FIFO LIFO PROM EPROM E2 PROM

STATICKÉ DYNAMICKÉ

Obr. 3.1. Symbolické dělení nejběžnějších typů pamětí

Paměti lze rozdělit do dvou hlavních skupin:

paměti RWM (Read Write Memory) jsou určeny jak pro zápis, tak čtení uložených dat;

paměti ROM (Read Only Memory) slouží pouze pro čtení pevně uložených dat. Užívají se

jako paměti programu a konstant.

Page 44: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

44

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Oba tyto základní typy lze pak podle dalších kritérií dělit do dalších, specializovaných ob-

lastí. Prvním kritériem je schopnost uchování paměťového obsahu po odpojení napájecího

napětí. Energeticky závislé (volatilní) paměti v tomto případě svůj obsah nenávratně ztrácejí,

jsou to většinou všechny paměti typu RWM. Energeticky nezávislé (nevolatilní) paměti, tvo-

řené většinou pamětmi typu ROM, si svůj obsah uchovávají.

Paměti typu RWM se podle přístupu k datům dělíme dále na:

a) Paměti RAM (Random Acces Memory - s libovolným přístupem). Data mohou být do pa-

měti zapisována a z paměti čtena v libovolném pořadí. Každá konkrétní datová položka je

vždy určena příslušnou adresou, která musí datový přístup vždy doprovázet. Prakticky větši-

nou samostatně vyráběné paměti RWM jsou typu RAM, obr. 3.2a.

b) Paměti FIFO (First In - First Out). Data mohou být z paměti čtena pouze v tom pořadí, v

jakém byla do paměti zapsána. Systém FIFO nevyžaduje díky tomu externí adresování, obr.

3.2b.

Obr. 3.2. Základní typy paměti RWN; a) RAM, b) FIFO, c) LIFO

Každá zapsaná položka může být zpravidla čtena pouze jednou, pak je ztracena. Tento typ

pamětí je vhodný pro vytváření datových a adresových front.

c) Paměti LIFO (Last In - First Out). Pořadí čtení uložených dát je přesně opačné, než v před-

chozím případě, obr. 3.2c. Této paměťové konstrukce se opět využívá jako vratného zásobní-

ku ve složitějších monolitických strukturách. Jako poslední se užívá všeobecně známé dělení

pamětí RAM na statické a dynamické. Obdobně se paměti ROM dělí na skutečné ROM a

EPROM (Erasable Programmable Read Only Memory). Kromě toho ještě existují některé

méně známé, přesto však užitečné a vyráběné paměti, z nichž pozornost zasluhují zvláště typy

IRAM, NVRAM a EEPROM.

3.2 Stručný přehled základních unipolárních technologií

K dosažení velké hustoty integrace LSI5, přímo vázané s potřebou co nejmenšího příkonu,

jsou obvody exponovaných bloků mikropočítačů (jako mikroprocesory, paměti různého typu

nebo periferní a specializované složité obvody) v současné době realizovány některou z uni-

polárních technologií MOS (Metal Oxid Semiconductor).

5 Large Scale Integration

Page 45: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

45

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

V podstatě existují tři základní technologie MOS - PMOS, NMOS a CMOS viz obr. 3.3. Je-

jich označení přímo vyplývá z typu kanálu tranzistoru MOS, který se tou kterou technologií

vytváří.

Obr. 3.3. Princip tří základních unipolárních technologií; a) PMOS, b) NMOS, c) CMOS

Technologie PMOS, obr. 3.3a, vytváří p-kanálové tranzistory difúzí p-dopantů (akceptorů -

obvykle bóru) do křemíkového substrátu typu n. Všechny kanály (tedy i drain a source) jsou

vytvořeny současně v jedné vrstvě. Technologie NMOS, obr. 3.3b, je obdobná, k vytvoření n-

kanálových tranzistorů se však užívá n-dopantů (donorů — fosfor, arzén), difundovaných do

substrátu typu p. CMOS, tj. komplementární technologie MOS kombinuje obojí, p i n-

kanálové prvky na společném křemíkovém substrátu, obr. 3c. Pro vytvoření komplementár-

ních tranzistorů musí být do původního nejprve selektivně nadifundován opačný typ substrá-

tu. Teprve pak je možno začít s realizací jednotlivých tranzistorových kanálů.

Většina z prvních obvodů MOS a paměťových prvků byla realizována technologií PMOS. S

rostoucími požadavky na rychlost a hustotu integrace se stále více uplatňovala technologie

NMOS. V současné době nacházejí nejširšího uplatnění různé varianty technologie CMOS,

jejíž největší předností je jednotkový příkon. Technologická zlepšení (HMOS, CHMOS) již

prakticky odstranila původní nedostatek, kterým byla menší rychlost vůči NMOS.

Základním požadavkem na jakýkoli paměťový prvek v tuhé (pevné) fázi je co nejmenší pří-

kon na hradlo a co největší dosažitelná hustota integrace na jedné a co největší přístupová

rychlost na druhé straně. Tomu nejvíce vyhovují technologie CMOS.

3.2.1 Paměti EPROM

Erasable and Programmable Read Only Memory - energeticky nezávislá paměť (nevolatil-

ní, obsah zachován i bez přítomnosti napájecího napětí). Programuje se elektrickými impulzy,

její obsah může být vymazán ultrafialovým zářením pouze jako celek. Vyrábí se i bez maza-

cího „okénka". V tomto provedení může být naprogramována pouze jednou. Typická vnitřní

struktura buňky EPROM je na obr. 3.4.

Page 46: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

46

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 3.4. Schéma technologie polysilikonové struktury paměťové buňky EPROM

Základní kanál se vytváří běžným způsobem. Potom se dvojúrovňovým procesem vytvářejí

dvě polykrystalická křemíková hradla, na nichž je založen vlastní energeticky nezávislý pa-

měťový princip. Horní hradlo slouží k výběru buňky v řádku paměti. Vnitřní hradlo je plo-

voucí (float-ing), nemá žádný vývod. Obě hradla jsou jak vůči sobě, tak vůči kanálu dokonale

izolována vrstvami oxidů. Paměť EPROM se programuje vstřikováním „horkých" elektronů z

kanálu, pronikajících při zvětšeném (programovacím) napětí kanálu do izolovaného, plovou-

cího hradla. Tím plovoucí hradlo získá náboj, určující stav příslušné buňky. Náboj plovoucího

hradla je kapacitně vázán na potenciál hradla vstupního. Ten se mění při výběru buňky podle

toho, je-li pasivní, nebo právě adresovaná. Součet těchto dvou potenciálů určuje stav jed-

notranzistorové buňky aktivovaného kanálu. Je-li plovoucí hradlo dostatečně nabito, posouvá

se prahové napětí tranzistoru tak, že se buňka (bit) jeví naprogramovaná do žádoucího stavu

(L). V opačném případě zůstává prahové napětí malé, buňka si zachovává původní stav (H),

shodný se stavem po vymazání jejího obsahu.

Ultrafialové záření při mazání paměti indukuje do plovoucího hradla dostatek energie k tomu,

aby byla překročena energetická bariéra izolačního prostředí kolem něj. Elektrony, tvořící

náboj hradla, se proto mohou rozptýlit do vstupního hradla a kanálu buňky. Stručně shrnuto,

programování i mazání obsahu buňky EPROM se uskutečňuje nabíjením a vybíjením plovou-

cího hradla. Paměti EPROM musí být samozřejmě před programováním nejprve vymazány.

Paměti lze mazat i programovat až po vyjmutí paměti ze zařízení.

Přístupová doba běžných pamětí EPROM je asi 200 až 450 ns, kapacita jednoho paměťového

obvodu je od 2 kB do 64 kB a blíží se kapacitě dynamických pamětí RAM. Hlavní výhody,

možnosti opakovaného programování obsahu, se využívá s výhodou nejen na vývojových

pracovištích, ale i jako náhrady trvalých pamětí PROM v menších a středních výrobních séri-

ích.

3.2.2 Paměti EEPROM

Princip mazatelných i programovatelných pamětí E2ROM je do značné míry podobný před-

chozímu. Podstatný rozdíl ukazuje srovnání příčného řezu paměťovou buňkou (obr. 3.5),

zvláště v oblasti plovoucího hradla. Zatímco oblast kanálu je od hradla vzdálena zhruba 50

nm, v oblasti elektrody drain se tato vzdálenost zmenšuje na nepatrnou vrstvičku „tunelového

Page 47: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

47

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

oxidu", asi 10 nm. Vzájemná vzdálenost obou hradel je již opět větší, kolem 80 nm. Podstata

programování paměti E2PROM je opět založena na ovládání prahového napětí unipolárního

tranzistoru změnou náboje jeho plovoucího hradla. V tomto případě je však hradlo elektrickou

cestou nejen nabíjeno, ale také vybíjeno.

Obr. 3.5. Schéma technologie polysilikonové struktury paměťové buňky EEPROM

Hlavní roli při tom hraje právě ona tenká vrstvička oxidu, která umožňuje na principu Fowler-

Nordheimova fenoménu nábojovým nosičům (elektronům) pronikat touto izolační vrstvičkou

při dosažení energie zakázaného pásu, která je podstatně menši než energie, potřebná k pře-

kročení energetické bariéry izolačního prostředí standardním mechanismem.

Uvedený princip umožňuje, aby paměti E2ROM byly elektricky programovány i mazány

přímo v zařízeních, v nichž jsou používány (In-Circuit). Je samozřejmé, že nemusí být mazán

celý obsah současně, ale je možno postupovat po jednotlivých bytech.

3.2.3 Paměti SRAM

Standardní paměti tohoto typu mají paměťové buňky buď ze čtyřtranzistorových (výhodné

z hlediska ceny), nebo šestitranzistorových (výhodné z hlediska minimalizace příkonu) jedno-

tek, obr. 3.6.

Obr. 3.6. Dva základní typy paměťových buněk SRAM

Page 48: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

48

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

V obou uspořádáních vždy jedna dvojice tranzistorů zajišťuje vazbu maticové buňky na řád-

kový a sloupcový dekodér.

Předností statických pamětí RAM je to, že jejich obsah nemusí být oživován. Přístupová

doba může být velmi krátká, asi 50 až 200 ns. Poměrná složitost buňky však omezuje mož-

nost dosáhnout velkých paměťových kapacit na čipu.

Rychlé paměti SRAM se vyráběly technologiemi NMOS, popř. HMOS. Jejich nedostatkem

byl poměrně velký příkon a malá paměťová kapacita. Ty paměťové bloky, které bylo třeba

zálohovat, se osazovaly obvody CMOS. Jejich kapacita však byla malá, desky s pamětmi

CMOS často obsahovaly několik desítek IO.

V oblasti statických pamětí přinesl CMOS zvrat. Díky novým technologiím se dosahuje dří-

ve nepředstavitelných kapacit čipu. Jejich přístupové doby se, podle specifikace, pohybují v

rozsahu 120 až 200 ns, příkon v režimu standby je menší než 10 W (ve specifikaci LP) a

mimořádně usnadňuje zálohování energeticky závislého (volatilního) paměťového obsahu.

Paměti SRAM jsou standardním prvkem číslicové techniky a jako takové se vyrábějí v nej-

různějších provedeních, s různou kapacitou, s oddělenými nebo multiplexovanými vstupy-

výstupy a s různou šířkou datového pole. Různým koncepcím pamětí SRAM odpovídají i

určité odchylky v organizaci řídicích signálů. Ty jsou však vždy snadno pochopitelné.

3.2.4 Paměti DRAM

V paměti DRAM (Dynamic Random Access Memory) je informace uložena pomocí elek-

trického náboje na kondenzátoru. Tento náboj má však tendenci se vybíjet i v době, kdy je

paměť připojena ke zdroji elektrického napájení. Aby nedošlo k tomuto vybití a tím i ke ztrátě

uložené informace, je nutné periodicky provádět tzv. refersh, tj. oživování paměťové buňky.

Tuto funkci plní některý z obvodů čipové sady.

Obr. 3.7. Realizace jedné buňky paměti DRAM v technologii TTL

Ačkoli se kapacita pamětí SRAM díky novým technologiím stále zvětšuje, zůstává v důsledku

rozsáhlé konstrukce paměťové buňky SRAM stále o jednu generaci za dosažitelnou kapacitou

dynamických pamětí DRAM, vyráběných stejnou technologií. Ty naopak nemohou dosáhnout

přístupové rychlosti statických pamětí. Paměti DRAM byly až do současné doby jediným

efektivním prostředkem k dosažení větší kapacity operační paměti. Nástup rozsáhlejších pa-

Page 49: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

49

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

mětí CMOS RAM a samozřejmě i řada dalších, systémových činitelů bude i do budoucna

znamenat trvalý tlak na další zvětšování paměťové kapacity čipů.

Dynamická paměť RAM využívá jako paměťového média, podobně jako paměť EPROM,

elektrického náboje. Ten však v tomto případě nemá trvalý charakter a musí být, pokud mož-

no v pravidelných, minimálních časových intervalech, cyklicky obnovován. To je jak techno-

logicky, tak obvodově náročný problém. Ve srovnání s předchozími se u pamětí DRAM se-

tkáváme s neobvyklou realizací paměťové buňky, složitým přístupem k zápisu a čtení jejího

obsahu i jeho udržování a nakonec se zcela odlišným adresováním.

Paměti DRAM se vyrábějí jako jednobitové. To znamená, že pro výstavbu datové paměti 1

byte je zapotřebí 8 pouzder IO. Paměti různých kapacit jsou vyráběny se vzájemně kompati-

bilními vývody, liší se pouze konkrétním využitím adresového pole, které by však při klasické

interpretaci, obvyklé u pamětí RAM, bylo velmi rozsáhlé.

Buňka se skládá z vázané dvojice řízeného vstupního tranzistoru a paměťové kapacity. Hod-

nota bitu, uloženého v buňce, je prezentována přítomností nebo absencí elektrického náboje.

Paměťová kapacita je selektivně zpřístupňována impulsním řízením vstupního, „přístupové-

ho" tranzistoru. Náboj může být na paměťovém „kondenzátoru" udržen vzhledem ke svodům

a migraci pouze omezenou dobu. Při užívání paměti DRAM proto musí existovat mechanis-

mus, který periodicky s určitým intervalem (řádově ms) čte obsah paměťové buňky a protože

samo čtení je destruktivní proces, obnovuje podle zjištěného stavu úplným nabitím nebo vybi-

tím paměťového kondenzátoru původní logickou úroveň buňky. Obvod, který čte, vyhodnotí

a obnoví původní náboj buňky se označuje jako snímací zesilovač.

Obr. 3.8. a) Zjednodušené schematické a technologické znázornění buňky paměti DRAM,

b) schematické znázornění vnitřní organizace paměťového pole

3.3 Vytváření paměťových sestav

Z jednotlivých paměťových obvodů IO se k dosažení větší kapacity, případně i datové šíře,

vytvářejí rozsáhlejší paměťové bloky RAM, ROM buď na společných, nebo samostatných

Page 50: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

50

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

deskách s plošnými spoji. Přitom je vždy nutno zajistit dokonalé adresování právě jediného

obvodu, který má být aktivován. Jinak by vznikaly vzájemné kolize dvou nebo několika dato-

vých vstupů/výstupů. Většina paměťových obvodů zachovává určitou standardní úpravu

všech vstupních a výstupních signálů, které lze rozdělit do tří skupin, datové, adresové a řídi-

cí. Pro vzájemnou vazbu paměťového bloku s komunikujícím systémem se využívá systému

sběrnic (bus). Jsou to vždy několikabitové komunikační cesty, jejichž funkce, signálové para-

metry a vzájemná součinnost odpovídají určitým konvencím.

Adresová sběrnice je jednosměrná, u malých systémů 16 bitová. Nejvyšší adresové bity se

vyhrazují pro výběr (select) jednotlivých paměťových IO. K tomu se využívá rychlých bipo-

lárních adresových dekodérů. Datová sběrnice musí být vždy obousměrná, tedy třístavová.

Nejčastěji se setkáváme se sběrnicemi 8 bitovými (malé systémy). Řídicí sběrnice umožňuje

řídit komunikaci po datové sběrnici. Jejím prostřednictvím se řídí přístupy k jednotlivým blo-

kům paměti, jejich časování, aktivace a potřebné systémové korespondence. Pro jednoduchou

ukázku využijeme vazby kombinovaného paměťového modulu RAM/EPROM na vnější pro-

středí (obr. 3.9).

Obr. 3.9. Příklad připojení kombinovaného programového (EPROM) a datového (RAM) pa-

měťového bloku na systémovou sběrnici

K výběru pamětí RAM i EPROM se v obou sekcích využívá samostatných adresových de-

kodérů. Při naznačeném uspořádání musí každý dekodér rozlišit čtyři adresové bloky. Pro

celkem osm odlišných bloků stačí dekódovat tři nejvyšší, pro další adresování nevyužité adre-

sové bity, např. A13 až A15. Takové jednoduché řešení ovšem pevně definuje spojitý adreso-

vý prostor. Každému bloku IO přísluší úsek 8 kB, který při menší paměťové kapacitě RAM

nebo EPROM nemusí být využit. Obě sekce RAM i EPROM mohou podle způsobu využití

Page 51: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

51

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

obou dekodérů buď spolu sousedit, nebo se i prolínat. U složitějších systémů, u nichž je třeba

s paměťovým prostorem šetřit (nebo se musí počítat s potřebou jeho úpravy), musí být i řešení

adresových dekodérů složitější.

Jednotlivé obvody EPROM jsou při vyslání příslušné adresy a žádosti o čtení MEMR vybírány

dekodérem D-EPROM. Podobně aktivitu dekodéru D-RAM určuje vedle příslušné adresy

buď žádost o čtení ( MEMR ) nebo zápis ( MEMW ) do paměti RAM. Zbývající, podstatná část

bitů adresové sběrnice slouží k vlastnímu adresování paměťové matice obvodů RAM i

EPROM.

Rozsáhlá třístavová datová sběrnice obou paměťových bloků RAM i EPROM je na obr. 3.9

řešena jako interní. Od systémové datové sběrnice (data bus) je oddělena bipolárním třístavo-

vým obousměrným budičem. Řešení je výhodné jak z hlediska potřebné minimalizace zatíže-

ní výstupů obou stran sběrnice, tak také z hlediska hledání případných závad. K aktivaci

obousměrného budiče sběrnice je opět třeba využít logického součtu přístupových žádostí k

paměti ( MEMR + MEMW ), k řízení směru přenosu musí být využito signálu MEMR . Organizace

přístupu k oběma paměťovým sekcím RAM i EPROM včetně přidělování adresových prosto-

rů a odpovídajícího sekvenčního řízení vzájemné součinnosti všech tří částí systémové sběr-

nice je již záležitostí nadřazeného, například mikroprocesorového systému.

3.4 Aplikace paměťových obvodů v hardwarových automatech

Zvažme, jak by se dalo využít vlastností paměťových obvodů při konstrukci běžných logic-

kých a sekvenčních automatů. Jako první příklad lze uvažovat automaty s výlučně, se-

kvenčním pracovním cyklem, tedy bez reakce na vstupní proměnné. Zde vystupuje možnost

využít pevně naprogramovanou nevolatilní paměť (ROM, EPROM), použitou jako konverzní

datový obvod (obr. 3.10).

Obr. 3.10. Kombinační logika s pamětí ROM

Adresa paměti je pak tvořena kódem vstupních, obsah příslušného paměťového místa kódem

výstupních proměnných. Takové metody jsou v praxi poměrně časté, např. při realizaci ne-

standardních datových konverzí a při mapování adresových prostorů, v nichž nacházejí vý-

hodné použití rychlé binární paměti. Ty ovšem mají zpravidla malou paměťovou kapacitu.

Page 52: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

52

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Na obr. 3.11 je možné řešení generátoru několikafázového impulsního signálu s neměnným

pracovním cyklem, rozfázovaným pomocí libovolného, např. binárního čítače (čítač adresující

v taktu hodinového signálu paměť ROM, představuje generátor vnitřních stavů).

Obr. 3.11. Blokové schéma sekvenčního několikafázového generátoru s binárním čítačem a

pamětí ROM; znázornění možnosti výběru jednotlivých stránek ROM nastavením adreso-

vých bitů a5, a6

Možnost libovolně naprogramovat obsah paměti odstraňuje potřebu generování budicích

funkcí. Pak ani není třeba řešit úlohu pomoci stavového grafu. Každý vnitřní stav čítače před-

stavuje aktuální adresu paměti ROM a obsah takto adresovaného paměťového místa vždy

určuje příslušnou kombinaci - kód výstupních proměnných.

Z řešení vyplývá řada výhodných vlastnosti, například:

- délku pracovního cyklu automatu lze definovat, popřípadě ovládat nastavením pra-

covního cyklu čítače

- okamžité stavy výstupních proměnných i jejich vzájemné relace v jednotlivých pra-

covních fázích lze libovolně měnit, bez úprav zapojení, přeprogramováním obsahu

paměti

Celý proces je řízen v taktu hodin. Jeho každý impuls inkrementuje (zvyšuje o +1) obsah číta-

če a tedy i adresu paměti. Při použití obousměrného čítače, popř. čítače s přednastavením by

bylo možno dosáhnout inverzní posloupnosti generovaných výstupních proměnných (dekre-

mentováním stavu čítače), popř. nesekvenčních skoků stavů čítače a tím i sledu stavů výstup-

ních proměnných. Zvláště druhá možnost zasluhuje pozornost, protože představuje jeden ze

základních principů technické realizace programovatelných automatů. Disponuje-li užitá pa-

měť větším počtem adresových vstupů než vyžaduje pracovní cyklus čítače, je možné vybírat

z několika formátů výstupních funkcí. Zde je znázorněna možnost statického výběru čtyř pro-

gramů, ovládaných pomocí vhodného nastavení dvou nejvyšších adresových vstupů paměti.

Každá ze čtyř ,,stránek" pak může být naprogramována pro jinou výstupní funkci.

Page 53: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

53

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

3.5 Kontrola a oprava chyb obsahu paměti

Jedním z charakteristických rysů číslicové techniky je tvoření a používání kódů. Kódem

rozumíme předpis, jak k sobě přiřadit prvky dvou množin. Prvky jedné množiny mohou být

např. úkony, které je nějaké zařízení schopno vykonávat, prvky druhé množiny mohou být

např. čísla. Tato čísla můžeme pak chápat jako názvy příslušných úkonů nebo dokonce jako

rozkazy k provedení příslušných úkonů. Mohou v něm být zahrnuty číslice nebo značky,

popř. i zkratky. Seznam všech přípustných znaků, tedy množina všech písmen, se někdy na-

zývá též abeceda nebo soubor symbolů.

V dnešní číslicové technice se zpravidla omezujeme na dvouhodnotové proměnné, čemuž

odpovídá binární abeceda, tedy abeceda, obsahující jen nulu a jedničku. Pro ruční zpracování

je však vhodnější abeceda obsahující více písmen, např. abeceda tvořená množinou desítko-

vých číslic, nebo dokonce abeceda tvořená množinou písmen. V těchto případech se při styku

člověka s číslicovým zařízením písmena obecnější abecedy opět kódují dvojpísmenovou, bi-

nární abecedou, tj. vytvářejí se jejich obrazy jako sledy nul a jedniček. Nula a jednička se

označuje souborně slovem bit, z anglického binary digit (dvojková číslice).

Vhodná volba kódu zpravidla vede ke zjednodušení práce, což se projeví buď úsporou obvo-

dů, nebo úsporou času. Jindy se při tvorbě kódu uplatňuje hledisko zabezpečení proti chybám.

Obr. 3.12. Čtyřrozměrná jednotková krychle

Výhody těchto kódů plynou ze studia aritmetických algoritmů a příslušných obvodů. Lze říci,

že dnes ztrácejí na významu, protože se upouští od použití speciálních desítkových sčítaček a

místo toho se projevuje snaha použít i pro desítkové sčítání standardní dvojkové sčítačky.

Obecné vlastnosti bezpečnostního kódu lze ukázat na tzv. jednotkové krychli, někdy též zvané

Hammingův prostor.

Považujme např. čtyři bity, vyjadřující desítkovou číslici v kódu BCD za čtyři souřadnice

bodu v prostoru (čtyřrozměrném). Takovými souřadnicemi není možné určit libovolný bod v

prostoru, nýbrž jen ty body, které tvoří vrcholy (čtyřrozměrné) krychle o hraně rovné jedničce

Page 54: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

54

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

a s jedním vrcholem v počátku. Změna jedné souřadnice bodu (tedy chyba v jednom bitu) zde

znamená záměnu vrcholu za vrchol sousední, ležící na opačném konci téže hrany. Čtyřroz-

měrná krychle je na obr. 3.12. Není třeba se namáhat představou čtyřrozměrného prostoru.

Stačí nakreslit si průmět třírozměrné krychle (kreslen plně) a posuvem ve směru další souřad-

nice (čárkované hrany) připojit průmět další třírozměrné krychle (kreslený čerchovaně). Takto

vzniklý celek nazýváme čtyřrozměrnou krychlí. Souřadnice jsou připsány k vrcholům.

Nechť obecný vrchol krychle představuje jedno slovo, využité v kódu. Výskyt jedné chyby

vytvoří slovo, lišící se od výchozího v jediném bitu. To bude nutně zobrazeno na sousední

vrchol krychle. Má-li být možné tuto chybu indikovat, nesmí patřit nově vzniklé slovo mezi

slova, využitá v kódu. Je tedy nutné dodržet podmínku, že vrcholy, sousedící s využitým vr-

cholem, nesmějí být využity. Uvedené odvození umožní zavést pojem minimální Hammingo-

va vzdálenost. Je to vzdálenost dvou využitých vrcholů (uvažovaného kódu), které jsou si

vzájemně nejblíže ze všech jeho dvojic, měřená v počtu hran. Kód schopný indikovat jednu

chybu (k chyb), musí mít minimální Hammingovu vzdálenost alespoň dvě (k + 1). Kód

schopný opravit jednu chybu (k chyb), musí mít minimální Hammingovu vzdálenost alespoň

tři (2k + 1). To proto, aby vrcholu, do kterého zavedl výskyt chyb, byl stále ještě z využitých

vrcholů nejbližší vrchol výchozí.

Kód indikující jednu chybu6 lze vytvořit např. z kódu BCD přidáním dalšího, tzv. paritního

bitu (P). Hodnota tohoto bitu se vytváří v závislosti na počtu jedniček v příslušném kódovém

slovu, a to např. tak, aby celkový počet jedniček byl v takto vytvořeném kódovém slovu vždy

lichý. Tehdy se hovoří o liché paritě. Obdobně je možná i parita sudá.

Obr. 3.13. Kód BCD s přidanou lichou paritou

Kód BCD, doplněný lichou paritou, je na obr. 3.13. Nesouhlas parity upozorní jednoduchým

způsobem na výskyt chyby.

6 Kód s minimální Hammingovou vzdáleností dvě

Page 55: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

55

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

4. PROGRAMOVATELNÝ AUTOMAT

Typické přístupy k řešení jednoduchého logického, popř. sekvenčního automatu založené na

využití paměťových prvků, umožňují určitou, i když velmi omezenou funkční variabilitu ob-

vodu změnou naprogramování obsahu pamětí. Jak uvidíme dále, obě koncepce se uplatňují i v

obvodovém řešení programovatelných automatů a počítačů, i když odlišným způsobem. Samy

o sobě jsou sice logické, nemohou však znamenat podstatný přínos z hlediska univerzálnosti

využití. Celý systém zůstává příliš primitivní, protože musí stále respektovat současnou sta-

vovou vazbu všech vnějších a vnitřních proměnných.

Obecná koncepce programovatelných automatů je založena na zcela odlišné a lze říci přímo

opačné filozofii. Pokusme se ji logicky navrhnout tak, že budeme brát do úvahy nedostatky a

omezení vyplývající z možností hardwarových řešení automatů.

Obr. 4.1. Znázornění sekvenčního řetězení stavů/akcí hardwarového (a) a programovatelného

(b) automatu

V souladu s obr. 4.1a uvažujme sekvenční činnost hardwarového automatu, který z každého

stavu tn přechází do stavu tn+1. Při přechodu mezi stavy musí vždy nastat nějaká, alespoň

vnitřní akce, činnost. Pokud je významná i z hlediska vnějších obvodů, můžeme ji označit

jako vnější akci. Sekvenční činnost hardwarového automatu není závislá na vstupních pro-

měnných, provádí tedy pouze vnitřní a výstupní akce. Rozhodujícím kritériem, určujícím prů-

běh těchto akcí, jsou tedy jednotlivé sekvence vnitřních stavů.

Na obr. 4.1b je obdobným způsobem stylizována sekvenční činnost programovatelného auto-

matu. Je obdobná, automat přechází z jednoho do druhého vnitřního stavu provedením nějaké

vnitřní či vnější akce. Zásadní rozdíl je však v tom, že programovatelný automat může nezá-

visle na stavu, v jakém se nachází, vykonat jakoukoli akci, v případě potřeby i akci vstupní.

Realizace každé akce je určena instrukcí, tvořící základní prvek programu, uloženého v pro-

gramové paměti. Po skončené každé akce dostává řídicí jednotka automatu novou instrukci,

určující, jakou akcí bude ve své činnosti pokračovat. Význam vnitřního stavu automatu je

tímto mechanismem potlačen. I když to neplatí zcela obecně, stává se pouhým předělem mezi

dvěma operacemi, akcemi.

Page 56: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

56

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

4.1 Činnost automatu

Činnost programovatelného automatu již není limitována požadavkem trvalého sledování

stavu všech vstupních proměnných. Může probíhat v sekvenčních úsecích, z nichž se každý

může zabývat určitými úlohami. Při jejich provádění pak sleduje pouze ty vstupní proměnné,

které jsou pro aktuální činnost významné. Navíc může tyto proměnné buď v přímé, nebo

upravené formě ukládat a dále zpracovávat jak pro aktuální, tak pozdější potřebu. Program,

který řídí činnost automatu, může být založen na nesrovnatelně efektnějších a logičtějších

postupech a algoritmech, než jaké umožňovaly technické prostředky hardwarového automatu.

Popišme nejjednodušší programovatelný automat, který by navazoval na naše dosavadní

představy. Nástin možného řešení je na obr. 4.2.

Obr. 4.2. Jednoduchý sekvenční programovatelný automat

Automat je pro jednoduchost koncipován tak, že umožňuje pouze sekvenční činnost. Skládá

se v podstatě ze čtyř funkčních bloků: programového čítače, programové paměti, programo-

vatelné logické jednotky, vstupního a výstupního registru.

Programový čítač, řízený hodinovým signálem, adresuje programovou paměť. Program je

tvořen sledem instrukcí. Instrukci si můžeme v tomto případě definovat jako binárně kódova-

ný obsah jednoho paměťového místa. Odlišnými instrukčními kódy lze ovládat jednak činnost

logické jednotky, jednak čtení ze vstupního nebo zápis do výstupního registru vstupních a

výstupních proměnných. Logickou jednotku si můžeme představit např. jako rozsáhlejší lo-

gický kombinační obvod, jehož funkce je modifikovatelná na základě aktuálního instrukčního

kódu, přivedeného na řídicí vstupy jednotky. Naprogramováním paměti ROM lze v každém

stavu programového čítače dosáhnout, v rámci instrukčního souboru, kterým disponuje logic-

ká jednotka, výběru libovolné logické funkce mezi vstupními a výstupními proměnnými.

Činnost tohoto primitivního automatu již v zásadě není určena jeho obvodovou strukturou, ale

programem, uloženým v programové paměti. Univerzální programovatelný automat ovšem

musí umožňovat nejen prostou sekvenční činnost, ale i jiná, ne sekvenční řazení a provádění

instrukcí. K tomu je samozřejmě zapotřebí podstatně složitějších technických i programových

Page 57: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

57

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

prostředků. Struktura i instrukční soubor programovatelného automatu musí umožňovat pro-

gramové skoky, cykly, testy, práci s podprogramy, přerušení programu a řadu jiných funkcí.

Tím vzniká zcela nová situace. Pro realizaci celé rozsáhlé třídy úloh může být užito praktic-

ky jednotné struktury programovatelného automatu s definovaným instrukčním souborem.

Funkce automatu v konkrétních aplikacích je podstatnou měrou určena programem. Byť je

sebe složitější, je vždy realizován omezenou, konečnou množinou instrukcí, kterou disponuje

užitý procesor. V té se dá orientovat mnohem snáze a systematičtěji, než ve struktuře hardwa-

rového automatu. Celá práce je tak podstatně „přátelštější". Dále lze využívat vyšších pro-

gramových prostředků, jazyků, vývojových systémů i prostředků pro ladění programů, které

výrobci jednotlivých automatů, včetně rozsáhlé literatury nabízejí. Při systematické práci s

konkrétními typy procesorů, pak lze mnoho úloh řešit rutinní cestou, s využíváním postupně

získávaných zkušeností.

Logickým důsledkem těchto možností a předností je vznik mikroprocesoru ( P ). Je to inte-

grovaný procesor programovatelného automatu, kterému by na obr. 4.2 odpovídala kombina-

ce programový čítač (vzdáleně představující primitivní sekvenční ,,řadič") a logická jednotka

(zhruba nahrazující ,,operační jednotku").

Podle aplikace a stupně technického vývoje samozřejmě existují různé typy programovatel-

ných automatů. Dva základní si popišme podrobněji.

Obr. 4.3. a) Nesekvenční větvení sledů stavů i akcí hardwarového automatu, b) programový

přepínač řízený na základě soustavy testů příznaků předchozích akcí

Vzájemné rozdíly v řešení jejich procesorů osvětlují následující obrázky. Obr. 4.4 hardwarový

automat. Je na něm znázorněno větvení sledu vnitřních stavů. Ze stavu S1 může automat na

základě kódu vstupních proměnných přejít do jednoho ze stavů S2 až S4, nebo setrvat ve sta-

vu původním. Celý tento, v hardwarovém pojetí složitý blok, v podstatě tvoří programový

přepínač, znázorněný symbolicky na obr. 4.3b. Podle toho, jaký stav vstupních proměnných je

vyhodnocen, vybírá se cesta, vedoucí k provedení požadované akce.

Page 58: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

58

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 4.4. Realizace přepínače vloženými akcemi a testy, které umožňuje jednoduchý progra-

mový řadič

Na obr. 4.4 je orientačně znázorněn možný postup realizace takového přepínače programova-

telným automatem, který užívá tzv. jednoduchý obvodový řadič. Tento typ P je schopen v

každém taktu hodinového signálu zpracovat jednu instrukci, která je však schopna zajistit

pouze elementární operaci. Tou se myslí například nastavení přenosové cesty adresy, čtení,

zápis, provedení logického testu apod. Provedení akce pak zpravidla vyžaduje sekvenci větší-

ho počtu těchto elementárních instrukcí. V takové situaci je, před zahájením programového

úseku, simulujícího přepínač, nejprve nutno pomocí těchto instrukcí uskutečnit celou řadu

operací, na jejichž základě mohou být zahájeny testy jednotlivých větvení. Po testu na plat-

nost podmínky se buď vystupuje z cyklu na přípravu provedení požadované akce, nebo se

přechází do dalšího testu. Není-li splněna žádná z podmínek, uzavírá se smyčka zpět na vstup

celého programovaného úseku a tam probíhá tak dlouho, dokud není některá z podmínek spl-

něna.

Nedostatek obvodového řadiče pro běžné aplikace je evidentní. Je jím potřeba značného počtu

instrukcí pro uskutečnění úplné akce. To značnou měrou komplikuje návrh programu, protože

programátor se musí soustavně zabývat množinou nadbytečných ,,mikroinstrukcí".

Zmíněné problémy radikálním způsobem potlačují běžné procesory, vybavené tzv. mikro-

programovaným řadičem. Instrukce těchto jednotek jsou tvořeny sekvencí, posloupností „mi-

kroinstrukcí" ve smyslu předchozího odstavce. Jsou proto podstatně výkonnější a umožňují

přehlednější výstavbu programu. Řešení programového úseku přepínače se pak, při využití

testů příznakových indikátorů, může zjednodušit až do formy, naznačené na obr. 4.5.

Page 59: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

59

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 4.5. Mikroprogramovaný řadič potlačuje nutnost programovat redundantní akce

Nutno si však uvědomit, že provedení komplexní instrukce zpravidla trvá podstatně déle.

Přednosti programovatelných automatů mohou být zastíněny prakticky pouze ve dvou přípa-

dech. Prvním jsou mimořádně jednoduché aplikace. Druhý případ se stává aktuálním

v případě, když se jedná o prioritu extrémně rychlé časové odezvy. Z principu činnosti pro-

gramovatelného automatu, založeného na postupném řešení úlohy, postupné realizace sledu

instrukcí vyplývá, že hardwarový automat by měl být vždy rychlejší. Nebývá to však vždy

pravdou, protože řada úloh je již natolik složitá, že je prostě přímou hardwarovou cestou řešit

nelze.

4.2 Programové řízení automatu

Programovatelnost automatu, který může variabilně testovat vybrané proměnné; kritické

podmínky a stavy, ukládat a zpracovávat různá data a datové bloky, modifikovat svoji činnost

a nejrůznějším způsobem komunikovat s vnějším prostředím znamená, že jeho činnost může

být mimořádně efektivní. Řadu hlavních zásad navrhl již před 150 lety Babbage. Na konci 2.

světové války pak základní principy koncipoval von Neumann. Princip jeho počítače je blo-

kově znázorněn na obr. 4.6.

Obr. 4.6. Von Neumannova koncepce číslicového počítače

Page 60: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

60

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Celá činnost je podle příslušného programu řízena řadičem, který spolu s operační jednotkou

tvoří základní prvky procesoru. Ústřední jednotkou celého procesoru pak je ALU (aritmetic-

ko-logická jednotka). Program, který má být realizován, je uložen v operační paměti. Tam je

také vyhrazen prostor pro data, která jsou systému zadávána, nebo která si vytváří sám jako

výsledek čtení a zpracování vstupních dat nebo interních operací. Paměťový prostor programu

a dat (ROM, RAM) může být buď spojitý, nebo oddělený (Harvardská koncepce). Činnost

celého počítače je synchronizována hodinovým signálem. U klasického von Neumannova sy-

stému se program realizuje postupným zpracováváním jednotlivých instrukcí, uložených pod-

le konvence krokového adresování ve spojitém paměťovém prostoru bezprostředně jedna za

druhou.

Každá instrukce se zpracovává v tzv. instrukčním cyklu. Tento typický proces lze rozdělit do

několika charakteristických, vzájemně navazujících etap:

a) Čtení instrukce.

Každá aktualizovaná instrukce musí být nejprve přečtena z paměti a uložena do instrukčního

registru IR;

b) Provádění instrukce.

Je dekódován operační kód instrukce a na jeho základě generována sekvence elementárních

mikroinstrukcí, řídící všechny činnosti, potřebné ke korektnímu provedení instrukce. To se

týká jak interních obvodů procesoru (operační jednotka), tak i vnějších bloků (paměti, obvody

IO ...), se kterými procesor komunikuje prostřednictvím systémové sběrnice;

c) Příprava adresy následující instrukce.

Ještě v průběhu aktuálního instrukčního cyklu se již připravuje adresa instrukce následující.

Von Neumannova koncepce při tom umožňuje generovat adresu bezprostředně následující,

sekvenčně řetězené instrukce zcela automaticky a extrémně jednoduše, prostým inkre-

mentováním stavu programového čítače, který dosud určoval adresu platné instrukce. Tím se

podstatně zrychluje běh programu a zjednodušuje programování. U instrukcí, porušujících

sekvenční sled ovšem musí být z pravidla učiněna výjimka - skokové instrukce, volání pod-

programů apod. Procesor pak musí být schopen adresovat požadované paměťové místo. U

volání podprogramů nebo aktivace přerušení pak ještě navíc uložit návratovou adresu do tzv.

zásobníkové paměti (stack);

d) Test požadavku přerušení.

Při aplikaci programovatelného automatu se prakticky vždy vyskytují takové speciální poža-

davky nebo vstupní proměnné, které se vymykají běžným zvyklostem. Především v tom, že

vyžadují bezprostřední, naléhavé ošetření s minimální přípustnou časovou prodlevou, praktic-

ky v reálném čase. Normální režim programovatelného automatu těmto požadavkům nevyho-

vuje, protože je také v podstatě vůbec nerespektuje. Naopak, běžné vstupní proměnné testuje

pouze tehdy, když v průběhu provádění programu potřebuje znát jejich stav. Vzniklá časová

prodleva pak ovšem může být nepřijatelná. Je sice možné např. periodicky testovat stav ně-

které proměnné. Tím se však podstatně zmenšuje výkonnost, propustnost systému, protože

kvůli testu se vždy pozastavují ostatní činnosti.

Page 61: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

61

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

4.3 Přerušení

Pro daný účel bývá většinou procesor vybaven zvláštním vstupem, umožňujícím uplatnit

tzv. externí přerušení (interrupt). Požadavek přerušení může být vůči systému zcela asyn-

chronní, náhodný. Aby bylo dosaženo co nejrychlejší reakce, testuje se vždy na konci každé-

ho instrukčního cyklu, zda tento požadavek nebyl uplatněn. Pokud ne, pokračuje program

další instrukcí. Pokud ano, je nejprve dokončena instrukce běžícího programu a ukládá se

obsah programového čítače do zásobníkové paměti jako návratová adresa běžícího programu.

Technickými prostředky (řadič přerušení) se vyhodnotí priorita žádosti a vyvolá se tzv. vek-

tor přerušení. Je to jedna z několika adres, na které musí být předem uložen počátek progra-

mového ošetření příslušné žádosti. Jakmile je zpracování přerušení ukončeno, lze vyvoláním

návratové instrukce přejít zpět k realizaci původního přerušeného programu.

Obr. 4.7. Znázornění průběhu instrukčního cyklu

Typický průběh instrukčního cyklu tak, jak byl výše popsán, předkládá vývojový diagram na

obr. 4.7.

5. ZOBRAZENÍ INFORMACE V PAMĚTI POČÍTAČE Equation Chapter (Next) Section 5

5.1 Aktivní a pasivní informace

Aktivní informace určuje činnost operační jednotky počítače (strojová instrukce) a před-

stavuje pokyn k provedení určité operace počítače. Pasivní informace určuje, s čím bude ope-

race počítače pracovat - údaj; množinu údajů nazýváme data. Na základě dvojkové kombina-

Page 62: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

62

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

ce obsažené v paměťovém místě nelze určit, zda toto místo obsahuje instrukci nebo údaj. In-

formaci v paměťovém místě, na něž před zahájením instrukce ukazuje obsah čítače instrukci,

interpretuje počítač jako instrukci. Informaci na místě, na něž při zpracování instrukce ukazu-

je adresová část instrukce, interpretuje počítač jako údaj. Program na úrovni strojově oriento-

vaného jazyka sestává z instrukcí a údajů, které nemusí nezbytně vytvářet celistvé a navzájem

oddělené úseky. Programátor, který vytvářející program ve strojově orientovaném jazyce mu-

sí zajistit, aby při výpočtu (tj. při postupném zpracování instrukcí) "nepřišla řada" na paměťo-

vé místo obsahující údaj. Nejčastěji se to dělá tak, že úseky dat jsou umístěny bezprostředně

za nepodmíněnou skokovou instrukcí, která předává řízení na jiný úsek instrukcí. Skutečnost,

že počítač neumí rozlišit instrukce a data, se využívá při speciálních programátorských obra-

tech, v nichž se s instrukcí pracuje jako s údajem. Protože v tom případě program sám mění

své instrukce, hovoříme o automodifikaci programu.

V běžných programech je vhodné vyhýbat se těmto obratům, protože ztěžuji srozumitelnost

programu. Při jejich použití není ze zápisu programu přímo zřejmé, co se bude ve skutečnosti

při výpočtu provádět, brání formální verifikaci programu a znemožňuje konstrukci podpro-

gramů s mnohonásobným přístupem. Tyto obraty plnily svou funkci v dobách, kdy při neexis-

tenci nepřímých adres a indexregistrů představovaly jediný prostředek pro konstrukci průcho-

du polem paměťových míst v cyklu a pro výstavbu uzavřených podprogramů.

5.2 Zobrazení numerické informace v paměti

Zpracování numerické informace tvořilo historicky výsadní využití výpočetní techniky.

Přesto, že aplikace z oblasti nenumerického zpracování nacházejí stále více uplatnění ve

všech oblastech života, zůstává zpracování numerické informace jádrem využití počítačů

všech kategorií.

Zobrazení numerické informace lze rozdělit do dvou charakteristických skupin. V první sku-

pině je základem pro zobrazení čísel hodnota 2 nebo její mocnina, a proto hovoříme o binár-

ních zobrazeních. Ve druhé skupině je základem zobrazení hodnota 10 a binárního zobrazení

se používá jen pro vyjádření hodnoty jednotlivých číslic desítkové soustavy, které vytvářejí

desítkové číslo.

Binární zobrazení umožňuje vysoce efektivní provádění všech aritmetických operací, vyžadu-

je však poměrně náročnou konverzi binárního zobrazení na znakové a zpět, jež je potřebná

pro vstupní a výstupní operace počítače. Proto spadá využití binárního zobrazení především

do oblasti vědecko-technických výpočtů (VTV), pro které jsou charakteristické náročné nu-

merické operace a nerozsáhlé vstupní/výstupní operace.

Dvojkové desítkové zobrazení (BCD – Binary Coded Decimal) má vlastnosti opačné. Složitěj-

ší aritmetické výpočty jsou časově i prostorově neefektivní a programátorsky náročné, zatím-

co převod na znakové zobrazení je snadný a efektivní. To předurčuje požití tohoto zobrazení

pro hromadné zpracování dat (HZD), které je charakteristické vysokým počtem vstup-

ních/výstupních a relačních operací a jen nenáročnými a nepočetnými aritmetickými opera-

cemi.

Page 63: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

63

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Základem binárních zobrazení je zobrazení v pevné řádové čárce (fix-point representation).

V minulosti to bylo univerzální zobrazení pro veškeré numerické hodnoty, nyní se s ním se-

tkáváme jako s typem „integer― v jazycích Fortran, Algol, Pascal, Basic apod. Toto zobrazení

je základem pro zobrazení v pohyblivé řádové čárce (floating-point representation), které

známe ve výše uvedených jazycích jako typ „real― resp. „double precision―. Zvláštním přípa-

dem binárního zobrazení je typ „Boolean― resp. „logical―.

Středem druhé skupiny je zobrazení BCD, kterému se také říká zhuštěné desítkové zobrazení

(packed decimal). V tomto zobrazení je každá desítková číslice desítkového čísla reprezento-

vaná binární hodnotou na čtyřech bitech a informaci o znaménku nese poslední, nejpravější

čtveřice bitů. Přechodným zobrazením při převodu zhuštěného na znakové zobrazení a zpět je

tzv. rozvinuté desítkové zobrazení (unpacked decimal), které se od znakového zobrazení liší

pouze vyjádřením znaménka, které v rozvinutém zobrazení netvoří samostatný znak.

5.2.1 Číselné soustavy, vzájemné převody čísel mezi číselnými soustavami

Nechť přirozené číslo z >1 je základem dané číselné soustavy a nechť ai (pro ,i ) je

přirozené číslo, pro které platí zai 0 . Pak libovolnou kladnou číselnou hodnotu lze vyjádřit

polynomem

1 1

1 1 0 1 m m n

m m na z a z a z a a z a z

, (5.1)

koeficientům ai říkáme číslice a pro číselnou hodnotu používáme zkrácený zápis

1 1 0 1 m m na a a a a a , (5.2)

kde tečka (nebo čárka) odděluje koeficienty u nezáporných mocnin základu (celá část čísla)

od koeficientů u záporných mocnin základu (necelá část čísla).

V paměti počítače jsou číselné hodnoty zobrazeny pomocí dvojkové soustavy, což souvisí se

snadnou fyzikální realizovatelností dvoustavové veličiny a s možností využití Boolovy alge-

bry pro realizaci různých operací nad čísly. Číslice dvojkového (binárního) čísla mají hodnotu

0 nebo 1 a nesou informaci o 1 bitu.

Číslo v soustavě o základu zk, kde z i k jsou přirozená čísla, lze jednoduše převést do soustavy

o základu z tak, že každý koeficient ai výchozího čísla nahradíme k-ticí koeficientů k-1

bi

…1bi

0bi takovou, aby číslo

k-1bi …

1bi

0bi v soustavě o základu z se rovnalo hodnotě číslice ai

v soustavě o základu zk. Z toho vyplývá i obrácený převod, v němž se každá k-tice číslic

v soustavě o základu z nahradí číslicí ekvivalentní hodnoty v soustavě o základu zk.

Této vlastnosti se využívá pro snadný převod mezi soustavou o základu 2 a soustavami o zá-

kladu 8 a 16. V případě šestnáctkové soustavy používáme pro čísla 10, 11, 12, 13, 14, 15 pís-

mena A, B, C, D, E, F.

Soustava o základu

Page 64: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

64

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

10 2 8 16

0 000000 0 0

1 000001 1 1

2 000010 2 2

3 000011 3 3

4 000100 4 4

5 000101 5 5

6 000110 6 6

7 000111 7 7

8 001000 10 8

9 001001 11 9

10 001010 12 A

11 001011 13 B

12 001100 14 C

13 001101 15 D

14 001110 16 E

15 001111 17 F

16 010000 20 10

17 010001 21 11

32 100000 40 20

64 1000000 100 40

Uvedené vlastnosti bohužel nelze využít pro nejdůležitější převod, a to pro převod mezi desít-

kovou soustavou a ostatními soustavami. Pro takový převod se používá dvou následujících

univerzálních algoritmů, z nichž první převádí celou část čísla a druhý necelou část čísla. Vý-

sledné číslo vznikne spojením obou výsledků při využití oddělovače celé a necelé části.

Algoritmus pro převod celé části do soustavy o základu z:

i := 0 Řád vytvořené číslice čísla do soustavy o základu z

číslo := celé číslo bez znaménka; číslo je typu integer

základ := z;

while číslo 0 do

begin

číslice [i]:=číslo mod základ ;

číslo :=číslo div základ;

i :=i+1;

end; V poli číslice[0]až číslice [n]jsou uloženy hodnoty číslic výsledného čísla v

obráceném pořadí

Page 65: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

65

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Algoritmus pro převod necelé části čísla do soustavy o základu z

číslo := necelá část čísla ; číslo je typu real

základ :=z ;

for i := i to požadovaný počet míst do

begin

součin := číslo * základ ; součin je typu real

číslice i := trunc (součin);

číslo := součin – číslice[i];

end ; V poli číslice[i]až číslice [požadovaný počet míst] jsou vloženy hodnoty číslic necelé

části výsledného čísla v přímém pořadí.

Příklad na ruční převod čísla z desítkové soustavy do soustavy o základu 2, 8 a 16.

Dané číslo 473.4 rozdělíme na celou a necelou část, s každou z nich převedeme zvlášť.

473 : 8

Podíl zbytek

59 1 [0] číslice

7 3 [1]

0 7 [2]

(473)10 = (731)8

0.4 * 8

číslice [1] 3 2 číslo : = součin – číslice [1]

číslice [2] 1 6

číslice [3] 4 8

6 4 (0.4)10 (0.314)8

Výsledkem je (473.4)10 = (731.314)8

Pro převod do dvojkové soustavy stačí nahradit každou osmičkovou číslici trojicí dvojkových

číslic.

Číslo: (731.314)8 = (111 011 001 011 001 100)2.

(1 1101 1001 0110 0110 0)2

Převod z dvojkové soustavy do šestnáctkové se provede náhradou jedné šestnáctkové číslice

za čtveřici dvojkových míst. Čtveřice vytváříme od řádové tečky nalevo a napravo. Chybějící

číslice doplníme nulami.

(0001 1101 1001 0110 0110 0000)2 = (1D9.660)16 . (5.3)

Ruční převod do desítkové soustavy se dělá běžnými metodami pro vyčíslení hodnoty poly-

nomu (např. Hornerovým schématem) nebo pomocí tabulek mocnin čísla 2.

Page 66: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

66

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

5.2.2 Zobrazení dvojkového čísla v počítači, rozsah čísel, přesnost zobrazení

Zobrazení dvojkového čísla v počítači závisí na velikosti nejmenší adresovatelné jednotky

paměti – paměťové buňky. Standardní typy čísel bývají zobrazeny na celém prostoru jedné

nebo několika paměťových buněk. Velikost paměťového prostoru pro zobrazení čísla přímo

souvisí s rozsahem zobrazitelných čísel, případně i s přesností zobrazení.

Rozsahem zobrazení se rozumí interval omezený zleva nejmenším a zprava největším zobra-

zitelným číslem. Tento interval vymezuje definiční obor čísel, se kterými může počítač pra-

covat. Výsledky aritmetických operací, které nespadají do definičního oboru, vedou

k chybovým stavům.

Přesnost zobrazení se používá u zobrazení necelých čísel a definuje se maximálním počtem

číslic (např. desítkových), kterými lze zobrazované číslo vyjádřit. S ní souvisí i hodnota nej-

menšího kladného nenulového čísla, které lze v počítači zobrazit, a která představuje rozliši-

telnost zobrazení. Stává se, že požadujeme výstup čísla s menší přesností, než jakou poskytuje

zobrazení. Například postačuje-li tisk necelého čísla s přesností na dvě desetinná místa, ačko-

liv zobrazení poskytuje přesnější vyjádření. Základním typem zobrazení je zobrazení celých

čísel (integer) a zobrazení desetinných čísel (real).

Rozsah zobrazení celých čísel je dán počtem bitů n a je vymezen intervalem 12 ,0 n , zobrazu-

jeme-li jen kladná čísla, a intervalem 12 ,2 11 nn zobrazujeme-li kladná i záporná čísla.

Desetinná čísla jsou v paměti zobrazena dvojicí čísel – mantisou a exponentem. Typy zobra-

zení desetinných čísel na různých počítačích se mohou lišit hodnotou základu u exponentu,

kterou bývá vždy celá mocnina čísla 2. Rozsah zobrazitelných čísel typu real je vymezen in-

tervalem maxexponent maxexponent, z z , kde z je použitý základ zobrazení necelých čísel. Rozlišitel-

nost je řádově dána výrazem maxexponentz . Přesnost zobrazení je dána počtem bitů mantisy.

Např. zobrazení „double precision― se od zobrazení „real― liší větším (přibližně dvojnásob-

ným) počtem bitů mantisy. Na n-bitovém prostoru lze vytvořit n2 různých kombinací jedniček

a nul. Interpretujeme-li tyto kombinace jako kladná dvojková čísla, pak lze zobrazit čísla v

rozsahu 12 ,0 n . Otázkou je jak využit těchto možností pro zobrazení jak kladných tak zápor-

ných čísel.

5.2.3 Přímý kód (Signed magnitude)

Přímý kód je nejběžnější způsob zobrazení záporných čísel předpočítačové éry. Zvláštní

dvouhodnotová předpona, nazývaná znaménko, udává polaritu zbývající části zobrazení, která

měla tvar absolutní hodnoty.

Zavedeme-li konvenci, že 0 na místě předpony odpovídá znaménku „ ― a 1 odpovídá zna-

ménku „ ―, dostaneme situaci znázorněnou na obr. 5.1 pomocí číselné osy.

Page 67: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

67

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 5.1. Graf přímého kódu.

Z obr. 5.1 je vidět, že kladná čísla, která mají první (znaménkový) bit nulový, mají definiční

obor vzoru i obrazu stejný 10,2 1n a rostou ve smyslu symbolického klínu, zleva doprava.

Vzorový definiční obor záporných čísel 12 ,0n je zobrazen do obrazového definičního oboru

12 ,2 1n n , a to obráceným způsobem, tzn. že v doméně obrazu roste hodnota čísel zprava

doleva. Přímý kód má dvě nulové hodnoty - „ kladnou― a „zápornou― nulu, které se liší zna-

ménkovým bitem. Ostatní bity jsou nulové.

5.2.4 Inverzní kód (One’s complement)

Inverzní kód je založen na myšlence, že 2n různých kombinací lze mezi kladná a záporná

čísla zobrazit tak, že každému kladnému číslu bude odpovídat jeho záporná hodnota

v doméně obrazu ve tvaru „negativu―, inverze.

Situaci znázorňuje obr. 5.2.

Obr. 5.2. Graf inverzního kódu

Na tomto obrázku je vidět, že od přímého kódu se inverzní kód liší tím, že vzorová doména

záporných čísel se do obrazové domény zobrazuje přímo, tzn. že v obou doménách roste hod-

nota čísel zleva doprava.

Inverzní kód má také dvě nulové hodnoty, které jsou vzájemně inverzní. „Kladná― nula sestá-

vá z n nul, zatímco „záporná― nula sestává z n jedniček. Pojem inverze se označuje operace,

která invertuje každý z bitů čísla. Výsledkem je hodnota záporná k původní hodnotě.

5.2.5 Doplňkový kód (Two’s complement)

Page 68: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

68

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Doplňkový kód je založen na myšlence, že k dané hodnotě se vytvoří odpovídající záporná

hodnota v obrazové doméně ve formě doplňku do hodnoty mz ( kde z je základ soustavy a m

je maximální počet číslic). Obraz záporného čísla k danému číslu nutno přičítat, abychom

dostali hodnotu mz .

Např. pro 10z , 1m , tedy u jednomístného desítkového čísla, lze interval (0, 9) rozdělit

v doplňkovém kódu tak, že interval (0, 4) představuje obrazový i vzorový obor kladných čísel

a obrazový interval (5, 9) odpovídá vzorovému intervalu (-5, -1), tzn. že obrazem čísla -5 je

číslo 5, obrazem čísla -4 je číslo 6 atd. Situaci dvojkového doplňkového kódu znázorňuje obr.

5.3.

Obr. 5.3. Graf dvojkového doplňkového kódu

A rozdíl od obou předcházejících kódů má dvojkový doplňkový kód jen jednu nulu. Zbývající

lichý počet nenulových čísel se dělí tak, že záporných čísel je o jedno číslo více. Je to nejzá-

pornější číslo a v definičním oboru neexistuje jeho absolutní hodnota. Srovnáme-li obrazovou

doménu záporných čísel v doplňkovém a inverzním kódu (domény kladných čísel jsou v obou

kódech identické), pak zjistíme, že obraz ve tvaru n jedniček odpovídá hodnotě 1

v doplňkovém kódu a nule (záporné) v inverzním kódu. Z toho vyplývá významný důsledek

pro tvorbu doplňku (který podobně jako inverze v inverzním kódu, slouží k vytvoření záporně

vzaté hodnoty).

Doplněk k danému číslu (jeho záporně vzatá hodnota), který by se musel vytvářet na základě

odečítání od hodnoty 2n , lze vytvořit pomocí inverze, ke které se přičte jednička k nejnižšímu

bitu

5.2.6 Kód transformované nuly (Excess 12mcode)

Kód transformované nuly vychází z myšlenky lineárního posunu počátku číselné osy

v doméně obrazu viz obr. 5.4.

Page 69: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

69

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 5.4. Graf kódu transformované nuly.

U všech předcházejících kódu se doména vzoru i obrazu pro kladná čísla se shodovaly.

V případě kódu transformované nuly platí u všech čísel transformační vztah -1 = 2nHodnota obrazu Hodnota vzoru .

Pro obecný kód transformované nuly (se symetrickou nulou) platí

= / 2mHodnota obrazu Hodnota vzoru z ,

kde z je základ soustavy a m je počet číslic. Vzorový interval je potom / 2, / 2 1m mz z .

5.3 Zobrazení znakové informace, kódy ASCII a EBCDIC

Člověk je zvyklý číst a opticky zpracovávat informaci, která je zobrazena jako řetězec

znaků používané abecedy. Zobrazení číselné informace má nejčastěji tvar řetězce číslic s

možnou předponou znaménka a s možným oddělovačem celé a desetinné části čísla. Slova

mluveného jazyka zobrazujeme řetězcem písmen dané abecedy, abstraktním pojmům přiřazu-

jeme symbolické identifikátory ve tvaru řetězců zvolených znaků abecedy při zachováni sta-

novených pravidel. Některé z těchto objektů nohou mít v paměti počítače jiné, tzv. vnitřní

zobrazení, které je výhodnější pro efektivní zpracování informace počítačem. Pro styk počíta-

če s člověkem je však základním zobrazením informace znakové zobrazení, v němž je každé-

mu znaku slova, čísla atd. jednoznačně přiřazena celočíselná hodnota - kód. Daný znakový

kód úzce souvisí s konstrukcí vstupních a výstupních zařízení. Vstupní zařízení nebo zařízení

pro pořizování vstupních dat transformují znakovou informaci (např. stisknuti klávesy ozna-

čené znakem) na kód znaku a naopak výstupní zařízení (tiskárna, obraz. display) transformují

obdržený znakový kód na znak zobrazitelný na výstupním médiu.

Pro efektivní zpracováni informace se požadují některé zvláštní vlastnosti znakových údajů, z

nichž nejčastějšími jsou:

a) Lexikální uspořádání kódů abecedy, které požaduje, aby znaku, jehož pořadí v abecedě

je nižší než pořadí jiného znaku, odpovídala i nižší hodnota znakového kódu. Tato vlastnost

významně zvyšuje efektivnost abecedního třídění a vyhledávání.

b) Uspořádání kódů desítkových číslic takové, aby zbytek po dělení tohoto kódu vhodným

celým číslem (nejčastěji 16) byl roven hodnotě zobrazované číslice. Tato vlastnost má vý-

znam pro efektivní transformaci znakového tvaru číselných hodnot do jejich vnitřní reprezen-

Page 70: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

70

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

tace. Např. čtyři nižší bity osmibitového kódu číslic jak v kódu ASCII tak v EBCDIC repre-

zentuji dvojkovou hodnotu, která je rovna hodnotě kódované číslice. Textová informace se

zobrazuje pomocí posloupnosti znaků, které se říká textový řetězec. Nejčastějšími operacemi

nad řetězci znaků jsou slučování (konkatenace) dvou, nebo více řetězců do jednoho řetězce,

rozdělení jednoho řetězce na dva, nebo více řetězců a lexikální relace dvou řetězců, která ur-

čuje, zda jsou dva řetězce ekvivalentní, nebo zda je jeden řetězec menší, než druhý‚ (tzn. že

při abecedním řazení by byl menší řetězec zařazen před druhý).

Soubor znaků pro vstup a výstup informace do nebo z počítače zpravidla zahrnuje 26 pís-

men latinské abecedy, 10 arabských číslic, určitý počet speciálních znaků a znaky interpunkč-

ní. I když není úplná standardizace povolených znaků bez ohledu na typ počítače prakticky

možná, existují standardizované soubory – kódy, které se používají pro různé typy počítačů.

K nejrozsáhlejším patří kód ISO definovaný mezinárodní organizací pro standardizaci (Inter-

national Standards Organization) a jeho americká varianta kód ASCII (American Standard

Code for Information Interchange), případně kód EBCDIC (Extended Binary Coded Decimal

Interchange Code). Kód ASCII obsahuje 128 znaků. Protože 128 = 27, je každý znak tohoto

kódu reprezentován jednoduchou kombinací 7 bitů (dvojkových číslic). Zobrazení množiny

znaků na množinu sedmic bitů se nazývá sedmibitový kód. Pro znaky kódu ASCII je toto zob-

razení uvedeno v tab. 5.1. Poznamenejme, že slovo kód má tedy dva významy: Soubor znaků,

jež jsou prvky určité standardizované množiny znaků a reprezentace (kódování) znaků pro-

střednictvím n-tic bitů. Znaky kódu ASCII lze rozdělit do dvou skupin – na tisknutelné znaky

a řídící znaky. První skupina zahrnuje velká a malá písmena, číslice a speciální znaky jako

závorky, interpunkční znaménka, operátory apod. (V případě absence malých písmen mluví-

me o omezeném ASCII kódu.).

Základní funkcí řídících znaků je poskytnout řídící informaci zařízením, které jsou určena ke

zprostředkování přenosu dat. např. znaky lf (line feed = nový řádek) řídí posuv papíru

v tiskárně a tisk od počátku řádku a cr (carriage return = návrat vozíku) atd.

S reprezentací znaků dvojkovými čísly úzce souvisí dvě převodní funkce. V jazyce Pascal to

jsou funkce ord(z) a chr(i), které popisují zobrazení množiny znaků na množinu přirozených

čísel a naopak. Pro kód ASCII jsou definovány takto:

Ord(z) je tzv. ordinální (pořadové) číslo v uspořádané množině znaků. Podle tab. 5.1 můžeme

ordinální číslo znaku z vypočítat ze vztahu

( ) 16*ord z x y (5.4)

kde x a y jsou souřadnice znaku z v tab. 5.1. Chr(i) je znak, jehož ordinální číslo je i.

Page 71: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

71

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Tab. 5.1. Tabulka znaků kódu ASCII (American Standard Code for Information Interchange)

Protože původní funkce chr je inverzní vzhledem k původní funkci ord a naopak, platí:

a chr ord z z ord chr i i (5.5)

Uspořádání na množině znaků je definováno funkcí ord takto: Nechť z1 a z2 jsou znaky. Rela-

ce z1 < z2 platí právě tehdy, když ord (z1) < ord (z2). Příklad znaky A, B:

ord (A) = 16*4+1 = 65; ord (B) = 16*4+2 = 66; B > A

Kódu EBCDIC (Extended Binary Coded Decimal Interchange Code) se používá zejména u

velkých sálových počítačů. Každý ze znaků kódu je reprezentován 8 bity a je proto možné

zobrazit v tomto kódu 256 znaků. Tabulka kódu EBCDIC je uvedena v tab. 5,2. Kód EB-

CDIC nepřiřazuje každé 8-bitové kombinaci určitý znak (existují kombinace, jenž žádný znak

nevyjadřují). Pro kód jsou významné tyto vlastnosti:

Vyjádříme-li jednotlivé dvojkové reprezentace znaků čísly 0-255, potom interval čísel vyja-

dřujících číslice je souvislý, čísla zobrazující řídící znaky < čísla zobrazující znaménka a malá

písmena < čísla zobrazující velká písmena < čísla zobrazující číslice.

0 1 2 3 4 5 6 7

0 nul dle 0 @ P p

1 soh dc1 ! 1 A Q a q

2 stx dc2 ― 2 B R b r

3 etx dc3 # 3 C S c s

4 eot dc4 $ 4 D T d t

5 enq Nak % 5 E U e u

6 ack Syn & 6 F V f v

7 bel Etb ‚ 7 G W g w

8 bs Can ( 8 H X h x

9 ht Em ) 9 I Y i y

10 lf Sub * : J Z j z

11 vt esc + ; K [ k

12 ff fs ‚ < L \ l |

13 cr qs - = M ] m

14 so rs . > A ^ n

15 si us / ? O _ o del

Page 72: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

72

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Pravá číslice

Levá 0 1 2 3 4 5 6 7 8 9

6 mezera

7 0 . < ( + I

8 &

9 ! $ * ) ; - /

10

11 > ?

12 : # @ ‚ = „ A

13 b c d e F g h i

14 j k m A

15 o p q r

16 s t U v w x y Z

17 \

18 [ ]

19 A B C D E F G

20 H I

21 K L M N O P Q R

22 S T U V

23 W X Y Z

24 0 1 2 3 4 5 6 7 8 9

Tab. 5.2. EBCDIC (Extended Binary Coded Decimal Interchange Code)-tisknutelné znaky.

Kódy 00-63 reprezentují netisknutelné řídící znaky

Př: Písmeno „A― = 19 / 3; 10011 / 011; 128+0+0+16+8+0+2+1 = 155.

U zařízení výpočetní techniky se používá dále i odvozených kódů. Např. kód KOI-8 čs (Kód

dlja obměna i obrabotki informacii) je odvozen z kódu ASCII a je doplněn o další znaky

(např. písmena s háčky a čárkami aj.), kód DKOI (Dvojičnyj kód dlja obměny i obrabotki

informaci) je obdobným odvozením kódu EBCDIC.

5.4 Zobrazení instrukcí v paměti

Program v paměti počítače sestává z posloupnosti instrukcí. Instrukce je pokyn k provede-

ní jisté operace. Typ operací a tudíž i instrukcí závisí na konstrukci počítače, a proto se mo-

hou soubory instrukcí odlišných typů počítačů značně lišit. Rozdílný bývá i způsob zobrazení

Page 73: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

73

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

instrukcí v paměti. Programovacím jazykům, které odrážejí specifické vlastnosti konkrétního

počítače proto říkané strojově orientované jazyky.

Paměťový prostor, který zaujímá zobrazení instrukce se co do velikosti nuže lišit jak podle

typu počítače, tak podle typu instrukce. Slovně orientované počítače mívají všechny instrukce

zobrazeny na n bitech svého slova a nají tedy instrukce o pevné délce. Paměťová jednotka

bytové orientovaných počítačů 1B nestačí pro zobrazení jedné instrukce a proto instrukce

těchto počítačů bývají zobrazeny na 2, 4 nebo 6 bytech paměti. Tyto počítače mají instrukce o

různých délkách, a proto hovoříme o instrukcích s proměnnou délkou.

Nejvýznamnějšími složkami zobrazení instrukce je kód instrukce (kód operace) a adresa.

5.4.1 Kód instrukce

Kódem instrukce se rozumí přirozené číslo z intervalu (0, 2m

- l), které je jednoznačně přiřa-

zeno každé operaci daného počítače. Kód, který je zobrazen na m bitech umožňuje rozlišit 2m

různých operací.

5.4.2 Adresy instrukce

Podle počtu operandů nazýváme operace s jedním operandem monadickými a se dvěma

operandy dyadickými. Operand strojové instrukce může být umístěn v paměti počítače nebo v

registru. Určení registru s operandem může být implicitní (registr je určen přímo kódem in-

strukce) nebo explicitní (jeden z několika registrů je určen pořadovým číslem - adresou regis-

tru). Operand v paměti je určen adresou paměťové buňky (je-li na ní uložen celý) nebo adre-

sou první paměťové buňky v posloupnosti buněk (bytů, slov) - je-li zobrazen na více po sobě

jdoucích buňkách. Podle toho zda instrukce nemá žádný operand v paměti, či má jeden nebo

dva operandy v paměti, hovoříme o bezadresové, jednoadresové či dvouadresové instrukci.

Každý operand v paměti vyžaduje samostatný přístup do paměti a každému přístupu do pamě-

ti odpovídá vybavovací doba paměti. Bereme-li v úvahu operandy zobrazené na stejně velkém

prostoru v paměti, pak počtu operandů v paměti je přímo úměrná doba potřebná pro provede-

ní instrukce (execution time).

5.4.3 Typy a struktura adresy

Adrese, která je součástí zobrazení instrukce, se říká vnitřní adresa instrukce. Vnitřní adresa

může být jednoduchá nebo složená.

Jednoduchá adresa je reprezentována přirozeným číslem zobrazeným na vyhrazeném prosto-

ru zobrazeni instrukce a odpovídá adrese operandu v paměti.

Složená adresa sestává se z několika komponent. Nejčastějšími komponentami jsou: jednodu-

chá adresa, obsah indexregistru a obsah bázového registru. Výsledné hodnotě adresy, která je

Page 74: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

74

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

adresou operandu v paměti a která se získá součtem použitých komponent, se říká efektivní

adresa.

Řád adresy je délka zřetězené posloupnosti adres, na něž se postupně odkazuje, aby se získal

operand.

Adresa nultého řádu se obvykle nazývá přímý operand (immediate operand) a znamená to, že

sama hodnota adresy je hodnotou operandu. Pro získání operandu byl zapotřebí nulový počet

adres - posloupnost adres byla prázdná.

Adresa prvého řádu je hodnota adresy panelového místa, na němž je uložen operand.

Pro získání operandu je zapotřebí jedné adresy. Adresa, která odkazuje na operand se říká

také přímá adresa (direct address). Adresa operandu však může být sama uložena na určitém

paměťovém místě. Adrese, která odkazuje na místo v paměti, na němž je uložena adresa (a ne

operand) se říká nepřímá adresa (indirect address).

Adresa druhého řádu je nepřímá adresa, která odkazuje na místo v paměti, na němž je ulože-

na přímá adresa. (K získání operandu je zapotřebí dvou adres a tudíž i dvou přístupů do pamě-

ti.)

Adresa n-tého řádu (n > l) vytváří zřetězenou strukturu n -1 nepřímých adres a jedné adresy

přímé, která je ve zřetězeném lineárním seznamu poslední. Pro získání operandu je zapotřebí

n adres a n přístupů do paměti. Přímá adresa bývá od nepřímé odlišena dvoustavovým přízna-

kem, který bývá realizován jedním bitem, který je součástí adresy. Pro práci s adresou a jejím

obsahem zavedeme zápis <adresa> = obsah adresy.

Obr. 5.5. Zobrazení instrukce

Page 75: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

75

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

6. ARITMETIKA VE DVOJKOVÝCH KÓDECH

Základní aritmetickou operací je součet. Součin lze realizovat opakovanými součty. Je-li

součet definován pro kladné i záporné sčítance, lze rozdíl realizovat přičtením záporné vzaté-

ho menšitele. Pomocí opakovaného rozdílu lze vytvořit podíl a sdružený zbytek (modulo) po

celočíselném dělení. (Celočíselný podíl a operace modulo vznikají vždy současně.)

Správný výsledek aritmetické operace musí spadat do definičního oboru zobrazovaných čísel.

Jestliže je výsledek větší než pravá hranice definičního oboru zobrazitelných čísel, dochází

k tzv. přetečení (overflow). Opak přetečení, kdy je výsledek menší než levá hranice definiční-

ho oboru se říká podtečení (underflow). (Při obou typech přetečení má součet v inverzním i

doplňkovém kódu obrácenou polaritu.)

Součet :C A B dvou čísel v doplňkovém kódu, kde výsledek C je definován bity 1 0 nC C

a

sčítance A a B bity 1 0 1 0 , n nA A B B

, probíhá podle algoritmu:

přenos := 0;

for i := 0 to n-1 do

begin

C[i] := (A[i] + B[i] + přenos ) mod 2 ;

přenos := (A[i] + B[i] + přenos ) div 2 ;

if i = n-2 then přenos do zn. bitu := přenos;

end;

Přetečení := přenos do zn. bitu přenos; Přetečení je typu Boolean

Slovy lze algoritmus v doplňkovém kódu shrnout takto: Při součtu odpovídajících si bitů může

vzniknout přenos, který se uplatní při součtu nejblíže vyšší dvojice bitů. Vznikne-li při součtu

dvou čísel přenos ze znaménkového bitu (přenos ze součtu nejvyšší dvojice bitů) – ignoruje

se. Nonekvivalence přenosu do a ze znaménkového bitu definuje stav přetečení součtu.

Při součtu v inverzním kódu je v určitém případě nutné provést korekci výsledku pomoci tzv.

kruhového přenosu. Inverzní kód má dvě nuly, zápornou a kladnou, přičemž kladná nula je l

větší než záporná. Jestliže je jeden ze sčítanců záporný a výsledek Je kladný, nebo jsou-li oba

sčítance záporné, je výsledek o l menší. Protože právě v těchto případech vzniká přenos ze

znaménkového bitu, je signálem k provedení korekce výsledku přičtením jedničky. Tomuto

přenosu se pro jeho aplikaci na nejnižší bit výsledku říká kruhový. Situaci ilustruje přiklad,

kdy k záporné nule na 16-ti bitovém slově se přičítá jednička:

(- 0) 1 111 111 111 111 111

+ 1 0 000 000 000 000 001

1 0 000 000 000 000 000

+1

= 1 0 000 000 000 000 001

Page 76: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

76

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Pak tedy k algoritmu součtu v doplňkovém kódu stačí přidat

if not přetečení then

begin i := 0 ;

while přenos 0 do

begin C[i] := (C [i] + přenos) mód 2 ;

přenos := (C[i] + přenos) div 2 ;

i:= i + l ;

end ;

end ;

Přiklad: Zobrazme čísla 7 a 3 na 16-ti bitovém slově a proveďme operace 3+7, 7-3, 3-7 a -3-7

v inverzním i doplňkovém kódu.

ČÍSLO INVERZNÍ KÓD DOPLŇKOVÝ KÓD

3 0 000 000 000 000 011 totéž jak inv. kód

-3 1 111 111 111 111 100 1 111 111 111 111 101

7 0 000 000 000 000 111 totéž jak inv. kód

-7 1 111 111 111 111 000 1 111 111 111 111 001

Očekávané hodnoty

4 0 000 000 000 000 100 totéž jak inv. kód

-4 1 111 111 111 111 011 1 111 111 111 111 100

10 0 000 000 000 001 010 totéž jak inv. kód

-10 1 111 111 111 110 101 1 111 111 111 110 110

výpočet 3+7

3 0 000 000 000 000 011

+7 0 000 000 000 000 111 totéž jak inv. kód

= 10 0 000 000 000 001 010

výpočet 7-3 = 7+(-3)

7 0 000 000 000 000 111 0 000 000 000 000 111

+(-3) 1 111 111 111 111 100 1 111 111 111 111 101

1 0 000 000 000 000 011 1 0 000 000 000 000 100 (410)

+ 1

0 000 000 000 000 100 (410)

výpočet 3-7 = 3+(-7)

3 0 000 000 000 000 011 0 000 000 000 000 011

+(-7) 1 111 111 111 111 000 1 111 111 111 111 011

1 111 111 111 111 011 (- 410) 1 111 111 111 111 100 (-410)

Page 77: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

77

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

výpočet -3-7 = (-3)+(-7)

(-3) 1 111 111 111 111 100 1 111 111 111 111 101

+(-7) 1 111 111 111 111 000 1 111 111 111 111 001

1 1 111 111 111 110 100 1 1 111 111 111 110 110 (-1010)

+1

1 111 111 111 110 101 (-1010)

Při násobení dvou celých čísel zobrazených v paměti je nutné si uvědomit, že součin bude

vyžadovat prostor dvakrát větší než jeden činitel. Výsledný součin může snadno překročit

meze definovaného oboru zobrazení. V počítači se dvojnásobný prostor pro součin zajišťuje

nejčastěji spojením dvou registrů typu střadač. Protože následnou operací (např. dělením) se

často "přetečený" součin jako mezivýsledek - vrátí do definovaného oboru zobrazení, nesig-

nalizuje přetečení součinu vždy nepodmíněný chybový stav. Ve dvojnásobném prostoru je

pak znaménkovým bitem nejlevější bit levého registru.

Operace dělení se většinou definuje komplementárně k násobení, a proto se předpokládá, že

dělenec je uložen ve dvojnásobném prostoru. Programátor pak musí podle polarity dělence o

jednonásobné délce, který je uložen v pravém registru, nastavit správně levý registr na samé

nuly (+) nebo samé jedničky (-). Všimněme si, že "nevýznamné" nuly zleva u kladných čísel

nají obdobu v "nevýznamných" jedničkách zleva u záporných čísel v doplňkovém i inverzním

dvojkovém kódu.

6.1 Zobrazení v pevné řádové čárce, typ integer

Až doposud jsme předpokládali, že v paměti počítače se zobrazují jen celá čísla. Řada

aplikací vyžaduje také zobrazení necelých čísel, čísel v absolutní hodnotě menších než l nebo

čísel větších, než je celočíselný rozsah daného zobrazení. Pro tyto případy se zavádí pojem

pevné řádové čárky a měřítka. Pevnou čárkou se rozumí takové zobrazení, které pracuje s

necelými čísly v dané číselné soustavě s daným počtem číslic a se stanovenou pozicí řádové

čárky (tečky) - nejčastěji za první číslicí (ve dvojkových kódech za znaménkovým bitem).

Interval zobrazovaných čísel pak bývá vymezen nerovností 1 1x .

Měřítko je myšlený exponent u základu dané soustavy; základem s tímto exponentem je třeba

násobit číslo v doméně obrazu, aby se získala hodnota vzoru. Snaha zobrazovat číslo s co ne-

jmenším možným měřítkem vede k normalizovanému (normovanému) tvaru zobrazeného

čísla a je vedena cílem zachovat co největší přesnost (počet platných míst) zobrazovaného

čísla.

Příklad: Číslo (5.5)10 = (101.l )2 lze zobrazit na 16-ti bitovém slově v pevné řádové čárce tě-

mito způsoby:

0.101 100 000 000 000 s měřítkem e = 3

nebo

0.000 000 101 100 000 s měřítkem e = 9

Page 78: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

78

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Pozn.: Trojúhelníčkem je označena pozice myšlené řádové čárky. Exponent je pak rozdílem

pozice strojové řádové čárky a myšlené řádové čárky. Zvolíme-li pro toto číslo měřítko e =

16, ztrácí se při zobrazeni dvě nižší platná místa zobrazovaného čísla.

0.000 000 000 000 010 110 s měřítkem e = 16.

Číslo s měřítkem e = 3 bylo normalizované.

Podobně se pracuje s čísly menšími v absolutní hodnotě než l. Číslo (0.15625)10 = (0.00101)2

lze zobrazit např. takto:

0 0 0.101 010 000 000 000 s měřítkem e = -2,

nebo

0.001 010 000 000 000 s měřítkem e = 0,

nebo

0.000 000 000 000 101 s měřítkem e = 10.

Číslo s měřítkem e = -2 je normalizované.

Pro aritmetické operace s čísly v pevné řádové čárce platí tato pravidla:

a) Sečíst se mohou jen dvě čísla se stejným měřítkem. Toto měřítko pak má i součet. U sčí-

tanců s nestejnými měřítky se upravuje sčítanec s menším měřítkem zvětšením měřítka a pří-

slušným posuven zobrazení doprava. (Posuv doprava je ekvivalentní operaci děleni základem

soustavy.)

b) Měřítko součinu je součtem měřítek obou činitelů.

c) Měřítko podílu je rozdílem měřítka dělence a dělitele.

Použití měřítek v pevné řádové čárce bylo historicky jediným způsobem pro vyjádření nece-

lých čísel. Této techniky se používá i v současné době všude tam, kde pro práci s necelými

čísly nelze aplikovat technickou ani programovou verzi zobrazení v pohyblivé řádové čárce.

Typickými příklady jsou některé technické aplikace mikroprocesorů nebo aritmetické operace

s BCD čísly na bytově orientovaných počítačích. Z pohledu zobrazení v pevné řádové čárce

jsou čísla typu integer zobrazena s měřítkem 1e n , kde n je počet bitů zobrazovacího pro-

storu.

Příklady využití měřítka.

C = | a | + | b |

| a | = + (1.5)10 = (1.10)2 ~ 0.011 @2 ~ - 1.5 = 1.100 @2

| b | = + (2.5)10 = (10.1)2 ~ 0.101 @2 ~ - 2.5 = 1.010 @2

Page 79: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

79

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Výpočet v inverzním kódu

+ 1.5 0.011 @2

+ 2.5 0.101 @2

+ 4 1.000 @2 ~ 100.00)2 (410)

+ 1.5 0.011 @2

- 2.5 1.010 @2

- 1 1.101 @2 ~ 110.1)2 (- 110)

- 1.5 1.100 @2

+ 2.5 0.101 @2

+ 1 1 0.001 @2

+1

0.010 @2 ~ (01.0)2 (110)

- 1.5 1.100 @2

- 2.5 1.010 @2

1 0.110 @2

+1

- 4 0.111 @2 ~ (011.1) ~ (- 410)

Výpočet v doplňkovém kódu

| a | = + (1.5)10 = (1.10)2 ~ 0.011 @2 ~ - 1.5 = 1.101 @2

| b | = + (2.5)10 = (10.1)2 ~ 0.101 @2 ~ - 2.5 = 1.011 @2

+ 1.5 + 2.5 jako INV.

+ 1.5 0.011 @2

- 2.5 1.011 @2

- 1 1.110 @2 ~ (- 110)

- 1.5 1.101 @2

- 2.5 1.011 @2

1 1.000 @2

Ignoruje se

+ 4 1.000 @2 ~ (+ 410)

6.2 Zobrazení v pohyblivé řádové čárce, typ real

Při práci s necelými čísly zobrazenými v pevné řádové čárce musel programátor sám ma-

nipulovat se zobrazeným číslem na základě znalosti měřítka, které samo nebylo předmětem

Page 80: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

80

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

zpracování počítačem. Veškeré opravy čísla a změny měřítek určoval programátor v době

tvorby progresu.

Zobrazení v pohyblivé řádové čárce využívá všech principů uvedených pro práci s pevnou

řádovou čárkou. Exponent se však stává součásti zobrazení a veškeré manipulace jsou zauto-

matizovány. Zobrazení čísla v pohyblivé řádové čárce je tvořeno uspořádanou dvojici - man-

tisou a exponentem. Základ soustavy může být pro různé počítače různý a pro dané zobrazení

je implicitní. Nejčastějšími základy jsou 2. 8 a 16. Ve všech případech je mantisa zobrazena

dvojkově, podle hodnoty základu však změna exponentu o jedničku znamená posun mantisy o

l, 3 resp. 4 bity pro základ 2, 8 resp. 16.

Číslo typu real, je definováno jako číslo v pohyblivé řádové čárce s normalizovanou manti-

sou. Mantisa má tvar čísla v pevné řádové čárce s měřítkem e = 0, exponent je číslo typu

integer. Kladná normalizovaná mantisa má na jednom, třech či čtyřech bitech (pro základy 2,

8, 16) za strojovou řádovou čárkou nenulovou hodnotu.

Většina současných počítačů určených pro vědecko-technické aplikace mají ve svém in-

strukčním repertoáru samostatnou skupinu aritmetických instrukcí pro práci s čísly typu reál.

Počítače, které nemají takové instrukce, bývají vybaveny programovým vybavením, jež řeší

tyto operace programově - skokem do odpovídajícího podprogramu. Uživatel se většinou ne-

musí zabývat otázkou. Jakým způsobem jsou zpracovávána čísla typu real. Výpočet pomocí

"programové" pohyblivé řádové čárky je však výrazně pomalejší než výpočet pomocí "zabu-

dované" či "strojové" pohyblivé řádové čárky. Každý programátor si však, zejména ve vyšším

programovacím jazyku, musí uvědomit, že čísel typu reál používáme jen tam, kde je to ne-

zbytně nutné, že aritmetika s typy reál je vždy pomalejší než celočíselná aritmetika, a to i v

případě strojové pohyblivé čárky a že použití čísel typu reál s sebou vždy nese nebezpečí zao-

krouhlovací (rounding) nebo osekávací (truncation) chyby, především při použití multiplika-

tivních operaci. Řada numerických metod vyžaduje při programování důkladnou znalost kon-

krétního zobrazení typu reál a mnohé pracující programy složitějších numerických metod ne-

musí být vždy přenosné na jiný počítač v důsledku odchylek v zobrazení typu reál.

Typickou neobratností nezkušených programátorů je použití relace rovnosti dvou hodnot typu

reál. Rozdělíme-li např. interval (a, b) na n ekvidistantních části k, jejichž velikost je určena

výrazem k:= (b-a)/a, není záruka, že n-násobné přičtení kroku k k dolní hranici bude rovno

hodnotě b.

Čísla typu double precision mají shodnou strukturu s čísly typu reál. Prodloužením mantisy

na přibližně dvojnásobek se zvětší přesnost zobrazení necelého čísla, za cenu prodloužení

doby potřebné pro provedení aritmetické operace. Důležitými operacemi pro zobrazení v pev-

né a pohyblivé řádové čárce je vzájemný převod obou zobrazení.

6.3 Zobrazeni logických hodnot, typ Boolean

Logické hodnoty potřebují pro své zobrazení jediný bit, jehož nulová resp. jedničková hodno-

ta zobrazuje Booleovské hodnoty false a true. Typ Boolean nebo Logical používaný ve

vyšších programovacích jazycích však bývá zobrazen na prostoru celé samostatně adresova-

telné paměťové jednotky. Její nejsnadněji testovatelný bit bývá nositelem logické hodnoty.

Page 81: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

81

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Rozsáhlé používání Booleovských hodnot může proto vést k neefektivnímu využití operační

paměti.

7. ZÁKLADNÍ ARITMETICKÉ OPERACE Equation Chapter (Next) Section 7

7.1 Sčítání v polyadických soustavách

Běžně známé je sečítání ve dvojkové soustavě. Zde jen zdůrazněme, že číslice součtu vzniká

sečtením stejnolehlých číslic obou sčítanců, přičemž vliv nižších řádů se respektuje přenosem

(při dvou sčítancích jsou obvykle jen dvě možnosti: přenos 0 nebo přenos 1). Vliv vyšších

řádů neexistuje. Tato vlastnost připomíná vlastnost konečného automatu: nepředpovídá. Sku-

tečně, jestliže se ve dvou příkladech sčítání opakuje situace v nižších řádech, opakuje se i pří-

slušná část výsledku. Druhá vlastnost automatového zobrazení: zachování délky, bývá vlastně

též zajištěna. Sice platí, že součet může být o jeden řád delší než sčítanci (než delší ze sčítan-

ců). Ovšem pevně vymezený formát nutí k zachování tohoto pravidla.7

V souladu s těmito pravidly lze hovořit o konečném automatu, realizujícím sčítání. Sériová

sčítačka představuje pak realizaci tohoto automatu. Má dva vnitřní stavy respektující přenos,

vstupní abeceda respektuje všechny možnosti, jak se může vyskytnout dvojice vstupujících

číslic v obecném řádu, výstupní abeceda respektuje všechny možné číslice (z nichž je tvořen

součet). Pro desítkovou sčítačku by tedy vstupní abeceda obsahovala celkem 102

písmen,

kdežto vstupní jen deset. Sériová sčítačka obecně vypadá podle obr. 7.1.

Obr. 7.1. Blokové schéma sériové sčítačky v polyadické soustavě o základu z

Je to sekvenční obvod se dvěma vnitřními stavy, jehož kombinační část K je schopna z číslic

sčítanců (a přenosu) stanovit číslici součtu. Využívá se opakovaně pro číslice jednotlivých

řádů, počínaje nejnižším, přechod k dalšímu řádu je uskutečněn přechodem k dalšímu taktu.

Přenos do vyššího řádu se uplatní jako vstupující v témž bloku K, ovšem o tak později.

V paralelní sčítačce je tolik kombinačních částí K, kolik je řádů sčítaných čísel. Pracují

všechny současně. Zpráva o přenosu se nepřenáší do následujícího taktu, nýbrž do sousedního

obvodu K, a to pokud možno bez zpoždění. Paralelní sčítačka je na obr. 7.2. Tlusté šipky zna-

7 Jde pak vlastně o sečítání při modulu rovném jedničce ve ztraceném řádu

Page 82: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

82

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

čí vedení pro přesun jedné číslice při základu z. Na obr. 7.2b je vyznačena paralelní sčítačka

blokově.

Obr. 7.2. Blokové schéma paralelní sčítačky pro polyadickou soustavu při základu z

Tlusté šipky zde představují vedení pro přenos čísel (složených z mnoha číslic).

7.2 Odčítání v polyadických soustavách

Postup sčítačky je možno obměnit tak, aby mohla i odečítat. Vzhledem k tomu, že sčítačka

respektuje stejnou délku vstupních i výstupních čísel, nedává na výstupu součet, nýbrž je to

součet modulo M, kde M je číslo, o které je změněn výsledek v případě přeplnění. Např. de-

sítková sčítačka pracující na dva řády dává při součtu 45+98 výsledek 43 místo správného

143. Modul M = 100. Příklad můžeme chápat jako součet 45 + (M-2) = 43. Říkáme, že (M-2)

je obrazem záporného čísla (-2). Jde o zobrazení v doplňkovém kódu. Odečítání se pak převá-

dí na přičítání obrazů čísel s opačným znaménkem.

Má-li být sčítačka též užita k odčítání, je třeba, aby na jeden z jejich vstupů byl zařazen blok,

který je schopen „obrátit znaménko―, tj. přicházející číslo nahradit jeho doplňkem schematic-

ky podle obr. 7.3, ovšem jen v případě odečítání.

Obr. 7.3. Blokové schéma odečítání

Blok A by měl vytvořit doplněk do M, kde M je obecně při soustavě o základu z rovno zn, kde

n je počet řádů zpracovávaných ve sčítačce.8 Doplněk se tvoří tak, že v každém řádu se na-

8 Pro jednoduchost zde uvažujme řádovou čárku na pravém okraji čísel, tedy sčítání čísel celých.

Page 83: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

83

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

hradí číslice svým doplňkem do čísla z-1 a k takto vzniklému číslu se přičte jednička

v nejnižším řádu.

7.3 Násobení v polyadických soustavách

Násobení ve dvojkové soustavě, pokud nevyužívá prostředků ke zrychlení, je jednodušší

než násobení v desítkové soustavě.

Důležitým prostředkem ke zrychlování operace násobení je blok, realizující v podstatě „ma-

lou násobilku― zvaný násobící tabulka. Charakterizujeme jej jako obvod, kterým prochází

číslo (násobenec) a při svém průchodu se změní na svůj k-násobek. Číslo k je malé číslo a lze

je nastavit speciálním vstupem do uvažovaného bloku.

Například naznačme provedení násobící tabulky pro dvojková čísla k = 0,1,2,3,4.

Nechť je číslo k kódováno třemi bity k2 k1 k0. Použijeme-li paralelní dvojkovou sčítačku, do

níž zavedeme číslo vhodně posunuté (násobené mocninou dvou) a popř. sečteme takto upra-

vená čísla mezi sebou (jen v případě k = 3). Obvod je na obr. 7.4a. Místo hradel ve vstupních

přívodech jsou jen u příslušných přívodů připsány ovládací proměnné, které umožní jejich

průchodnost. Přehled o činnosti obvodu podává tabulka na obr.7.4b

Obr. 7.4. a) Násobící tabulka vytvořená z paralelní sčítačky; b) Zpracovávaná čísla a ve sčí-

tačce v závislosti na požadovaném násobku k

7.3.1 Desítkové násobení

Extrémně pomalý algoritmus. Kdybychom uměli jen sečítat a neznali další zákonitosti poly-

adických soustav, násobili bychom pomocí postupného přičítání. Na obr. 7.5a je příklad 102 x

912, kde první číslo je násobenec a druhé násobitel.

Algoritmus s hustou násobící tabulkou. Algoritmus je uveden na příkladu 102 x 912 v obr.

7.5b. Využívá se okolnosti, že vyjádření čísla je váhové. Násobení devíti sty se zajistí vyná-

sobením devíti a posunem o dva řády.

Page 84: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

84

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 7.5. a) Pomalý algoritmus násobení, b) algoritmus s hustou násobící tabulkou

Součet většího počtu položek se provádí postupně, a to tak, že se vždy další položka přičítá

k součtu všech dosavadních, který musí být uschován v registru. Jde tedy o střádání. Postup

takového střádání je v příkladech naznačen vlevo. K realizaci prvního algoritmu

v aritmetických obvodech by stačil prostý střadač. Pro druhý algoritmus potřebujeme mít

možnost posuvů během střádání. Jako výhodné se ukázalo posouvat obsah registru střadače

(vzhledem ke sčítačce). Tím se stane, že číslice některých řádů střadače „vyjdou ze záběru― se

sčítačkou. Pokud jsou to číslice nižších řádů, nevadí to, protože se součtu nezúčastní teď ani

v budoucnosti. Říká se jim také hotové číslice součinu.

Na obr. 7.6 je naznačena varianta s posuvy střadače. Zde stačí zdvojnásobit šířku registru Z.

Okolnost, že pravá polovina registru Z není v záběru se sčítačkou, je symbolicky naznačena

rozštěpením výstupního vedení tak, že jeho část obchází sčítačku.

Obr. 7.6. Uspořádání sčítačky a registrů pro násobení. Varianta s posuvy částečného výsledku

doprava. Nižší řády registru Z nejsou ve styku se sčítačkou.

Pro ukázku si uveďme nejjednodušší algoritmus násobení (19*13 = 247) ve dvojkové sousta-

vě. Svou rychlostí patří ke středě rychlým algoritmům.

Page 85: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

85

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Obr. 7.7. a) Dvojkové násobení, b) uspořádání aritmetické jednotky pro dvojkové násobení

Obvody pro vypočtení příkladu jsou na obr. 7.7. Řádky v závorce představují výstup ze sčí-

tačky. Ten se v témž taktu změní posuvem p (během přesunu do registru Z), takže nejbližší

stav registru Z je vždy na následujícím řádku. Posuv během přesunu je ve schématu naznačen

existencí vstupního vedení, odchýleného doprava.

Obr. 7.8. Pohyb číslic při dvojkovém násobení v aritmetické jednotce

Řádky v závorce představují výstup ze sčítačky. Ten se v témž taktu změní posuvem (během

přesunu do registru Z), takže nejbližší stav registru Z je vždy na následujícím řádku. Posuv

během přesunu je ve schématu naznačen existencí vstupního vedení, odchýleného doprava.

7.4 Dělení v polyadických soustavách

Extrémně pomalý algoritmus by mohl být realizován obdobně jako v případě násobení, ale

s postupným odečítáním. Dále by mohl být algoritmus s násobící tabulkou atd. Pro ukázku

Page 86: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

86

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

nejjednoduššího algoritmu dělení ve dvojkové soustavě s restaurací nezáporného zbytku, je

uveden příklad viz obr. 7.9.

Obr. 7.9. Algoritmus dělení ve dvojkové soustavě s restaurací nezáporného zbytku

Znakem ξ je označen přechod do oblasti záporných zbytků a návrat (restaurace nezáporného

zbytku).

LITERATURA

[1] Klír. J., Seidl.: Syntéza logických obvodů. SNTL Praha, 1966.

[2] Sekanina, L.: Návrh číslicových obvodů. FIT VUT Brno, 2002.

[3] Eysselt, M.: Vybrané úlohy z logických systémů. VÚT Brno, 1993.

[4] Blatný, J., Hlavička, J., Jindra,V.: Počítačové systémy. VA Brno, 1992.

Page 87: INFORMATIKA I · 2020-01-31 · INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1 Tento projekt je spolufinancován Evropským

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018

87

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

Doc. Ing. Luděk Bartoněk, Ph.D.

Informatika I.

Struktura počítačů

Výkonný redaktor: Prof. RNDr. Tomáš Opatrný, Dr.

Odborný redaktor: Doc. RNDr. Roman Kubínek, CSc.

Odpovědná redaktorka: Mgr. Jana Kreiselová

Technický redaktor: Doc. Ing. Luděk Bartoněk, Ph.D.

Určeno pro studenty, odbornou veřejnost a další zájemce.

Vydala Univerzita Palackého v Olomouci

Křížkovského 8, 771 47 Olomouc

www.upol.cz/vup

e-mail: [email protected]

Olomouc 2012

1. vydání

Oponent: Doc. Ing. Jiří Salinger, CSc.

Tato publikace neprošla redakční jazykovou úpravou.

© Luděk Bartoněk, 2012

Ediční rada — Skripta

Online publikace

ISBN 978-80-244-2973-1

http://fyzika.upol.cz/cs/predmety-kef-slo/informatika-1