Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Mikroprotsessortehnika (1)

1 Hindamata
Punktid
TALLINNA TEHNIKAÜLIKOOL
ELEKTRIAJAMITE JA JÕUELEKTROONIKA INSTITUUT
ROBOTITEHNIKA   ÕPPETOOL
MIKROPROTSESSORTEHNIKA
TÕNU   LEHTLA         LEMBIT   KULMAR
Tallinn
1995
2
T  Lehtla, L  Kulmar.  Mikroprotsessortehnika
TTÜ Elektriajamite ja jõuelektroonika instituut. Tallinn, 1995. 141 lk
Toimetanud Juhan Nurme  
Kujundanud  Ann   Gornischeff
Autorid tänavad TTÜ arvutitehnika instituudi lektorit Toomas Konti ja sama
instituudi dotsenti Vladimir Viiest raamatu käsikirjas tehtud paranduste ja
täienduste eest.

  T Lehtla,  L Kulmar, 1995
 
  TTÜ  elektriajamite  ja  jõuelektroonika  instituut, 1995
Kopli 82,   10412  Tallinn
   
Tel   620 3704,   620 3700.     Faks  620 3701
ISBN 9985-69-006-0
TTÜ  trükikoda.   Koskla 2/9,  Tallinn  EE0109
Tel  552 106
3
Sisukord
   
          
Saateks
5
Digitaal - ja mikroprotsessortehnika arengut kajastavaid aastaarve
6
1.
DIGITAALELEKTROONIKA  ALUSED
7
1.1.
Diskreetsed ja arvsignaalid
7
1.1.1.
Kvantimine
7
1.1.2.
Kodeerimine , dekodeerimine ja koodide liigid
8
1.1.3
Kümnendarvude teisendamine kahend -, kaheksand -
ja kuueteistkümnendarvudeks
12
1.1.4.
Informatsiooni hulk ja signaali viga
13
1.2.
Loogikafunktsioonid ja loogikalülitused ning
nende esitusviisid

14
1.2.1.
Loogikatehted
14
1.2.2.
Loogikaseadused
17
1.2.3.
Loogikalülituste süntees ja minimeerimine
21
1.3.
Funktsionaalsed loogikalülitused
24
1.3.1.
Trigerid
24
1.3.2.
Registrid
27
1.3.3.
Loendurid
28
1.3.4.
Summaatorid
31
1.3.5.
Kommutaatorid
34
1.3.6.
Aritmeetika-loogikaplokk
36
1.3.7.
Koodrid ja dekoodrid
37
1.4.
Homogeensed struktuurid ja loogilised maatriksid
40
1.4.1.
Loogilised maatriksid
40
1.4.2.
Ümberprogrammeeritavad  maatriksid
43
1.5.
Mälud
44
1.5.1.
Muutmälud
45
1.5.2.
Püsimälud
47
1.6.
Diskreetsed automaadid
48
1.6.1.
Diskreetsete automaatide olemus
48
1.6.2.
Algoritmide aparatuurne realiseerimine
51
1.6.3.
Programm- ja mikroprogrammjuhtimine
57
1.6.4.
Algoritmide programmiline realiseerimine
60
4
2.
MIKROPROTSESSORID
61
2.1.
Mikroprotsessorite ja arvutite ehitus
61
2.1.1.
Põhimõisted
61
2.1.2.
Arvuti põhiplokkid ja siinid
63
2.1.3.
Töötsüklid
65
2.2.
Mikroprotsessori  tööpõhimõte
67
2.2.1.
Protsessori ehitus
67
2.2.2.
Registrid ja nende otstarve
68
2.2.3.
Ajadiagrammid
71
2.2.4.
Käsu- ja andmevormingud
72
2.2.5.
Protsessori käsustik
75
2.2.6.
Adresseerimine
77
2.2.7.
Pinumälu
79
2.2.8.
Protsessori koostöö mälu ja välisseadmetega
79
2.3.
Andmevahetus
82
2.3.1.
Andmevahetuse meetodid
82
2.3.2.
Rööpvärat
87
2.3.3.
Jadavärat
90
2.3.4.
Taimer
91
2.3.5.
Otsemällupöördus ja DMA-kontroller
96
2.4.
Tarkvara
98
2.4.1.
Ülevaade mikroarvutite ja juhtraalide tarkvarast
98
2.4.2.
Assembler
99
2.4.3.
Intel 8080 assemblerikeel
101
2.5.
Signaaliprotsessorid
105
2.5.1.
Signaaliprotsessorite ehituse iseärasused
105
2.5.2.
Digitaal-analoogmuundurid
106
2.5.3.
Analoog -digitaalmuundurid
107
2.5.4.
Transpuutrid
111
2.6.
Mikroprotsessorite kasutamine
114
2.6.1.
Ülevaade
114
2.6.2.
Mikroprotsessorid  elektriajamis
115
2.6.3.
Mikroprotsessorid releekaitses
119
LISA.  Programmeeritavad kontrollerid  SIMATIC S5
127
Kirjandus
141
5
Saateks
Mikroprotsessortehnika on lühikese aja jooksul levinud peaaegu kõikidesse inimtegevuse
valdkondadesse. Arvutid on muutunud igapäevaseks töövahendiks, mikroprotsessoreid
kasutatakse juba kodumasinates, üha harvemini puutume kokku tööpinkidega, kuhu
mikroprotsessorid pole veel jõudnud.  Digitaal- ja mikroprotsessortehnika areng jätkub
peadpööritava kiirusega. Vaevalt leidub teist tehnikaala, kus seadmete töökiirus ja
efektiivsus, hind ja mõõtmed  muutuksid mõne aasta jooksul 10 ja enam korda.
Mikroprotsessorist on saanud inseneride käes universaalne vahend paljude probleemide
lahendamiseks. Energia- ja tööstusseadmete juhtimine, kontrolli-, mõõte -, bürootehnika
jms on vaid väike loetelu aladest , kus tänapäeval mikroprotsessoriteta läbi ei saada. Kooselu
arvutitega on muutnud meie arusaamu ja mõttemalle. Pidevatoimeliste protsesside
juhtimiseks kasutatakse üha enam diskreetseid juhtseadmeid, sest nii paraneb süsteemi
tundlikkus, täpsus ning töökindlus. Signaalide kvantimine ja kodeerimine võimaldab
rakendada numbrilise infotöötluse meetodeid ja programmjuhtimise põhimõtteid ning
kasutada selleks universaalseid mikroprotsessorseadmeid. Selle tulemusena vähenevad
seadmete mõõtmed, mass ja hind.
Tänapäva arvutustehnika on kujunenud hiigelpüramiidiks, mille vundament on mikro -
protsessorid , selle peale aga kerkivad üha uued tarkvarakorrused. Paljukihiline hierarhiline
tarkvarasüsteem on lahutanud inimese protsessorist ning vaevalt suudab arvutiklahvistikul
klõbistav operaator tunnetada  oma tegevuse seost protsessori registrite ja siinidega ning
kahendsõna bittide ja baitidega. Universaalarvutite riist - ja tarkvara  arendavad  tänapäeval
vähesed tippspetsialistid, nende tööd kasutavad peaaegu kõik. Ja vaevalt et enamikule
arvutioperaatoreist pakub lähemat huvi mikroprotsessorite ehitus
Tehniliste  seadmete ja tehnoloogiaprotsesside juhtimisel on  riist- ja tarkvaraprobleemid
sageli spetsiifilised ning üldlahendid puuduvad. Programmeerijalt eeldatakse riistvara
ehituse tundmist. Tööstuslikku juhtimissüsteemi projekteeriv insener peab aga tundma
mikrokontrollerite spetsiifilisi detaile, sisend -väljundliideste omadusi ja mälu ning
protsessori töö iseärasusi. See on põhjus, miks automaatikasüsteemide insener vajab
algteadmisi mikroprotsessortehnikast.
Digitaal- ja mikroprotsessortehnika on kahtlemata üheks tänapäeva insenerihariduse
nurgakiviks. Digitaaltehnika aluste omandamine annab üliõpilasele võimaluse paremini
mõista seda, kuidas funktsioneerib nüüdistehnika ja tehnoloogia ; aitab mõista tehnika
arengut ning inimese ja tehnika vahelist suhet nüüd ja tulevikus; arendab süsteemset
mõtlemist ning kahandab aukartust üle mõistuse keerukana tunduvate aparaatide ja
seadmete ees.
Käesolev raamat on mõeldud õppevahendiks energiatehnika õppevaldkonna üliõpilastele,
kuid see võib osutuda kasulikuks ka teiste tehnikaerialade üliõpilastele.
6
A u t o r i d
7
Digitaal- ja mikroprotsessortehnika arengut kajastavaid aastaarve:
1948
esimene bipolaarne transistor
1948
J von Neumani digitaalarvuti struktuur ja tööpõhimõte
1959
esimene integraallülitus, mille valmistasid J S Kilbi ja R Noyce
1960-64
integraalloogikaelementide väljaarendamine
1961 
esimene kommertsotstarbeline integraallülitus
1962
esimene MOS integraallülitus
1964
integraallülituste 14 jalaga DIP ( dual in plane) tüüpi kiibi väljatöötamine
1965
MOS integraallülituste tööstuslik tootmine
1967
256- bitine püsimälukiip
1969
firma Intel alustab mikroprotsessorite projekteerimist
1970
firma IBM ümbrikketasmäluseade
1971
esimene 4-bitine mikroprotsessor  Intel 4004
1972
firma Intel 1024-bitine muutmälukiip
1972-73  8 bitiste n-MOS mikroprotsessorite tootmise algus
1973
firma Intel 8-bitine mikroprotsessor 8080
1974
firma Motorola 8-bitine mikroprotsessor 6800
1974
esimesed 12- ja 16-bitised mikroprotsessorid
1976
esimene ühekiibiarvuti
1976
firma Zilog 8-bitine mikroprotsessor Z80
1976
firma Intel 16 384-bitine muutmälukiip
1978
esimene 16-bitine firma Intel mikroprotsessor  8086
1979
firma Motorola 16-bitine protsessorikiip 68000
1979
firma Intel mikroprotsessor 8088
1980
firma Intel matemaatikaprotsessor 8087
1982
esimene 32-bitine firma Hewlett- Packard 'i  protsessorikiip
1982
firma Intel mikroprotsessor 80286  taktsagedusega 8...16 MHz
1985
firma Inmos  Ldt.  transpuuter  T400
1985
firma Intel 32-bitine mikroprotsessor 80386  taktsagedusega 16...40 MHz
1989
firma Intel mikroprotsessor 80486  taktsagedusega 25...66 MHz
1990
antakse välja hilisemat poleemikat põhjustanud USA patent nr 4 942 516 
mikroprotsessori ( Single Chip Integrated Circuit Computer Architecture
leiutamise kohta Gilbert Hyattile (avaldus 1970. aastast)
1992
firma Intel mikroprotsessor 80486DX2
1993
firma Intel mikroprotsessor Pentium taktsagedusega vähemalt 60 MHz
8
1. DIGITAALELEKTROONIKA  ALUSED
1.1. Diskreetsed ja arvsignaalid
1.1.1. Kvantimine
Kvantimine tähendab klassikaliselt füüsikateoorialt kvantteooriale siirdumise menetlust.
Informaatikas on kvantimine signaalitöötluse operatsioon , millega pidevale signaalile
omistatakse kindlaks ajavahemikuks diskreetne väärtus. Kvantimine toimub nii signaali
nivoo järgi kui ka ajas. Lisagem, et  signaal  on sõnumi (informatsiooni) füüsikaline kandja.
Sõltuvalt füüsikalisest olemusest liigitatakse signaale pneumo -, hüdro-, elektri-, valgus- jms
signaalideks. Mikroprotsessortehnikas käsitletakse peamiselt elektrisignaale, kuid
erijuhtudel ka optilisi ehk valgussignaale.
Suur osa looduslikest ja tehisprotsessidest on pidevatoimelised, s. t neid iseloomustavad
pidevad olekusignaalid, mida saab mõõta või hinnata suvalisel ajahetkel. Pidevatoimelisi
signaale nimetatakse neid töötlevate (analoog)seadmete järgi analoogsignaalideks.
Mikroprotsessortehnika põhineb diskreet- ehk katkelistel signaalidel, millele omistatakse
väärtus ainult kindlail ajahetkeil. Diskreetsignaalid jagunevad impulss - ja arvsignaalideks.
Impulss -signaalides  kodeeritakse informatsiooni impulsi parameetritega. Impulsi
olulisemad parameetrid on amplituud (Ai) ehk kõrgus, kestus (ti) ehk laius, sagedus (fi) või
periood (τi) ja faasinurk (ϕi) ehk nihe taktiimpulsi suhtes. Nende nelja parameetri alusel
tuntakse signaalide nelja impulssmodulatsiooni liiki: 1) amplituud-impulssmodulatsiooni
(AIM), 2) laius-impulssmodulatsiooni (LIM), 3) sagedus-impulssmodulatsiooni (SIM) ja 4)
faasi-impulssmodulatsioon (FIM),  mille olemusest annab ülevaate joonis 1. Märkigem, et
nende terminite asemel võib kasutada ka pulsiamplituudi-, pulsilaiuse-, pulsisageduse- ja
pulsifaasimodulatsiooni mõisteid.
AIM
LIM
FIM
SIM
U
U
U
U
p
p
p
p
t
t
t
t
U
U
d
d
U
U
d
d
A = var
i
τ 
t
t
t
t
= var.
t
= const .
i = var.
ϕi = var.
f i
Joonis 1.1. Impulssmodulatsiooni liigid
9
Kvantimisperiood ehk diskreetimisintervall  τ  valitakse sõltuvalt kvanditava signaali
sageduslikest omadustest (spektrist) nii, et kvantimisega ei läheks kaduma signaaliga
edastatav info. Selleks peab kvantimisperiood   τ  olema vähemalt kaks korda  lühem kui
signaali spektri suurima sagedusega harmoonilise komponendi  periood
τ = 1
1
või  
=
= 2 f
i
f
τ
max,
(1.1)
max
i
kus   max on signaali spektri   harmooniliste komponentide suurim sagedus.
Juhul kui impulsi parameetrid ei ole määratletud, sisaldab üks impulss ühe biti
informatsiooni, s. t impulsi olemasolu võib lugeda signaaliks 1 ning selle puudumise
signaaliks 0. Kahe impulsiga opereerides saab edastada 22 = 4 bitti infot jne. Mitmebitiseid
impulsisignaale saab kodeerida kahendarvude koodiga ning neid nimetatakse
arvsignaalideks. Digitaaltehnikas kasutatakse kõige enam 8-, 10-, 12- või 16-bitiseid
arvsignaale, mille infosisaldus on  28 =  256, 210=1024, 212 = 4096  ja  216  = 65536 bitti.
1.1.2.  Kodeerimine, dekodeerimine ja koodide liigid
Kodeerimine on informatsiooni esitusvormi muutmine sellekohase reeglistiku alusel.
Numbritest koostatud koode nimetatakse arvkoodideks. Arvsignaale moodustatakse
kodeerimisega. Eri arvusüsteemidele vastavad erinevad koodid. 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 kuueteist-
kümnendsüsteemi. Kõiki arvusüsteeme võib jaotada positsioonilisteks süsteemideks ning
mittepositsioonilisteks süsteemideks. Viimaste hulka kuulub näiteks rooma numbrite
süsteem. Positsiooniliseks süsteemiks nimetatakse arvusüsteemi, kus ühel ja samal arvul
on  erinev väärtus sõltuvalt 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 (tabel 1).
Positsioonilist süsteemi kirjeldatakse üldjuhul valemiga
−1
0
−1

X
a
sn
a
sn
= ⋅ +
2

L
L
1 ⋅
+ +a1 ⋅ a0 ⋅ a−1⋅ a−2 ⋅+
n
n
(1.2)
kus teguriteks   võivad olla suvalised süsteemis kasutatavad arvud.
i
Ka positsioonilisi süsteeme on erinevaid. Üldjuhul võib arvu igale numbrile anda suvalise
kaalu, mida nimetatakse arvu kohakaaluks. Arvu mõistmiseks tuleb ette anda koodi võti,
mis näitab arvu kõigi kohtade kaalu. Kümnendkoodi korral on kohakaaludeks arvud 10n,
kus n on koha järjenumber . 10 on koodi põhiarv, kuna selle järgi moodustatakse kõik
kohakaalud. Kohti loendatakse alates paremalt, mille kohakaal kümnendkoodis on 100.
10
Kahendkoodi põhiarv on 2, kohakaaludeks aga arvud 2n.  Koodi   võtmeks on  harilikult
8421 , s. o  23,  22,  21,  20.
Kahendarvudel on järgmised omadused:
-  kasutatakse kahte sümbolit  0  ja  1;
-  põhiarvuks on   2;
-  kohakaaludeks on arvud  2n (1, 2, 4, 8, 16, 32, 64 jne), kus n on arvu kohanumber.
Kahendarvu väärtuse leidmiseks tuleb selle kohti tähistavad arvud korrutada  kohakaalu-
dega ning seejärel liita. Nii leitakse, et kahendarvule 11001101 vastab kümnendsüsteemis
väärtus 205 (joonis 1.2). Nagu näha, on kahendarvul palju enam kohti kui vastaval
kümnendarvul. Suurimale kaheksakohalisele kahendarvule vastab kolmekohaline
kümnendarv 255 ning  suurimale kuueteistkümnekohalisele kahendarvule viiekohaline arv
65535 . Sellest tingituna on inimesel kahendarvudega opereerida tülikas.
Sümbolid :           0, 1
Sümbolid:       0, 1, 2, 3, 4, 5, 6, 7,
Põhiarv:              2
                      8, 9, A, B, C, D, E, F
Kohakaalud:      2n,  kus n on kohanumber
Põhiarv:         16
Kohakaalud:  16n, kus n on kohanumber
Näide:
Näide:
 1  1  0  0 1 1  0  1
C    D
1 x     1 =     1
0 x     2 =     0
13  x    1  =    13
1 x     4 =     4
12  x  16  =  192
1 x     8 =     8
0 x   16 =     0
  205
0 x   32 =     0
1 x   64 =   64
1 x 128 = 128
  205
Joonis 1.2. Kahendarvu väärtuse leidmine
Joonis 1.3. Kuueteistkümnendarvu
väärtuse leidmine
Kuueteistkümnendarvu  esitamiseks kasutatakse kümnendarvu sümboleid 0...9 ning
ladina kirja suurtähti A = 10,  B = 11,  C = 12,  D = 13,  E = 14,  F = 15, mida antud juhul
tõlgendatakse kui numbreid (joonis 1.3). Kui võrrelda kahendarvu 1100 1101 vastava
kuueteistkümnendarvuga CD, siis on näha, et üks kuueteistkümnendarvu koht vastab
neljakohalisele kahendarvule. See tähendab, et neljakohalise kahendarvu saab esitada vaid
ühe kuueteistkümnendarvu sümboliga  0...F  ehk 0...15. Kuueteistkümnendarvude väärtus
leitakse samuti kui kümnend- ja kahendarvude puhul kohaväärtuste liitmisega.
Levinumatest arvkoodidest ja arvusüsteemidest annab ülevaate tabel 1.1. Tehnikas
kasutatakse laialt kahend-kümnendkoodi, mille mõistmiseks on vaja teada, et arvu
kodeerimisel on kasutatud korraga kahend- ja kümnendkoodi positsioonilisi süsteeme, s. t
11
mitmekohaline arv on kodeeritud kümnendkoodis, kuid iga selle number esitatakse
kahendkoodis. Kahend-kümnendkoodide korral rakendatakse mitmesuguse võtmega
koode, lisaks tavalisele 8421 koodile  näiteks ka 4221 või 2421 võtmega koode.
Kahend-kümnendkoodiga 8421+3 saab lihtsustada kahend-kümnendarvude aritmeetika-
tehteid. Koodi võti 8421+3 tähendab, et arvujada iga kümnendnumbri asemel kodeeritakse
kahendkoodis  3 võrra  suurem  kümnendarv,  näiteks  arvu  5 asemel  arv 8 või arvu 8
asemel 11. Saadakse neljakohalise kahendkoodi ülekanne järgmisele kohale vastavalt
kümnendarvule (kümnendarvu ülekanne tekib arvu 9 järel, neljakohalise kahendarvu
ülekanne aga 11112 = 1510 järel). Tsüklilistest  ehk peegeldunud koodidest on  levinud nn
Gray kood, mida rakendatakse positsioonjuhtimisega ajamite asendiandurites. Koodi
eeliseks võrreldes teiste kahendkoodidega on see, et anduri lähimatele naaberasenditele
(naaberarvudele) vastavad koodid erinevad teineteisest minimaalselt, s. t ainult ühe järgu
võrra. Seega muutub kood anduri modulatsiooniketta liikumisel sujuvalt ning asendisignaali
töötlevate loogikaskeemide lülituste arv on minimaalne, mis suurendab seadmete
töökindlust. Ühikkoodi kasutakse juhul, kui mingit füüsikalist suurust iseloomustab
impulsside arv, näiteks kui asendit määratakse impulssanduri impulsside loendamisega.
Tähtsad on vigu avastavad ning vigu korrigeerivad koodid, mida nimetatakse
veatõrjekoodideks. Seoses informatsioonitehnika arenguga on oodata nende koodide üha
laiemat rakendust. Veatõrjekoodide abil on võimalik vähendada seadmete keerukusest ning
keskkonnahäiretest põhjustatud vigu ning järelikult suurendada seadmete töökindlust. Vigu
avastavate ja korregeerivate koodide puhul on lubatud ehk õigete koodide arv märksa
väiksem võimalike koodide arvust. Seega on osa koode keelatud ehk vigased. Lubatud ja
keelatud koodide suhet iseloomustab koodi samm d. Tavalise kahendsüsteemi korral = 1,
s. t kõik koodid on lubatud. Kui d = 2, siis on lubatud ja keelatud koodide arv võrdne ning
niisugune kood võimaldab avastada ühe vea. Kui avastatakse keelatud kood teatatakse
sellest juhtseadme või süsteemi operaatorile, kes teeb vastavad järeldused. Koodi sammu
= 3 korral saab avastada korraga kahte viga. Kui eeldada, et korraga esineb vaid üks viga,
siis saab niisuguse koodiga ka vigu korrigeerida, s. t keelatud koodid jagunevad omakorda
rühmadesse, mille koode korrigeeritakse kas üheks või teiseks lubatud koodiks. Koodi
sammu suurenemisel avarduvad ka vigade avastamise ning korrigeerimise võimalused. Kui
koodis on informatsiooni rohkem kui tema eristamiseks minimaalselt vaja, on tegu
liiaskoodiga. Seega sobivad liiaskoodid veatõrjekoodideks. Tuntumad veatõrjekoodid on
Hammingi  ja Reedi-Mulleri koodid.
Tabel 1.1
Arvkoodid ja arvusüsteemid
Nr
Koodi  nimi
Sümbolid  ai
Koodi valem või näide
1
Kahendkood
0, 1
La
3
⋅2 + a
2
⋅2 + a
1
⋅2 + a
0

3
2
1
0 2
12
2
Kaheksand-
0, 1, 2, 3, 4, 5, 6, 7
La
3
⋅8 + a
2
⋅8 + 1
⋅8 + a
0

3
2
1
0 8
kood
3
Kümnendkoo
0, 1, 2, 3, ... , 9
La
3
⋅10 + a
2
⋅10 + a
1
⋅10 + a
0

3
2
1
0 10
d
4
Kuueteistküm- 0, 1, 2, 3, 4, 5, 6, 7, 8,
La
3
⋅16 + a
2
⋅16 + a
1
⋅16 + a
0

3
2
1
0 16
nendkood
9, A, B, C, D, E, F
Tabeli 1.1 järg
5
Kahend-
0, 1
Näide:
kümnendkood
852 = 1000  0101  0010
8421
6
Kahend-
0, 1
Näide:
kümnendkood
852 = 1110  0111  0010
4221
7
Kahend-
0, 1
Näide:
kümnendkood
852 = 1100  0101  0010
4421
8
Kahend-
0, 1
Näide:
kümnendkood
852 = 1110  0101  0010
2421
9
Kahend-
0, 1
Näide:
kümnendkood
852 = 1011  1000  0101
8421+3
10
Tsükliline ehk
0, 1, 2, 3, ... , 9
00, 01, 02, 03, 04, 05, 06, 07, 08, 09, / 19,
peegeldunud
18, 17, 16, 15, 14, 13, 12, 11, 10, / 20, 21,
kümnendkood
22, 23, ...
11
Tsükliline ehk
0, 1
0 - 0000          6 - 0101        11 - 1110
peegeldunud
1 - 0001          7 - 0100        12 - 1010
kahendkood;
2 - 0011          8 - 1100        13 - 1011
Gray kood
3 - 0010          9 - 1101        14 - 1001
4 - 0110        10 - 1111        15 - 1000
5 - 0111                                16 - 0000
12
Ühikkood
1
1,  11,  111,  1111,  11111
13
Vigu avastav
Lubatud      Keelatud
kood
     000           001
110
111
d = 2
     011           010
     101           100
100
101
     110           111
010
011
    000
001
13
14
Vigu avastav
Lubatud      Keelatud
Koodid 001, 010 ja 100 parandatakse
ja korrigeeriv
                      001
koodiks 000
kood
     000           010
d = 3
                      100
                      110
Koodid 110, 011 ja 101 parandatakse
     111           011
koodiks 111
                      101
1.1.3.  Kümnendarvude  teisendamine  kahend-, kaheksand-  ja 
kuueteistkümnendarvudeks
Kümnendarvu teisendamiseks kahendarvuks kasutatakse joonisel 1.4 näidatud skeemi. Arv
115 jagatakse tulbas arvuga 2 ning eraldatakse jagamise 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 1 ja 0.   Lugedes selles tulbas olevaid sümboleid alt üles leitakse lähtearvule 115 vastav
kahendarv  1110011.
Nagu joonisel näidatud, saab sama toiminguga leida ka kaheksand- või
kuueteistkümnendarve.
115=?
=1  110  011
=111  0011
2
2
=163 8
=73
=73H
16
Jääk
Jääk
Jääk
115 /2
1
115 /8
3
115 /16
3
7
7
57
1
14
6
28
0
1
1
14
0
7
1
3
1
1
1
Joonis 1.4. Kümnendarvude teisendamine kahend-, kaheksand- ja
kuueteistkümnendarvudeks
14
Märksa lihtsam on kümnendarve teisendada kaheksand- ja kuueteistkümnendarvudeks
kahendkoodi abil. Selleks tuleb kümnendarv teisendada esmalt kahendarvuks ning jaotada
selle kohad triaadideks või tetraadideks, olenevalt sellest kas soovitakse leida kaheksand-
või kuueteistkümnendkoodi. Edasi kodeeritakse kahendarvu iga triaadi eraldi vastava
kaheksandarvu või tetraadi kuueteistkümnendarvu sümboliga.
Arvude teisendamist ühest süsteemist teise näitab tabel 1.2, kuhu on koondatud mõned
kümnend-, kahend-, kuuetistkümnend- ja kahend-kümnendkoodis ehk BCD-koodis arvud.
15
Tabel 1.2
Arvude teisendamine
Kümnendarv
Kahendarv
Kuueteist-
BCD-kood
kümnendarv
0
0
0
0000
1
01
1
0001
2
10
2
0010
3
11
3
0011
4
100
4
0100
5
101
5
0101
6
110
6
0110
7
111
7
0111
8
1000
8
1000
9
1001
9
1001
10
1010
A
0001 0000
11
1011
B
0001 0001
12
1100
C
0001 0010
13
1101
D
0001 0011
14
1110
E
0001 0100
15
1111
F
0001 0101
16
1 0000
10
0001 0110
17
1 0001
11
0001 0111
18
1 0010
12
0001 1000
19
1 0011
13
0001 1001
20
1 0100
14
0010 0000
126
111 1110
7E
0001 0010 0110
127
111 1111
7F
0001 0010 0111
128
1000 0000
80
0001 0010 1000
510
1 1111 1110
1FE
0101 0001 0000
511
1 1111 1111
1FF
0101 0001 0001
512
10 0000 0000
200
0101 0001 0010
1.1.4. Informatsiooni hulk ja signaali viga
Arvsignaalis sisalduva informatsiooni hulga ja signaali vea vahel on olemas kindel sõltuvus .
Arvsignaali bittide arv n ehk kahendarvu järkude arv määrab signaali diskreetsusastmete
(diskreetide) arvu  N = 2n. Signaali kodeerimisveaks loetakse maksimaalselt ühe diskreedi
väärtus. Seega on 10- bitise kahendsignaali viga 1/1024 ≅0,1 %.
16
1.2.  Loogikafunktsioonid ja loogikalülitused
ning nende esitusviisid
1.2.1.  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 korrutus-
märki ( • ) kui ka loogilise korrutamise eritähist - katust (∧). Loogilist korrutamist
nimetatakse ka konjunktsiooniks.
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.
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 eitus on  . Loogilist eitust nimetatakse ka inversiooniks.
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.
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.
Keerukamaid loogikalülitusi, mis koosnevad paljudest loogikaelementidest ning on ette
nähtud kindlate funktsioonide täitmiseks, nimetatakse funktsionaalseteks
loogikalülitusteks
, mille hulka võib lugeda ka tabelis 1.3  toodud mäluelemendi.
17
Tabel 1.3
Loogikafunktsioonid ja -elemendid
Nr
Loogika-
Loogika-
Loogikafunktsiooni
Loogikafunktsiooni
Loogika-
funktsiooni funktsiooni
kontaktaseskeem
matemaatiline
elemendi
nimetus
selgitus
esitus
tähis
1
2
3
4
5
6
1.
NING
Lüli väljundis on
y
x1⋅ x2 ⋅ x3
x1
x1
x2
x3
signaal 1,  kui
x2
y
signaal 1 on tema
x1∧ x2 ∧ x3
x3
1. ning 2. ning 3.
y
ning  jne sisendis
2.
VÕI
Lüli väljundis on
y
x1+ x2 + x3
x1
signaal 1,  kui
x1
x2
1
y
signaal 1 on tema
x2
x1∨ x2 ∨ x3
x3
1. või 2. või 3.
x3
või jne sisendis
y
3.
EI
Lüli väljundis on
y
x
x
1
signaal 1, kui
x
y
tema sisendis on
signaal 0 ja
y
vastupidi
4.
NING-EI
Väljundis on
y
x1⋅ x2 ⋅ x3
x1
x1
x2
x3
signaal 0, kui
x2
y
kõigis sisendites
x1∧ x2 ∧ x3
x3
on signaal 1
y
x1⋅ x2 ⋅ x3
5.
VÕI-EI
Väljundis on
y
x1+ x2 + x3
x1
1
signaal 0, kui kas
x1
x2
y
või ühes sisendis
x2
x1∨ x2 ∨ x3
x3
on signaal 1
x3
y
x1+ x2 + x3
18
Tabeli 1.3 järg
1
2
3
4
5
6
6.
Ekvi-
Väljundis on
y
x1⋅ x2 + x1⋅ x2
x1
x1
x2
y
valent-
signaal 1 ainult
x2
sus
siis, kui
x1
x2
sisenditel on
ühesugused
y
väärtused
7.
Välistav
Väljundis on
y
x1⋅ x2 + x1⋅ x2
x1
M2
x1
x2
y
VÕI
signaal 1 ainult
siis, kui sisendite
x2
1⊕
x1
x2
y
x
x2
olek on erinev
y
8.
Impli-
Väljundis on
y
= 1+
x1
x1
y
x
x2
1
katsioon
signaal 0 ainult
y
siis, kui x2 = 1 ja
x2
x2
x1 = 0.
Loogiline
y
järeldus
9.
Keeld
Väljund võrdub
y
⋅ u
x
x
u
sisendiga x, kui
y
signaal u on 0.
u
y
Sinaali u = 1
korral on väl-
jundis signaal 0
sõltumata
sisendist x
10. Mälu
Sisendiga x1
y
= (x1+ y') ⋅ x2
Q
x1
lülitatakse
x2
S
T
väljund olekusse
y
Q
1 ning see olek
R
säilib,  kuni seda
y
ei muudeta
sisendiga x2
19
1.2.2.  Loogikaseadused
Loogikaseadusteks nimetatakse tavaliselt binaarloogika algebra ehk Boole' i algebra seadusi.
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 liike
(universaalalgebra, hulgaalgebra , loogikaalgebra), siis kehtivad neis  ka erinevad tehted ja
aksioomid. Boole'i algebra elementideks on binaarloogika signaalid (argumendid)
väärtustega 0 ja 1. Nende signaalidega saab sooritada kõiki loogikatehteid ning moodustada
suvalisi loogikafunktsioone. Loogikatehete kohta kehtivad järgmised binaarloogika
aksioomid
:
1.    Argumentide järjekorda võib tehtes muuta
a + b = b + a.
(1.3)
2.
Sulgusid võib avada ehk funktsiooni võib teisendada loogiliste osakorrutiste
summaks
a(b + c) = ab + ac.
(1.4)
3.    Funktsiooni võib teisendada loogiliste osasummade korrutiseks
a + bc = (a + b)(a + c).
(1.5)
4.   
Argumendi ja tema eituse loogiline korrutis võrdub nulliga ega  muuda loogilise 
summa väärtust
a.
(1.6)
5.   
Suvalise argumendi ja tema eituse loogiline summa võrdub alati ühega
= 1.
(1.7)
6.   
Suvalise argumendi ja tema eituse loogiline korrutis võrdub alati nulliga
⋅ = 0.
(1.8)
Loogikatehete ja aksioomide põhjal leitakse kahendarvude kohta kehtivad järgmised
reeglid:
0 = 1;  1 = 0;
0 ⋅ 0 = 0;   0 ⋅1 = 0;   1⋅ 0 = 0;   1⋅1 = 1;
(1.9)
20
0 + 0 = 0;   0 + 1 = 1;   1+ 0 = 1;   1+ 1 = 1.
21
Aksioomide põhjal tuletatakse peamised loogikaseadused:
1. 
Domineerimisseadus I. Suvalise muutujate hulga konjunktsioon on null
(tühihulk), kui kas või ainult üks muutujatest võrdub nulliga
0 ⋅ ⋅ cL= 0.
(1.10)
2. 
Domineerimisseadus II. Suvalise muutujate hulga disjunktsioon on üks 
( universaalhulk ), kui kas või ainult üks muutujatest võrdub ühega
1 + c+L= 1.
(1.11)
3.  
Idempotentsus- ehk samaväärsusseadus (kehtib ka kolme ja enama muutuja
kohta). 
Argumendi loogiline korrutamine või liitmine iseendaga ei muuda tulemi
väärtust
⋅ a;
a.
(1.12)
4.  
Eituse eitamise seadus. Argumendi väärtus tema kahekordsel eitamisel ei muutu
a.
(1.13)
5.  
Komplementaarsus - ehk täiendiseadus. Argumendi ja tema eituse ehk täiendi 
loogiline korrutis on null, loogiline summa üks
⋅ = 0;
= 1.
(1.14)
6.  
Kommutatiivsusseadus. Argumentide järjekorda loogikatehetes võib muuta
a;
a.
(1.15)
7.  
Assotsiatiivsusseadus. Mitme argumendi loogilist korrutamist ja loogilist liitmist
võib  sooritada suvalises järjekorras või samaaegselt
⋅ (⋅ c) = (⋅ b)⋅ ⋅ ⋅ ;
c
+ (c) = (b) + + .
c
(1.16)
8. 
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 
summad  
loogiliselt korrutada. Kui esimene teisendus vastab sulgude
avamisele
arvude algebras, siis  teine on rakendatav üksnes loogikaalgebras
⋅ (c) = ⋅ ⋅ ;
c
22
⋅ = (b)⋅ (c).
(1.17)
23
9.  
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 osakorru-
tises sisaldub argumendi a eitus ( inversioon ), on  tulemiks  a ja teise argumendi  
korrutis ab või summa a+b
⋅ (b) = a;
⋅ (b)⋅ (c)L(w) = a;
a;
⋅ c+L+⋅ a;
(1.18)
⋅ (b) = ⋅ ;
b
b.
10.   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
a;
(+b)⋅(a+b)= ;a
(1.19)
Üldised kleepimisseadused:
⋅ ⋅ ⋅ c;
(+b)⋅(+c)⋅(+c)= (+b)⋅(+c);
(1.20)
(+b)⋅(+c)= a⋅ .b
11. 
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
;
;
⋅ cL+L+w;
(1.21)
c+L+⋅ cLw.
Üldistatud De Morgani ehk Shannoni seadus
(a, ,
,
L ,
,
⋅ +) = (a,b,c,L, w,+, )⋅.
(1.22)
24
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 1.4.
Tabel 1.4
a
b
ab
ab
a
b
b
0
0
0
1
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
1
0
0
0
0
a
b
a+b
b
a
b
ab
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
1
0
0
1
0
1
1
1
0
0
0
0
Loogikaseaduste tõestamisel kontaktskeemide abil joonistatakse võrrandite vasak- ja
parempoolsete avaldiste alusel välja kontaktskeemid ning võrreldakse neid omavahel.
Avatud kontakt vastab signaalile 0 ning suletud kontakt signaalile 1. Kontaktide
jadaühendus vastab loogilisele konjunktsioonile (loogiline NING-funktsioon), kontaktide
rööpühendus aga disjunktsioonile (loogiline VÕI-funktsioon). Avanevale kontaktile vastab
inversioon ehk loogiline EI-funktsioon. Näiteks saab De Morgani seaduste tõestuse esitada
kontaktskeemide abil järgmiselt:
a)
b)
a b = a + b
K
a
a
b
a = 0
k
b
a = 1
c)
a = 1
a + b = a  b
a
K
a = 0
a
b
b
k
25
Joonis 1.5. De Morgani seaduse tõestus kontaktskeemide abil
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 (tabel 1.5). Teiseks kuuluvad elementaarfunktsioonide hulka kõik
rohkem kui kahe argumendiga funktsioonid, milles argumendid on omavahel seotud kas
ainult disjunktsiooni-  või  ainult  konjunktsioonitehtega.
Tabel 1.5
a
b
f0
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10 f11 f12 f13 f14 f15
"0"
a
b
⊕ ∨
b
a
"1"
ab
ba
ba
ab
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
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.
1.2.3. Loogikalülituste  süntees ja  minimeerimine
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
26
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. Kahe, kolme ja nelja muutuja
funktsiooni Karnaugh kaardid on joonisel 1.6. 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.
a)
b)
c)
c
d
b
b
c
a
a
a
b
Joonis  1.6.  Karnaugh kaardid  kahe (a), kolme (b) ja nelja muutuja (c)
loogikafunktsiooni  jaoks
On antud loogikafunktsiooni z = f(a, b, c) täielik disjunktiivne normaalkuju
ab c abc ab c abc abc.
(1.23)
Avaldist saab lihtsustada, kui tuua muutujad sulgude ette, kuid see ei kindlusta soodsaima
lahenduse saamist. Loogikalülituse minimeerimiseks on otstarbekas kasutada Karnaugh
kaarti (joonis 1.7), millele vastab olekutabel 1.6, kus on toodud kõigile võimalikele
sisendsignaalide kombinatsioonidele vastavad väljundsignaali(de) väärtused. Karnaugh
27
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.
Seejärel kirjutatakse loogikafunktsiooni avaldis disjunktiivsel normaalkujul, milles igale
kontuurile vastab elementaarkonjunktsioon muutujatest, mis terve kontuuri jaoks on kas
inverteerimata või inverteeritud.
      Tabel 1.6
Funktsiooni 1.23 olekutabel
a
b
c
z
Vaadeldava kaardi tarvis saab kirjutada
loogikafunktsiooni järgmisel kujul:
0
0
0
1
ab ac bc ab c .                       (1.24)
0
0
1
0
0
1
0
0
Kui tuua muutujad sulgude ette, saab
0
1
1
1
avaldise tähtede arvu veelgi vähendada
1
0
0
0
1
0
1
1
a(c) + bc ab c.                         (1.25)
1
1
0
1
1
1
1
1
Sellele avaldisele vastab loogikalülitus
joonisel 1.8.
a b
c
& a(b+c)
c
1 b+c
b
1
& bc
1
0
1
0
1 a
a
0
1
1
1
& a b c
1 b
Joonis 1.7. Funktsiooni Karnaugh
1 c
kaart
Joonis 1.8. Funktsioonile  vastav loogikalülitus
28
Quine - Mc Cluskey meetodi kohaselt määratakse kõigepealt esmased ehk  lihtimplikandid
ning seejärel eraldatakse neist olulised lihtimplikandid. Minimeerimise tulemusena saadakse
funktsiooni minimaalne disjunktiivne või konjunktiivne normaalkuju.
29
1.3. Funktsionaalsed loogikalülitused
1.3.1. Trigerid
Triger ( flip -flop) on kahe stabiilse olekuga loogikalülitus. Ühte olekutest tähistatakse
numbriga 1, teist numbriga 0. Trigeri olek vastab tema väljundsignaalile. Sõltuvalt
sisendsignaalist säilitab triger endise oleku või muudab seda hüppeliselt. Loogikalülituste
koostamise lihtsustamiseks on trigeril tavaliselt kaks väljundit: otsene, mida tähistatakse
tähega Q, ja inversne .  Tööpõhimõtte järgi jaotatakse trigereid seadesisenditega ehk
RS-trigeriteks, loendussisenditega ehk T-trigeriteks, andmesisenditega ehk D-trigeriteks ning
universaalsisenditega ehk JK-trigeriteks. Kui trigeri oleku muutmine toimub kas või ühe
sisendi kaudu täiendava sünkroniseerimissignaali abil, nimetatakse trigerit sünkroonseks
vastupidisel juhul aga asünkroonseks. Sõltuvalt tööpõhimõttest ning ehitusest liigitatakse
trigereid ühe- või kahetaktilisteks ning tähistatakse vastavalt T või TT-ga. Trigerite põhilised
skeemid ning tähised on tabelis 1.7
Tabel 1.7
Trigerite skeemid ja tähised
Tüüp
Olekutabel
Tingmärk
Skeem
Asünk-
 S    R  Q
Q
t  Q
R
t+1
1
Q
S
&
Q
S
T
rooonne  0    0    1    1
RS-triger  0    0    0    0
Q
 0    1    1    0
R
 1    0    1    1
1
Q
&
Q
 1    0    0    1
S
R
 1    1    1    x
 1    1    0    x
Sünk-
  S    R  Q
Q
S
t  Qt+1
&
S
T
roonne
  0    0    1    1
&
Q
RS-triger   0    0    0    0
C
Q
C
  0    1    1    0
R
  1    0    1    1
R
&
&
Q
  1    0    0    1
R
  1    1    1    x
  1    1    0    x
R
Tabeli 1.7 järg
30
S
Sünk-
  S    R  Qt  Qt+1
roonne
  0    0    1    1
&
&
S
Q
&
&
Q
kahe-
  0    0    0    0
S
Q
taktiline
  0    1    1    0
S
TT
C
RS-triger   0    1    0    0
C
&
&
Q
&
&
Q
  1    0    1    1
Q
R
R
  1    0    0    1
  1    1    1    x
R
&
R
  1    1    0    x
Sünk-
  J    K  Q
Q
t  Qt+1
J
TT
roonne
  0    0    1    1
&
C
kahe-
  0    0    0    0
J
Q
Q
S
TT
taktiline
  0    1    1    0
K
C
C
JK-triger   0    1    0    0
Q
R
  1    0    1    1
K
&
  1    0    0    1
  1    1    1    0
  1    1    0    1
Q
D-triger
    D   Q
Q
D
t  Qt+1
S
TT
D
T
    0    0    0
C
C
    0    1    0
Q
Q
R
    1    0    1
C
1
    1    1    1
T-triger
Asünkroonne
Q
Q
S
TT
TT
T
C
Q
T
R
Q
&
Sünkroonne
Q
Q
S
TT
T
TT
T
C
C
Q
Q
R
C
&
31
Asünkroonse ühetaktilise RS-trigeri saab koostada  VÕI-EI- või NING-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.
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.
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.
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
Q(+ )
1 = (
Q t )()∨ (t)(t).
(1.26)
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 NING.
T-trigerite põhiliseks kasutusalaks on loendurid.
Andmesisendiga D-triger on samuti nagu T-triger ü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.
32
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(+ )
1 = D(t).
(1.27)
Universaalsed  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 loogika-
funktsioonile
Q(+ )
1 = (t)Q(t)∨ (t)(t)∨ (t)Q(t) .
(1.28)
1.3.2. 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 1.9. 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.
a)
b)
An
A1
A0
0
0
Q
Q
Q
RG
1
1
S TT
S TT
S TT
C
C
C
2
2
Q
Q
Q
R
R
R
n
R
R
R
Reset
C
Write
R
n
Joonis 1.9.   Register :  a) põhimõtteskeem,  b) tähis
33
Nihkeregistri koostamiseks kasutatakse nii RS-, D- kui ka JK-trigereid. RS-trigeritega
nihkeregistri skeem on joonisel 1.10. 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.
c(t1)
C(t2)
Q
Q i+1
S
T
S
T
c
c
Q
Q
R
R
Q
Q i
S
T
S
T
c
c
Q
Q
R
R
Q
Q i-1
S
T
S
T
c
c
Q
Q
R
R
Q
Q
i-2
i-2
Joonis 1.10. Nihkeregister
1.3.3. 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 (joonis 1.11). 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
34
triger 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 1.12.
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.
a)
Q1
Q2
Q3
Q4
Q
Q
Q
Q
TT
TT
TT
TT
Impulsid
T
T
T
T
Q
Q
Q
Q
R
R
R
R
Reset
b)
T
t
Q1
t
Q2
t
Q3
t
Q4
t h
t
35
Joonis 1.11.    Jadaülekandega loendur: a) skeem, b) signaalidiagramm
a)
Q1
Q2
Q3
Q4
1
1
1
1 & TT
& TT
& TT
& TT
1 J
1 J
J
J
C
C
C
C
1
1
1 &
&
&
&
K
K
K
K
1
1
1
R
R
R
R
Reset
Impulsid
b)
T
t
Q1
t
Q2
t
Q3
t
Q4
t
t
h
Joonis  1.12. Rööpülekandega loendur: a) skeem, b) signaalidiagramm
Reversiivloendur  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
2NING-VÕI-EI-loogikalülitust (joonis 1.13).
36
Q1
Q2
Q3
P1
P2
P3
Vastupidi
S
S
S
TT
&
1
TT
&
1
TT
&
1
J
J
J
Impulsid
C
C
C
&
&
&
K
K
K
R
R
R
Päripidi
Keeld
Reset
Joonis 1.13, a. Reversiivloenduri  põhimõtteskeem
Nullimine
t
Alginfo 
salvestamine

t
Loendamine
või keeld

t
Vastupidi
t
T
t
Q1
t
Q2
t
Q3
t
Q4
t
Joonis 1.13, b.  Reversiivloenduri  signaalidiagramm
1.3.4. 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:
37
C
C
C
C
4
3
2
1
a
a
a
a
3
2
1
0
b
b
b
b
3
2
1
0
S
S
S
S
S
4
3
2
1
0
C
C
C
C
4
3
2
1
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.
Tabel 1.8
Summaatori loogikatabel
ai
bi
Pi
Si
Pi+1
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Loogikatabeli põhjal kirjutatakse väljundite jaoks loogikafunktsioonid:
⋅ ∨ ⋅ ∨ ⋅ ∨ ⋅ ⋅ ;
(1.29)
i
i
i
i
i
i
i
i
i
i
i
i
C
a b C
a b C
a b C
a b C .
(1.30)
i+1 =
⋅ ⋅ ∨ ⋅ ⋅ ∨ ⋅ ⋅ ∨ ⋅ ⋅
i
i
i
i
i
i
i
i
i
i
i
i
Viimase avaldise saab lihtsustada kujule
C
a b
a C
b C .
(1.31)
i+1 =
⋅ ∨ ⋅ ∨ ⋅
i
i
i
i
i
i
Vastavalt võrranditele (1.29) ja (1.31) koostatakse ühejärgulise (ühebitise) kahend-
summaatori   loogikaskeem (joonis 1.14). Samas on näidatud ka summaatori tingmärk.
38
a)
a
a
b
b
C C
i
i
i
i
i
i
&
&
1
S i
b)
&
Si
ai
SM
S
&
bi
Ci+ 1
C
Ci
&
&
C
1
i+1
&
Joonis 1.14. Ühebitine täissummaator: a) loogikaskeem, b) 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.
S
S
S
i-1
i
i+1
a
SM S
a
SM S
a
SM S
b
b
b
C
C
C
C
C
C
C
C
i-1
i
i+2
i+1
a
b
a
b
a
b
i-1
i-1
i
i
i+1
i+1
39
Joonis 1.15. Jadaülekandega kahendsummaatori loogikaskeem
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
C
⋅ ∨ C a ∨ b
i+
(1.32)
i
i
i
1
i
Ülekanne i järku on omakorda avaldatav võrrandiga
a
⋅ ∨ C a ∨ b
(1.33)
i
1

1

1
− ( 1

i− ).
1
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
C
⋅ ∨ b a
b
a
b
a
b
a
b
i+1
i
i
i−1
i−1 (

i
) ∨

−2
i−2 (

i
)(

i−1
i−1 ) ∨
∨ L∨ b a
b
a
b
a
b
C a ∨ b a
∨ b
⋅ b
∨ b
0 ( i
)( 1

L
1
− )
( 2 2 )( 1 1).
1
1 (

i
)(

i−1
i−1 )
( ∨
2
2 ) ∨
(1.34)
Valemi  (1.34) 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.
1.3.5. Kommutaatorid
Kommutaatorid jagunevad multipleksoriteks ja demultipleksoriteks. Nende tööpõhimõtte
paremaks mõistmiseks on joonisel 1.16 näidatud kommutaatorite kontaktaseskeemid.
Multipleksoril on mitu sisendit ja üks väljund. Sisendid jagunevad infosisenditeks ja
juhtsisenditeks, kusjuures 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.
40
Nelja  ja kaheksa sisendiga  multipleksori  tööd   kirjeldavad   loogikavõrrandid :
Y
x u u
x u u
x u u
x u u
1− =
4
0 1 0
1 1 0
2 1 0
3 1 0,
(1.35)
Y
x u u u
x u u u
x u u u
x u u u
1 8
− =
+L
0 2 1 0
1 2 1 0
2 2 1 0
3 2 1 0
L+ x u u u x u u u x u u u x u u u
4 2 1 0
5 2 1 0
6 2 1 0
7 2 1 0 .
(1.36)
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. Nelja väljundiga
demultipleksori tööd kirjeldavad järmised loogikavõrrandid:
xu u
0
1 0,
Y
xu u
1
1 0,
Y
xu u
2
1 0 ,
Y
xu u
3
1 0.
(1.37)
Kaheksa väljundiga demultipleksori tööd kirjeldavad võrrandid :
xu u u
0
2 1 0,
Y
xu u u
4
2 1 0 ,
xu u u
1
2 1 0,
Y
xu u u
5
2 1 0 ,
xu u u
2
2 1 0 ,
Y
xu u u
6
2 1 0,
(1.38)
xu u u
3
2 1 0,
Y
xu u u
7
2 1 0 .
Kommutaatorite loogikaskeemid on joonisel 1.17. Enam kasutatakse multipleksorit ja
vähem demultipleksorit. Multipleksori väljundfunktsioon (võrrandid 1.35 ja 1.36) on
esitatud loogikafunktsiooni täielikul disjunktiivsel normaalkujul. Järelikult saab piisava arvu
sisenditega multipleksori abil realiseerida suvalisi loogikafunktsioone. Kolme muutuja
loogikafunktsiooni realiseerimiseks  tuleb kasutada multipleksorit K1-4, nelja muutuja
funktsiooni jaoks K1-8 ja viie muutuja funktsiooni korral K1-16.
a)
b)
u3 u2 u1 u0
u3 u2 u1 u0
U0
U0
X0
U0
U0
Y0
U1
U1
X1
U1
U1
Y1
U2
Y
X
U2
X2
U2
U2
Y2
U3
U3
X3
U3
U3
Y3
41
Joonis 1.16. Kommutaatorite kontaktskeemid: a) multipleksor , b) demultipleksor
a)
b)
U1
U1
1
1
U0
U0
1
1
Y0
&
&
X0
&
&
Y1
Y
X
X1
Y2
&
&
X2
&
&
Y3
X3
Joonis 1.17.  Kommutaatorite loogikaskeemid: a) multipleksor, b) demultipleksor
1.3.6. Aritmeetika-loogikaplokk
Aritmeetika-loogikaplokk (ALU - arithmetic logic unit ) on ette nähtud aritmeetika- ja
loogikateheteks kahendarvudega (joonis 1.18) [1]. 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.
42
Aritmeetikatehete operandide ja tulemite salvestamiseks kasutatakse registreid.
Kahendsõnad suunatakse registritest ALU sisenditesse ja ALU väljundist registritesse
multipleksorite  ja  demultipleksorite  abil  (joonis 1.18, c).
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 1.18.
a)
b)
C i+1
MSB
CO
1
A
B
ALU
F
a
1
i+1
MUX
CI
LSB
Ci
SM
ai
bi
c)
&
RG0
Fi
RG1
1
RG2
RG3
a
1
i
M2
MUX
ALU
0
DMUX
U0
MUX
U1
U2
Joonis 1.18.  Aritmeetika-loogikaplokk:  a) loogikaskeem,  b) tingmärk,
       c) kasutamine koos kommutaatorite ja registritega
1.3.7. Koodrid ja dekoodrid
43
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 (joonis 1.19). Dekoodri ülesanneteks on muundada kahendkoodis arv
niisuguseks koodiks, millega saab aktiveerida nõutava mälupesa, juhtida number- või
tähtindikaatorit (joonis 1.20 ja 1.21), 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.
              a)
b)
x
x
x
x
x
x
0
0
1
1
2
2
&
F0
x 0
DC
0
1

&
F
x 1
2
1
3
x 2
4
1
5
x
&
F
0
2
6
C
7
&
F
x
3
1
&
F
1
4
&
F5
x2
&
F6
1
&
F7
  
Joonis 1.19. Kolmebitine kahendsignaali dekooder
                  a) loogikaskeem, b) tingmärk
Suure sisendite arvu korral kasutatakse dekodeerimiseks nn kaskaadlülitust, kus esimese
astme dekooder aktiveerib ühe teise astme dekoodri ning see omakorda ühe väljundi.
Kahendkoodi dekoodri tööd kirjeldavad harilikult järgmised võrrandid:
x x ...x
x
0
1 2
1
− ,
44
x x ... x
x
1
1 2
1
− ,
x x ... x
x
2
1 2
1
− ,
(1.39)
  . . .
F
n
x x ... x
.
2
1

1 2
1
− n
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   ei  helendu  numbrite 1 ja 4
korral, siis võib kirjutada, et
x x x x
3 2 1 0 + x x x x
3 2 1 0
(1.40)
Analoogilised avaldised saab kirjutada ka kõigi ülejäänud segmentide kohta.
+
DC 0
0
1
CT10
2
2
G
1
2
3
A
1
2
4
2
5
3
2
6
7
8
9

Joonis 1.20.  Dekoodri kasutamine kümnenumbrilise
                huumlahendusindikaatori juhtimiseks
45
a
b
x0
0
2
DC
a
b
f
f
x1
1
2
g
g
e
x2
2
2
d
h

e
c
x3
3
2
c
h
d
Joonis 1.21.  Dekoodri kasutamine seitsmesegmendilise indikaatori juhtimiseks
46
1.4.  Homogeensed struktuurid  ja  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.
1.4.1. Loogilised 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, mille
struktuuriskeem on joonisel 1.22, a, põhimõtteskeem joonisel 1.22, b. 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 1.22, 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 1.22 näidatud maatriks  M1 realiseerib NING-funktsiooni ja selle töö toimub
järgmiselt. Sisendsignaalid u0 ... uk saabuvad maatriksi Ml püstjuhtmetele. Loogiliste EI-
elementide 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 1.22, b, siis kõrge sisendpotentsiaali ehk
loogilise l korral jääb diood suletuks ning kõrge potentsiaal säilib ka rõhtjuhtmetes. Kui
47
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.
      a)
U0
U1
Uk
X1
&
X2
1
Maatriks M1
Maatriks M2
Y0 Y1
Yn
     b)
U0
U1
Uk
R2
R1
M1
M2
+
+ E
Y0 Y1
Yn
Joonis 1.22. Programmeeritav loogiline maatriks (PLM):
               a) struktuuriskeem,  b) põhimõtteskeem
48
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 1.23, a, b, c.
a)
b)
c)
+
VT
VD1 VD2
VT
Sular
Joonis 1.23. Ümberprogrammeeritavates püsimäludes ja  maatriksites kasutatavaid elemente:
49
a) sular emitteriahelas, b) elektrilise läbilöögiga lühistatav  pn- siire ,
c) laengukandjaga MOS-transistor
Ühenduselemendina võib kasutada transistori (joonis 1.23, 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 1.23, 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.
1.4.2. Ümberprogrammeeritavad maatriksid
Ümberprogrammeeritavates maatriksites kasutatakse ühenduselemendina ujuvpaisuga
MOS-transistore (joonis 1.23, 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.
50
1.5. 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 1.24 [1].
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.
Mälud
Muutmälu
Püsimälu
RAM
ROM
Program -
Ümberprog-
Staatiline
Dünaamiline
meeritav
rammeeritav
Valmistaja
Kasutaja
poolt
poolt
Joonis 1.24. Pooljuhtmälude liigitus
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.
51
1.5.1. 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 1.25. 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.
Staatilise muutmälu struktuur ja kiibi tähis on joonisel 1.25. Andmesõna pikkuseks on
tavaliselt 8, 16, 32 jne bitti. Vastavalt andmesõna pikkusele valitakse ka mäluelementide
ühendamisviis.
a)
b)
0
A0
DI
A0
64 rida
RAM
A1
Rea-
16 veergu
A2
dekooder
A9
A3
64 x 16 = 1024 bitti 
DO
A4
63
R / W
A5
CS
0
1
15
DO
DI
Sisendi-
&
Veeru sisend-väljund
R / W
väljundi
CS
juhtimine
0
15
Veerudekooder
A6
A7
A8
A9
Joonis 1.25.  Staatiline muutmälu: a) struktuuriskeem, b) kiibi tähis
52
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 1.26.
Siin Y
CWR
Siin X
C2
VT1
VT2
VT3
C1
VT4
REG
D
+E
 Joonis 1.26. Dünaamilise mäluelemendi skeem
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
53
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.
1.5.2. 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 salves-
tamist püsimällu nimetatakse püsimälu programmeerimiseks. Püsimälude tähtsamad ala-
liigid 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  (joonis 1.27) 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 ümberprogram-
meeritavates 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.
54
A0
0
D0
D1
Dekooder
256 x 4
Puhver
D2
A7
255
D3
__
CS
Programmeerimine
(kustutamine)

Joonis  1.27. Ümberprogrammeeritava  püsimälu  struktuuriskeem
1.6. Diskreetsed automaadid
1.6.1. Diskreetsete automaatide olemus
Automaatide teooria põhineb diskreetsetel olekuvõrranditel. Enamikul juhtimisobjektidel
on lõplik arv diskreetseid olekuid . Seepärast nimetatakse nende juhtseadmeid lõplikeks
automaatideks. Lõplike automaatide teooria on aluseks erinevate diskreetsete juht-
seadmete, sealhulgas arvutite ja robotite juhtseadmete väljatöötamisel. Lõplike automaatide
uurimiseks pole tingimata vaja füüsilise automaadi olemasolu. Kõige enam kasutatakse
nende uurimiseks mitmesuguseid matemaatilisi mudeleid , mida nimetatakse
abstraktseteks automaatideks. Kuna abstraktseid automaate saab kirjeldada
algoritmikeelte abil, siis tuleneb sellest abstraktsete automaatide ning algoritmikeelte
ekvivalentsus, s. t neid keeli on võimalik asendada abstraktsete automaatidega ja vastupidi.
Üheks levinumaks ja kõige üldisemaks abstraktseks automaadiks on nn  Turingi masin.
Selle esitas 1936. a inglise loogik A M Turing. Masina tähtsus põhineb Turing-Churchi
teesil, mille kohaselt igasuguse algoritmi infotöötluse võib sooritada Turingi masinaga . See
väide ei ole matemaatiliselt tõestatav, sest algoritmi infotöötluse mõiste pole matemaatiline,
vaid intuitiivne. Katsed leida algoritmilisi protsesse kajastav formaalne eeskiri , mis oleks
võimsam kui Turingi masin, on olnud edutud. Seepärast loetakse tänapäeval algoritmilisteks
teisendusteks vaid teisendusi, mida saab teostada Turingi masinaga.  Abstraktne Turingi
masin
 on olnud aluseks arvutiteooria, programmeerimiskeelte ja keeletranslaatorite
loomisel, ta on võimaldanud teoreetiliselt uurida juhtimisülesannete lahendatavust, s. t
määrata nende kuulumist algoritmiliste protsesside hulka jms. Universaalseteks
infotöötlusseadmeteks on füüsilised arvutid, mille näol abstraktne Turingi masin on
realiseerunud tegelikkuses. Järelikult on kõiki algoritmidega esitatavaid juhtimisprotsesse
võimalik teostada arvutiga.
Automaatide teoorias vaadeldakse ka mitmeid lihtsamaid väiksema üldistusastmega
abstraktsete automaatide mudeleid, mis võivad olla aluseks ühtede või teiste juhtseadmete
väljatöötamisel. Niisuguste automaatide näiteks on Mealy ja  Moore 'i automaadid.
Diskreetsete automaatide projekteerimisel on neli etappi . Automaadi loomine algab
süsteemse projekteerimisega, mille käigus koostatakse automaadi struktuur, leitakse
55
põhilised plokid , määratakse nende otstarve ning funktsioonid. Süsteemse
projekteerimise
 tulemuseks peab olema automaadi struktuuriskeem ning üksikute
plokkide algoritmid . Seega minnakse abstraktselt automaadilt üle struktuursele automaadile.
Järgmisel, loogilise projekteerimise etapil toimub automaadi loogiline süntees, tema
sisemiste olekute minimeerimine ning automaadi ja selle plokkide funktsionaalskeemi
koostamine. Üld- algoritmi järgi valitakse iga ploki ehitusviis ning loogikaelementide baas.
Loogilisel projekteerimisel määratakse ka riist- ja tarkvara vahekord juhtseadmes. Loogiline
projekteerimine peab andma automaadi kõikide plokkide funktsionaalskeemid ning nende
struktuuri kirjeldused. Selleks kasutatakse automaatide loogiliseks sünteesiks ettenähtud
erikeeli. Kolmandaks etapiks on automaadi tehniline projekteerimine, mille käigus
lahendatakse kolm põhiülesannet: valitakse elemendid (integraallülitused), koostatakse
nende paigutus - ja ühendusskeem trükiplaatidel ning trükiplaatide ja pistikühenduste
paigutusskeem juhtseadme kapis. Erijuhul võib tehniline projekteerimine tähendada ka
spetsiaalse integraallülituse väljatöötamist. Tehnilise projekteerimise tulemuseks on
juhtautomaadi tehniline dokumentatsioon , mille põhjal saab valmistada juhtautomaadi.
Automaadi loomise viimaseks etapiks on tehnoloogiline projekteerimine. Selle käigus
lahendatakse trükiplaatide valmistamise tehnoloogiaga, karkasside ja kappide
valmistamisega, seadmete kontrolliga jms seotud probleeme. Tehnoloogilise
projekteerimise tulemusel valmib dokumentatsioon, mille põhjal võib alustada
juhtautomaatide saritootmist. Juhtautomaadi riist- ning tarkvara projekteerimise ja
valmistamise etappidest annab ülevaate joonis 1.28.
Matemaa-
Programmi
Kõrgkeeles
Masinakoodis
tiline
struktuur
programm
programm
algoritm
Süsteem-
Valmis
Keeled
Translaatorid
programmid
automaat
Abstraktne
Struktuurne
Loogiline 
Tehniline
automaat
automaat
automaat
automaat
Süsteemne
Loogiline
Tehniline
Tehnoloogiline
projekteerimine
projekteerimine
projekteerimine
projekteerimine
Joonis 1.28.  Juhtautomaadi projekteerimine ja valmistamine
Juhtautomaadi kirjeldamist on otstarbekas alustada abstraktse automaadi
tundmaõppimisest. Automaati vaadeldakse kui musta kasti A (joonis 1.29), tema sisend- ja
väljundsignaale aga kui tähestiku tähti. Kuna automaat on diskreetne, siis on abstraheeritud
ka aja kulg, mis võib omandada vaid diskreetseid järjestikuseid väärtusi, näiteks t = 0, 1, 2,
.... Üldjuhul on niisugune automaat A kirjeldatav
     § sisendtähestikuga ehk sisendsignaalide hulgaga
       ;
 
(1.41)
56
     § väljundtähestikuga ehk väljundsignaalide hulgaga
       ;
(1.42)
     § olekutähestikuga ehk olekusignaalide hulgaga
       ;
(1.43)
     § siirdefunktsiooniga
       S = f (xk; ui);
(1.44)
     § väljundfunktsiooniga
       V = f (xk; ui);
(1.45)
     § automaadi algolekuga xo, mis vastab hetkele to = 0.
Juhtautomaat
U ( t )
Y ( t )
A
X ( t )
Joonis  1.29.  Abstraktne automaat
Siirde- ja väljundfunktsioonid määravad automaadi oleku X(t+l) ja väljundsignaali Y(t+l)
hetkel (t+l) sõltuvalt olekust X(t) ja sisendsignaalist U(t) hetkel t. Kui automaadi sisendite
ja väljundite arv on suurem kui üks, võib signaali U, Y ja X vaadelda kui vektoreid või
mitmetähelisi sõnu. Abstraktse automaadi töötamisel toimub sisendsõnade muutumine
väljundsõnadeks, kusjuures protsessis etendab olulist osa automaadi sisemine olek antud
hetkel. Iga järgmine olek oleneb eelmisest. Et väljundsignaalide ja olekute vahetumine
toimuks soovitud korrapärasusega, tuleb automaadi mällu salvestada programm ning ette
anda algolek hetkel t = 0. Kuigi kõigi diskreetsete automaatide olekud ja signaalid
muutuvad diskreetsetel hetkedel, liigitatakse automaadid sõltuvalt nende ajalisest
käitumisest sünkroonseteks ja asünkroonseteks. Sünkroonsetes  automaatides  toimivad
sisendsignaalid täpselt fikseeritud hetkedel, automaadi sisemine olek muutub aga ajal, mil
sisendsignaalide toime puudub. Ajahetkede fikseerimiseks on sünkroonses automaadis
olemas taktiimpulsside generaator. Asünkroonsetes automaatides toimub olekute
muutumine suvalistel hetkedel, mis on määratud ainult sisendsignaalide muutumisega.
Automaadi olek mingil hetkel sõltub sellel samal hetkel saabuvatest sisendsignaalidest ning
automaadi eelnenud olekutest. Kuna olekute muutumise hetked pole fikseeritud, siis
puudub asünkroonsetes automaatides taktiimpulsside generaator. Mäluga automaatide
väljundsignaalid sõltuvad nii sisendsignaalidest kui ka olekutest. Niisuguste automaatide
hulka kuuluvad paljud seadmed, alates lihtsatest funktsionaalsetest loogikalülitustest nagu
trigerid, loendurid ja registrid kuni mikroprotsessorite ja arvutiteni välja. Juhul kui
automaadil puudub mälu, on tal ainult üks sisemine olek ning automaati kirjeldab täielikult
väljundfunktsioon. Mäluta diskreetseid seadmeid nimetatakse loogilisteks
kombinatsiooniskeemideks
. Praktikas on sellisteks skeemideks dekoodrid,
kommutaatorid, summaatorid jms.
57
Võib luua ka automaadi, millel sisendid puuduvad või mille sisendsignaalid ei muutu.
Niisuguseid automaate nimetatakse autonoomseteks, kõiki ülejäänuid aga
mitteautonoomseteks. Autonoomsete automaatide töö on täielikult määratud nende
sisemiste olekutega e programmiga ning ei sõltu informatsioonist väljaspool automaati.
Peale loetletud automaatide on olemas veel mitmed spetsialiseeritud diskreetsed
automaadid; neist tähtsam on mikroprogrammautomaat.
Mikroprogrammautomaadi idee esitas M V Wilkes 1951. aastal. Ta võttis selle kasutusele
universaalarvuti töö juhtimiseks. Kui tavaliselt arvuti ise juhib mingit protsessi, siis
mikroprogrammautomaadi korral on tegemist automaadiga, mis juhib teist automaati, s. o
arvutit ennast. Mikroprogrammjuhtimise põhimõtteid on rakendatud ka robotite ja
tööpinkide juhtseadmetes.
Abstraktse automaadi matemaatilise kirjeldamise tulemuseks võivad olla: 1) algoritmide
graaf- ja plokkskeemid, 2) siirde-, väljundi- ja olekutabelid, 3) loogikavõrrandid, 4) auto-
maatide loogilise sünteesi algoritmikeelne kirjeldus või mõni teine esitusviis. Algoritmi
praktiliseks teostamiseks saab kasutada kahte peamist võimalust: algoritmi realiseerimist
aparaadiks või programmiks. Esimesel juhul on tulemuseks seade, teisel juhul
programm. Seadme valmistamiseks kasutatakse mitmesuguseid pneumaatilisi, elektrilisi,
optilisi või elektroonseid elemente. Sealjuures peab eelnevalt olema teada automaadi
struktuur, mille aluseks on homogeenne või mittehomogeenne arvutuskeskkond (tehniline
baas). Algoritmi programmilisel teostamisel tuleb koostada programm, mis on käskude
jada, kusjuures need käsud määravad ära kõik juhtimiseks vajalikud operatsioonid, tehted
lähteandmete ja vahetulemustega ning järgmise käsu aadressi. Programmi füüsiliseks
kandjaks sobivad  mitmesugused homogeensed struktuurid (mälud). Programmi
töötlemiseks: käskude lugemiseks, dešifreerimiseks ja täitmiseks kasutatakse mingit
universaalset diskreetset automaati, näiteks mikroprotsessorit. Programmi koostamist
nimetatakse algoritmi programmiliseks modelleerimiseks, selle aparatuurset
realiseerimist aga algoritmi aparatuurseks modelleerimiseks.
1.6.2. Algoritmide aparatuurne realiseerimine
Automaatide aparatuurne realiseerimine algab automaadi matemaatilisest kirjeldusest,
näiteks siirde- ja väljunditabelitest. Siirde- ja väljunditabelid erinevad kombinatsiooni -
skeemide olekutabelitest selle poolest, et nad kajastavad ka automaadi olekute ajalist
muutumist. Siirdetabelist 1.9 näeb, milline on automaadi olek järgmisel taktil, kui on teada
automaadi senine olek x ja sisendsignaal u. Uus olek leitakse sisendsignaali ui ja
olekusignaali xk põhjal tabeli 1.9 vastavate veergude ja tulpade ristumiskohalt. Väljundi-
tabel 1.10 võimaldab määrata automaadi väljundsignaali yj, kui on teada tema olek ja
sisendsignaal.
 Tabel 1.9
Automaadi siirdetabel
58
Xk
X0
X1
X2
X3
X4
Ui
U0
X1
X2
X3
X0
U1
X3
X0
X0
X4
U2
X4
X3
X1
Tabel 1.10
                     
Automaadi väljunditabel
Xk
X0
X1
X2
X3
X4
Ui
U0
Y0
Y5
Y3
Y4
U1
Y2
Y0
Y4
Y1
U2
Y3
Y2
Y0
Struktuurne automaat erineb abstraktsest selle poolest, et tal on teatud kindel arv
sisendeid ja väljundeid, milles toimivad etteantud viisil kodeeritud sisend- ja
väljundsignaalid. Lisaks sellele jagab struktuurne süntees automaadi kaheks - mäluks ja
kombinatsiooniskeemiks. Automaadi mälu koosneb mäluelementidest. Viimastena saab
kasutada kahe sisendiga D-trigereid, neist koostatud registreid, etteantud mälumahuga püsi-
või muutmälusid,  ketasmälusid jms mäluseadmeid.
Algoritmide aparatuursest realiseerimisest parema ettekujutuse saamiseks vaadelgem
struktuursete ja loogiliste automaatide sünteesi konkreetse näite varal . Selleks sobib
tsüklilise positsioonjuhtimisega manipulaatori juhtautomaadi lihtsustatud mudel. Olgu
tegemist silindrilises koordinaadistikus töötava manipulaatoriga, mida positsioonitakse
teekonnalülitite abil. Niisuguste manipulaatorite töötsoon ja võimalikud liikumised on
näidatud joonisel 1.30. Positsioonimispunktid on tähistatud ringide ja vastava numbriga.
e
ü
e
v
p
2
4
a
t
h
1
3
6
8
R2
5
7
R1
ϕ
Joonis 1.30.  Manipulaatori töötsoon, võimalikud liikumised ja
positsioonimispunktid
59
Manipulaatori kolm lüli liiguvad kokku kuues suunas: edasi, tagasi, vasakule, paremale, üles
ja alla, mida joonisel tähistavad nooled ja sõnade algustähed. Ajami liikumissuunda määrav
käsk on juhtautomaadi väljundsignaaliks. Sisendsignaalideks on positsioonimispunktidesse
paigutatud teekonnalülitite signaalid. Iga võimalikku liikumist piiravad kaks teekonnalülitit:
püstsihis liikumist all ja üleval , pöördliikumist paremal ja vasakul ning radiaalsuunalist
liikumumist ees ja taga asuvad lülitid . Seega on kokku kuus teekonnalülitit, mida
tähistatakse  tähtedega  ü (ülemine lüliti), a, v, p, e ja t.
Manipulaatori positsioonimispunkte nimetatakse manipulaatori olekuteks, sest neile
vastavad manipulaatori lülide eri asendid. Juhtseade peab võimaldama punktide vahel
suvalist tsüklilist liikumist. Näiteks saab esemete teisaldamiseks kasutada tsüklit 1, 2, 6, 2, 1,
3, 4, 8, 4, 3 ning edasi jälle 1, 2, 6, ... jne. Lihtsuse huvides ei ole siin arvestatud
manipulaatori seiskamise ja haaratsi juhtimise käske. Oletatakse, et esemete haaramine ja
vabastamine toimub positsioonimispunktis liikumissuuna muutumisel ilma
peatumispausita.
Reaalne juhtseade peab väljastama käske tehnoloogiaseadmetele ning võtma neilt vastu
signaale. Seega on tegelikud juhtseadmed palju keerukamad kui siin vaadeldav juhtseade.
Lihtsustused on vajalikud juhtautomaadi tööpõhimõtte paremaks mõistmiseks. Selguse
huvides on otstarbekas näidet veelgi lihtsustada ning kirjeldada manipulaatori liikumist
üksnes tasapinnal . Joonisel 1.31 on kasutatud samu tähiseid mis ruumilise liikumise mudeli
juures. Lisaks on toodud väljundsignaalide, olekute ja sisendsignaalide koodid.
Väljundsignaalide koodid on tähistatud rasvaselt, kusjuures vastavaid liikumisi näitavad
nooled. Sisendeid tähistavad liikumise piirikud ning nende kõrval on näidatud koodid.
Oletagem, et manipulaator töötab tsükliga 1, 2, 1, 3, 4, 3 ning edasi jälle 1, 2, 1, ... jne.
Manipulaatori liikumist kirjeldavat skeemi võib vaadelda kõigi eespool loetletud lihtsustuste
korral ka juhtautomaadi graafskeemina, mis määrab roboti töö algoritmi. Graafskeemi järgi
saab koostada juhtautomaadi siirde- ja väljunditabelid (tabelid 1.11 ja 1.12). Arusaadavuse
huvides on tabelis nooltega näidatud roboti töötsükkel . Siirdetabelis esitatud automaadi
olekud vastavad tema mälu olekutele. Kokku on tabelisse kantud nelja liiki signaalide
koodid. Need on sisend- ja väljundsignaalide ning mälu sisendi ja väljundi ehk eelmise ja
järgmise oleku koodid. Viimaseid  tähistatakse tähtedega D ja M (joonis  1.32).
60
e(00)
Kõik koodid on kahekohalised.
p(11)
Nende nooremat ehk parem-
v(10)
poolset kohta tähistab vastavalt
u
(01)
(11)
0, y0, D0 või M0; vanemat ehk
t(01)
vasakpoolset kohta aga u
2
e(00)
4
l, yl, Dl
või Ml. Tühjad lahtrid tabelis on
p(11)
tingitud sellest, et vaadeldav
v(10)
liikumine ei hõlma manipu-
1
3
(00)
(10)
t(01)
laatori kõiki võimalikke liikumisi
ning alati pole ka kõigile tabeli
lahtritele vastavad tegevused
Joonis 1.31. Manipulaatori töötsükli graafskeem
võimalikud.
Tabel 1.11
      Automaadi siirdetabel
X k+1
X  (M)
M
M
k
1
0
01
10
11
u i
00
u
u
1
0
00
00
10
01
10
00
10
01
D1
D0
11
11
                                
 Tabel 1.12    
             
   Automaadi väljunditabel
Yj
X
(M)
M
M
k
1
0
u
01
10
11
i
00
u
u
1
0
00
10
00
01
10
00
10
01
Y
Y
1
0
11
11
61
Un
Ym
Loogika
U0
Y0
kombinatsiooni-
Mr
skeem
Dr
M0
D0
Mälu
T0 D
C
Tr D
C
Joonis  1.32.   Struktuurne automaat
Manipulaatori liikumise, s. o juhtautomaadi programmeerimiseks tuleb tema olekud
salvestada mällu. Kuna olekut kirjeldab kahekohaline kahendarv, siis piisab mälust, mis
koosneb kahest D-trigerist (joonis 1.32). Automaadi loogiline süntees seisneb tema loogika
kombinatsiooniskeemi väljatöötamises. Selleks on vaja automaadi siirde- ja väljunditabelite
põhjal koostada automaadi tööd kirjeldavad loogikafunktsioonid. Nende funktsioonide all
mõeldakse väljundsignaale y0, yl, D0 ja Dl, mis on sisendite u0, ul, M0 ja Ml funktsioonid.
Püstitatud ülesande võib lahendada kahel viisil. Esiteks võib luua universaalse loogilise
automaadi, mis peale ühenduste tegemist on võimeline sooritama ükskõik millist antud
tabelis kirjeldatud tegevust. Ainsaks tingimuseks on, et signaalide arv ja tabelite mõõtmed
ei muutuks. Sel juhul on tegemist automaadi aparatuurse liiasusega, mis võimaldab
automaati vajaduse korral ümber häälestada. Teiseks võib koostada loogikaskeemi , mille
korral automaat täidab ainult üht konkreetset tabelis näidatud tegevust. Sel juhul on
tegemist eriotstarbelise automaadiga, mille tööd pole võimalik muuta.
Loogikafunktsioonide esitamiseks on otstarbekas siirde- ja väljunditabelist üle minna
olekutabelitesse. Lihtsamal juhul võib need funktsioonid avaldada ka vahetult siirde- ja
väljunditabelitest. Olekutabelisse koondatakse kõik sisendsignaalide ning neile vastavate
väljundsignaalide väärtused. Tabelite 1.11 ja 1.12 põhjal koostatud automaadi olekutabelis
(tabel 1.13) on näiteks neli sisendsignaali ja neli väljundsignaali. Sisendsignaalid võivad
esinevad 16 kombinatsioonis, kuigi eespool toodud näite puhul oli tegemist vaid 6
kombinatsiooniga.
                                             
Tabel 1.13
                    
         Automaadi  olekutabel
Sisendid
Väljundid
U0
U1
M0
M1
D0
D1
Y0
Y1
0
0
0
0
0
0
0
1
62
0
0
1
0
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
Olekutabeli 1.13 järgi kirjutatakse välja automaadi loogikavõrrandid, kusjuures arvesse
võetakse ainult need sisendsignaalide kombinatsioonid, mille korral väljundsignaal võrdub
ühega. Nii saadakse
u u M M ∨ u u M M
0
0 1
0
1
0 1
0
1,
u u M M ∨ u u M M ∨ u u M M
1
0 1
0
1
0 1
0
1
0 1
0
1,
(1.46)
u u M M ∨ u u M M ∨ u u M M
0
0 1
0
1
0 1
0
1
0 1
0
1,
u u M M ∨ u u M M
1
0 1
0
1
0 1
0
1.
Võrrandite (1.46) põhjal saab konstrueerida juhtautomaadi loogikaskeemi. Et skeem
kujuneks võimalikult lihtsaks, tuleb loogikafunktsioonid minimeerida. Võrranditest on
näha, et eri funktsioonid sisaldavad ühesuguseid loogilisi osakorrutisi, mis lihtsustab
oluliselt  juhtautomaadi loogikat. Minimeerimisega seotud probleeme vaadeldi lähemalt
punktis 1.2.3.
Nendega on võimalik tutvuda ka kirjanduse abil. Oluline on, et kui tahetakse luua roboti
juhtseade, mis juhiks manipulaatori töötsooni ulatuses kõiki täiturseadme mehhanismide ja
ajamite võimalikke liikumisi, siis peab juhtautomaat sisaldama vahendeid sisendsignaalide
suvalistele kombinatsioonidele vastavate loogikafunktsioonide realiseerimiseks. Antud
juhul peab niisugune automaat koosnema vähemalt 16 loogilisest NING-elemendist ja
neljast VÕI-elemendist. Igal NING-elemendil olgu vähemalt 4 sisendit ja igal VÕI-
elemendil kuni 8 sisendit. Lisaks vajatakse signaalide inverteerimiseks EI-elemente. Kui
automaadiga soovitakse realiseerida ainult ühte algoritmi näiteks tabelitega 1.11 ... 1.13
esitatut, siis automaadi loogikaskeem lihtsustub ning piisab kuuest NING- ja neljast VÕI-
elemendist. Sellise automaadi loogikaskeem on joonisel 1.33.
63
CLC
&
1
D0
D T
C

&
D1
1
D T
C

&
&
u
1
y
0
1
0
u
&
1
1
1
y1
&
KV1
KV2
M
M
M
M
u u u u
1    1     0    0
1  1   0  0
Joonis  1.33.  Juhtautomaadi loogikaskeem
Automaadil on kaks sisendit ja kaks väljundit. Manipulaatori juures kasutatakse aga nelja
täiturit, näiteks kontaktoreid, mis lülitavad ajameid liikuma edasi - tagasi või paremale ja
vasakule. Kasutatakse ka nelja teekonnalülitit. Et ühendada juhtseade manipulaatoriga,
tuleb sisendsignaalid kodeerida ning väljundsignaalid dekodeerida. Täiturite juhtimiseks on
neid vaja võimendada. Kuna mäluelementideks on sünkroonsed D-trigerid, vajatakse
automaadi tööks taktiimpulsse. Viimased saadakse  taktiimpulsside generaatorist. Skeemil
on kasutatud NING- ja VÕI-elemente. Kuna integraallülitustena toodetakse peamiselt
NING-EI- ja VÕI-EI-elemente, siis võib automaadi tegelik skeem joonisel 1.33 esitatust
veidi erineda.
Loogikaelementide sisendites olevaid kommutatsioonivälju KV1 ja KV2 saab valmistada
ümberhäälestatavatena, kus ühendused tehakse näiteks pistikute abil. Ühendusskeemi
muutmisel muutub juhtautomaadi töö algoritm. Sama otstarvet täidab ka
ümberprogrammeeritav loogiline maatriks. Automaadi häälestamist võib tinglikult nimetada
programmeerimiseks. Vaadeldud põhimõttel töötavad lihtsate tsükliliste positsioon-
juhtimisega robotite ja muutumatu töötsükliga autooperaatorite juhtseadmed. Antud skeem
on koostatud ühe konkreetse algoritmi jaoks.
Maatriksitel põhinevat loogikalülitust saab hõlpsasti muuta juhtautomaadiks, kui lisada
mäluregister. Niisuguse juhtautomaadi struktuur on joonisel 1.34.   Ka see, et
juhtautomaate võib lülitada järjestikku, kinnitab maatriksitega juhtautomaatide
universaalsust. Keeruline loogikafunktsioon realiseeritakse sel juhul mitmeastmeliselt,
64
kasutades vahemuutujaid. Selliseid automaate kasutatakse sageli keerukate juhtseadmete
sisemiste protsesside mikroprogrammjuhtimiseks.
u
u
0
k
z0
&
M1
1
M2
RG
NING-maatriks
VÕI-maatriks
zg
y
y
o
n
Joonis 1.34.  Programmeeritavate maatriksitega realiseeritud automaat
65
1.6.3. Programm- ja mikroprogrammjuhtimine
Süsteemide keerukuse teatud tasemel on juhtimise lihtsustamiseks otstarbekas rakendada
hierarhilist struktuuri. Vastavalt sellele võib keeruka automaadi jagada juht- ja
operatsiooniautomaadiks. Niisuguse automaadi struktuur koos juhtimisobjektiga on
näidatud joonisel 1.35. Operatsiooniautomaat väljastab käsusignaale manipulaatorile ja
tehnoloogiaseadmetele. Juhtautomaat korraldab operatsiooniautomaadi tööd. Arvutis on
operatsiooniautomaadiks protsessor , juhtautomaadiks aga protsessori tööd juhtiv
mikroprogrammautomaat. Operatsiooniautomaadi iseärasuseks on suur väljundsignaalide
arv. Juhtautomaadil tuleb lahendada keerukaid loogikaülesandeid.
u
y
0
0
Operatsiooni-
Juhtautomaat
Juhtimisobjekt
automaat
u
y
k
A
m
B
Tagasiside
Joonis 1.35. Keerulise automaadi jagamine juht- ja operatsiooniautomaadiks
Robotsüsteem töötab kaheastmelise juhtimise seisukohalt järgmiselt. Süsteemi töötsükkel
koosneb üksikutest tööoperatsioonidest, nagu manipulaatori lülide liikumine ühest
positsioonimispunktist teise, detaili haaramine või vabastamine, tööpingi sisselülitamine
jne. Iga taolise näiliselt lihtsa operatsiooni täitmiseks peab roboti juhtseade tegema rohkesti
elementaartehteid: sisendsignaalidest sõltuvalt vastu võtma loogilisi otsuseid, leidma
etteantud positsioonimispunkti ja tegeliku asendi erinevuse, moodustama juhtimis- ja
indikatsioonisignaalid. Juhtseadme töös tähendab see mitmesuguste aritmeetika- ja
loogikaülesannete lahendamist ning seadmete (aritmeetika-loogikaploki registrite)
üksikasjalikku juhtimist. Seega tuleb roboti iga tööoperatsiooni jaoks täita juhtimisalgoritm,
mis sisaldab sadu elementaartehteid. Roboti juhtimine ja programmeerimine
elementaartehete kaupa on äärmiselt ebamugav ning aeganõudev. Peale selle vajatakse väga
kõrge kvalifikatsiooniga spetsialiste, kes tunnevad põhjalikult seadme ehitust. Hoopis
mugavam on koostada robotsüsteemi töö algoritm manipulaatori ja tehnoloogiaseadmete
üksikute tööoperatsioonide kaupa. Sel juhul peavad aga juhtseadmetes olema realiseeritud
kõigi võimalike töö- e väljundoperatsioonide algoritmid. Juhtimine taandub siis vajalike
algoritmide valikule ning nende järjestuse määramisele. Neid algoritme on võimalik
realiseerida nn jäiga loogikaga, s.o vastavate loogikaskeemide abil, või mällu salvestatud e
programmeeritava loogika abil. Viimasel juhul nimetatakse igale väljundoperatsioonile
vastavat alamprogrammi mikroprogrammiks ja igale sisemisele elementaaroperatsioonile
vastavat tehet mikrokäsuks. Mikroprogramme realiseerivat juhtseadme osa nimetatakse aga
mikroprogrammjuhtimisega automaadiks. Seega on mikroprogrammjuhtimine üldise
programmjuhtimise (mida nimetatakse vahel ka makroprogrammjuhtimiseks) alumiseks
tasandiks. Kui makroprogrammid koostab peamiselt robotsüsteemi kasutaja, siis
mikroprogrammid koostab enamasti seadet valmistav tehas ning need kuuluvad seadme
riistvara (püsivara) juurde. Analoogiliselt on jaotatud programmjuhtimise ülesanded
arvutis. Kasutajaprogramme töötleb protsessor, mille tööd korraldab juhtautomaat. Kui
66
tehnoloogilist protsessi või robotsüsteemi juhib arvuti või mitmeraalijuhtseade,  siis võib
programmjuhtimise hierarhiaastmete arv olla 3 ja enamgi.
Mikroprogrammjuhtimise peamised eelised on järgmised.
1.  Paindlikkus, s.t võime valida programmeerimiseks mitmesuguseid makrokäsustikke; 
võime imiteerida teisi juhtseadmeid ning kasutada nende tarkvara.
2.
Projekteerimise, valmistamise ja kasutamise lihtsus, mis tuleneb struktuuri 
homogeensusest ning hierarhilise programmjuhtimise põhimõttest.
Loetletud eelistel on reaalselt olemas piirid, mille ulatuses neid saab kasutada. Väga lihtsate
süsteemide korral võib aparatuurselt realiseeritud juhtseade osutuda efektiivsemaks kui
mikroprogrammidel põhinev seade.
Mikroprogrammjuhtimisel põhinevaid automaate kasutati kõigepealt elektronarvuti töö
juhtimiseks. Wilkesi loodud mikroprogrammjuhtimisega automaat põhines loogilistel
maatriksitel, registritel ja dekoodril e dešifraatoril (joonis 1.36). Igal töötaktil peab
automaat moodustama uue mikrokäsu aadressi ning väljastama täidetavale mikrokäsule
vastava juhtsõna. Uue mikrokäsu aadress moodustatakse maatriksis M2 ning see
edastatakse teatud viivitusega mikrokäsu aadressiregistrisse. Sünkroonsignaali saabumisel
aadress dekodeeritakse dešifraatoris  DC, mis ergastab käsule vastava rõhtjuhtme
(joonis 1.36) maatriksites Ml ja M2. Seega vastab igale rõhtjuhtmele üks mikrokäsk, nende
koguarv on aga määratud mikrokäsu kahendaadressi kohtade arvuga n ja võrdub 2n. Käsule
vastavalt ergastatakse punktidega märgistatud kohtades maatriksi püstjuhtmed ning
moodustatakse juhtsõna y0 ... ym. Maatriksis M2 moodustatakse aga uue mikrokäsu
aadress. See salvestatakse jällegi aadressiregistrisse. Uue mikrokäsu täitmine algab järgmisel
taktil pärast seda, kui saabub uus sünkroimpulss. Maatriksite Ml ja M2 programmeerimine
võimaldab moodustada vajalikke mikrokäske ning väljastada neid algoritmile vastavas
järjekorras, kusjuures saab korduvalt tagasi pöörduda ühe või teise käsu juurde. Niisugune
mikrokäskude jada moodustabki mikroprogrammi.
Viivitus
DC
Mikro-
käsu
aad-
ressi-
regis-
ter

M1
M2
y   ...  y
0
m
Joonis 1.36. Wilkesi mikroprogrammautomaat
67
Küllalt suurte maatriksite korral täidab automaat mitmeid mikroprogramme, mis kõik
koosnevad kindlast käsustikust valitud mikrokäskudest, kuid mille järjestus
mikroprogrammides on erinev. Igale makrokäsule vastava mikroprogrammi täitmine algab
sel juhul kindlast mikrokäsu aadressist ning jätkub kuni mikroprogrammi lõpuni
automaatselt. Iga järgmine makrokäsk käivitab uue mikroprogrammi.
Mikroprogramme saab salvestada ka pooljuhtmällu. Mälul põhineva mikroprogramm-
automaadi struktuur on näidatud joonisel 1.37. Mikrokäsu aadress salvestatakse aadressi-
registrisse. Aadressi dešifreerimisel leitakse mälus sellele vastav mikrokäsk, mis sisaldab
järgmise mikrokäsu aadressikoodi ja antud mikrokäsule vastava mikrooperatsiooni koodi.
Mikrokäsk loetakse mälust käsuregistrisse. Sealt edasi läheb aadressikood dešifraatorisse
DC. Aadressikoodi ja väljast saabuva juhtkäsu alusel moodustatakse dešifraatoris
sünkroimpulsi saabumisel järgmise mikrokäsu aadress, mis salvestatakse
aadressiregistrisse. Käsuregistrist väljastatakse seadme juhtimiseks vajalik
mikrooperatsiooni kood. Kuigi mikroprogrammautomaate realiseeritakse nii mälude kui ka
programmeeritavate loogiliste maatriksite baasil, on eri automaatidel veidi isesugused
omadused. Mälumassiivi dešifraator on jäiga loogikaga,  PLM- maatriks Ml aga paindliku
loogikaga. PLM realiseerib loogikafunktsiooni yi = f(xi) disjunktiivset normaalkuju, mälu
aga selle funktsiooni tõeväärtustabelit. Sellest tingituna on mäludega lihtsam realiseerida
lihtsa loogika ja suure väljundite arvuga funktsioone. PLM-i on otstarbekas kasutada seal,
kus on tegemist suhteliselt keerukate loogikafunktsioonidega, ning juhul  kui väljundite arv
ei ole väga suur.
DC
Mälu
Aadressi-
register

A
d

a
r
e
s
s
Mikrokäsk
i
d
e
k
o
o
DC
d
e
r
Dekooder
Käsuregister
Juhtsignaal
Väljundsignaal
Joonis 1.37. Mälul põhinev mikroprogrammautomaat
68
1.6.4. Algoritmide programmiline realiseerimine
Juhtseadmete riistvara ja tarkvara duaalsusest (ühildatavusest ja asendatavusest) tuleneb, et
juhtalgoritme saab realiseerida nii aparatuursete (riistvara) kui ka programmiliste (tarkvara)
vahenditega. Esimesel juhul on realisatsiooni tulemuseks aparatuurne automaat, teisel
juhul programmiautomaat.
Programmiautomaat kujutab endast mõnes algoritmikeeles esitatud programmi, mis on ette
nähtud protsessi või seadme juhtimiseks. Programmi salvestamiseks ja töötlemiseks läheb
aga vaja universaalset riistvaraautomaati. Tänapäeval on niisugusteks automaatideks
mikroprotsessoritel põhinevad üldotstarbelised arvutid, raalid ja raalisüsteemid. Juhtraalide
mälu maht, töökiirus, sisendite ja väljundite arv, väline kuju ning hind on väga erinevad.
Kasutatakse nii odavaid binaarsüsteemide juhtimiseks mõeldud programmeeritavaid
kontrollereid kui ka keerukaid, hierarhilise või hajusstruktuuriga mitmeraalijuhtseadmeid.
Vaatamata mikroprotsessorsüsteemide mitmekesisusele on eri tüüpi protsessorite ehituses
ja tööpõhimõttes  palju  sarnast.
69
2.  MIKROPROTSESSORID
2.1.   Mikroprotsessorite  ja -arvutite  ehitus
2.1.1.  Põhimõisted
Arvutiks või raaliks nimetatakse universaalset programmjuhtimisega infotöötlusseadet,
millega sooritatakse kõiki tuntud aritmeetika- ja loogikatehteid. Nimetus arvuti on
õigustatud juhul, kui põhiliseks infotöötluse viisiks on arvutustehted või tekstid.
Teistsuguse infotöötluse korral on seadet otstarbekas nimetada raaliks, eristamaks
juhtimisülesannete lahendamiseks mõeldud eriseadmeid  bürooarvutitest. Universaalset
juhtseadet nimetatakse  juhtraaliks.
Eespool  vaadeldud mikroprogrammautomaat võimaldab protsesside tsüklilist juhtimist,
kuid seda on väga tülikas rakendada universaalse infotöötlusseadmena eriti siis, kui tuleb
sooritada aritmeetika- ja loogikatehteid. Nendeks operatsioonideks on ette nähtud
aritmeetika-loogikaplokk (ALU - arithmetic-logic unit). Aritmeetika-loogikaploki
põhifunktsioonideks on mitmekohaliste kahendarvude summeerimine, nende nihutamine
vasakule või paremale, loogiline eitus ehk inversioon, loogiline liitmine (disjunktsioon),
loogiline korrutamine (konjunktsioon) ning loogiline alternatiiv ehk VÄLISTAV VÕI.
Nende põhifunktsioonide kombineerimisega ning rakendamisega kindlas järjekorras
sooritatakse kõiki tuntud aritmeetika- ja loogikatehteid. Näiteks toimub kahendarvude
korrutamine järjestikuste summeerimis- ja nihkeoperatsioonide abil. Elementaartehete
sooritamise järjekord on määratud arvutuste (näiteks korrutamise) algoritmiga, mida
täidetakse vastavalt mällu salvestatud programmile. Seejuures juhitakse arvutusprotsessi
ehk aritmeetika-loogikaploki, mälu ja registrite tööd  mikroprogrammautomaadi abil.
Protsessoriks nimetatakse funktsionaalselt terviklikku , aritmeetika- ja loogika-
operatsioonideks ette nähtud seadet, mis sooritab tehteid mälus paiknevate käskude järgi.
Peale aritmeetika-loogikaploki kuulub protsessori koosseisu mitu registrit ning
juhtautomaat näiteks mikroprogrammautomaat. Registrid on ette nähtud operandide ja
vahetulemite ajutiseks salvestamiseks. Juhtautomaat korraldab aritmeetika-loogikaploki ja
registrite tööd mällu salvestatud programmi kohaselt.
Mikroprotsessoriks nimetatakse ühel või mitmel integraallülitusel ehk kiibil (chip) asuvat
protsessorit. Ühel  kiibil  asuvat  mikroprotsessorit nimetatakse ka monoliitprotsessoriks.
Juhul kui protsessor koosneb mitmest kiibist ja igal kiibil olev osaprotsessor töötleb
kahendsõna teatud kohti, on tegemist silpprotsessoriga. Arvuti mäluseade koostatakse
tavaliselt eraldi integraallülitustest. Mõnikord on aga mälu paigutatud protsessoriga ühele
kiibile ning nad moodustavad koos sisendite ja väljunditega ühekiibiarvuti.
Ühekiibiarvuteid kasutatakse peamiselt lokaalseks juhtimiseks, eriti seal kus on oluline
seadme kompaktsus ja kus ei vajata suuremahulist mälu.
70
Arvuti või juhtraal ( juhtarvuti ) koosneb protsessorist, mälust, informatsiooni
sisestamiseks ja väljastamiseks mõeldud liidestest ning sisend- väljundseadmetest. Arvuti
plokkskeem ehk nn J  von  Neumanni klassikalise digitaalarvuti struktuur on kujutatud
joonisel 2.1, kus keskprotsessor (CPU - central processor unit) on eraldatud punktiiriga.
Arvuti põhiosade funktsioonid ja koostöö on korraldatud järgmiselt:
1.  ALU sooritab aritmeetika-loogikatehteid.
2.   Mäluseadmes salvestatakse tööks vajalik info (andmed, tulemused ja programmid).
3.  Sisend-väljundseade on lähteandmete sisestamiseks ja tulemuste väljastamiseks. Seade
sisaldab puhverregistreid ning loogika- ja muid lülitusi välisseadmetega ühendamiseks.
4.  Juhtseade, mis võib olla realiseeritud mikroprogrammiautomaadina, juhib aritmeetika-
loogikaploki tööd, annab juhtsignaale mälu-  ja sisend-väljundseadmetele. Juhtseade 
korraldab juhtkäskude järgi andmete sisestamist, tehete sooritamist ALU-s, andme-
vahetust  ALU ja mäluseadme vahel, andmete väljastust jne.
Keskprotsessor        CPU
Sisend-
Andmed
Andmed
Aritmeetika-
Mälu-
väljund-
loogika-
seade
seade
plokk , ALU
Aadressid
Aadressid
Juhtinfo
Käsud
Juhtseade
Väline juhtimine
Joonis  2.1. Digitaalarvuti klassikaline J von  Neumanni struktuur
Nüüdisaegse arvutiteooria rajaja J von Neumanni loodud arvutistruktuuri peamiseks
iseärasuseks on see, et programmi käsud ja arvutusteks vajalikud andmed paiknevad ühises
mälus ning protsessor kasutab neid ühel ja samal viisil. Sõltuvalt programmist võib arvuti
ise muuta käskude täitmise järjekorda. Programm on mingi tegevuse formaliseeritud
eeskiri. Programm koosneb üksikutest instruktsioonidest, mida nimetatakse käskudeks.
Programmi täidetakse arvutis üksikute käskude kaupa. Keerukamad programmid jagunevad
alamprogrammideks, mida arvuti võib ühe programmi jooksul täita korduvalt.
71
2.1.2.  Arvuti  põhiplokid  ja  siinid
Mikroprotsessorite ja arvutite ehitus sõltub sellest, kuidas nende eri osad: ALU, registrid,
mälu, sisend-väljundliidesed jms on ühendatud  tervikuks. Juhtseadme protsessori, mälu ja
sisend-väljundliideste vahel kasutatakse ühenduseks siine (bus). Sõna bus tähendab inglise
keeles mitmejuhilist ühendust, millega saab omavahel liita palju süsteemi komponente.
Juhtseadme siin koosneb mitmest paralleelsest juhist, mis ühendavad elektriliselt
juhtseadme erinevaid osi. Siinid jagunevad aadressi-, andme- ja juhtsiinideks. Aadressi- ja
andmesiinid on tavaliselt 8- või  16-soonelised, nende kaudu edastatakse korraga ühe- või
kahebaidine sõna.
Arvutites kasutatakse nii kolmesiinilist aadressi- (A - address), andme- (D - data) ja
juhtsiiniga (C - control ) kui ka kahesiinilist, s. o ühise aadressi ja andmesiiniga ning eraldi
juhtsiiniga süsteemi. Vastavad struktuurid on  joonistel  2.2  ja  2.3.
Aadressisiini 8 biti abil saab edastada aadresse 0...255, mis sobib väga väikese mälu või
näiteks sisend- ja väljundliideste adresseerimiseks. Kõik sisend- ja väljundliidesed ning
mälu on ühendatud siiniga, millele protsessor väljastab aadressi.  Iga liides või mälu
reageerib  kohe, kui ta oma aadressi ära tunneb, s. t kui protsessor siini kaudu tema poole
pöördub;  muud liidesed sel juhul ei reageeri. Suuremate mälude adresseerimiseks on vaja
16- või enamasoonelist siini. Otseselt adresseeritavate mälupesade arv võrdub muutmälu
pesade (baitide) arvuga ehk mälu mahuga. 16-bitise aadressisiini korral saab otseselt
adresseerida 216 = 65535 baiti = 64 Kbaiti; (220 = 1 Mbait).
Kui mingi sisendseade tuvastab siinil oma aadressi,  väljastab  ta andmesiinile oma
mäluregistri bittide olekud. Kui protsessor saadab andmesiinile väljastamiseks kaheksa bitti,
antakse need bitid väljundliidese kaudu edasi väljundseadmetele. Samuti toimub
andmesiini kaudu andmevahetus protsessori ja mälu vahel. Juhtsiini kaudu edastatakse
signaale, mida kasutatakse arvuti töö juhtimiseks ja kontrolliks. Näiteks määravad juhtsiini
kaudu edastatavad signaalid R (read) ja WR (write), kas mälu poole pöördutakse info
lugemiseks või kirjutamiseks.
Aadressid ja  andmed on siinil väga lühikest aega. Nii saab ühe ja sama siiniga edastada
kogu nõutava info paljudelt sisenditelt protsessorisse ja vastupidi protsessorist paljudesse
väljunditesse, lugeda mälust käske ning salvestada sinna vajalikku infot.
Kesk-
Mälu
Sisend-
protsessor
väljund-
seadmed

CPU
A
D
R/W
A
D
C
Aadressisiin
Andmesiin
Juhtsiin
Joonis  2.2. Kolmesiinilise mikroarvuti struktuur
72
Kesk-
Mälu
Sisend-
protsessor
väljund-
seadmed

CPU
R/W
A D
C A D
Juhtsiin
Aadressi-andmesiin
Joonis 2.3. Kahesiinilise mikroarvuti struktuur
Kaasaegsed arvutid ja juhtimissüsteemid põhinevad magistraalstruktuuril, mille
universaalset ühissiini  nimetatakse ka universaalseks kanaliks (joonis 2.4).
Ühissiin
A
D
C
A
D
R/W
A
D
R
A
D
C
Kesk-
Muutmälu
Püsimälu
Sisend-
protsessor
väljund-
seadmed

CPU
RAM
ROM
Joonis 2.4. Ühissiiniga arvuti struktuur
Siinis edastatakse andmeid mõlemas suunas, s. t signaalide vastuvõtt ja väljastamine
toimub samu juhtmeid pidi. Selleks kasutatakse kolmeolekulisi kahesuunalisi puhvreid.
Joonisel 2.5 on reversiivne andmete edastus siinilt A seadmele B kahesuunalise puhvri
abil.
Siin A
Võimendi 1
Andmed A
Andmed B
Seade  B
Võimendi 2
Juhtimine:
0 - suund A     > B
1 - suund B     > A 
73
Joonis  2.5. Kahesuunaline värat
Juhtsignaali 0 korral edastab võimendi DA1 andmeid siinilt A seadmele B.  Juhtsignaali 1
korral muutub aktiivseks võimendi DA2 ning andmevoog kulgeb seadmelt B siinile A.
Samal ajal kui üks võimenditest on aktiivne, on teine võimendi suure sisetakistusega
olekus. Seda olekut nimetatakse  suletud ehk kolmandaks olekuks, mis tähendab, et see ei
võrdu 1 ega 0-ga.
2.1.3.   Töötsüklid
Arvuti töötab mällu salvestatud programmi järgi. Protsessor loeb mälust programmi käske
ning täidab neid käskude sisu alusel. Programmi täitmine toimub tsükliliselt käskude kaupa.
Käsu täitmiseks peab protsessor pöörduma mälu poole, lugema sealt käsukoodi,
dekodeerima selle, võtma vastu käsu sisule vastavad loogilised otsused, väljastama
juhtsignaalid kõigile arvuti komponentidele, leidma uue käsu aadressi ning salvestama selle
aadressiregistrisse. Järgmise käsu täitmisel kordub kõik enam-vähem samas järjekorras.
Erinevused käskude täitmisel on tingitud nende erinevast sisust. Ühe käsu täitmiseks
kuluvat ajavahemikku nimetatakse käsutsükliks. Programmi täitmine ning protsessori ja
mälu vaheline töö on korraldatud tsükliliselt, kusjuures töö tulemusi väljastatakse
perioodiliselt  (joonis 2.6). Programmi käsud on mälus järjestikku, nii nagu need on
kirjutatud ka käsitsi koostatud programmilistile.  Iga  käsk vajab mälus ruumi, mis sõltub
käsu baitide arvust.
Arvuti töö on sünkroniseeritud taktiimpulssidega. Taktiimpulsid saadakse
impulsigeneraatorist. Töö stabiilsuse suurendamiseks ning reaalajas töötamiseks  rakenda-
takse impulsigeneraatoris kvartsresonaatorit. Tänu sellele suudab arvuti täita ka kella
funktsioone.
Tsükkel
Programmimälu
Algus
.
.
.
.
.
.
.
.
Mälu
Käsk 1  S   1.0
Käsk 2  S   1.1
Käsk 3  V   4.0
Käsk 4  S   1.2
Käsk 5  S   1.3
Protsessor
Käsk 6  V   4.1
Käsk 7   Lõpp
Tulemid
.
.
.
.
.
.
.
. Lõpp
Joonis 2.6. Arvuti töötsükkel
Joonis 2.7. Käskude paiknemine mälus
74
Takt (T) on lühim ajavahemik ,  mille jooksul arvuti suudab sooritada elementaartehte.
Kestuselt järgmiseks ajavahemikuks on arvutis masinatsükkel (M). Masinatsükli
jooksul võib arvuti valida mälust käsusõna, lugeda mälust või kirjutada infosõna mällu,
lugeda andmesõna sisendist või salvestada tulemisõna väljundisse, katkestada
põhiprogrammi täitmine või teha mingi muu operatsioon. Eri liiki masinatsüklite arv on
määratud protsessori juhtalgoritmiga. Mikroprotsessoril  Intel 8080 on 10 erinevat
masinatsüklit. Masinatsükliteks on näiteks käsu valik, mälu lugemine, mällu kirjutamine,
pinumälu lugemine, pinumällu kirjutamine, sisendi lugemine, väljundisse kirjutamine,
katkestuse lubamine , otsemällupöördumise lubamine jms. Ühe masinatsükli kestus on
sõltuvalt sisust 3...5 takti.  Käsu täitmiseks kulub 1...3 masinatsüklit. Käsutsükli
ajadiagrammi näide on joonisel 2.8. Vastavalt käsule kirjutatakse operand ühest mälu
piirkonnast teise. Esimese masinatsükli M1 ajal määratakse operatsiooni- ehk tehtekood,
s. t mida teha.  Teise masinatsükli M2 ajal loetakse operand mälust protsessorisse.
Kolmanda masinatsükli M3 ajal kirjutatakse operand  muutmälu pessa, mille aadress on
protsessori  registris. Programmi käsud asuvad järjestikustes mälupesades. Seepärast
tuleb järgmise käsu poole pöördumiseks suurendada aadressi vastavalt käsu pikkusele
ühe, kahe või kolme võrra.
Φ
T
T
T
T
T
T
T
T
T
T
1
2
3
4
1
2
3
1
2
3
M 1
M 2
M 3
(Operatsiooni kood)
(Lugemine mälust)
(Mällu kirjutamine)
Käsutsükkel
Joonis. 2.8. Keskprotsessori  käsutsükli ajadiagramm
Arvutit, mille põhiülesandeks on seadmete või protsesside juhtimine, nimetatakse
juhtraaliks. Juhul kui juhtraali protsessor käib korduvalt töötsükli kaupa kõik
programmimällu kirjutatud käsud algusest lõpuni läbi, s. t pöördub tsükliliselt vastava
aadressiga mälupesade poole, on tegemist tsüklilise programmjuhtimisega. Programmi
lugemist algusest lõpuni nimetatakse programmi tsükliks. Aega, mis kulub
programmitsükli läbimiseks, nimetatakse programmi tsükliajaks. Selle kestus sõltub
juhtraali töökiirusest ning  juhtkäskude olemusest. Lihtsamate tsüklilise
programmjuhtimisega juhtraalide ehk programmeeritavate kontrollerite   tsükliaeg koosneb
kolmest üksteisele järgnevast osast:
1. Protsessor pärib kõigi sisendite olekuid ning salvestab need vahemällu.
    Vastav päringuprogramm on salvestatud kontrolleri juhtimissüsteemi.
2. Protsessor töötleb kasutajaprogrammi. Ta loeb käske; täidab  neid selles
    järjekorras,  nagu need on programmimälus; pärib sisendite, ajareleede jms olekuid
    ning moodustab lõpptulemi,  millega juhitakse väljundeid.
3. Protsessor saadab väljundite uued olekud väljundikaardile.
Kokkuvõtteks võib öelda, et arvuti töö on korraldatud tsükliliselt, kusjuures tsüklid
moodustavad hierarhia : programmitsükkel, käsutsükkel, masinatsükkel, takt.
75
76
2.2.    Mikroprotsessori  tööpõhimõte
2.2.1. Protsessori ehitus
Mikroarvutite ja juhtraalide kasutaja ( programmeerija ) ei pea teadma riistvara
üksikasjalikku ehitust, kuid tal peab olema selge ettekujutus protsessori ja arvuti
tööpõhimõttest. Ta peab teadma arvuti põhilisi koostisosi ning signaale, koode või käske,
millega arvuti tööd juhitakse. Kõige olulisem on tunda mikroarvuti käsustikku, sest
üksikutest käskudest koostatakse kõik kasutajale vajalikud programmid.
Mikroarvuti käsustik sõltub protsessori tüübist. On olemas fikseeritud käsustikuga
protsessorid
 ning ka sellised, mille käsustiku võib kasutaja oma soovi kohaselt välja
mõelda. See tähendab, et mikroprotsessori seesmine juhtautomaat on kasutaja poolt
programmeeritav või ümberprogrammeeritav. Teisiti öeldes, on olemas protsessorid, mille
seesmise juhtautomaadi programmeerib kiibi valmistaja (tehas), ning on olemas
protsessorid, mille juhtautomaadi mikroprogrammid salvestab kasutaja. Viimaste hulka
kuuluvad tavaliselt silpprotsessorid.
Protsessorid eristuvad üksteisest töödeldava kahendsõna pikkuselt (8-, 16- ja 32-bitised),
sisemiste registrite arvult ja tähenduselt , info adresseerimise viisi ning käskude sümboolika
ja koodide poolest. Seepärast ei ole ühe mikroarvuti masinakeeles programmid otseselt
ülekantavad teisele arvutile . Ometi on eri mikroarvutite ehituses ja programmeerimises
palju sarnasusi , mis võimaldavad ühe arvuti juures omandatud kogemusi rakendada ka
teiste arvutitega töötamisel.
Programmeerija jaoks tuleks koostada juhtraali või programmeeritava kontrolleri mudel,
kus on ära näidatud kõik programmeerijale ligipääsetavad riistvara osad. Nendeks on
aritmeetika-loogikaplokk, akumulaator , üldotstarbelised ehk üldregistrid ning mälu.
Programmeerija peab tundma mälu aadressiruumi, millistesse pesadesse saab kirjutada
programme , kus asuvad juhtseadme süsteemsed programmid ning millised aadressid on
reserveeritud andmete salvestamiseks.
Joonisel 2.9 on näidatud kolme siiniga 8-bitise mikroprotsessori (Intel 8080) ehitus ning
põhilised komponendid. Mälu aadresside ja käskude kodeerimiseks kasutatakse antud juhul
kuueteistkümnendarve. Märkigem, et mõne teist tüüpi protsessori korral kasutatakse ka
kaheksandarve. Programmistile on kättesaadavad 10 registrit, neist kuus 8-bitist üldregistrit,
8-bitine akumulaator ja tunnuste register ning 16-bitised registrid SP ja PC. Üldotstarbelised
8-bitised registrid on tähistatud tähtedega B, C, D, E, H, L. Neid võib kasutada ka paariviisi
B & C, D & E ja H & L, s. t kolme 16-bitise registrina. Registripaare tähistatakse paari
esimese registri tähise järgi, s. t B&C = BD&E = D ja H&L = H. A  tähistab akumulaatorit,
SP pinumälu viita ja PC käsuloendurit. INC/DEC on kasvatamis-/kahandamislülitus
(increment/decrement).
77
Andmesiin
Andmepuhver
Ennistam.
RESET
Sisemine andmesiin
J Sünkroni-
F1
U seerimine
F2
H
SYNCR.
T
VR1
VR2
TR
KR
Valmisolek
READY
A
MUX
U Ooteolek
WAIT
B
C
T DMA
HOLD
D
E
O juhtimine
HLDA
Käsu
M
H
L
Katkestuste
INT
DC
A
ALU
SP
A juhtimine
INTE
A
PC
T Lugemine
RD
INC/DEC
Kirjutamine
WR
10 korr.
Juhtsignaalid
Juhtsiin
Aadressisiin
Joonis 2.9.  Mikroprotsessori registrid ja siinid
2.2.2.  Registrid ja nende otstarve
Mikroprotsessor sisaldab mitmeid registreid, mida kasutatakse tehte tulemite  või tehte
vahetulemite lühiajaliseks salvestamiseks, selleks et tulemid oleksid kiiresti saadaval
järgmisteks teheteks.
Akumulaator on protsessori üheks kõige tähtsamaks registriks, kuhu enne tehte
sooritamist viiakse üks operandidest ning kuhu salvestatakse automaatselt aritmeetika-
loogikaploki tulem.
Pinumälu viit  ehk pinuviit säilitab muutmälu selle piirkonna aadressi, mida jooksvalt
kasutatakse pinumäluna.
Käsuloenduri  (PC - program counter  või IP - instruction pointer) ülesandeks on
säilitada programmi järgmise käsu aadressi. Selle järgi võib käsuloendurit nimetada ka
käsuviidaks (vrd pinuviit) või programmiloenduriks. Standardsel 8-bitisel mikroprotsessoril
on 16-bitine käsuloendur , millega  täidetakse programmi, mille pikkus mälus ei ületa 65 535
käsku.
Juurdekasvulülitus võimaldab suurendada või vähendada programmiloenduri sisu ühe
võrra ning programmeerida selle abil loendureid ja korraldada järjestikku protsesside
juhtimist.
Üldregistreid B, C, D, E, H, L kasutatakse programmi operandide, vahetulemite või
aadresside ajutiseks säilitamiseks.
78
Peale nime on igal registril veel kindel kolmebitine kahendkood, mis sisaldub tehtekoodis ja
võimaldab  käsuga  vahetult  vastava  registri  poole pöörduda.
          B  000,       C  - 001,
  
D  010,        - 011,
          H  100,       L  - 101,
 110,      A  - 111,
kus M tähistab mälupesa,  mille aadressiks on registripaaris H&L olev kood.
Registrite kasutamisel tuleb arvestada, et andmesõna normaalseks pikkuseks on 8 bitti,
aadressisõna pikkuseks aga 16 bitti. Vastavalt sellele salvestatakse andmeid harilikult
8-bitistesse registritesse ning üksnes erijuhul kasutatakse topeltpikkusega 16-bitist
andmesõna. Registrite arv ning otstarve on eri protsessoritel erinev. Näitena on tabelis 2.1
protsessoriperekonna  Intel 8086 ja 80386 registrite loetelu.
Tabel 2.1
Protsessoriperekonna  Intel 8086, 80386  registrid
Üldregistrid (General Purpose Register)
Segmendiregistrid (Segment Registers)
AH/AL  AX  (EAX)  Accumulator
CS
Code Segment
BH/BL  BX  (EBX)   Base
DS
Data Segment
CH/CL  CX  (ECX)  Counter
SS
Stack Segment
DH/DL  DX  (EDX)  Data
ES
Extra Segment
(FS)
386 and newer
(Exx) indicates 386+ 32 bit register
(GS)
386 and newer
Viidaregistrid (Pointer Registers)
Pinumälu registrid (Stack Registers)
SI (ESI)   Source Index
SP (ESP)  Stack Pointer
DI (EDI)  Destination Index
BP (EBP)  Base Pointer
IP
    Instruction Pointer
Olekuregistrid ( Status Registers)
FLAGS Status Flags   (see FLAGS)
Eriregistrid ( Special Registers, 386+ only)
CR0
Control Register 0
DR0
 Debug Register 0
CR2
Control Register 2
DR1
 Debug Register 1
CR3
Control Register 3
DR2
 Debug Register 2
DR3
 Debug Register 3
TR4
Test Register 4
DR6
 Debug Register 6
TR5
Test Register 5
DR7
 Debug Register 7
TR6
Test Register 6
TR7
Test Register 7
Registrite kasutamine
Register                      Default Segment
Valid Overrides
BP
            SS
DS, ES, CS
SI or DI
DS
ES, SS, CS
79
DI strings
ES
None
SI strings
DS
ES, SS, CS
        
Programmi käsk loetakse mälust käsuregistrisse, kus seda hoitakse seni, kuni
käsudekooder ta ära tunneb. Käsu järgi määrab juhtautomaat protsessori masinatsükli
ning realiseerib algoritmi. Algoritmi täitmiseks väljastab juhtautomaat signaalid protsessori
funktsionaalsetele osadele: ALU-le, registritele jms. Juhtautomaadi algoritm määrab ära,
millist operatsiooni täidetakse ning kuidas toimivad protsessori üksikud osad.  Järgmise
käsu täitmiseks kirjutatakse käsuloendurisse uus aadress.
Olekuregistri sisu oleneb aritmeetika-loogikaplokis sooritatava tehte tulemusest. Näiteks
kui tehte tulemusena saadakse null, s. t tulemi kõik bitid on nullid , siis fikseeritakse
olekuregistris nn nulli tunnus ehk  lipp  (F - flag). Selleks on registris eraldatud üks bitt -
nulltunnuse bitt ehk nullbitt (Z -  zero ), mis tunnuse olemasolu korral viiakse olekusse = 1.
Kui arvude liitmisel toimub vanemast bitist ülekanne, siis  fikseeritakse ülekande tunnus
(C - carry) ning tunnuste registri C-bitt viiakse olekusse C = 1. Seda registrit nimetatakse ka
lippude registriks. Protsessorites kasutatakse erineva lippude arvuga olekuregistreid
Olekuregistri sisu järgi toimub siirdekäskude täitmine. Sõltuvalt keskprotsessori
(CPU - central processor unit) tüübist kasutatakse täiendavalt tingimuslike siirete plokki ,
mis universaalarvutis Pentium on edasi arendatud järgmist käsku prognoosivaks
plokiks
. Sel viisil saavutatakse arvuti töökiiruse suurenemine.
Enamkasutatavatel lippudel on järgmine tähendus:
S (N)  ( sign )  negatiivne tulem. Lipp seatakse  S = 1, kui registri  sisu on pärast käsu 
täitmist negatiivne. 8-bitises registris  võib märgiga arve kujutada piirkonnas
-(27) =  -128 kuni (27 -1)  = 127;
Z   
(zero) nulltulem. Lipp seatakse Z = 1, kui registri  sisu on 0; lipp pööratakse Z = 0, 
kui registri  sisu ei ole 0;
AC 
(auxiliary carry) abi- ehk dekaadülekanne. Lipp seatakse AC = 1, kui on ülekanne 
registri   madalamast poolbaidist kõrgemasse poolbaiti, s. t kolmandast bitist 
neljandasse (registri bitid nummerdatakse paremalt vasakule). Seda tunnust 
kasutatakse kümnendaritmeetika  kahend-kümnendkoodis  teheteks;
P 
( parity ) paaristulem. Lipp seatakse  P = 1, kui registri ühtede summa on paaris, ja 
P = 0, kui summa on paaritu;
CY   
(carry) ülekanne. Lipp seatakse CY = 1, kui oli ülekanne registri seitsmendast bitist. 
Kui ülekannet ei olnud, siis CY = 0.
T  
(trap) püünisetunnus. Kui  T = 1,  s. t lipp on seatud, siis toimub programmi 
katkestus pärast jooksva käsu täitmist ja siire püüniseks nimetatavasse 
80
eriprogrammi.  Seda  lippu kasutatakse peamiselt programmi silumisel.
Lippude tähistena võib kasutada ka mitmeid teisi tähti. Mikroprotsessori Intel 8086 ja
80386 lippudest annab ülevaate tabel 2.2.
Tabel 2.2
                Protsessoriperekonna Intel 8086, 80386 olekuregister
 ¦11¦10¦F¦E¦D¦C¦B¦A¦9¦8¦7¦6¦5¦4¦3¦2¦1¦0¦
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  CF Carry Flag
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  1
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  PF Parity Flag
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  0
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  AF Auxiliary Flag
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  0
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  ZF Zero Flag
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  SF Sign Flag
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  TF Trap Flag  (Single Step)
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---  IF Interrupt Flag
   ¦  ¦ ¦ ¦ ¦ ¦ ¦ +---  DF Direction Flag
   ¦  ¦ ¦ ¦ ¦ ¦ +---  OF Overflow flag
   ¦  ¦ ¦ ¦ +-----   IOPL I/O Privilege Level  (286+ only)
   ¦  ¦ ¦ +-----  NT Nested Task Flag  (286+ only)
   ¦  ¦ +-----  0
   ¦  +-----  RF Resume Flag (386+ only)
   +------  VM  Virtual Mode Flag (386+ only)
Registreid A  (akumulaator) ja F (lipud) vaadeldakse mõnikord registripaarina, programmi
olekuregistrina
. Eriline tähtsus on seejuures registril F, mis on ette nähtud tulemitunnuste
salvestamiseks.
Protsessori olekusõna (PSW - processor status word). Protsessor genereerib iga
masinatsükli esimese takti jooksul andmesiinile protsessori olekusõna, mis iseloomustab
masinatsüklit ja sisaldab protsessori töö kohta täpsemat infot.  Protsessori olekusõna
salvestatakse protsessori välisesse olekuregistrisse ning seda kasutatakse liiteseadmete
juhtimiseks.
2.2.3.  Ajadiagrammid
81
Protsessori töö ajalist kulgu iseloomustavad ajadiagrammid, mille põhjal saab hinnata ühe
või teise operatsiooni elementaartehete järjekorda ning operatsiooni sooritamise kestust.
Joonistel 2.11 ja 2.12 on  protsessori ja mälu koostööd iseloomustavad ajadiagrammid.
Mälust lugemisel sooritab protsessor järgmised elementaartehted:
1)
juhtsignaal RD/WR viiakse olekusse RD (read), mis tähendab lugemist,
2)
mälupesa aadressisõna, kust soovitakse lugeda infot,   saadetakse aadressisiinile,
3)
kiibivaliku siganaaliga CS (chip select) avatakse juurdepääs mällu,
4)
loetakse mälupesa sisu väljundisse (andmesiinile).
Mällu kirjutamisel sooritatakse järgmised elementaartehted:
1)
mälupesa aadressisõna, kuhu soovitatakse kirjutada infot,  saadetakse
aadressisiinile,
2)
kiibivaliku signaaliga CS (chip select) avatakse juurdepääs mällu,
3)
juhtsignaal RD/WR viiakse olekusse WR (write), mis tähendab kirjutamist,
4)
mällu kirjutatav infosõna saadetakse mälu sisendisse (andmesiinile).
Protsessori, mälu ja välisseadmete töö ajaliseks korraldamiseks kasutatakse sünkroni-
seerimist.
Taktiimpulsid
Taktiimpulsid
Aadress
Aadress
RD/WR
RD/WR
CS
CS
Väljund
Sisend
t
t
t
t
t
t
t
t
t
t
t
0
1
2
3
0
1
2
3
4
Joonis 2.10. Mälust lugemise ajadiagramm
Joonis 2.11. Mällu kirjutamise ajadiagramm
2.2.4.  Käsu- ja andmevormingud
Arvuti töötab programmjuhtimise põhimõttel. Programmeerimine toimub käskudega.
Käsk sisaldab informatsiooni selle kohta, missugust tehet tuleb täita. Informatsiooni, mida
arvutis töödeldakse, nimetatakse andmeteks. Andmete töötluseeskirja nimetatakse
82
algoritmiks. Algoritmi saab esitada plokk- ja graafskeemina või ka programmina. Käskude
jadana esitatud algoritmi nimetatakse programmiks. Programm ja andmed salvestatakse
mällu, kus need on protsessorile kergesti kättesaadavad. Arvuti töö seisneb programmi
automaatses täitmises.
Käsus sisalduv informatsioon on määratud käsuvorminguga. Käsuvormingu peamised
osad on tehte- ehk operatsioonikood ja aadressid. Tehtekood näitab, missugust tehet on
vaja sooritada, aadressid näitavad tehete operandide asukohta mälus, s. o mälupesa
asukohta või registri nime. Mälus paiknevate käskude või andmete poole pöördumist
nimetatakse adresseerimiseks.  Koos aadressiga antakse info adresseerimise viisi kohta.
a)
D7 D6 D5 D4 D3 D2 D1 D0
Tehtekood
b)
D7 D6 D5 D4 D3 D2 D1 D0
Tehtekood
D7 D6 D5 D4 D3 D2 D1 D0
Operand
c)
D7 D6 D5 D4 D3 D2 D1 D0
Tehtekood
Aadressi noorem bait
D7 D6 D5 D4 D3 D2 D1 D0
või 1. operand
Aadressi vanem bait
D7 D6 D5 D4 D3 D2 D1 D0
või 2. operand
Joonis 2.12. Käsuvormingu näited:
a) ühebaidine käsk, b) kahebaidine käsk, c) kolmebaidine käsk
Täidetava funktsiooni järgi võib arvuti käsud jaotada järgmistesse rühmadesse: 1) andme-
edastuskäsud,   2)  aritmeetika- ja loogikakäsud,   3)   siirdekäsud, 4) alamprogrammikäsud,
5)  nihkekäsud,   6) sisendi-väljundikäsud  ja 7)   muud erikäsud.
Käsu täitmine toimub etappide kaupa. Aritmeetika-loogikakäskude korral eristatakse
järgmisi etappe : 1) käsu lugemine mälust, 2) operandide lugemine, 3) tehte sooritamine, 4)
tulemi salvestamine, 5) järgmise käsu ettevalmistamine. Siirdekäskude puhul on olulised
1) käsu lugemine, 2) tingimuste analüüs, 3) järgmise käsu ettevalmistamine.
Andmed. Arvutid kasutavad järgmisi andmete tüüpe: arve, loogikaväärtusi, märke ja
märgijadasid. Andmesõna pikkus avaldab olulist mõju andmete edastamisele. Mahukamate
andmete korral (näiteks ujukomaarvude kasutamisel) koosneb andmeüksus e andmesõna
mitmest (2 ... 4) arvutisõnast (8 ... 32 bitti). Arvulised andmed on enamasti
kahendsüsteemis ning esitatakse püsikoma- ja/või ujukomaarvuna (joonis  2.13).
Püsikomaarvude puhul on koma arvu mäluvälja kindlal positsioonil. Vanematel
protsessoritüüpidel paikneb koma enamasti esimese numbrikoha ees, s. t mälus saab
kujutada vaid ühest väiksemaid püsikomaarve. Kaasaegsematel ei määrata koma arvuti
83
lülitusega ega kanta koos numbritega mällu, vaid koma asukoht määratakse kindlaks
programmiga. Püsikomaarvude kasutamisel võib tekkida mäluvälja ületäitumine, s. o
olukord, kus arvutustehte tulem ei mahu mäluvälja. Samuti võib esineda mäluvälja
alatäitumist, s. o olukorda, kus arvutustulem on niivõrd väike, et kujutub mäluvälja
piirides nullina. Töötamisel ujukomaarvudega ilmnevad nimetatud ebameeldivused
tunduvalt harvemini. Püsikomaarvudel määrab arvu kõrgeim koht arvu märgi; plussmärki
tähistatakse 0-ga, miinusmärki aga 1-ga. Ülejäänud bitid esitavad kas murdarve 0, 2-15, ... 1-
2-15 või täisarve 0, 1, 2 ... 215 -1. Negatiivseid arve esitatakse üldjuhul täiendkoodis.
Murdarvulisel kujutamisel täiendkood suurendab ehk täiendab arvu absoluutväärtust
kaheni, täisarvulisel kujutamisel 2n-ni,  näiteks 216-ni.
Ujukomaarvude korral salvestatakse mälus lisaks märgile ja numbritele veel eksponent
(arv, mis määrab koma asukoha). Eksponent näitab, mitme numbri võrra tuleb koma
nihutada vasakule (kui eksponent 0), lähtudes algseisust,
kus koma oli vahetult esimese numbri ees. Ujukomaarvud salvestatakse enamasti
normaliseerituna, s.o selliselt et arvu numbrikohtade jada ehk mantissi esimene number
erineb nullist. Kui mällu suunatakse tingimusele mittevastav arv, normaliseerib arvuti selle
enne salvestamist. Ujukomaarvu kood koosneb mantissist M ja eksponendist a, mis
esitavad arvu 2aM, enamasti 0,5 ≤  kahes arvutisõnas, kusjuures astmenäitaja ja mantiss paiknevad teineteise suhtes erinevatel
arvutitel erinevalt.
Normaliseerimiseks nimetatakse mantissi numbrite nihutamist ja eksponendi muutmist
nii, et arvu väärtus ei muutu. Näiteks arvu 8 900 000 ujukomaesituse moodustavad märk +,
mantiss 89 (millele lisanduvad nullid) ja eksponent 7. Ujukomaarvude esitus on
analoogiline tavalisele arvude esitusele 10 astme kaudu kujul N = M×10p, kus mantissi
tähistab M ja eksponenti p. Kui analoogiliselt talitada kahendarvuga, s. t esitada ta 2 astme
kaudu, vastab arvu kuju ujukomakahendarvule. Arve on otstarbekas esitada
ujukomaarvudena väga väikeste ja väga suurte arvude, näiteks füüsikaliste konstantide
korral ja nendega opereerimisel.
MÄRK
ARVU   NUMBRID
MÄRK
MANTISS
EKSPONENT
MÕELDAV  KOMA
MÕELDAV  KOMA
( programmis punkt)
Joonis 2.13. Püsi- ja ujukomaarvud
Loogikaandmeid esitavad arvutisõna või bitid eraldi. Vastavalt sellele töödeldakse
loogikaandmeid  kas terve sõna ulatuses  või  sõna üksikute  bittide  kaupa.
Märgijadasid kasutatakse enamasti võimsates arvutites. Väikestes juhtarvutites eraldi
andmeliigina neid üldjuhul ei kasutata. Märgijadadena esitatud andmed haaravad tavaliselt
suvalise arvu arvutisõnu. Märgi (tähe, numbri jne e tärgi) esitusüksus on bait, mis kõige
sagedamini koosneb 8 bitist.
84
Programmeerija kasutab sageli ka kompleksarve, kuid nendega sooritatavad tehted
teisendatakse programmide abil teheteks arvude  reaal - ja imaginaarosadega.
Lisaks aritmeetilistele ehk arvandmetele salvestavad ja töötlevad arvutid suvalisi
tekstijadasid, mis on koostatud arvutile tuntud märkidest (numbrid, suurtähed,
mitmesugused erimärgid). Selliseid tekste nimetatakse märgistringideks.
Märgistringid salvestatakse arvuti mällu ASCII -koodis järjestikuste baitidena nii, et iga
märk hõlmab ühe baidi. Stringide hulgas eristatakse bitistringe, mis koosnevad ainult
bittidest. Bitistringidel  põhineb infoloogiliste ülesannete lahendamine.
Käsu lugemisel antakse käsuloendurist ette käsu aadress. Selleks viiakse käsuloenduri sisu
aadressiregistrisse ning edastatakse aadressisiini kaudu mällu. Ühtlasi antakse mälule
lugemiskäsk. Tulemusena saadakse järjekordne käsk, mis viiakse andmesiini kaudu
protsessori käsuregistrisse. Kui käsk näeb ette tehet mingi operandiga, siis sisaldub käsus ka
operandi aadress. Kahe operandi korral antakse käsuga ette kaks aadressi.
Operandi lugemisel pöördutakse käsuga määratud mälu aadressi või registri poole ning
suunatakse sealt saadud operand  protsessori registrisse. Kui tehe tuleb sooritada kahe
operandiga, loetakse mälust ka teine operand ning viiakse samuti protsessori registrisse.
Tehe sooritatakse protsessoris (aritmeetika-loogikaplokis) käsu tehtekoodi kohaselt.
Tulem salvestatakse akumulaatorisse või kaheoperandiliste tehete korral teise operandi
asemele mälupessa. Järjekordse käsu ettevalmistamine seisneb käsuloenduri
formeerimises. Kui programmi käske täidetakse  järjestikku, siis suurendatakse
käsuloenduri sisu ühe võrra. Siirdekäskude korral suunatakse sõltuvalt lipust
käsuloendurisse siirde aadress (Z = 1) või suurendatakse käsuloenduri sisu ühe võrra (Z =
0). Seega sõltub tingimusest (lipust), kas programmi täitmist jätkatakse järgmisest käsust
või pöördutakse tingimussiirde käsus näidatud aadressi poole ja jätkatakse programmi
täitmist sealt. Kõiki loetletud tegevusi juhib protsessori juhtplokk.
2.2.5.  Protsessori  käsustik
Mikroarvuti programmeerimine masinakoodis või assemblerikeeles eeldab kõigi tema
käskude põhjalikku tundmist. Mikroarvutites kasutatakse erisuguseid masinakoode ja
assemblerikeeli. Seepärast tuleb lugejal täpsema teabe saamiseks pöörduda käsiraamatute
või konkreetsete arvutite ja juhtseadmete juhendite poole. Siinkohal tutvustatakse firma
Intel 8-bitise protsessori 8080 käsustikku (vt tabel 2.3), millest hiljem on välja arenenud
hilisemate protsessoripõlvkondade 80286, 80386 ja 80486 käsustikud.   Universaal -
protsessori käsud võib jaotada rühmadesse.
Andmeedastuskäskudega saab viia infot ühest registrist teise, mälust registrisse või
vastupidi. Tüüpiliseks käsuks on näiteks MOV r1, r2 ( moveliikuma), mis tähendab, et info
viiakse registrist r2 registrisse r1. Aritmeetika-loogikakäsud võimaldavad sooritada
vastavaid tehteid. Näiteks käsuga ADD B liidetakse akumulaatori sisu registri B sisule ning
tulem salvestatakse akumulaatorisse. Siirdekäsud jaotatakse tingimusteta ja tingimuslikeks
85
siirdekäskudeks. Tingimusteta siirdekäsuks on näiteks JMP ad (jump), mis tõlkes tähendab
hüpet. Käsk sisaldab aadressi (ad), kuhu tuleb käsu järgi siirduda, näiteks JMP E5 F0.
Tingimuslikud siirdekäsud võimaldavad kontrollida tulemitunnuseid ning siirduda teatud
programmiharusse. Nende käskudega organiseeritakse programmi tsüklilist täitmist. Näiteks
käsk JNZ ad (jump on no zero) tähendab, et juhul kui tulem ei võrdu nulliga, tuleb siirduda
käsus näidatud aadressile. Vastupidisel juhul jätkub programmi täitmine järgmisest mällu
salvestatud käsust. Siirdekäskudega sarnased on ka alamprogrammikäsud näiteks
CALL  ad, mille kohaselt pöördutakse käsus näidatud aadressi poole, kust algab mingi
alamprogramm. Alamprogramm lõpeb käsuga RET ( return ), mis tähendab, et tuleb
pöörduda tagasi endise aadressi poole, kus töö alamprogrammi siirdumisel katkes.
86
2.2.6.   Adresseerimine
Operandide adresseerimiseks kasutatakse mitut viisi: otse- ja kaudadresseerimist, suht- ja
indeksadresseerimist, vahetut adresseerimist, aga ka mitmesuguseid kombineeritud
adresseerimisviise nagu kaudset indeksadresseerimist  jms. Adresseerimise viise selgitavad
joonistel 2.14 ...2.18 toodud skeemid. Käsus sisalduva teabe põhjal leitakse vajalik
mälupesa ning loetakse sealt soovitud operand. Protsessoril võib olla 10 ja enam erinevat
adresseerimisviisi.
Otseadresseerimisel antakse käsuga ette operandi aadress, mille järgi leitakse mälust
operand.
Tehtekood Otseadresseerimine Aadress A8B1
Mälu
Operand
A8B0
A8B1
35
35
A8B2
A8B3

Joonis 2.14. Operandi leidmine otseadresseerimise korral
Kaudadresseerimisel leitakse kõigepealt mälust operandi aadress ning seejärel teisest
mälupesast operand.
Tehtekood
Kaudadresseerimine Aadress 58B1
Mälu
58B0
58B1
F802
58B2
58B3

Operand
F801
F802

35
35
F803
87
Joonis 2.15. Operandi leidmine kaudadresseerimise korral
Suhtadresseerimisel antakse operandi aadress käsuloenduri (programmi jooksva aadressi)
suhtes. Operandi aadress leitakse käsuloenduri sisu ja suhtaadressi summeerimisega.
Tehtekood
Suhtadresseerimine
4
Käsuloendur 12E5
12E5 +  4  = 12E9
Mälu
Operand
12E8
12E9
35
35
12EA
12EB

Joonis 2.16. Operandi leidmine suhtadresseerimise korral
Indeksadresseerimine sarnaneb suhtadresseerimisega, kuid  käsuloenduri asemel
kasutatakse baasaadressina  indeksiregistris salvestatud aadressisõna.
Tehtekood
Indeksadresseerimine
4
Indeksiregister2285
2285 +  4  = 2289
Mälu
Operand
2288
2289
35
35
228A
228B

Joonis 2.17. Operandi leidmine indeksadresseerimise korral
Vahetul adresseerimisel antakse operand otse käsuga.
Tehtekood
Vahetu adresseerimine
35
Operand
35
88
Joonis 2.18. Operandi leidmine vahetu adresseerimise korral
2.2.7.   Pinumälu
Pinumälu ehk lihtsalt pinu (stack) on registrite kogum, kuhu saab lühiajaliselt salvestada
infot. Pinumälu on realiseeritud kas nihkeregistrina või kasutatakse selleks osa arvuti
muutmälust. Tuntakse kahte liiki pinumälusid:  LIFO - (last in first out) ja   FIFO(first in
first out
) tüüpi mälu. LIFO-tüüpi pinu võib võrrelda padrunisalvega, kust viimasena
laaditud padruni saab kätte esimesena. Pinumälu kasutatakse koos pinumälu viidaga (stack
pointer
), mis fikseerib pinu asukoha (aadressi) üldkasutatavas muutmälus. Arvutis
kasutatakse pinumälu kõige enam selleks, et  sinna ajutiselt kirjutada protsessori registrite
sisu juhul, kui protsessor töötleb vaheldumisi mitut algoritmi ning registrite sisu ei tohi töö
katkestamisel  kaduma minna. Pinumällu salvestatakse ka protsessori olekusõna
PSW  (processor status word). Protsessori olekusõnaks on akumulaatori ja tunnuste registri
sisu ehk lihtsalt aku ja lipud. Protsessori registrite sisu kirjutatakse pinusse käsuga PUSH
ning pinust registritesse käsuga POP (joonis 2.19).
PUSH
POP
A
SP
A
F
PCH
F
B
SP - 2
PCL
B
C
A
C
D
F
D
E
B
E
H
C
H
L
D
L
E
H
L
Joonis 2.19. Pinumälu ja selle kasutamine
2.2.8.  Protsessori  koostöö  mälu  ja välisseadmetega
Arvuti koosneb protsessorist, mälust, sisend-väljundseadmetest ja neid kõiki ühendavast
siinide süsteemist. Mikroprotsessorsüsteemi loomisel ja programmeerimisel tuleb
saavutada nende põhikomponentide koostöö (joonis 2.20).
Mälu organiseerimine seisneb arvuti mäluseadmete ja mälupiirkondade valikus ning
mäluväljade aadresside jaotuses. Mäluväli on järjestikuste baitide rühm, mille pikkuseks
loetakse baitide arvu väljas ja aadressiks välja esimese baidi aadressi. Välja bitid
nummerdatakse alates vasakpoolsemast järjenumbritega 0, 1, ... jne. Fikseeritud
mäluväljadena (joonis 2.21) kasutatakse poolsõna, sõna ja topeltsõna, mille pikkusteks on
kaks, neli ja kaheksa baiti, kusjuures välja aadress peab jaguma pikkusega (2, 4 või 8-ga).
89
Andmesiin
0000
1. sisend-
A
B
C
värat
D
E
2. sisend-
värat
3FFF
H
L
Mälu
3. sisend-
I/O
värat
4000
DC
DC 1. väljund-
ALU
SP
värat
PC
2. väljund-
värat
I/D
3. väljund-
FFFF
värat
Aadressisiin
Mikroprotsessor
Joonis 2.20 Mikroarvuti programmisti seisukohalt
BAIT
BAIT
BAIT
BAIT
BAIT
BAIT
BAIT
BAIT
0
7 0
7
0
7
0
7
POOLSÕNA
POOLSÕNA
POOLSÕNA
POOLSÕNA
0
15
0
15
SÕNA
SÕNA
0
31
TOPELTSÕNA
0
63
Joonis 2.21.  Mäluväljad
Põhimälu struktuur. Adresseerimine võib toimuda kas sõna- või baitadresseeringuga,
kus vähimaks adresseeritavaks mäluüksuseks on sõna või bait (joonis 2.22).
Baitadresseering tagab mälu ökonoomse kasutamise ning võimaldab esitada käske ja
andmeid eri vormingutes. Andmeid salvestatakse muutuva ja fikseeritud pikkusega
mäluväljadele.
a)
b)
7
0
15
8 7
0
0
1
0
1
3
2
2
5
4
3
7
6
4
9
8
5
11
10
6
13
12
7
15
14
8
17
16
65535
90
Joonis 2.22. Ühe- ja kahebaidised mäluväljad ja nende adresseerimine
Igal põhimälu baidil on  aadress (s.t järjenumber). Aadresside numeratsioon algab nullist.
Arvuti opereerib kahendaadressidega, aadresside üleskirjutamiseks kasutatakse harilikult
16-ndsüsteemi. Sõltuvalt arvuti mudelist ja põhimälu mahust hõlmavad aadressid järgmisi
standardseid vahemikke (joonis  2.23).
00000                          010
16
00001                          1
INTEL
INTEL
...........                        .....
16
10
00FFF                   4095
8080
16
10
8080
...........                        .....
0FFFF                 65535
16
10
...........                        .....
INTEL
INTEL
1FFFF               131071
INTEL
16
10
INTEL
8086
...........                        .....
8086
80286
80286
3FFFF              26214310
16
...........                        .....
7FFFF              524287
16
10
...........                        .....
FFFFF           1048575
16
10
Joonis 2.23. Erinevate protsessoritega adresseeritavad põhimälud
Andmevahetuse korraldamine hõlmab andmete sisestamise välisseadmetelt
protsessorisse ja nende väljastamise protsessorist välisseadmetesse. Sõltuvalt sellest kas
välisseade on ette nähtud andmete sisestamiseks või väljastamiseks, nimetatakse seda
sisend- või väljundseadmeks. Üldjuhul kasutatakse mõistet sisend- väljundseadmed .
Sisend-väljundseadmeteks on näiteks klahvistik ja kuvar, printer , magnetketasmälu,
andurid , täiturid ja mõõteriistad ning mitmesugused sidekanalid. On olemas mitmeid
andmevahetuse meetodeid, mida tutvustatakse lähemalt järgmises peatükis.
91
Tabel 2.3
Universaalprotsessori  INTEL 8080 käsustik
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
NOP
LXI
STA
INX
INR
DCR
MVI
RLC
DAD
LDA
DCX
INR
DCR
MVI
RRC
0
B,&
X
B
B
B
B,^
B
X
B
C
C
C,^
B
B
1
LXI
STA
INX
INR
DCR
MVI
RAL
DAD
LDA
DCX
INR
DCR
MVI
RAR
1
D,&
X
D
D
D
D,^
D
X
D
E
E
E,^
D
D
2
LXI
SHL
INX
INR
DCR
MVI
DAA
DAD
LHL
DCX
INR
DCR
MVI
CMA
2
H,&
D
H
H
H
H,^
H
D
H
L
L
L,^
3
LXI
STA
INX
INR
DCR
MVI
STC
DAD
LDA
DCX
INR
DCR
MVI
CMC
3
SP,&
SP
M
M
M,^
SP
SP
A
A
A,^
4
MOV MOV MOV MOV MOV MOV MOV MOV
MOV MOV MOV MOV MOV MOV MOV MOV
4
B,B
B,C
B,D
B,E
B,H
B,L
B,M
B,A
C,B
C,C
C,D
C,E
C,H
C,L
C,M
C,A
5
MOV MOV MOV MOV MOV MOV MOV MOV
MOV MOV MOV MOV MOV MOV MOV MOV
5
D,B
D,C
D,D
D,E
D,H
D,L
D,M
D,A
E,B
E,C
E,D
E,E
E,H
E,L
E,M
E,A
6
MOV MOV MOV MOV MOV MOV MOV MOV
MOV MOV MOV MOV MOV MOV MOV MOV
6
H,B
H,C
H,D
H,E
H,H
H,L
H,M
H,A
L,B
L,C
L,D
L,E
L,H
L,L
L,M
L,A
7
MOV MOV MOV MOV MOV MOV HLT
MOV
MOV MOV MOV MOV MOV MOV MOV MOV
7
M,B
M,C
M,D
M,E
M,H
M,L
M,A
A,B
A,C
A,D
A,E
A,H
A,L
A,M
A,A
8
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADC
ADC
ADC
ADC
ADC
ADC
ADC
ADC
8
B
C
D
E
H
L
M
A
B
C
D
E
H
L
M
A
9
SUB
SUB
SUB
SUB
SUB
SUB
SUB
SUB
SBB
SBB
SBB
SBB
SBB
SBB
SBB
SBB
9
B
C
D
E
H
L
M
A
B
C
D
E
H
L
M
A
A ANA ANA ANA ANA ANA ANA ANA ANA
XRA
XRA
XRA
XRA
XRA
XRA
XRA
XRA
A
B
C
D
E
H
L
M
A
B
C
D
E
H
L
M
A
B ORA ORA ORA ORA ORA ORA ORA ORA
CMP
CMP
CMP
CMP
CMP
CMP
CMP
CMP
B
B
C
D
E
H
L
M
A
B
C
D
E
H
L
M
A
C RNZ
POP
JNZ
JMP
CNZ
PUS
ADI
RST
RZ
RET
JZ
CZ
CAL
ACI
RST
C
B
H
0
L
1
B
D RNC POP
JNC
OUT
CNC
PUS
SUI
RST
RC
JC
IN
CC
SBI
RST
D
D
N
H
2
N
3
D
E RPO
POP
JPO
XTH
CPO
PUS
ANI
RST
RPE
PCH
JPE
XCH
CPE
XRI
RST
E
H
L
H
4
L
G
5
H
F RP
POP
JP
DI
CP
PUS
ORI
RST
RM
SPH
JM
EI
CM
CPI
RST
F
PSW
H
6
L
7
PSW
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
N - sisend- või väljundvärati number
& - kahebaidine operand
* - kahebaidine operand-aadress
^ - ühebaidine operand
92
2.3.
Andmevahetus
2.3.1.
Andmevahetuse meetodid
Arvutit ümbritseb väliskeskkond, milles arvuti töötab ning lahendab programmiga antud
ülesandeid. Keskkonnaks on arvutioperaator, sidekanalid ( arvutivõrk ), automaatseadmed
või -protsessid. Infovahetuseks kasutab arvuti mitmesuguseid välisseadmeid, millelt saab
infotöötlusprotsessi lähteandmed ning kuhu väljastab tulemid ja juhtsignaalid.
Välisseadmed jagunevad andmete allikateks e sisendseadmeteks ning andmete tarbijateks
e väljundseadmeteks.
On võimalik, et välisseade on nii andmete allikas kui ka tarbija (magnetkettaseade), sel juhul
nimetatakse teda sisend-väljundseadmeks, sest andmevahetus toimub mõlemas suunas.
Universaalarvuti  enamkasutavad  välisseadmed  on  joonisel 2.24.
Fax
Mõõte-
Printer
Plotter
Modem
liides
11
10
9
8
Skanner
12
LAN-võrk
7
Kõva-
Keskseade
13
6
Jadaliides
ketas
(protsessor ja mälu)
CD-
5
14
Rööpliides
ROM
1
2
3
4
Klaviatuur
Monitor
Ümbrikketta-
Hiir
              
seade
Joonis 2.24. Universaalarvuti välisseadmed.
Automaatikasüsteemide juhtraalide korral on esmatähtsad juhitavat protsessi raaliga
sidestavad  välisseadmed  e  protsessiliidesed.
Andmevahetust iseloomustab kanali läbilaskevõime, liidese standard, andmevahetuse
meetod ning andmevahetust algatav (initsieeriv) osapool. Kanali läbilaskevõimet
mõõdetakse sekundis edastatud infohulgaga ehk boodidega. 1 bood = 1 bit/s. Vastavalt
1 Kbood = 1 Kbit/s   ja 1 Mbood = 1 Mbit/s.
Andmevahetus protsessori ja välisseadmete vahel toimub sünkroonse või asünkroonse
andmevahetuse põhimõttel. Sünkroonse andmevahetuse korral juhib andmevahetust
protsessor ning välisseade töötab sünkroonselt arvuti taktigeneraatoriga. Enamik
välisseadmeid töötab autonoomselt ning pole sünkroniseeritud arvuti taktigeneraatoriga.
93
Klassikalised asünkroonse andmevahetuse meetodid on
1) kviteerimismeetod (ingl  k  handshaking),
2) skaneerimismeetod,
3) katkestussignaalide meetod,
4) vektorkatkestuse meetod.
Asünkroonse andmevahetuse (joonis 2.25)  korral edastatakse infot saatjalt vastuvõtjale,
kusjuures enne andmevahetuse algust on mõlemad hõivatud oma ülesannetega. Üldjuhul
on  määramata hetk ta, mil saatja  soovib andmevahetust alustada; vastuvõtja valmisolek
andmete vastuvõtuks; aeg, mis kulub signaaalide levimiseks liinis, ja aeg, mis vastuvõtjal
kulub andmete registreerimiseks. Seepärast tuleb andmevahetuse korraldamiseks kasutada
peale andmesiini DB ka täiendavaid juhtmeid. Küsitlussignaali RQ (ingl k request)
kasutatakse selleks, et algatada andmevahetust.  Signaal  STROB on vastus saatja
küsitlussignaalile RQ.
ANDMESIIN   DB
Saatja
RQ
Vastuvõtja
STROB
Joonis 2.25.  Asünkroonne andmevahetussüsteem
Kviteerimismeetodi korral toimub andmevahetus joonisel 2.26 näidatud ajadiagrammi
järgi. Jõudeolukorras on mõlema juhtsigaali nivoo kõrge. Hetkel ta, kui saatja on valmis
andmete väljastamiseks, saadab ta küsitlussignaali RQ nivoo madalaks muutmisega
vastuvõtjale andmevahetuspäringu. Signaali RQ nivoo jääb madalaks seniks , kuni
vastuvõtja on valmis vastuvõttu alustama, teatades sellest signaali STROB  viimisega
madalale nivoole. Kui vastuvõtja on vaba, saabub vastus kiiresti.  Kui aga vastuvõtja on
hõivatud, tuleb saatjal oodata kuni vastuvõtja vabanemiseni. Kui saabub vastus (t1),
väljastab saatja (t2) andmed liinile. Hetkel tteatab ta signaali RQ viimisega kõrgele
nivoole, et andmevahetus on alanud. Selle teate järel asub vastuvõtja andmete vastuvõtule
ning hetkel t4, kui vastuvõtt on lõpetatud , saadab ta sellekohase kviitungi - signaali STROB
kõrgele nivoole viimisega, mis teatab saatjale, et andmed on vastu võetud ning hetkel t5
lülitab vastuvõtja andmesiini välja.
Kuna andmevahetus toimub vastastikuste küsitluste ehk kviitungi vahetamistega, siis
tuleneb sellest ka meetodi nimetus. Seejuures ei ole ükski ajahetkedest jäigalt määratud,
vaid nad kujunevad vabalt vastavalt sellele, kuidas protsess loomulikult kulgeb. Nii saatja
kui vastuvõtja peavad reageerima signaali juhuslikule muutumisele hetkeil t1 ja t4 saatjas
ning ta ja t3 vastuvõtjas. Et arvuti töötab rangelt determineeritud programmi järgi ning on
94
enamiku ajast hõivatud, peab signaalide avastamiseks kasutama erivõtteid, näiteks
küsitlussignaali programmilist skaneerimist ja katkestussignaalide meetodit.
RQ
STROB
DB
t
t
t
t
t
t
                    
a
1
2
3
4
5
Joonis  2.26. Kviteerimismeetodiga andmevahetuse ajadiagramm
Skaneerimismeetodil töötades tuleb avastatav signaal (näiteks klaviatuuri küsitlussignaal
RQ) lülitada ühele arvuti sisendkanalile. Programmis nähakse ette selle kanali perioodiline
lugemine ja signaali nivoo määramine loogiliste tehetega. Skaneerimismeetodil
andmevahetuse  ajadiagramm  on  joonisel 2.27, kus  T   on  skaneerimisperiood.
RQ
DB
t a
T
T
τ
T
t1
Joonis 2.27. Andmevahetuse ajadiagramm skaneerimismeetodil
Skaneerimismeetodi puudusteks on
§  kanali väike tõhusus , sest küsitlussignaali avastamine toimub harva ning süsteem on 
valdava aja jõudeolekus. Meetodit on otstarbekas kasutada siis, kui protsessorit vähe 
koormatakse;
§ küsitlussignaali  avastamine alles järjekordse skaneerimisprotseduuri ajal. 
Arvestades, et hilistumine τ  lühike skaneerimisperiood,  mis annab protsessorile aga märgatava lisakoormuse.
Skaneerimismeetodi eeliseks on lihtsus.
95
Katkestussignaalide meetod. Juhuslikul hetkel tekkiva signaali avastamise teiseks
võimaluseks on katkestada protsessori töö spetsiaalse sisendsignaali, nn katkestussignaali
abil. Katkestuse korral läheb protsessor põhiprogrammi täitmiselt üle katkestust ning
andmevahetust teenindava alamprogrammi täitmisele (joonis 2.28). Pärast katkestust jätkab
ta poolelijäänud põhiprogrammi täitmist. Meetodi realiseerimiseks varustatakse protsessor
sisendiga INT (interrupt) ning väljundiga INTA (interrupt asknowledged).
Katkestuse päringusignaal INT registreeritakse trigeriga INTT. Peale selle kuulub
katkestussüsteemi veel vähemalt üks triger EI (enable interrupt), mille abil lastakse
katkestussignaale sõltuvalt olukorrast läbi või tõkestatakse. Seda trigerit juhitakse nii
aparatuuriga kui ka programmi erikäskude abil. Katkestuse võimalikkuse korral, mille kohta
võetakse vastu loogiline otsus,  annab protsessor katkestust lubava signaali INTA ja läheb
põhiprogrammilt  üle katkestuse  alamprogrammi  täitmisele.
a)
b)
Põhiprogramm
Käsuregister
STROB
&
INTA
Käsudekooder
Katkestus
Katkestuste 
EI
DI
EI
Vasakule Paremale
Mikroprotsessortehnika #1 Mikroprotsessortehnika #2 Mikroprotsessortehnika #3 Mikroprotsessortehnika #4 Mikroprotsessortehnika #5 Mikroprotsessortehnika #6 Mikroprotsessortehnika #7 Mikroprotsessortehnika #8 Mikroprotsessortehnika #9 Mikroprotsessortehnika #10 Mikroprotsessortehnika #11 Mikroprotsessortehnika #12 Mikroprotsessortehnika #13 Mikroprotsessortehnika #14 Mikroprotsessortehnika #15 Mikroprotsessortehnika #16 Mikroprotsessortehnika #17 Mikroprotsessortehnika #18 Mikroprotsessortehnika #19 Mikroprotsessortehnika #20 Mikroprotsessortehnika #21 Mikroprotsessortehnika #22 Mikroprotsessortehnika #23 Mikroprotsessortehnika #24 Mikroprotsessortehnika #25 Mikroprotsessortehnika #26 Mikroprotsessortehnika #27 Mikroprotsessortehnika #28 Mikroprotsessortehnika #29 Mikroprotsessortehnika #30 Mikroprotsessortehnika #31 Mikroprotsessortehnika #32 Mikroprotsessortehnika #33 Mikroprotsessortehnika #34 Mikroprotsessortehnika #35 Mikroprotsessortehnika #36 Mikroprotsessortehnika #37 Mikroprotsessortehnika #38 Mikroprotsessortehnika #39 Mikroprotsessortehnika #40 Mikroprotsessortehnika #41 Mikroprotsessortehnika #42 Mikroprotsessortehnika #43 Mikroprotsessortehnika #44 Mikroprotsessortehnika #45 Mikroprotsessortehnika #46 Mikroprotsessortehnika #47 Mikroprotsessortehnika #48 Mikroprotsessortehnika #49 Mikroprotsessortehnika #50 Mikroprotsessortehnika #51 Mikroprotsessortehnika #52 Mikroprotsessortehnika #53 Mikroprotsessortehnika #54 Mikroprotsessortehnika #55 Mikroprotsessortehnika #56 Mikroprotsessortehnika #57 Mikroprotsessortehnika #58 Mikroprotsessortehnika #59 Mikroprotsessortehnika #60 Mikroprotsessortehnika #61 Mikroprotsessortehnika #62 Mikroprotsessortehnika #63 Mikroprotsessortehnika #64 Mikroprotsessortehnika #65 Mikroprotsessortehnika #66 Mikroprotsessortehnika #67 Mikroprotsessortehnika #68 Mikroprotsessortehnika #69 Mikroprotsessortehnika #70 Mikroprotsessortehnika #71 Mikroprotsessortehnika #72 Mikroprotsessortehnika #73 Mikroprotsessortehnika #74 Mikroprotsessortehnika #75 Mikroprotsessortehnika #76 Mikroprotsessortehnika #77 Mikroprotsessortehnika #78 Mikroprotsessortehnika #79 Mikroprotsessortehnika #80 Mikroprotsessortehnika #81 Mikroprotsessortehnika #82 Mikroprotsessortehnika #83 Mikroprotsessortehnika #84 Mikroprotsessortehnika #85 Mikroprotsessortehnika #86 Mikroprotsessortehnika #87 Mikroprotsessortehnika #88 Mikroprotsessortehnika #89 Mikroprotsessortehnika #90 Mikroprotsessortehnika #91 Mikroprotsessortehnika #92 Mikroprotsessortehnika #93 Mikroprotsessortehnika #94 Mikroprotsessortehnika #95 Mikroprotsessortehnika #96 Mikroprotsessortehnika #97 Mikroprotsessortehnika #98 Mikroprotsessortehnika #99 Mikroprotsessortehnika #100 Mikroprotsessortehnika #101 Mikroprotsessortehnika #102 Mikroprotsessortehnika #103 Mikroprotsessortehnika #104 Mikroprotsessortehnika #105 Mikroprotsessortehnika #106 Mikroprotsessortehnika #107 Mikroprotsessortehnika #108 Mikroprotsessortehnika #109 Mikroprotsessortehnika #110 Mikroprotsessortehnika #111 Mikroprotsessortehnika #112 Mikroprotsessortehnika #113 Mikroprotsessortehnika #114 Mikroprotsessortehnika #115 Mikroprotsessortehnika #116 Mikroprotsessortehnika #117 Mikroprotsessortehnika #118 Mikroprotsessortehnika #119 Mikroprotsessortehnika #120 Mikroprotsessortehnika #121 Mikroprotsessortehnika #122 Mikroprotsessortehnika #123 Mikroprotsessortehnika #124 Mikroprotsessortehnika #125 Mikroprotsessortehnika #126 Mikroprotsessortehnika #127 Mikroprotsessortehnika #128 Mikroprotsessortehnika #129 Mikroprotsessortehnika #130 Mikroprotsessortehnika #131 Mikroprotsessortehnika #132 Mikroprotsessortehnika #133 Mikroprotsessortehnika #134 Mikroprotsessortehnika #135 Mikroprotsessortehnika #136 Mikroprotsessortehnika #137 Mikroprotsessortehnika #138 Mikroprotsessortehnika #139 Mikroprotsessortehnika #140 Mikroprotsessortehnika #141
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 141 lehte Lehekülgede arv dokumendis
Aeg2015-10-29 Kuupäev, millal dokument üles laeti
Allalaadimisi 57 laadimist Kokku alla laetud
Kommentaarid 1 arvamus Teiste kasutajate poolt lisatud kommentaarid
Autor rita4 Õppematerjali autor

Sarnased õppematerjalid

Arvutid I - Konspekt
16
doc

Arvutid I - Konspekt

poolt. Info salvestamist püsimällu nim. püsimälu programmeerimiseks . Püsimälude tähtsamad alaliigid: 1) programmeeritav püsimälu (PROM- programmable read only memory) 2) ümberprog. püsimälu (EPROM- erasable programmable read only memory) 3) elektriliselt kustutatav ümberrogrammeeritav püsimälu (EEPROM- electrically erasable programmable read only memory). 11. KÄSU TÄITMINE PROTSESSORIS. Käsu täitmiseks peab protsessor pöörduma mälu poole, lugema sealt käsukoodi, dekodeerima selle, võtma vastu käsu sisule vastavad loogilised otsused, väljastama juhtsignaalid kõigile arvuti komponentidele, leidma uue käsu aadressi ning salvestama selle aadressiregistrisse. Järgmise käsu täitmisel kordub kõik enam-vähem samas järjekorras. Erinevused käskude täitmisel on tingitud nende erinevast sisust. Ühe käsu täitmiseks kuluvat ajavahemikku nim. käsutsükliks. Von Neumanni tsükkel:

Arvutid i
Spikker eksamiks
2
doc

Spikker eksamiks

endise oleku või muudab seda trigerid ühendatud omavahel näiteks 2nd koodi 10nd koodiks. memory). hüppeliselt. Trigeril tavaliselt 2 nihkeahelaga. Nihe paremale on B3B2B1B0 > D1D0 1101 > 0001 12.Käsu täitmine protsessoris väljundit: otsene ja invertne. madalamate bittide suunas ja 0011 Käsu täitmiseks peab protsessor Kasutatakse mäluelementidena vasupidi. Arvu nihutamine 10.Komparaator pöörduma mälu poole, lugema registrites, loendurites jne. paremale tähendab ta jagamist (võrdlusskeem). Võrdleb kahte sealt käsukoodi, dekodeerima Informatsiooni salvestusviisi arvusüsteemi alusega. Nihkereg arvu, kumb on suurem, või on selle, võtma vastu käsu sisule

Arvutid i
Arvutid I avalikele eksamipiletitele antud vastused
29
doc

Arvutid I avalikele eksamipiletitele antud vastused.

T-triger ­ Toggle triger .. sisendisse impulsi andmisel muudab oleku vastupidiseks D ­ delay triger ... säilitab niikaua eelmise väärtuse, kuni sisendisse antakse uus väärtus JK ­ triger ­universaalsisenditega triger ... nagu SRt, ainult sisendi 11 korral, mis enne oli keelatud, muudab JK oleku vastupidiseks. Konveier protsessoris ja mälus protsessoris Kuulub RISC ideoloogia alla. IF ­ instruction fetch OF ­ operand fetch OE ­ operand execute (ALU) OS ­ operand store Kuna protsessor suudab korraga teha igast käsust ühte, kuluks ilma konveierita iga käsu täitmiseks 4 takti. Konveier võimaldab korraga ühe käsu IF, teise OF, kolmanda OE ja neljanda OS teostada. Nii surutakse käsu täitmise aega oluliselt kokku. Probleemiks on siirdekäsud, kuna IF teostatakse parajasti käsu jaoks, mida kavas polegi. Tekib 'mull'. Viivitustega siire. Kuna uue käsu aadressi arvutamine toimub eelmise OE ajal,

Arvutid i
Digitaaltehnika
57
doc

Digitaaltehnika

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?

Digitaaltehnika
Arvutid I Eksami pletid
38
docx

Arvutid I Eksami pletid

Nüüd saame peale seda kui esimene käsk on läbinud esimese etapi ja jõudnud teise, alustada juba teise käsu juures esimese etapi täitmist. Kuivõrd etapid on sõltumatud saame siis, kui esimene käsk on kolmandas etapis ja teine käsk teises alustada juba kolmanda käsu juures esimese etapi täitmist jne. Seega ei ole siin suurenenud ühe käsu täitmise kiirus kuid tänu käskude täitmise paralleelsusele täidetakse neid keskmiselt ajaühikus rohkem. Samuti on siin kogu protsessor pidevalt koormatud. Analoogiline on konveieri töö tootmises. Konveieriga programmi täitmine (Pipeline): 12.Süvapöördusmälud. Random access memory –suvapöördusmälu( iga sõna poole pöördumine nõuab ühepalju aega sõltumatta tema sukohast mälus) 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.

Arvutid
Arvutid eksamipiletid joonistega
142
pdf

Arvutid eksamipiletid joonistega

4) OS Operand Store ( Resutaadi salvestamine) Programmi täitmine ilma konveierita: Eeldades, et iga etapi täitmisel on hõivatud võrreldav hulk riistvara, siis igal taktil on hõivatud vaid 25% protsessorist. Oleks aga otstarbekas koormata kogu protsessori maksimaalselt. Selleks vaja teha protsessori nii, et need neli käsutäitmise etappi oleksid kõik sõltumatud ja ligilähedaselt sama kestusega. Paralleelsuse tõttu täidetakse käske keskmiselt ajaühikus rohkem. Samuti kogu protsessor on pidevalt koormatud. Konveieriga programmi täitmine (Pipeline): Konveieri kasutamine tõstab oluliselt protsessori tootlikkust, kuid ainult siis, kui see töötab järjest, ilma et konveierit oleks vaja uuesti käivitada või vahepeal peatada. Konveieri tõhusust vähendavad: siirdekäsud, operandide laadimine mälust, andmete ja käskude sõltuvus.

Arvutid
Digitaaltehnika
68
doc

Digitaaltehnika

Digitaaltehnika Loengukonspekt Sisukord Sisukord...............................................................................................................................2 1. Arvusüsteemid..................................................................................................................4 1.1. Kümnendsüsteem......................................................................................................4 1.2. Kahendsüsteem.........................................................................................................4 1.3. Kaheksandsüsteem....................................................................................................4 1.4. Kuueteistkümnend süsteem......................................................................................4 1.5. Kahendkodeeritud kümnendsüsteem 8421...............................................................5 1.6. Kahendkodeeritud kümnendsüsteemid 2421 ja liiaga 3........

Digitaaltehnika
Digitaaltehnika konspekt
34
doc

Digitaaltehnika konspekt

Digitaaltehnika Loengukonspekt Sisukord Sisukord............................................................................................................................... 2 1. Arvusüsteemid................................................................................................................. 4 1.1. Kümnendsüsteem......................................................................................................4 1.2. Kahendsüsteem.........................................................................................................4 1.3. Kaheksandsüsteem....................................................................................................4 1.4. Kuueteistkümnend süsteem...................................................................................... 4 1.5. Kahendkodeeritud kümnendsüsteem 8421...............................................................5 1.6. Kahendkodeeritud kümnendsüsteemid 2421 ja liiaga 3......

Digitaaltehnika




Kommentaarid (1)

Deniss1982 profiilipilt
Deniss1982: Tänan. PDF-fail on käes.
20:04 02-02-2017



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun