Digitaaltehnika konspekt
1 Sissejuhatus 3
2 Arvusüsteemid 4
2.1
Kahend -,
kaheksand -, kuueteistkümnendarvude
teisendamine kümnendarvudeks. 4
2.2 Teiste arvsüsteemide arvude
murdosa teisendamine kümnendarvu murdosaks. 5
2.3 Ülesanne 1 5
2.4 Ülesanne 1a. 6
2.5 Ülesanne 1b 6
Kümnendarvu teisendamine kahend-, kaheksand-, kuueteistkümnendarvudeks. 6
2.6 Kümnendarvu täisosa teisendamine teistesse arvsüsteemidesse. 6
2.7 Kümnendarvu murdosa teisendamine teistesse arvsüsteemidesse. 7
2.8 Ülesanne 1c 8
2.9 Aritmeetilised
tehted kahend-, kaheksand- ja kuueteistkümnendsüsteemis. 8
2.10
Korrutamine erinevates arvsüsteemides. 9
2.11 Ülesanne 1d 9
2.12 Ülesanne 1e 9
2.13 Ülesanne 1f 9
3
Loogikafunktsioonid ja loogikalülitused 10
3.1
Loogikatehted 10
3.2 Loogikalülitused 10
3.3 Loogikafunktsioonid ja –elemendid 11
3.4 Loogikaseadused 12
4
Loogikaelemendid 18
4.1 Dioodelement JA 18
4.2 Transistorelement EI ehk
inverter 19
4.3 TTL (
transistor -transistor
loogika ) JA-EI 19
4.4 MOP
loogika 20
4.5 n-MOP loogika 20
4.6 Komplementaarne MOP loogika 20
5 Kombinatsioonseadmete süntees 22
6
Trigerid 26
6.1
Trigeri mõiste 26
6.2 Kasutatavad tähised 26
6.3
Trigerite liigid 26
6.4 Asünkroonne RS -
triger 27
6.5 Sünkroonne RS-triger 28
6.6 Sünkroonne kahetaktiline RS-triger 29
6.7 D-triger 30
6.8 JK-triger 30
6.9 T-triger 31
7
Registrid 33
8 Loendurid 34
9 Summaatorid 38
10 Kommutaatorid 41
11 Koodrid, dekoodrid ja koodimuundurid 43
12 ALU 46
13 Mälud 48
13.1 Muutmälud 48
13.2 Püsimälud 51
14
Loogilised maatriksid 53
14.1 Maatriksid 53
14.2 Ümberprogrameeritavad maatriksid 57
Sissejuhatus
Digitaaltehnika
tegeleb digitaal ehk diskreet ehk katkeliste signaalidega, millele
omistatakse väärtus ainult kindlail ajahetkedel. Digitaaltehnikas
on laialt kasutusel kahendsignaalid, mis saavad olla kas teatava kõrge või madala väärtusega (1 või 0). Kahendarvu igat kohta (1
või 0) nimetatakse bitiks. Digitaaltehnikas kasutatakse kõige enam
8, 10, 12 või 16 bitilisi kahendarve, mille infosisaldus on
vastavalt 28,
210,
212
või 216 bitti .
Seadmeid,
mis kasutavad töötamiseks kahendsignaale nimetatakse digitaalseteks
seadmeteks. Kahendkoodi kasutatakse väga laialt kogu kaasaegses arvutustehnikas, esitlustehnikas, andmeedastuses jne. Kahendsignaali
kasutamise peamised eelised on realiseerimise lihtsus, seadmete
lihtsus, vea tõenäosus on minimaalne jne.
Digitaalsignaal
Analoogsignaal
Arvusüsteemid
Arvusüsteemidest
tuntakse kõige enam kümnendsüsteemi. Vähem on kasutusel nn. rooma numbrite süsteem. Arvutustehnikas rakendatakse peamiselt
kahendsüsteemi, kuid ka kaheksand- ja kuueteistkümnendsüsteemi.
Kõiki
arvusüsteeme võib jaotada positsioonilisteks
ning mittepositsioonilisteks
süsteemideks. Viimaste hulka kuulub näiteks rooma numbrite süsteem.
Positsiooniliseks
süsteemiks nim. arvusüsteemi, kus ühel ja samal numbril on erinev
väärtus,
sõltuvalt
numbri asukohast arvujadas.
Neid süsteeme iseloomustab arvude esitamise selgus ning
aritmeetiliste operatsioonide lihtsus. Positsiooniliste süsteemide
hulka kuuluvad nii kümnend-, kahend-, kaheksand- kui ka
kuueteistkümnendsüsteem.
Arvuti
opereerib eranditult ainult kahendsüsteemis.
Suhtlemiseks kasutajaga kasutatakse harilikult 10-nd-
ja 16-ndsüsteemi.
Programmeerijad kasutavad 8-nd-, 2-nd ja teisigi süsteeme.
Näiteks
arvu kümnendsüsteemis saab väljendada
214252=2·105+1·104+4·103+2·102+5·101+2·100
Parempoolseima
arvu kohakaalu (100) astmeks on 0 mitte 1, sellest järgmise vasemale kohakaalu (101)
astmeks on 1 mitte 2 jne. NB!
100=1;
20=1;
80=1;
160=1.
Arvusüsteem
Sümbolid ai
Näide
Kahendsüsteem
0, 1
205(10)=11001101(2)
Kaheksandsüsteem
0,1,2,3,4,5,6,7
205(10)=315(8)
Kümnendsüsteem
0,1,2,3,4,5,6,7,8,9
205(10)
Kuueteistkümnendsüsteem
0,1,2,3,4,5,6,7,8,9, A(10), B(11), C(12), D(13), E(14), F(15)
205(10)=CD(16)
Kahend-, kaheksand-, kuueteistkümnendarvude teisendamine kümnendarvudeks.
Üldjuhul
teisendatakse kahend-, kaheksand-, kuueteistkümnendarvude täisosa
ja murdosa eraldi samade reeglitega.
Teiste
arvsüsteemide arvude täisosa teisendamine kümnendarvuks.
Kahend-,
kaheksand- või kuueteistkümnendarvude teisendamiseks kümnendarvuks
tuleb selle kohti tähistavad arvud an
korrutada
kohakaaludega 2n
(8n
või 16n)
ning seejärel need liita. n on koha number.
Kahendarvude
kohakaaludeks on arvud 2n
(20
=1;
21
=2;
22
=4;
23
=8;
24
=16;
25
=32;
26
=64;
jne)
Kaheksandarvude
kohakaaludeks on arvud 8n
(80
=1;
81
=8;
82
=64;
83
=512;
84
=4096;
jne)
Kuueteistkümnendarvude
kohakaaludeks on arvud 16n
(160
=1;
161
=16;
162
=256;
163
=4096
jne)
Teiste arvsüsteemide arvude murdosa teisendamine kümnendarvu murdosaks.
Kahend-,
kaheksand- ja kuueteistkümnendarvude murdosa teisendamiseks
kümnendarvu murdosaks tuleb selle kohti tähistavad arvud an
korrutada
samuti kohakaaludega 2n
(8n
või 16n)
ning seejärel liita. n on koha number (NB! siin on see negatiivne
arv –n).
Ülesanne 1
Leida
järgmiste kahendarvude tähised kümnendsüsteemis.
a)
10111011 d) 0,01110111 g) 1010111,10010111 n) 10111101110,0010111011
b)
11010110 e) 0,11010111 h) 101100110,101110011 o)
11101001011,0101111011
c)
11011110110 f) 0,1110101011 i) 1101011101,011101111 p)
10110010111,100110011101
Ülesanne 1a.
Leida
järgmiste kaheksandarvude tähised kümnendsüsteemis.
a)
7412 c) 71570 e) 0,456 g) 3671,452 i) 4643,771
b)
6035 d) 55627 f) 0,5425 h) 6527,306 j) 27031,652
Ülesanne 1b
Leida
järgmiste kuueteistkümnendarvude tähised kümnendsüsteemis.
a)
7CB c) D9C1 e) 0,6D9 g) B9D,CA6 i) 4FA9B,6DE
b)
D49 d) 0,B69 f) 0,F4A h) 9AB4,5CD j) 6C7DE,6DE
Kümnendarvu teisendamine kahend-,
kaheksand-, kuueteistkümnendarvudeks.
Üldjuhul
teisendatakse kümnendarvude täisosa ja murdosa eraldi.
Kümnendarvu täisosa teisendamine teistesse arvsüsteemidesse.
Näiteks
kümnendarvu 115 teisendamiseks kahendarvuks kasutatakse alltoodud
skeemi. Arv 115 jagatakse tulbas arvuga 2 ning eraldatakse jääk 1. Jagamise tulemus 57 kirjutatakse esialgse arvu alla. Seejärel
korratakse kirjeldatud tegevust seni, kuni jagamise tulemuseks
saadakse arv 1. Jagamise jääkidest moodustub eraldi tulp , mis
sisaldab arve 1ja 0. Lugedes selles tulbas olevaid sümboleid alt
üles leitakse lähtearvule 115 vastav kahendarv 1110011.
Nagu
näidatud, saab sama toiminguga ka kaheksand-
või kuueteistkümnendarve.
Näiteid:
Märksa
lihtsam on kümnendarve teisendada kaheksand- ja
kuueteistkümnendarvudeks kahendkoodi abil. Selleks tuleb kümnendarv esmalt teisendada kahendarvuks ning jaotada selle kohad triaadideks
(komakohast alates kolmesed grupid) või tetraadideks (neljased
grupid), olenevalt sellest kas tahetakse leida kaheksand- või
kuueteistkümnendkoodi. Edasi kodeeritakse kahendarvu iga triaad või
tetraad eraldi vastavaks kaheksand– või kuueteistkümnendarvuks.
Näide vaata ülalpool.
Veel
lihtsam on teisendamine teades vastava arvsüsteemi kohakaale peast .
Kahendarvude
kohakaaludeks on arvud 2n:
(20
=1;
21
=2;
22
=4;
23
=8;
24
=16;
25
=32;
26
=64;
27
=128;
28
=256;
29
=512;
210
=1024;
211
=2048;
212
=4096;jne)
Kaheksandarvude
kohakaaludeks on arvud 8n
(80
=1;
81
=8;
82
=64;
83
=512;
84
=4096;
jne)
Kuueteistkümnendarvude
kohakaaludeks on arvud 16n
(160
=1;
161
=16;
162
=256;
163
=4096
jne)
Näited:
Teisendada
571(10)
kahendarvuks.
Kümnendarvu murdosa teisendamine teistesse arvsüsteemidesse.
p-ndsüsteemi
lihtmurru a
tähistuse leidmisel q-ndsüsteemis
tuleb arv a
(järgmistel sammudel korrutise murdosa) korrutada arvuga q.
Korrutise täisosad annavad arvu a
q-ndsüsteemi tähise numbrid samas järjekorras. Arvutatakse üks
koht nõutust rohkem ja ümardatakse.
Näited:
Ülesanne 1c
Leida
järgmiste kümnendarvude tähised kahend-, kaheksand- ja
kuueteistkümnendsüsteemis.
a)
491 d) 6789 g) 0,916 n) 712,483 q) 29760,3563
b)
528 e) 0,387 h) 0,745 o) 4906,727 r) 65148,8927
c)
8192 f) 0,826 i) 698,926 p) 5794,816 s) 11,00011
Aritmeetilised tehted kahend-, kaheksand- ja kuueteistkümnendsüsteemis.
Aritmeetikatehete
sooritamise põhimõtted on samad kõigis positsioonilistes
arvusüsteemides; see tähendab, ka kahend-, kaheksand-, kümnend- ja
kuueteistkümnendsüsteemis.
Liitmine ja lahutamine erinevates arvsüsteemides.
Korrutamine erinevates arvsüsteemides.
Korrutamine
on 2-ndsüsteemis kõige lihtsam tehe. 1-ga korrutamine tähendab
arvu ümberkirjutamist ning nihet vasakule ühe koha võrra; nulliga
korrutamisel toimub ainult edasinihutamine. Seejärel liidetakse
vahekorrutised
Näide:
Ülesanne 1d
Arvutada
järgmiste kahendarvude summa ja vahe.
1101011,101 ja 1011101,11 d) 1010111,0111 ja 1101110,101 e) 10111001,0011 ja 1101010, 1101
11101010,11 ja 10111101,011 c) 1011011, 1011 ja 1101101,0111 f) 11001111,1011 ja 1110101,0111
Ülesanne 1e
Arvutada
järgmiste kahendarvude korrutised.
1101011,01 * 1001 ,1 b) 1011010,11 * 1010 ,01 c) 101011,101 * 1101,01 d) 1100100,101 * 1011,101
Ülesanne 1f
Arvutada
järgmiste kaheksandarvude summa ja vahe.
1304 ,065 ja 672,744 b) 4512,63 ja 2764,45 c) 324,6025 ja 715,2543 d) 5034,21 ja 4651,74
Ülesanne
2
Arvutada
järgmiste kaheksandarvude korrutised.
571,4 * 3,65 c) 371,65 * 43,1 b) 64,25 * 27,4 d) 267,45 * 15,2 e) 415,03 * 30,52
Loogikafunktsioonid ja loogikalülitused
Loogikatehted
Loogikalülituste projekteerimine , talitlus ja selle analüüs põhineb loogikaalgebral
( Boole 'I algebra ). Muutujatel saab siin olla ainult kaks väärtust 0
- väär ja 1 - tõene. Seepärast nimetatakse seda loogikat ka
binaarloogikaks.
Loogilisi muutujaid tähistatakse ladina tähestiku tähtedega.
Sõltumatuid muutujaid ( sisendeid ) nimetatakse argumentideks,
neist sõltuvaid muutujaid aga funktsioonideks. Loogikafunktsiooni kõik argumendid on loogilised muutujad, millel on
kaks väärtust 0 ja 1. Kõiki loogikafunktsioone väljendavad kolm
põhitehet: loogiline korrutamine, loogiline liitmine ja loogiline eitus .
Loogiline
korrutamine (NING).
NING-funktsioon on võrdne ühega ainult juhul, kui kõik argumendid
on võrdsed ühega. Tehte tähistamiseks kasutatakse nii harilikku
korrutusmärki ( • ) kui ka loogilise korrutamise eritähist -
katust (∧).
Loogilist korrutamist nimetatakse ka konjunktsiooniks (conjunction).
Loogiline
liitmine (VÕI).
VÕI-funktsioon on üks siis, kui kas või üks argumentidest võrdub
ühega. VÕI-tehte tähistamiseks kasutatakse kas pluss (+) märki
või loogilise liitmise eritähist - V tähe kujulist märki (∨).
Loogilist liitmist nimetatakse ka disjunktsiooniks (disjunction).
Loogiline
eitus (EI).
EI-funktsioonil on argumendi vastandväärtus. Kui argument on 1,
siis funktsioon võrdub 0 ning vastupidi. EI-tehet tähistatakse
kriipsuga sümboli peal, näiteks argumendi x
eitus
on x
.
Loogilist eitust nimetatakse ka inversiooniks (negation).
Loetletud
kolm loogikatehet moodustavad loogiliselt
täieliku süsteemi,
mida rakendades saab realiseerida mis tahes loogikafunktsiooni. Kõiki
kolme loogika põhifunktsiooni on loogikaalgbra reeglite alusel
võimalik realiseerida ainult üht tüüpi loogikaelementide kas
NING-EI või VÕI-EI abil. Järelikult võib NING-EI- ja
VÕI-EI-elemente ning tehteid nendega nimetada universaalseteks
loogikaelementideks ja -teheteks.
Loogikalülitused
Lisaks
põhifunktsioonidele leiavad kasutamist mitmed loogika
tüüpfunktsioonid, nagu alternatiiv , ekvivalentsus , implikatsioon
jt. Niisuguste funktsioonide ja elementide olemasolu lihtsustab
loogikalülituste sünteesi. Loogikafunktsioonidest ja loogika
tüüpelementidest annab ülevaate tabel 1.3. Tabelis on peale
loogika põhielementide (1…3) esitatud mitmesugused kombineeritud
loogikaelemendid (4…9) ning mäluelement
ehk triger (10).
Keerukamaid loogikalülitusi, mis koosnevad paljudest
loogikaelementidest ning on ette nähtud kindlate funktsioonide
täitmiseks, nimetatakse funktsionaalseteks
loogikalülitusteks.
Kõiki loogikalülitusi liigitatatkse mäluta
kombinatsioonloogikalülitusteks
ja
mäluga järjendloogikalülitusteks.
Loogikafunktsioonid ja –elemendid
Loogikaseadused
Loogikaseadusteks
nimetatakse tavaliselt binaarloogika algebra ehk Boole' i algebra
seadusi. (George
Boole [2.11.1815-8.12.1864],
inglise matemaatik ja loogik oli üks matemaatilise loogika rajajaid .)
Algebraks nimetatakse üldjuhul elementide hulka, millega tehakse
tehteid, kusjuures nende tehete aluseks on kindlad reeglid ehk aksioomid . Aksioomid määravad ära algebra põhitehete omadused ja
seosed. Kuna nüüdismatemaatikas on palju algebra like
(universaalalgebra, hulgaalgebra, loogikaalgebra ), siis kehtivad neis
ka erinevad tehted ja aksioomid. Boole'i algebra elementideks on
binaarloogika signaalid (argumendid) kahe tõeväärtustega:
väär ehk 0 ( false )
ja tõene ehk 1 (true).
Võib lisada et polüvalentse (mitmevalentse) loogika puhul on
tegemist enam kui kahe erineva tõeväärtusega.
Hägusloogika
(fuzzy
logic)
puhul antakse tõeväärtustele tõenäosuslikud hinnangud .
Nüüdisaegne
digitaal- ja arvutustehnika põhineb binaarloogikal.
Käesolevas raamatus käsitletakse samuti ainult binaarloogikat.
Loogikasignaalidega
saab sooritada kõiki loogikatehteid ning moodustada suvalisi
loogikafunktsioone. Loogikatehete kohta kehtivad järgmised
binaarloogika
aksioomid:
Argumentide järjekorda võib tehtes muuta
Sulgusid võib avada ehk funktsiooni võib teisendada loogiliste osakorrutiste summaks
Funktsiooni võib teisendada loogiliste osasummade korrutiseks
Argumendi ja tema eituse loogiline korrutis võrdub nulliga ega muuda loogilise summa väärtust
Suvalise argumendi ja tema eituse loogiline summa võrdub alati ühega
Suvalise argumendi ja tema eituse loogiline korrutis võrdub alati nulliga
Loogikatehete
ja aksioomide põhjal leitakse kahendarvude kohta kehtivad
loogikareeglid ja alljärgnevad kahendarvude
loogikatehted:
Võrdluseks
võib esitada kahendarvude aritmeetikatehted :
Kahendarvude
loogika- ja aritmeetikatehted langevad enamuses kokku, välja arvatud
loogiline ja aritmeetiline liitmistehe 1∨1
= 1 ning 1+1 = 10 , mille tulem on erinev. Seepärast tuleb loogika-
ja aritmeetikatehteid kindlalt eristada ja loogikatehete
tähistamiseks võib kasutada aritmeetikatehete märke vaid juhul kui
pole ohtu neid tehteid segi ajada.
Loogikaaksioomide
põhjal tuletatakse peamised loogikaseadused:
Domineerimisseadus I. Suvalise muutujate hulga konjunktsioon on null (tühihulk), kui kas või ainult üks muutujatest võrdub nulliga
Domineerimisseadus II. Suvalise muutujate hulga disjunktsioon on üks (universaalhulk), kui kas või ainult üks muutujatest võrdub ühega
Indempotentsus- ehk samaväärsusseadus (kehtib ka kolme ja enama muutuja kohta). Argumendi loogiline korrutamine või liitmine iseendaga ei muuda tulemi väärtust
Eituse eitamise seadus. Argumendi väärtus tema kahekordsel eitamisel ei muutu
Komplementaarsus - ehk täiendiseadus. Argumendi ja tema eituse ehk täiendi loogiline korrutis on null, loogiline summa üks
Kommutatiivsusseadus. Argumentide järjekorda loogikatehetes võib muuta
Assotsiatiivsusseadus. Mitme argumendi loogilist korrutamist ja loogilist liitmist võib sooritada suvalises järjekorras või samaaegselt
Distributiivsusseadus ( sulgude avamise seadus). Argumentide loogilist summat võib loogiliselt korrutada argumendiga a või korrutada esmalt kõiki argumente a-ga ning seejärel need korrutised loogiliselt liita. Argumentide loogilisele korrutisele võib liita argumendi a või esmalt liita loogiliselt kõikidele argumentidele a ning seejärel need 20 summad loogiliselt korrutada. Kui esimene teisendus vastab sulgude avamisele arvude algebras, siis teine on rakendatav üksnes loogikaalgebras
Absorbtsiooni - ehk neelduvusseadused. Kui kahe argumendi loogilist summat, kus üheks argumendiks on a, korrutada sama argumendiga a, siis teine argument neeldub ning tulemiks on samuti a. Sama kehtib ka siis, kui korrutatavaid summasid on rohkem ning kui kõigis neis sisaldub ühe argumendina a. Seadus on rakendatav nii summade korrutiste kui ka korrutiste summade kohta. Kui osasummas või osakorrutises sisaldub argumendi a eitus (inversioon), on tulemiks a ja teise argumendi korrutis ab või summa a+b
Kleepimisseadus. Kui üks loogiline korrutis sisaldab argumenti b ja teine selle eitust, siis nende korrutiste loogilisel summeerimisel argument koondub. Kui üks loogiline summa sisaldab argumenti b ja teine selle eitust, siis nende summade loogilisel korrutamisel argument koondub
Üldised
kleepimisseadused:
De Morgani seadused. Argumentide loogilise korrutise eitus võrdub nende argumentide eituste loogilise summaga . Argumentide loogilise summa eitus võrdub nende argumentide eituste loogilise korrutisega. De Morgani seadusi rakendades saab asendada loogilise liitmistehte loogilise korrutamisega ning vastupidi loogilise korrutamise tehte loogilise liitmisega
Üldistatud
De Morgani ehk Shannoni seadus
Loogikaseadusi
saab tõestada loogika tõeväärtustabelitega või
relee-kontaktskeemide abil. De Morgani seaduste tõestus loogika
tõeväärtustabelite abil on toodud tabelis. Ühtlasi näitab tabel
kätte võimaluse kuidas loogilist NING-EI elementi saab asendada
loogikalülitusega mis koosneb VÕI-EI elementidest.
Boole'i
ehk loogikafunktsioonide teisendamiseks eraldatakse nende hulgast nn
elementaarfunktsioonid. Nendeks on esiteks kõik mõeldavad kahe
muutuja funktsioonid, sealhulgas eespool vaadeldud inversioon,
disjunktsioon ja konjunktsioon; kahe muutuja funktsioone on kokku 16.
Teiseks kuuluvad elementaarfunktsioonide hulka kõik rohkem kui kahe
argumendiga funktsioonid, milles argumendid on omavahel seotud kas
ainult disjunktsiooni- või ainult konjunktsioonitehtega.
Boole'i
funktsiooni standardesituseks on tema normaalkuju . Loogikafunktsiooni
normaalkuju koosneb elementaarkonjunktsioonidest
(konjunktsioonitehte
abil seotud otsestest või inverteeritud muutujatest, kus iga muutuja
esineb vaid üks kord). Kui loogikafunktsioon on esitatud
elementaarkonjunktsioonide disjunktsioonina, nimetatakse esitusviisi
funktsiooni disjunktiivseks
normaalkujuks (DNK).
Vähem kasutatakse loogikafunktsiooni konjunktiivset
normaalkuju (KNK),
mil funktsioon esitatakse elementaardisjunktsioonide
konjunktsioonina. Kui funktsiooni disjunktiivse normaalkuju iga elementaarkonjunktsioon sisaldab kõiki muutujaid, nimetatakse
funktsiooni esitusviisi tema täielikuks
disjunktiivseks normaalkujuks (TDNK).
Täielikku disjunktiivset normaalkuju on hõlpus leida
loogikafunktsiooni oleku- ehk tõeväärtustabelist.
Loogikaelemendid
Dioodelement
VÕI
Kui
ühes sisendis on loogiline üks, siis vastav diood avaneb ning vool
läbib avanenud dioodi ja takistit R1. Takistil tekib kõrge pinge
ehk loogiline üks. Pinge on selline, et ülejäänud dioodid on
suletud. Kui loogiline üks on mitmes sisendid , siis kõik vastavad
dioodid avanevad ja väljundis on üks. Kui kõigis sisendites on
null, siis on kõik dioodid suletud ja väljundis on loogiline null.
Lülituse puuduseks on see, et pole võimalik saada võimendust ja
kuna igale dioodile jääb dioodi päripinge lang, siis ühendades
mitu sellist elementi järjest, jääb väljund pinge igakorraga
väiksemaks.
Dioodelement JA
+E
Kui
mõnes sisendis on null, siis vastavad dioodid on avatud ning vool
kulgeb läbi avatud dioodide ja väljundis on madal potentsiaal ehk
loogiline null. Kui kõikides sisendites on üks, siis on kõik
dioodid suletud ja väljundis on kõrge potentsiaal ehk loogiline
üks. Puuduseks on see, et lülitus ei anna võimendust ja kui
ühendada selliseid lülitusi üksteise järel mitu, siis hakkab
väljundpinge kasvama, kuna igale avatud dioodile jääb päripinge
lang.
Transistorelement EI ehk inverter
Kui
sisendis on madal potentsiaal ehk loogiline null, siis on transistor sulge režiimis, tema kollektori pinge on suur ja väljundis on
loogiline üks. Kui sisendis on kõrge potentsiaal ehk loogiline üks,
siis töötab transistor küllastusrežiimis, tema kollektori pinge
on väike ja väljundis on loogiline null.
TTL (transistor-transistor loogika) JA-EI
Kui
kõikides sisendites on üks, siis V1 emittersiirded suletud ja vool
kulgeb V2-he baasile. V2 avaneb ja R3-l tekib suur pingelang, mis
antakse v4 baasile. V4 on küllastuse ja väljundis on null. Samal
ajal on V3 baasil väike pinge, mis hoiab V3-e suletuna. Diood V5 on
selleks, et V3 oleks kindlalt suletud kui V4 on küllastuses.
Kui
mõnes sisendis on null, siis on V1 vastavad emittersiirded avatud ja
V2 on suletud. Kuna V4 baasil on väike pinge, siis on V4 samuti
suletud ja väljundis on loogiline üks. Samal ajal on V3 baasil
kõrge pinge, mis tõttu V3 on avatud.
MOP loogika
Põhiliselt
kasutatakse indutseeritava kanaliga väljatransistore, sest nende
valmistamine on kõige lihtsam. Selline transistor võtab väga vähe
ruumi, mille tulemusel saadakse integraallülituses kõrge
integratsiooniaste. MOP transistore kasutatakse ka takistina,
mistõttu integraallülituse organiseerimiseks ei ole vaja muid
elemente kui ainult MOP transistore.
n-MOP loogika
Joonisel
on inverteri skeem n kanaliga väljatransistoridel. Ülemine
transistor töötab takistina mille takistus sõltub paisule antavast pingest . Kui sisendis X on loogiline üks, siis on alumises
transistoris kanal , mis tõttu tema takistus on väike ja väljundis
on loogiline null. Kui sisendis on null, siis alumises transistoris
kanal puudub, tema takistus on lõpmata suur ja väljundis on
loogiline üks.
Komplementaarne MOP loogika
Joonisel
on inverter. Üks ja sama sisendpinge mõjub erineva kanaliga
transistoridele erinevalt. Kui anda sisendisse loogiline üks, siis
alumises transistoris tekib kanal, ülemises transistoris kanal
puudub ja väljundis saadakse loogiline null. Kui sisendis on
loogiline null, siis alumises transistoris kanal puudub, ülemises
transistoris tekib kanal ja väljundis saadakse loogiline üks.
Mõlemas väljakujunenud režiimis on üks transistoridest suletud ja
inverter ei tarbi voolu. Voolu tarbimine toimub ainult siis, kui
toimub ümberlülitamine ühest olekust teise.
JA-EI
Selleks
et saada väljundisse loogiline null peavad mõlemas sisendis olema
loogiline üks. Kui mõlemas sisendis on loogiline üks, siis on
mõlemad n-kanaliga transistorid avatud ja p-kanaliga transistorid
suletud. Selleks et saada väljundisse loogiline üks peab kas või
ühes sisenditest olema loogiline null. Sel juhul on vähemalt üks
n-kanaliga transistoridest suletud ja üks p-kanaliga transistoridest
avatud.
Kombinatsioonseadmete süntees
Loogikalülituste
konstrueerimisel on oluline lülitust võimalikult lihtsustada, mis
vähendab lülituse hinda ja koostamise töömahtu. Seepärast tuleb
juba loogikalülituste sünteesil funktsioone kindlate kriteeriumide
järgi minimeerida. Kõige enam on läbi töötatud
loogikafunktsioonide täielike disjunktiivsete normaalkujude
minimeerimismeetodid. Tavaliselt on eesmärgiks leida minimaalse
pikkusega loogikafunktsiooni algebraline avaldis , milles on
minimaalne arv sisendmuutujate tähiseid, näiteks minimaalne disjunktiivne normaalkuju ehk
MDNK.
Loogikafunktsioonide minimeerimiseks kasutatakse 1) vahetut
lihtsustamist, 2) lihtsustamist Karnaugh kaardi abil, 3) Quine - Mc
Cluskey meetodit, 4) Blake' i meetodit jms.
Karnaugh
kaart on
loogikafunktsiooni tõeväärtustabeli ehk olekutabeli erikuju, mida
kasutatakse funktsiooni minimeerimiseks. Karnaugh kaart on ruudu- või
ristkülikukujuline lahterdatud tabel. Lahtrite arv sõltub
funktsiooni sisendmuutujate (argumentide) arvust n
ning
vastab muutujate kombinatsioonide arvule 2n.
Muutujad ja funktsiooni väärtsused paigutatakse tabelisse nii, et
võimalik oleks esitada kõiki muutujate kombinatsioone. See eeldab
muutujate erilist paigutust, nagu on näidatud joonisel. Klambriga
hõivatud alas on muutujal otsene, väljaspool klambrit aga
inverteeritud väärtus. Karnaugh kaarti saab koostada
loogikafunktsiooni tõeväärtustabeli või algebralise võrrandi
järgi. Karnaugh kaardi iseloomulikuks omaduseks on, et funktsiooni
väärtused erinevad kõrvuti asuvates lahtrites vaid ühe muutuja
poolest, s. t naaberlahtrisse minekul muudab (inverteerib) oma olekut
vaid üks sisendmuutuja. Seejuures loetakse naabriteks ka kaardi
äärmised vasakpoolsed ja äärmised parempoolsed ning ülemised ja
alumised lahtrid . Naaberlahtreid, mis erinevad vaid ühe muutuja
poolest, kasutatakse loogikafunktsiooni minimeerimiseks.
Karnaugh
kaardid kahe (a),
kolme (b)
ja nelja muutuja (c)
loogikafunktsiooni jaoks
Seejärel
kirjutatakse loogikafunktsiooni avaldis disjunktiivsel normaalkujul,
milles igale kontuurile vastab elementaarkonjunktsioon muutujatest,
mis terve kontuuri jaoks on kas inverteerimata või inverteeritud.
Vaadelgem
näidet, mille puhul on loogikafunktsiooni z
= f(a, b, c) täielik
disjunktiivne normaalkuju
Avaldist saab lihtsustada, kui tuua muutujad sulgude ette, kuid see ei
kindlusta soodsaima lahenduse saamist. Loogikalülituse
minimeerimiseks on otstarbekas kasutada Karnaugh kaarti, millele
vastab tuudud olekutabel,
kus on toodud kõigile võimalikele sisendsignaalide
kombinatsioonidele vastavad väljundsignaali(de) väärtused.
Karnaugh kaardil moodustatakse ühtedega täidetud ruutudest
ristkülikukujulised lahtrid suurusega 1, 2, 4, 8, ... ruutu ,
taotledes et ruudud oleksid nii suured kui võimalik. Kontuurid
võivad üksteisega ka kattuda.
Vaadeldava
kaardi tarvis saab kirjutada loogikafunktsiooni järgmisel kujul:
Kui
tuua muutujad sulgude ette, saab avaldise tähtede arvu veelgi
vähendada
Sellele
avaldisele vastab loogikalülitus joonisel
Vaadelgem
minimeerimise näitena summaatori ülekande loogikafunktsiooni
minimeerimist. Loogikafunktsiooni saab esitada Karnaugh kaardiga.
Kaardil saab eristada kolme naaberlahtrite paari, mille puhul
funktsiooni väärtus võrdub ühega.
Kolme
lahtrite paar kohta saab kirjutada loogikafunktsiooni lihtsustatud
kujul
Trigerid
JA-EI
ja VÕI-EI elementide aktiivsed ja passiivsed nivood
JA-EI
elemendi aktiivseks nivooks on null, sest kui mingis sisendis on
null, siis hoolimata teisest sisendist on väljundis kindlasti üks.
JA-EI elemendi passiivseks nivooks on üks, sest kui mingis sisendis
on üks, siis ei ole teada mis on väljundis.
VÕI-EI
elemendi aktiivseks nivooks on üks ja passiivseks nivooks on null.
Trigeri mõiste
Triger
on seadis, mis on ettenähtud loogilise muutuja ühe järgu
säilitamiseks. Trigeril on kaks stabiilset olekut null ja üks.
Vajalikku olekusse viiakse triger sisendsignaalide abil. Trigeril on
kaks väljundit, otseväljund ja inversioonväljund. Trigeri oleku
määrab nivoo otseväljundis. Kui otseväljundis on null, siis on
triger olekus null. Kui otseväljundis on üks, siis on triger olekus
üks.
Kasutatavad tähised
R
- reset – sisend trigeri viimiseks olekusse null
S
– set – sisend trigeri viimiseks olekusse üks
K
– kill – sisend universaaltrigeri viimiseks olekusse null
J
– jump – sisend universaaltrigeri viimiseks olekusse üks
T
– trigger – loendussisend
D
– data, delay – infosisend trigeri viimiseks olekusse, mis on
antud sisendisse
C
– clock – sünkroniseerimis ehk juhtsisend
Trigerite liigid
Tööpõhimõtte
järgi jaotatakse trigerid:
RS
ehk seadesisendiga triger
D
ehk andmesisendiga triger
JK
ehk universaalsisendiga triger
T
ehk loendussisendiga triger
Sisendsignaali järi jaotatakse trigerid:
Asünkroonsed
trigerid – sisendsignaalid mõjuvad alates saabumise hetkest.
Sünkroonsed
trigerid – sisendsignaalid mõjuvad ainult sünkro impulsi
saabumisel juhtsisendile C.
Sünkroonsed
trigerid jagunevad:
Staatilise
juhtimisega, kus trigeri ümberlülitumine toimub siis, kui sünkro
sisendis on üks või null.
Dünaamilise
juhtimisega, kus trigeri ümberlülitumine toimub sünkro signaali
muutumisel nullist ühte või ühest nulli.
Trigerid
võivad olla ühetaktilised või kahetaktilised.
Asünkroonne RS - triger
Asünkroonse
ühetaktilise RS-trigeri
saab
koostada VÕI-EI- või JA-EI-elementidega, mis ühendatakse nii, et
moodustuks positiivne tagasiside. Seepärast on trigeril võimalik
vaid kaks stabiilset olekut, kus ühe elemendi väljundis on signaal 1 ja teise elemendi väljundis 0. Trigeri otsene väljund seatakse olekusse 1, kui sisendisse S
(set)
antakse signaal 1. Otsene väljund seatakse olekusse 0, kui
sisendisse R
(reset)
antakse signaal 1. Juhul kui sisendite S
ja
R
signaalid
on 0-d, säilitab triger väljundis oma endise oleku. Kui mõlemasse
sisendisse antakse korraga signaal 1, muutuvad nii otsene kui ka
inverteeritud väljundsignaal määramatuks, mistõttu niisugune
signaalikombinatsioon pole lubatud. RS- trigereid nimetatakse ka seadesisenditega
trigeriteks.
Kui
kasutada JA-EI elementidel baseeruvat RS-trigerit, siis on vahe
selles, et aktiivseks nivooks on 0 ja pasiivseks nivooks on 1.
Sünkroonne RS-triger
Sünkroonne
ühetaktiline RS-triger
erineb
asünkroonsest trigerist selle poolest, et trigeri olek muutub vaid
kindlail sünkroimpulssidega määratud ajahetkeil. Lisaks
infosisenditele S
ja
R
on
tal veel sünkroniseerimissisend C
(clock).
Trigeril võivad olla korraga nii sünkroonsed kui ka
mittesünkroonsed sisendid. Sünkroniseeritud infosisend toimib
hetkel, mil saabub sünkroniseerimissignaal.
Sünkroonne kahetaktiline RS-triger
Kahetaktiline
RS-triger
koosneb
kahest järjestikku lülitatud ühetaktilisest trigerist.
Ühetaktilise trigeri puuduseks on, et ta ei võimalda samaaegselt
infot vastu võtta ja edastada , sest tema väljund muutub kohe pärast
sisendsignaali saabumist. Järelikult on info sisestamise hetkel
väljundi olek ebamäärane, s. t pole teada, kas sealt loetakse
trigeri eelmist või järgmist olekut. Probleemi lahendab
kahetaktiliste sünkroonsete trigerite kasutamine. Trigeri esimese ja
teise astme sünkroniseerimissignaal on pool perioodi nihutatud.
Seega kirjutatakse sünkroniseerimissignaali esimese poolperioodi
jooksul info sisendist trigeri esimesse astmesse ning samal ajal on
väljundist võimalik lugeda trigeri eelmisele taktile vastavat
olekut. Teise poolperioodi jooksul viiakse info trigeri esimesest astmest teise, mille järel triger on valmis järgmisteks
infovahetusteks. Kahetaktilise trigeri oleku muutumine toimub pärast
sünkroniseerimissignaali lõppu, s. t tema tagafrondiga.
Kahetaktiliste trigeritega saab koostada suvalisi loogikaskeeme,
sealhulgas ühendada trigeri väljund kokku sisendiga. Peale
sünkroniseeritud sisendite võivad kahetaktilisel RS-trigeril
olla ka mittesünkroniseeritud sisendid. Seadesisenditega RS-trigerid
on aluseks teiste trigerilülituste koostamisel.
D-triger
Andmesisendiga
D-triger
on
ühe infosisendiga. Trigeri väljundsignaal kordab sisendsignaali,
kuid see toimub ajaliselt sünkroniseerimisimpulsside perioodi
(ühetaktilise trigeri korral poole perioodi) võrra hiljem. Seega
võimaldab D-triger
lühiajaliselt säilitada informatsiooni, mis paljude loogikaseadmete
juures on väga oluline. D-trigeri
saab koostada RS-trigerist,
kui juhtida selle S-
ja
R-
sisendeid
korraga, S- sisendit otse ja R-sisendit
läbi inverteri. Sel juhul töötab triger ainult seaderežiimis, s.
t tal puudub hoiderežiim. Ühist sisendit tähistatakse tähega D
(data,
delay).
D-triger
töötab vastavalt loogikafunktsioonile Q(t
+1)=
D(t).
JK-triger
JK-trigerid
on lihtsate täiendustega muudetavad nii seade-, loendus- kui ka
andmesisenditega trigeriteks. Sisendid J
(jump)
ja K
(key)
vastavad sisenditele S
ja
R,
s.t signaal 1 sisendis J
viib
trigeri olekusse 1 ning signaal 1 sisendis K
olekusse
0 sõlutumata sellest, mis olekus triger varem oli. Erinevalt
RS-trigerist
võib JK-trigeri
sisenditesse J
ja
K
anda
korraga signaalid 1, mis muudab trigeri oleku vastupidiseks. Seega
toimib JK-triger
niisugusel juhul nagu loendussisendiga T-triger.
JK-triger
toimib vastavalt loogikafunktsioonile
T-triger
Loendussisendiga
T-trigeril
on
vaid üks infosisend T
(trigger,
toggle),
kus iga järgnev sisendimpulss 1 muudab trigeri oleku vastupidiseks.
Signaali 0 korral olek ei muutu. T-triger
realiseerib loogikafunktsiooni
See
funktsioon vastab loogikafunktsioonile alternatiiv ehk summeerimine mooduli 2 järgi. Asünkroonse T-trigeri
saab koostada kahetaktilisest RS-trigerist,
kui rakendada seal täiendavaid tagasisidesid ning kasutada sisendina
T
sünkroniseerimissisendit
C.
Sünkroonse T-trigeri
saamiseks tuleb RS-trigeri
sisendisse lülitada loogikaelemendid JA. T-trigerite
põhiliseks kasutusalaks on loendurid.
Registrid
Registriks
nimetatakse trigeritest koosnevat seadet , mis võimaldab salvestada,
säilitada ning taasesitada infot ühe sõna kaupa. Lisaks
nihutatakse registri abil infosõna bitte vasakule või paremale.
Sõna nihutamisega muundatakse rööpkoodis esitatud info jadakoodiks
ning vastupidi jadakoodis esitatud info rööpkoodiks. Sõna pikkus
sõltub registri trigerite arvust ning võib olla väga erinev. Enam
on levinud 8-, 16-, 24- ja 32-bitised registrid, mis vastavad
sõnapikkusele 1, 2, 3 ja 4 baiti . Registri põhimõtteskeem on
joonisel. Registrit juhitakse signaalidega vastuvõtt ehk kirjutus (write)
ja 0-seade (reset).
Signaaliga write
kirjutatakse
sisendite A0...An
informatsioon
registrisse, signaaliga reset
aga
kustutatakse sealt. Juhul kui info kirjutatakse trigeritesse mõlema
sisendi S
ja
R
kaudu
parakoodis (otse ja inverteeritult), pole eelnenud informatsiooni
kustutamine (reset)
vajalik ning registril puudub vastav juhtimissisend.
Nihkeregistri
koostamiseks kasutatakse nii RS-,
D-
kui ka JK-trigereid.
RS-trigeritega
nihkeregistri skeem on järgneval joonisel. Trigeri otsene ja
inverteeritud väljund ühendatakse järgmise trigeri
seadesisenditega S
ja
R.
Seega toimub iga taktiga infosõna nihutamine ühe biti võrra.
Sõltuvalt sellest kuidas trigerid omavahel ühendatakse, nihkub
infosõna kas paremale või vasakule. Iga takti keskel nihutab
sünkrosignaal info trigerite esimestest astmetest teistesse.
Loendurid
Loenduriks
nimetatakse impulsside loendamiseks ette nähtud loogikalülitust.
Loendureid kasutatakse nii automaatikaseadmetes kui ka
arvutustehnikas. Energeetikas tarvitatakse loendure näiteks
elektriarvestites, elektriajamite asendiandurites jm. Loendure
liigitatakse summeerivateks (päripidi loendavateks), lahutavateks
( tagurpidi loendavateks) ja reversiivseteks. Sõltuvalt signaali
ülekande viisist loenduri trigerite vahel jaotatakse loendure jada-
ja rööpülekandega loenduriteks.
Jadaülekandega
loendur koosneb
järjestikku lülitatud T-trigeritest.
Iga sisendimpulss x
lülitab
oma tagafrondiga ahela esimese trigeri ringi. Iga kahe sisendimpulsi
järel lülitub trigeri väljund korraks sisse ja välja, s. t tema
väljundimpulsside muutumise sagedus on kaks korda väiksem kui
sisendimpulssidel. Võib öelda, et loendussisendiga trigger jagab impulsside sageduse kahega. Ahela teise trigeri väljundis on sagedus
4 korda, kolmanda trigeri väljundis 8 korda, neljanda trigeri
väljundis 16 korda jne väiksem.
Jadaülekandega
loenduri puuduseks on signaali ülekandel tekkiv hilistumine th,
mis suureneb koos loenduri astmete arvuga. Suure loendusastmete arvu
ning taktiimpulsside sageduse korral võib hilistumine ületada takti
kestuse. Sel juhul ei vasta loenduri väljundsignaal enam tegelikult
loendatud impulsside arvule ning süsteemis tekib viga. Vea
vältimiseks tuleb vähendada taktiimpulsside sagedust, mis omakorda
alandab kogu seadme töökiirust.
Rööpülekandega
loendurit kasutatakse
suure töökiirusega seadmetes . Võrreldes jadaülekandega loenduriga
toimub trigeritevaheline signaalide ülekanne kõigi astmete jaoks
korraga ning seetõttu ei sõltu hilistumine loenduri astmete arvust.
Rööpülekandega loenduri skeem ja signaalidiagramm on joonisel.
Rööpülekandega
loenduri iseärasuseks on, et sisendimpulsid antakse kõikidele
trigeritele korraga ning eelmiste astmete väljundid lülitatakse
järgmiste astmete trigerite sisenditesse. Nii valmistatakse
järgmised astmed ette ümberlülitumiseks, mis toimub sisendimpulsi
saabumisel sõltumatult sellest, kus ahela osas triger asub. Lülituse
puuduseks on, et ahela trigerite arvu suurenemisel kasvab ka vajalik
sisendite arv ning skeemi keerukus . Seepärast pole rööpülekandega
loenduril tavaliselt rohkem kui 4...5 astet. Rööpülekandega
loenduri eeliseid saab kasutada juhul, kui lülitada ta
rühmaülekandega loenduri skeemi. Rühmaülekandega loendur koosneb
mitmest 4-järgulisest rööpülekandega loendurist, mille vahel
kasutatakse signaali jadaülekannet. Tänu sellele väheneb loenduri summaarne hilistumine 4 korda.
Tagasiloendur loendab impulsse kahanevate arvudega. Jadaülekandega tagasiloenduri skeem
sarnaneb edasiloenduri skeemiga , erinedes viimasest vaid selle
poolest, et ülekanne võetakse trigeri inverteeritud väljundist.
Edasi-tagasiloendur
loendab
impulsse nii päri- kui ka vastupidi. Loendussuuna muutumine toimub
sõltuvalt sellest, kas ülekandeks kasutatakse trigeri otsest või
inverteeritud signaali. Trigerite väljundsignaalide kommuteerimiseks
rakendatakse kõigi astmete vahel täiendavat Välistava VÕI
loogikalülitust.
Summaatorid
Summaatoriks
nimetatakse
arvuti loogikalülitust, mis on ette nähtud arvkoodide
aritmeetiliseks summeerimiseks. Mitmejärgulise kahendarvu summaator koosneb mitmest ühejärgulisest summaatorist. Arvu summeerimisel
tuleb lisaks kahe summeeritava arvu vastavatele järkudele liita
nendega ka nooremate järkude summeerimisel tekkinud ülekanne. Seega
on ühejärgulisel summaatoril kolm sisendit ning kaks väljundit.
Summaatori loogikatabeli ning loogikafunktsiooni saab tuletada
tavapärasest arvude tulba liitmise skeemist:
Vastavalt
liitmise skeemile ning loogikale leitakse kõigile sisendite
kombinatsioonidele väljundite väärtused ning esitatakse need
tabelina. Seda tabelit 1.8 nimetatakse summaatori loogikatabeliks.
Loogikatabeli
põhjal kirjutatakse väljundite jaoks loogikafunktsioonid:
Viimase
avaldise saab lihtsustada kujule
Vastavalt
võrranditele koostatakse ühejärgulise (ühebitise)
kahendsummaatori
loogikaskeem .
Samas on näidatud ka summaatori tingmärk.
Mitmejärgulised
kahendsummaatorid jagunevad:
1)
jadaülekandega,
2)
rööpülekandega ja
3)
rühmaülekandega summaatoriteks.
Jadaülekandega
summaatoris moodustatakse
väljundsignaal arvukohtade järjestikku summeerimisega, alates kõige
nooremast (parempoolsest) kuni kõige vanema ehk vasakpoolsemani
välja. Seega moodustatakse arvu summa ja ülekandesignaalid kõige
nooremas kohas ning alles pärast seda summeeritakse arvude järgmised
kohad. Arvukoha summeerimiseks ja ülekande moodustamiseks kulub
teatud aeg, mida ülekande seisukohalt võib vaadelda hilistumisena.
Kuna ülekanne toimub järjestikku, siis aeglustab see summaatori
tööd. Suure kohtade arvu korral on koguhilistumine võrdne
hilistumiste summaga üksikutes kohtades.
Rööpülekandega
summaatorid töötavad
palju kiiremini kui jadaülekandega summaatorid. Mitmekohalise
kahendarvu summeerimisel moodustatakse ülekanne korraga kõigi
kohtade jaoks. Seetõttu ei kulu ülekandeks lisaaega ning summaator
töötab kiiremini kui jadaülekande korral. Rööpülekandega
summaatori tööpõhimõte on järgmine.
Ülekanne
i+1
järku
on avaldatav võrrandiga
Ülekanne
i
järku
on omakorda avaldatav võrrandiga
Nii
jätkates saab kirjutada ülekande avaldised summaatori kõigi
kohtade jaoks kuni noorema kohani välja. Kui asendada seejärel
ülekanded, alates kõige nooremast, vastavate avaldistega, siis
Valemi
järgi võib konstrueerida skeemi, mis moodustab ülekanded
summaatori kõigi kohtade jaoks korraga. Suure kohtade arvu puhul
muutub skeem aga sedavõrd keeruliseks, et rööpülekandega
summaatori ehitamine osutub ebaotstarbekaks. Seepärast rakendatakse
rööpülekande põhimõtet kombineeritult koos jadaülekandega.
Vastavaid summaatoreid nimetatakse rühmaülekandega
summaatoriteks.
Kommutaatorid
Kommutaatorid
jagunevad multipleksoriteks ja demultipleksoriteks. Multipleksoril
on
mitu sisendit ja üks väljund. Sisendid jagunevad infosisenditeks ja
juhtsisenditeks, kus juures infosisendite arv määrab ära
juhtsisendite arvu ning vastupidi. Vastavalt juhtsignaalile
kommuteeritakse multipleksori väljundisse signaal ühest
infosisendist. Kommuteeritavate infosisendite arv võrdub 2n,
kus n
on
juhtsisendite arv. Järelikult saab kahe juhtsisendiga ehk kahebitise
koodiga kommuteerida 4 sisendit, kolme juhtsisendiga 8 sisendit jne.
Demultipleksoril
on
üks infosisend ja mitu väljundit. Juhtsisendite arv sõltub
väljundite arvust ja vastupidi. Vastavalt juhtsignaalile
kommuteeritakse infosisendi signaal ühte väljundisse. Väljundite
arv on 2n,
kus n
on
juhtsisendite arv.
Koodrid, dekoodrid ja koodimuundurid
Dekooder on
lülitus, mis on ette nähtud etteantud sisendkoodi muundamiseks
soovitud väljundkoodiks. Ta tunneb ära sisestatava kahendarvu ja
annab siganaali vastavasse väljundisse. Dekoodri ülesanneteks on
muundada kahendkoodis arv niisuguseks koodiks, millega saab
aktiveerida nõutava mälupesa, juhtida number- või
tähtindikaatorit, tunda ära mitmesuguseid kodeeritud signaale jne.
Kuna dekoodri väljundisse ühendatavad seadmed on erinevad, siis
kasutatakse nende juhtimiseks ka erinevaid dekoodreid. Näiteks on
indikaatoritest levinumad 7-segmendilised vedelkristall - ja
valgusdioodindikaatorid ning 10-numbrilised huumlahendusindikaatorid.
Seitsmesegmendilise indikaatori dekoodril on reeglina 4 sisendit ning
7 väljundit, kümnenumbrilisel aga 4 sisendit ja 10 väljundit.
Üldjuhul on dekoodril nii mitu sisendit n,
kui mitu kohta on sisendisse antaval kahendarvul. Maksimaalne
väljundite arv võrdub kombinatsioonide arvuga 2n.
Dekoodreid koostatakse peamiselt NING-elementidest.
Suure
sisendite arvu korral kasutatakse dekodeerimiseks nn kaskaadlülitust,
kus esimese astme dekooder aktiveerib ühe teise astme dekoodri ning
see omakorda ühe väljundi.
Seitsmesegmendilise
indikaatori dekooder peab sisendisse antud kahendkoodi kohaselt
lülitama sisse indikaatori segmendid nii, et hakkaks helendama
arvule vastav kümnendnumber. Dekoodril on neli sisendit ja seitse väljundit. Kaheksandat, komasegmenti, dekoodriga ei juhita. Kuna
segment a
ei
helendu numbrite 1 ja 4 korral, siis võib kirjutada, et
Analoogilised
avaldised saab kirjutada ka kõigi ülejäänud segmentide kohta.
ALU
Aritmeetika-loogikaplokk
(ALU
- arithmetic logic unit )
on ette nähtud aritmeetika- ja loogikateheteks kahendarvudega. Kõik
aritmeetikatehted sooritatakse arvude või nende täiendkoodide
summeerimisega ja nihutamisega. Peamised loogikatehted on NING, VÕI,
EI ja Mod2, mille täitmiseks on ALU-s
vastavad loogikalülitused.
Erinevate
tehete selekteerimiseks on aritmeetika-loogikaplokil kommutaator MUX.
Mitmebitiste operandide A
=
an,
an-1 ... a1, a0,
ja B
= bn, bn-1 ... b1, b0 ning
bittide MSB
(most
significant bit)
ja CI
( carry in)
summeerimisel kombinatsioonsummaatoriga saadakse kahendsumma S
=
sn, sn-1...s1, s0 ning ülekandebitid CO
(carry
out)
ja LSB
( least significant bit).
Ülekandebitt CI
tähistab
ülekannet kõrgemast bitist madalamasse ja CO
vastupidi
madalamast bitist kõrgemasse. Mitmebitise ALU
madalaima
ja kõrgeima biti sisendmuutujad on vastavalt LSB
ehk
madalaim bitt (viimane oluline bitt) ja MSB
ehk
kõrgeim bitt (kõige tähtsam bitt). Loogikatehetel ülekannet ei
esine.
Multipleksor
valib etteantud juhtkoodi u2
u1
u0
järgi ühe funktsionaalsetest sisenditest ja suunab selle tulemi
väljundisse Fi.
Näiteks koodi 101 puhul Fi
=
Si
(kahendliitmine
ülekandega Ci+1),
koodi 011 puhul Fi
= aiÙbi jne.
Koodi 000 puhul Fi
=
0 ja koodi 111 puhul Fi
=
1.
Aritmeetikatehete
operandide ja tulemite salvestamiseks kasutatakse registreid.
Kahendsõnad suunatakse registritest ALU
sisenditesse
ja ALU
väljundist
registritesse multipleksorite ja demultipleksorite abil.
Otstarbekas
on registreerida ka tehte tulemi teisi tunnuseid, nagu ületäitumine,
nulltulem, negatiivne tulem jms. Selleks kasutatakse
mikroprotsessoris olekuregistrit.
Teheteks
mitmebitiste kahendarvudega kasutatakse ka vastava bittide arvuga
ALU-sid.
Mitmebitise ALU
saab
koostada ühebitistest ALU-dest.
ALU
loogikaskeem
ja lihtsustatud tähis on joonisel.
Mälud
Mäluks
nimetatakse informatsiooni salvestamiseks (kirjutamiseks),
säilitamiseks ja lugemiseks ettenähtud seadmeid. Mälu iseloomustab
mälu maht Kbaitides, Mbaitides või Ksõnades, infosõna pikkus
bittides või baitides ning mälu töökiirus, s.t mälu poole
pöördumise aeg mikrosekundites. Mälusid liigitatakse sõltuvalt
tööpõhimõttest ning kasutusviisist. Üks võimalikke mälude
liigitusi on joonisel.
Muutmälu
on
seade informatsiooni (programmide, lähte- ja vaheandmete ning
tulemite) lühiajaliseks salvestamiseks, säilitamiseks, otsinguks
ning lugemiseks. Muutmälud jagunevad staatilisteks ja dünaamilisteks
muutmäludeks.
Püsimälu
kasutatakse
programmide ning andmete pikaajaliseks säilitamiseks ja lugemiseks.
Püsimälud jagunevad ühekordselt programmeeritavateks ja
ümberprogrammeeritavateks püsimäludeks. Ühekordselt
programmeeritavaid mälusid liigitatakse sõltuvalt sellest, kas need
programmeeritakse tehases mälukiibi valmistaja poolt või
programmeerib neid kiibi kasutaja. Ümberprogrammeeritavaid
püsimälusid saab
kasutaja vajaduse korral kustutada ja uuesti programmeerida.
Muut-
ja püsimälude töökiirus peab olema võimalikult suur.
Muutmälud
Muutmälude
(RAM
- random access memory )
põhiliigiks on pooljuhtmälud, mis koosnevad trigeritest või
muudest mäluelementidest. Muutmälud on toitepingest sõltuvad ning
jagunevad kahte liiki, staatilisteks ja dünaamilisteks.
Staatilises
muutmälus kasutatakse
iga infobiti salvestamiseks ühte trigerit, mis säilitab infot seni,
kuni säilib toitepinge . Kuna staatilises mälus säilib salvestatud
informatsioon ka pärast mälust lugemist, püsides seal toitepinge
olemasolu korral kui tahes kaua, siis nimetatakse niisugust mälu
staatiliseks.
Lihtsaima
staatilise muutmälu struktuur on joonisel. Mälul on 1024 aadressi
ja tema kogumaht on 1024 bitti ehk 1024 pesa. Iga bitt on salvestatud
trigerisse ning triger valitakse rea- ja veerudekoodri abil. Mälu
juhtimiseks kasutatakse järgmisi signaale:
R/W
=
1, (read/write)
määrab ära lugemisrežiimi;
R/W
=
0, määrab ära kirjutusrežiimi;
CS
=
0, (chip select )
lubab mälukiibist bitte lugeda (D0)
või sellesse kirjutada (D1);
CS
=
1, mäluelement on süsteemi tööst välja lülitatud ning ei
reageeri aadressi A9...A0 koodile ega signaalile R/W.
Andmesõna pikkuseks on
tavaliselt
8, 16, 32 jne bitti. Vastavalt andmesõna pikkusele valitakse ka
mäluelementide ühendamisviis.
Dünaamilises
muutmälus säilib
info MOSFET -transistori paisu mahtuvuse
elektrilaenguna.
Tavaliselt säilib see laeng lekkevoolu tõttu väga lühikest aega.
Seepärast
tuleb
info säilitamiseks laengut perioodiliselt näiteks iga 2 ms järel uuendada
(regenereerida).
Dünaamiline muutmälu on staatilise mäluga võrreldes lihtsama
ehitusega
(ühe
biti salvestamiseks läheb vaja umbes kaks korda vähem elemente),
suurema
toimekiirusega
ning tarvitab tööks vähem energiat. Dünaamilise muutmälu
elemendi skeem
on
joonisel.
Mäluna
toimib transistori VT2
paisuahela mahtuvus C1.
Info kirjutatakse mällu ja loetakse sealt siini Y
kaudu
(signaal D).
Enne info lugemist antakse signaal REG,
mis avab transistori VT4,
ning
mahtuvus C2
(siini
Y
parasiitmahtuvus)
laetakse allikast +E.
Seejärel antakse siinile X
kirjutuse/lugemise
sünkrosignaal CWR,
mis avab transistori VT3,
kuid ei saa avada transistori VT2.
Kui
mäluelement säilitab olekut 1, siis on mahtuvus C1
laetud
ja transistor VT2
on
avatud. Sel juhul tühjeneb mahtuvus C2
läbi
avatud transistoride VT2,
VT3 ja
signaali D
0-nivoo
näitab, et mälus säilitati signaali 1 (inversne väljund). Kui
mäluelement säilitab olekut 0, siis on mahtuvus C1
tühjenenud,
VT2
suletud
ja signaal CWR
ei
põhjusta mahtuvuse C2
tühjenemist.
Signaali D
kõrge
nivoo näitab , et mälus säilitati olekut 0 (inversne väljund).
Dünaamilisi
muutmälusid regenereeritakse harilikult regenereerimissignaaliga REG
ja
koos sellega toimub mälu kõigi ridade järjestikune adresseerimine.
Tavaline lugemine ega kirjutamine pole regenereerimise ajal võimalik,
samuti ei saa regenereerimist alustada lugemise ega kirjutamise
tsükli ajal. Regenereerimishetke kindlaksmääramine, kõigi
rea- aadresside etteandmine, lugemise ja kirjutamise blokeerimine jms operatsioonid teevad dünaamiliste pooljuhtmälude kasutamise
võrreldes staatiliste mäludega keeruliseks, sest nad nõuavad
lisaelemente. Dünaamiliste muutmälude eeliseks on väike hind ja
võimsustarve. Neid saab valmistada väga suure
integratsiooniastmega, mis võimaldab toota suure mälumahuga kiipe .
Seepärast ehitatakse arvutite ja mikroprotsessorsüsteemide suuremad
mäluseadmed tavaliselt dünaamilistest mälukiipidest.
Kõigi
muutmälude üheks oluliseks puuduseks on salvestise hävinemine
toitepinge väljalülitumisel. Selle puuduse vältimiseks kasutatakse
avariitoidet (katkematu toite allikaid ) ning muid mäluseadmeid, kus
informatsioon säilib teatud aja ka ilma toitepingeta.
Püsimälud
Püsimälu
(ROM
- read only memory)
on mõeldud korduvaks informatsiooni lugemiseks. Info on salvestanud
püsimällu kas pooljuhtmälukiibi valmistaja või kasutaja. Info
salvestamist püsimällu nimetatakse püsimälu programmeerimiseks.
Püsimälude tähtsamad alaliigid on järgmised: 1) programmeeritav
püsimälu (PROM
- programmable read only memory),
2) ümberprogrammeeritav püsimälu ( EPROM - erasable programmable read only memory);
3) elektriliselt kustutatav ümberprogrammeeritav püsimälu ( EEPROM - electrically erasable programmable read only memory).
Programmeeritavat
püsimälu programmeeritakse
kas tehases integraallülituse valmistamise käigus vastavate tehnoloogiliste maskidega või mikroprotsessorsüsteemi koostaja poolt spetsiaalsete programmaatorite abil. Esimest liiki PROM
on
tavaliselt masstoode, sest tehases salvestatakse sinna enamkasutatavad püsiandmed nagu standardkoodide teisendustabelid,
keerukamate funktsioonide tabelesitused jms. Tarbija salvestab
püsimällu tarbijaprogramme või juhtseadme mikroprogramme.
Ümberprogrammeeritava
püsimälu (joonisel)
programmeerib kasutaja programmaatoriga, kuid salvestatud
informatsiooni on võimalik hiljem kustutada ning püsimälu uuesti
ehk ümber programmeerida. Mälu kustutatakse kas elektriliselt või
ultraviolettkiirguse abil. Püsimäludes kasutatakse samu elemente
kui ümberprogrammeeritavates loogilistes maatriksites. Vaatamata
sellele et EPROM-i
sisu saab hiljem muuta, on püsimälu ümberprogrammeerimine tülikas
ning seepärast tuleb püsimäluprogramme hoolikalt kontrollida ja
siluda ning alles siis salvestada.
Loogilised maatriksid
Loogikaseadmete koostamiseks
kasutatakse peale põhielementide (NING, VÕI, EI) ka universaalseid
loogikalülitusi. Need on
loogilised polüfunktsionaalsed ehk mitmeotstarbelised lülitused,
mille abil realiseeritakse suvalisi binaarloogika funktsioone.
Universaalseteks loogikalülitusteks on kommutaatorid,
programmeeritavad loogilised maatriksid (PLM
- programmable logic matrix )
ja mälud. Ühetaolise ja korrapärase ehituse tõttu nimetatakse
neid ka homogeenseteks pooljuhtstruktuurideks. Üldjuhul nimetatakse homogeenseks polüfunktsionaalsetest elementidest koosnevat
ühesuguste korduvate (iteratiivsete) sidemetega struktuuri.
Polüfunktsionaalseteks nimetatakse elemente, mis realiseerivad
mitmeid loogikafunktsioone. Soovitava funktsiooni valikuks peab
polüfunktsionaalset elementi saama häälestada. Häälestamine
toimub mitmeti: nii vajalike elementidevaheliste ühenduste
lisamisega kui ka olemasolevate ühenduste katkestamisega. Näiteks
olgu püsimälud ja programmeeritavad loogilised maatriksid (PLM).
Samuti on olemas ümberprogrammeeritavad püsimälud ja loogilised
maatriksid.
Struktuurielementide ühetaolisus on
tehnikaseadmete oluline näitaja, see võimaldab lihtsustada seadmete valmistamist , suurendada nende töökindlust ning alandada hinda. Lihtsatest ühetaolistest elementidest valmistatud regulaarsete
sidemetega süsteemid lahendavad väga keerulisi ülesandeid.
Homogeense struktuuriga pooljuhtlülitusi kasutatakse arvutustehnikas
laialt.
Maatriksid
Loogikafunktsioone esitatakse enamasti
nn disjunktiivsel normaalkujul,
s. t funktsioon avaldatakse loogiliste korrutiste loogilise summana,
mis ei sisalda sulgusid. Niisuguste loogikafunktsioonide
realiseerimiseks kasutatakse loogilisi
maatrikseid. Antud lülituses
jagunevad maatriksid omakorda NING- ja VÕI-maatriksiteks. Mõlemat
liiki maatriksid kujutavad endast ristuvate siinide süsteemi, kus
üksikjuhtmeid saab ristumiskohal omavahel ühendada või vastupidi
olemasoleva ühenduse katkestada. Joonisel b on rõht- ja
püstjuhtmete ühenduskohad tähistatud punktiga . Tegelik ühendamine
toimub aga pooljuhtelementidega, millest sagedamini kasutatakse
dioode. Seepärast nimetatakse dioodidel põhinevaid maatrikseid
dioodmaatriksiteks.
Joonisel näidatud maatriks M1
realiseerib
NING-funktsiooni ja selle töö toimub järgmiselt. Sisendsignaalid
u0
... uk saabuvad
maatriksi Ml püstjuhtmetele.
Loogiliste EIelementide abil leitakse nende signaalide inversioonid.
Maatriksi M1 rõhtjuhtmeid
toidetakse takistite kaudu alalispingega +E.
Kui sisendsignaaliga püstjuhe on dioodi kaudu ühenduses
rõhtjuhtmega, nagu näidatud joonisel b, siis kõrge
sisendpotentsiaali ehk loogilise l korral jääb diood suletuks ning
kõrge potentsiaal säilib ka rõhtjuhtmetes. Kui sisendisse saabub
madala potentsiaaliga signaal ehk loogiline 0, siis läbib dioodi
vool, takistil tekib pingelang ning maatriksi rõhtjuhtme potentsiaal
langeb samuti loogilise 0 tasemeni.
Kui ühe rõhtjuhtmega on samaaegselt
ühendatud mitu sisendsignaalidega püstjuhet, siis säilib
rõhtjuhtmes kõrge, s. o loogilisele l vastav potentsiaal vaid
juhul, kui kõigis püstjuhtmetes on samuti kõrge potentsiaal.
Vastupidisel juhul, kui kas või ühes neist on madal potentsiaal,
langeb rõhtjuhtme potentsiaal samuti 0. Seega realiseerib iga
rõhtjuhe loogilist NING-funktsiooni, mille sisendite arv vastab
püstjuhtmetega ühendatud dioodide arvule. Maatriksi erinevate
võimalike NING-funktsioonide arv vastab aga rõhtjuhtmete arvule.
Nagu jooniselt näha, saab suhteliselt lihtsa maatriksiga, mil on homogeenne struktuur, asendada suurt hulka diskreetseid
loogikaelemente.
Maatriksi M1
väljundsignaalideks on
konjunktsioonid, mis on omakorda disjunktiivse ehk VÕI-maatriksi M2
sisendsignaalideks.
Maatriksis M2 kasutatakse
rõht- ja püstjuhtmete ristumiskohtadel ühenduselementidena
transistore, mille kollektorid on ühendatud toiteallika plussklemmiga, baasid maatriksi rõhtjuhtmetega ja emitterid
püstjuhtmetega. Püstjuhtmed on takistite kaudu ühenduses ka
toiteallika 0-klemmiga. Juhul kui maatriksi Ml
väljundist saabub
transistori baasile kõrge potentsiaaliga signaal 1, siis transistor
avaneb ja toiteallika plussklemm ühendatakse läbi transistori
maatriksi M2 püstjuhtmega.
Takistit R2 läbib
vool, mis tekitab takistil pingelangu . Pingelang takistil ongi
maatriksi M2
väljundsignaaliks.
Järelikult, kui kas või üks maatriksi püstjuhtmetega ühenduses
olevatest transistoridest on avatud, tekib väljundis kõrge
potentsiaaliga enk loogilisele l vastav signaal. See tähendab, et
maatriksi M2 iga
püstjuhe realiseerib loogilist VÕI-funktsiooni, mille maksimaalne
võimalike sisendite arv vastab rõhtjuhtmete arvule. Maatriksi M2
poolt realiseeritavate
erinevate VÕI-funktsioonide arv võrdub aga püstjuhtmete arvuga.
Kasutatavate sisendite arv ning funktsioonide sisu valitakse maatriksite häälestamisel, s. o vastavate ühenduste tegemisega
dioodide ja transistoride ahelates. Seega saab loogiliste maatriksite
abil lihtsalt realiseerida suure sisendite arvuga disjunktiivsel
normaalkujul esitatud loogilisi funktsioone, kusjuures üleminek
ühelt funktsioonide hulgalt teisele on suhteliselt lihtne.
Tehnoloogiliselt saab maatrikseid
valmistada mitmeti. Kasutatakse maatrikseid, mille
loogikafunktsioonid on ühenduselementide paigutusega fikseeritud
juba maatriksi valmistamise käigus. Samuti on olemas maatriksid, kus
loogikafunktsioone määravad ühendused teeb maatriksi kasutaja.
Niisuguses maatriksis on potentsiaalsed võimalused suvalise
loogikafunktsiooni realiseerimiseks, kui muutujate arv ei ületa
maatriksi sisendjuhtmete arvu. Kasutamise lihtsustamiseks on
maatriksis olemas ka kõik ühenduselemendid. See, kuidas on tehtud
vajalikud ühendused, sõltub maatriksi valmistamise tehnoloogiast.
Üksikelementidest koostatud maatriksi
ühendusi saab teha näiteks pistikutega kommutatsiooniväljas.
Valdav osa loogilisi maatrikseid toodetakse integraallülitustena
ning oma ehituselt sarnanevad need pooljuhtpüsimälule. Vajalikud
ühendused tehakse maatriksi programmeerimisel, milleks kasutatakse
spetsiaalseid arvutitega juhitavaid programmaatoreid. On olemas nii
ühekordselt programmeeritavaid kui ka ümberprogrammeeritavaid
maatrikseid. Maatriksite ja püsimälude tüüpilised elemendid on
näidatud joonisel a, b, c.
Ühenduselemendina võib kasutada
transistori (joonis a), mille emitteriahelas on sular . Loogilise
maatriksi programmeerimisel põletatakse sular läbi ning ühendus
katkeb. Allesjäänud ühendused tagavad maatriksi programmikohase
töö. Ühenduse läbipõletamisvool on 20...30 mA.
Vajalikke elektrilisi ühendusi saab
tekitada ka joonisel b näidatud kahe vastulülituse dioodiga.
Normaalses olukorras selline dioodipaar voolu ei juhi. Ühenduse
tekitamiseks antakse juhtmele kõrgendatud pinge, mille tulemusena
dioodi VD2 pn- siire lüüakse elektriliselt läbi ning rõht- ja püstjuhtmete vahel
tekib dioodi VDl kaudu
ühendus. Mõlemal juhul on tegemist ühekordselt programmeeritavate
maatriksitega, sest ühenduselementide taastamine pole võimalik.
Ümberprogrameeritavad maatriksid
Ümberprogrammeeritavates maatriksites
kasutatakse ühenduselemendina
ujuvpaisuga MOS-transistore
(joonis c). Ujuvpaisul elektriline ühendus puudub ning see on ette
nähtud laengu säilitamiseks. Transistori pais on ühendatud
rõhtjuhtmega, suue püstjuhtmega ning läte toiteallika
miinusklemmiga. Lähteolekus läbib paisu ergastamisel transistori
vool. Programmeerimisel antakse püstjuhtmele 25...50 V pingeimpulss,
mille tulemusena ujuvpais saab negatiivse laengu. Ujuvpais säilitab
laengu ning transistori avamiseks tuleb paisule anda tavalisest märksa kõrgemat pinget. Hariliku juhtpinge korral jääb transistor
suletuks ja vool transistori ei läbi. Transistori algolek taastub ,
kui tema siirdeid kiiritada 30...100 sekundit ultraviolettkiirgusega.
Selleks on maatriksi või püsimälu integraallülituse keres ultraviolettkiirgust läbilaskev ava.
Programmeeritavad maatriksid
võimaldavad realiseerida nii disjunktiivsel normaalkujul esitatud
loogikafunktsioone kui ka keerukamaid näiteks sulgusid sisaldavaid
avaldisi. Sel juhul realiseeritakse maatriksiga kõigepealt sulgudes
olev funktsioon ning antakse sellele vastav väljundsignaal tagasi
maatriksi vabasse sisendisse, kus edasi koos teiste
sisendsignaalidega moodustatakse lõplik väljundsignaal.
Põhimõtteliselt saab nii realiseerida ka mitmekordsete sisemiste
sulgudega loogikafunktsioone.
Kõik kommentaarid