Digitaalne loogika

Matemaatilise loogika ühes harus, lausearvutuses, uuritakse lausete ning nendest lausetest moodustatud liitlausete tõeväärtuseid. Kui lause vastab tegelikkusele, nimetatakse seda lauset tõeseks ning tähistatakse t või 1. Kui lause ei vasta tegelikkusele, nimetatakse seda lauset vääraks ning tähistatakse v või 0.

Lausete $A$ ja $B$ konjunktsioon $A \land B$ on tõene parajasti siis, kui mõlemad laused $A$ ja $B$ on tõesed.
Lausete $A$ ja $B$ disjunktsioon $A \lor B$ on tõene parajasti siis, kui vähemalt üks lausetest $A$ või $B$ on tõene.
Implikatisoon $A \Rightarrow B$ (lausest $A$ järeldub lause $B$) on tõene parajasti siis, kui $B$ on tõene või $A$ on väär.
Lauseid $A$ ja $B$ nimetatakse ekvivalentseteks ehk samaväärseteks ja tähistatakse $A \Leftrightarrow B$, kui laused $A$ ja $B$ on korraga tõesed või väärad. Sellisel juhul lausest $A$ järeldub lause $B$ ning vastupidi, lausest $B$ järeldub lause $A$.
Lause $A$ eitus $\neg A$ on tõene parajasti siis, kui lause $A$ on väär.

Lauseid kombineerides on võimalik uurida mitmesuguste liitlausete tõeväärtuseid. Liitlausete tõeväärtuse leidmisel on võimalik neid lihtsustada ja korrastada, kasutades mitmesugususeid loogilis-aritmeetilisi tehteid ja samaväärsusi. Eelnevad tõeväärtused saab kokku võtta tabelina:

$A$ $B$ $A \land B$ $A \lor B$ $A \Rightarrow B$ $A \Leftrightarrow B$ $ \neg A$
t t t t t t v
t v v t v v v
v t v t t v t
v v v v t t t


Digitaalne elektroonika on aluseks suuremale osale tänapäeval kasutatavatele elektroonilistele seadmetele, mille hulka kuuluvad näiteks mitmesugused kodu- ja tarbeelektroonika juhtsüsteemid, elektroonilised kellad, taskuarvutid, arvutite ja mobiiltelefonide protsessorid, kontrollerid jne.

Digitaalses elektroonikas kantakse informatsiooni kaheolekuliste (madal- ja kõrgepingeliste) elektriliste signaalidena.
Madalpingelist elektrisignaali tähistatakse arvuga 0 ning kõrgepingelist elektrisignaali arvuga 1.
Sellisel viisil on võimalik informatsiooni edastada madal- ja kõrgepingeliste elektrisignaalide jadana, näiteks 10011011010011001...
Üks olek (0 või 1) sisaldab endas ühte bitti informatsiooni ning $n$ olekut sisaldab endas $n$ bitti informatsiooni.
Keerulisemates elektroonilistel süsteemides edastatakse signaale mitme biti kaupa korraga, näiteks 8-biti kaupa (bait), 16-biti, 32-biti, 64-biti kaupa jne. Sellistest $n$-baidistest olekutest on võimalik konstrueerida arvude kahendsüsteem. Näiteks 8-bitise kahendsüsteemis esitatud arvu $x_7x_6x_5x_4x_3x_2x_1x_0$ väärtus kümnendsüsteemis on $x_7 \cdot 2^7 + x_6 \cdot 2^6 + ... + x_0 \cdot 2^0$, kus $x_i \in \{ 0,1 \}$

Käsitledes eelmainitud lausearvutuses süntaktiliste lausete asemel elektrilisi signaale (t = 1, v = 0), saame Boole'i algebra. Elektrooniliselt implementeerib Boole'i algebralisi tehteid loogikaväravad. Loogikavärav on elektriline seadeldis, mis väljastab kas madal- või kõrgepingelist signaali vastavalt sellele, millises olekus signaalid olid selle värava sisendiks.

Põhilisteks loogikaväravateks on AND ehk JA ning OR ehk VÕI värav. AND värav väljastab kõrgepingelist elektrivoolu ehk ühte ainult siis, kui mõlemad sisendid temasse on kõrgepingelised ehk ühed, just nagu lause A ja B tõeväärtus. OR värav väljastab kõrgepingelist elektrovoolu ainult siis, kui vähemalt üks sisendvooludest on kõrgepingline. NOT värav muudab sisendvoolu pinge vastupidiseks, kõrgepingest madalingeks ning madalpingest kõrgepingest. On veel mitmesuguseid nende loogikaväravatega analoogseid kuid kasulikke loogikaväravaid. Järgnevalt on toodud põhiliste loogikaväravate skemaatilised tähistused ning nende funktsioonide tabelid.










Nendest elementaarsetes loogikaväravatest on võimalik moodustada keerulisemaid loogikaväravate süsteeme.

Arvutiprotsessorite põhielementideks on loendurid, summeerijad, multiplekserid, registrid ja aritmeetika-loogika plokk.
Toome näiteid arvutite ja telefonide protsessorite olulisemate komponentide skemaatilistest esitustest.


Asünkroonne RS ehk reset set triger koosneb kahest omavahel ühendatud NAND väravast, ehk AND väravate eitusest. Selline konstruktsioon võimaldab lühiajaliselt salvestada, säilitada ning lugeda ühte bitti informatsiooni protsessoris, kas ühte või nulli.

$SR$-triger


Sisend Väljund
$S$ $R$ $Q$ $\overline{Q}$
0 0 Säilitab
1 0 0 1
0 1 1 0
1 1 - -
Sünkroonne $SR$-triger


Sisend Väljund
$\overline{S}$ $\overline{R}$ $E$ $Q$ $\overline{Q}$ $E$ $Q$ $\overline{Q}$
0 0 1 Säilitab 0 Säilitab
1 0 1 0 1 0 Säilitab
0 1 1 1 0 0 Säilitab
1 1 1 - - 0 Säilitab


Ühendades paralleelselt 8 SR-trigerit, on võimalik luua protsessori teine olulisem komponent ehk register, mis võimaldab salvestada juba 8-bitist ehk ühebaidist infot.

Protsessori aritmeetika-loogika plokk

Lisaks konstrueeritakse loogikaväravatest protsessori kõige olulisem komponent, aritmeetika-loogikaplokk, kus juba nagu nimi ütleb, toimub kogu protsessori loogika ning arvutused.

Sisendid $\overline{A}_0 - \overline{A}_3$ ja $\overline{B}_0 - \overline{B}_3$ moodustavad kaks 4-bitist arvu $\overline{A}$ ja $\overline{B}$, millel loogilisi ja aritmeetilisi tehteid teostatakse ning $\overline{F}_0 - \overline{F}_3$ moodustavad selle tehte tulemuse $\overline{F}$.
M väärtus määrab, kas sisenditega $\overline{A}$ ja $\overline{B}$ sooritatakse loogilist (M=0) või aritmeetilist (M=1) tehet.
Väärtused $S_0 - S_3$ määravad täpsemalt, millist loogilist või aritmeetilist tehet sisenditega $\overline{A}$ ja $\overline{B}$ sooritatakse.
$C_n$ on ülekanne.

Boole'i algebra

Et luua keerulisemaid digitaalelektroonilisi loogikaahelaid, on otstarbekas teada ja rakendada loogiliste tehete algebralisi omadusi, mis ühelt poolt aitavad optimaalsel viisil konstrueerida vajamineva funktsiooniga ahelaid kui ka analüüsida olemasolevate ahelate funktsionaalset ehitust.

Boole'i algebras võib AND ja OR funktsiooni tähistada sarnaselt lausearvutusele sümbolitega $\land$ ja $\lor$.
Lisaks $\land, \lor$ ja $\neg x$ tehetele defineeritakse Boole'i algebras veel sekundaarsed tehted \[ x \rightarrow y := \neg x \lor y \] \[ x \oplus y := (x \lor y) \land \neg (x \land y) = (x \land \neg y) \lor (\neg x \land y) \] \[ x \equiv y := \neg (x \oplus y) = (x \land y) \lor (\neg x \land \neg y) \] Kokkuvõttes saame Boole'i algebras kasutatavate tehete jaoks tabeli

$x$ $y$ $x \land y$ $x \lor y$ $x \rightarrow y$ $x \oplus y$ $x \equiv y$ $\neg x$
0 0 0 0 1 0 1 0
1 0 0 1 0 1 0 1
0 1 0 1 1 1 0 0
1 1 1 1 1 0 1 1


Loogikaahelate loomisel ja uurimisel tulevad kasuks järgnevad tehete $\land$ ja $\lor$ algebralised samaväärsused:

Assotsiatiivsus
$x \land (y \land z) = (x \land y) \land z$
$x \lor (y \lor z) = (x \lor y) \lor z$
Kommutatiivsus
$x \land y = y \land x$
$x \lor y = y \lor x$
Identsus
$x \land 1 = x$
$x \lor 0 = x$
Idempotentsus
$x \land x = x$
$x \lor x = x$
Neelduvus
$x \land (x \lor y) = x$
$x \lor (x \land y) = x$
Annihileeruvus
$x \land 0 = 0$
$x \lor 1 = 1$
Distributiivsus
$x \land (y \lor z) = (x \land y) \lor (x \land z)$
$x \lor (y \land z) = (x \lor y) \land (x \lor z)$
De Morgani seadused
$\neg (x \lor y) = \neg x \land \neg y$
$\neg (x \land y) = \neg x \lor \neg y$