numbriliste (digitaalsete) seadmete...
TRANSCRIPT
1. Numbriliste (digitaalsete) seadmete kirjeldus.
1.1. Arvutussüsteemid.
On olemas positsioonilised ja mittepositsioonilised
arvutussüsteemid.
Mittepositsiooniline → Rooma süsteem. XXXVII
↑ ↑ ↑
Positsioonilises süsteemis on tähtis numbri asukoht arvus.
Suvaline arv X positsioonilises süsteemis alusega q üldjuhul võib
esitada kujul:
m
m
n
n
n
nq qXqXqXqXqXX ...... 1
1
0
0
2
2
1
1
kus: Xi → järgutegur (Xi = 0 ... q – 1)
qi → kaalutegur, q → süsteemi alus
Kui (*) ära jätta kaalutegurid qi ja vastavad liitmise märgid, siis
saame arvu X lühendatud kirjaliku vormi, mis on samal ajal
arvu X q – kood. Numbri Xi positsiooni number on tema järk.
Järgud, kus q omab positiivset astet, moodustavad arvu Xq terve
osa. Järgud, kus q omab negatiivset astet, moodustab, vastavalt,
arvu Xq murdosa.
Numbrid Xn-1 ja Xm-1 on vastavalt arvu Xq vanim ja noorim järk.
Arvude kogus, kui positsioonilise süsteemi alus on q, ja on ette
antud järkude hulk:
N = qn+m
Järkude kogus, mis on vajalik selleks, et kirja panna suvaline arv
Xq alusega q:
n+m ≥ logq(Xq+1) ;
kuna on teada, et kehtib tingimus:
Xq ≤ qn+m – 1
Digitaaltehnikas kasutakse ainult positsioonilist arvusüsteemi.
1.2. Aluse q suuruse valik.
Meie tahame esitada mingit arvu, mis on omaette esitatud
positsioonilises süsteemis, elektriliste signaalide abil. Sel juhul me
vajame mingit elektrilist seadet, mis formeerib oma väljundil q
erinevaid elektrilisi signaale. Kusjuures neid signaale peab oskama
identifitseerida! Ja lihtsal viisil!
Selliste seadmete kogus on võrdne järkude hulgaga arvu terves ja
murd osades. Selge see, et mida suurem on q, seda vähem läheb
vaja seadmeid, aga seadmete keerukus kasvab tohutult.
→ Raske identifitseerida, häirekindlus langeb!
Aluse q valiku kriteerium → riistvara kulutuste minimeerimine,
säilitades piisava häirekindluse taseme.
Puht matemaatilise ülesande lahendamine näitab, et aluse q
optimaalne suurus on:
q = e = 2,71...
Sellise süsteemi praktiline loomine on väga keeruline ja praegusel
ajal tehniliselt ebaotstarbekas.
Digitaaltehnikas kasutakse alust suurusega q = 2.
See on kahendarvu süsteem. Sel juhul figureerivad ainult kaks
numbrimärki: 1 ja 0. Arvutustehnikas leiavad kasutamist q = 2, 8,
10, 16.
Üleminek väikesega q-ga süsteemist suurema q-ga süsteemile võib
teostada (*) alusel.
Näide
On vaja ümber kujundada kahendarv X2 = 1011 kümnendarvuks
X10 . Vastavalt (*); arvestades, et q = 2 saame:
1121212021 0123
10 X
Üleminek suuremast q väiksema q poole.
Tegevuse järgnevus:
1) arvu terve osa tuleb jagada uue süsteemi alusega;
2) arvu murdosa tuleb korrutada uue süsteemi alusega.
Näide
On vaja ümber kujundada kümmendarv X10= 25 kahendarvuks X2 .
25 : 2 = 12 +1 (X0 = 1)
12 : 2 = 6 + 0 (X1 = 0)
6 : 2 = 3 + 0 (X2 = 0) Seega X10 → X2 = 11001
3 : 2 = 1+ 1 (X3 = 1)
1 : 2 = 0 + 1 (X4 = 1)
Arvude naturaalne rida:
10 16 8 2 10 16 8 2
0 0 0 0 8 8 10 1000
1 1 1 1 9 9 11 1001
2 2 2 10 10 A 12 1010
3 3 3 1 1 11 B 13 1011
4 4 4 100 12 C 14 1100
5 5 5 101 13 D 15 1101
6 6 6 110 14 E 16 1110
7 7 7 111 15 F 20 1111
1.3. Loogikakonstandid ja vahelduvad suurused.
Boole`i algebra operatsioonid.
Mat. aparaat formaalse loogika ülesannete lahendamiseks.
G.Boole`i (1815 - 1864) algebra opereerib ainult kahe mõistega:
→ sündmus on tõeline
→ sündmus on vale
Loomulik on assotsieerida neid märkidega 1 ja 0.
Nimetame neid „loogikaline 1“ ja „loogikaline 0“. Need on
loogika konstandid.
Selleks, et kirjeldada digitaalse struktuuri käitumist, tema sisend-
ja väljundsignaalidele tuleb vastavusse panna Boole`i vahelduvad,
võivad olla ainult:
X = 0 kui X ≠ 1; X = 1 kui X ≠ 0
Boole`i põhioperatsioonid:
Loogikaline liitmine → „VÕI“, disjunktsioon, .
Tõesuse tabel: X1 X2 )(, 2121 XXXX
----------------------------------------
0 0 0
0 1 1
1 0 1 Mitmuste ühendamine!
1 1 1
Loogikaline korrutamine → „NING“, konjuktsioon, &, .
Tõesuse tabel: X1 X2 )(, 2121 XXXX
------------------------------------------
0 0 0
0 1 0
1 0 0
1 1 1
Loogikaline eitamine → inversioon, täiendamine.
Kui X = 1, siis 0X . Kui X = 0, siis 1X
1.4. Loogika algebra funktsioonide kirjeldamine.
1.4.1. Üldist.
Selleks, et kirjeldada digitaalse süsteemi käitumist, tuleb leida Zi
sõltuvus sisendkoodist Xn-1 ... X1, X0.
Väljundsignaalide Zi sõltuvust sisendkoodist, mis on kirjeldatud
loogikaliste operatsioonide abil, nimetakse loogikafunktsiooniks
(LF).
Ette anda LF tähendab leida kõik Zi tähendused n-järgulise
sisendkoodi (kahendkoodi) Xn-1 ... X1, X0 jaoks.
Kui on n-järguline sisendkood Xn-1 ... X1, X0, siis Zi võib omada 2n
tähendusi.
LF on täielikult määratud, kui on antud tema 2n tähendust. Kui osa
tähendusi on ära jaatud (pole antud), siis on tegemist osaliselt
määratud funktsiooniga.
Mõned sisendkoodid ei või kunagi esineda, ja vastavalt LF
tähendusi selleks ei anta. Sel juhul kujunevad LF nn fakultatiivsed
(omavolilised) tähendused. Sisendkoodid, mille puhul LF omab
fakultatiivsed tähendused, on keelatud koodid.
1.4.2. LF suusõnaline kirjeldus.
Võib, näiteks, nõnda: „Kolme sisendsignaali LF võrdub 1, juhul,
kui kas või kaks nendest on 1“.
1.4.3. LF kirjeldus tõesuse tabeli abil.
On üle loendatud kõik võimalikud sisendsignaalide Xn-1 ...X1,X0
kombinatsioonid ja vastavad väljundsignaalide ZI tähendused.
Näide
(*)
1.4.4. LF kirjeldus algebra väljenduse näol.
On olemas kaks LF klassikalist esitamise vormi.
1) Disjunktiivne normaalne vorm (DNV) → elementaarsete
loogikaliste korrutiste summa. NB! Elementaarsetes korrutistes
argument või tema inversioon võib figureerida ainult üks kord!
DNV saab kätte tõesuse tabelist. Koostamise reeglid:
a) Kirjutada välja tabelist Xn-1...X0 kõik kombinatsioonid, kus
Y = 1. Teha nendest korrutised – ühiku konstituendid.
Märkus: iX1 ; iX0
b) Liita kokku kõik ühiku konstituendid.
Ülaltoodud näite (*) jaoks:
012012012012012 XXXXXXXXXXXXXXXY
See on tegelikult TDNV – „Täiuslik disjunktiivne normaalne
vorm“.
2) Konjunktiivne normaalne vorm (KNV) → elementaarsete
loogikaliste summade korrutis. Koostame ikka tõesuse tabeli
alusel. Koostamise reeglid:
a) Kirjutada välja tabelist kõik Xn-1...X0 kombinatsioonid, kus
Y = 0 . Teha nendest summad – nulli konstituendid.
Märkus (tähtis!): iX1 ; iX0
b) Korrutada oma vahel kõik nulli konstituendid.
Ülaltoodud näite (*) jaoks:
012012012012012 XXXXXXXXXXXXXXXY
See on tegelikult TKNV – „Täiuslik konjunktiivne normaalne
vorm“.
1.4.5. LF nagu kümnendarvude järjestus.
Selleks tuleb järjest kirja panna vastavate ühiku või nulli
konstituendide kahendkoodide kümnendarvulised ekvivalendid.
TDNV → 7,6,5,37,6,5,3012 XXXY
TKNV → 4,2,1,04,2,1,0012 XXXY
1.4.6. Kuubi kompleksid.
See on LF geomeetriline esitus.
Lf on ette antud kujul: 7,6,5,4,3012 XXXZ
1.5. Loogikaelemendid ja skeemid.
On olemas kolm põhilist loogikaelementi (LE):
Nende abil koostame näitele (*) vastava struktuurskeemi:
Näide
See struktuurskeem vastab näite (*) TDNV-le.
1.5.1. Duaalsuse printsiip.
Kui võrrelda tõesuse tabelit, mis vastavad tehtele NING ja VÕI,
siis on kerge märgata, et kui tehe NING määravates tingimustes
kõik vahelduvate ja funktsiooni enda tähendused vahetada nende
inversioonide vastu, siis saame postulaadid, mis määravad VÕI
tehe. (Postulaat – tõestuseta aktsepteeritav väide)
Kui ,01 ZXX siis ZXX 01 (**)
Kui ,01 ZXX siis ZXX 01
Tehete NING ja VÕI vastastikuse teisendamise omadus →
duaalsuse printsiip.
Funktsionaalselt täielik süsteem (FTS) → LE kogus, mis
võimaldab realiseerida suvalise keerukusega LF.
FTS → (NING, EI); (VÕI, EI); (NING, VÕI, EI).
Reaalselt: NING-EI → „Sheffer`i kriips“; VÕI-EI → „Peirce`i
nool“
Operatsioonide NING, VÕI, EI teostamine LE VÕI-EI
abil. Vastavalt duaalsuse printsiibile (**) :
kui ZXX 01 , siis ZXX 01 . Inverteerime esimest
avaldist. Seega saame: 0101 XXZXX
→ Tehe NING on asendatav tehtega VÕI-EI.
Sellistest kaalutlustest lähtudes võib näidata, et loogika põhitehted
on realiseeritavad ainult LE NING-EI abil.
Näide
1.6. Boole`i algebra teoreemid.
Kõik loogikaoperatsioonid alluvad duaalsuse printsiibile.
1) ,0 XX XX 1
2) 11X , 00 X
3) ,XXX XXX
4) 1 XX , 0 XX
5) XX ----------
6) ,1001 XXXX 1001 XXXX
7) ,012012 XXXXXX
012012 XXXXXX
8) 0101 XXXX , 0101 XXXX → De Morgan
→9) 0001 XXXX , 0001 XXXX
10) 0201012 XXXXXXX ,
0102012 XXXXXXX
11) 01001 XXXXX ,
01001 XXXXX
12) 00101 XXXXX
00101 XXXXX
2. Loogika seadmete minimeerimine.
2. 1. LF minimeerimine Veitch`i diagrammide ja
Karnaugh kaartide alusel.
Kaardid ja diagrammid → ruudulised tabelid; ruudude arv → 2n,
kus n – vahelduvate kogus.
Veitch`i diagrammid:
n = 2, 3, 4
Karnaugh kaardid:
Kaartide täitmine.
2.2. Täielikult määratud LF minimeerimine.
Algoritm:
K.T. Nr.1
→ Veitch`i (Karnauh) kaardile on peale kantud n-muutuvatega LF.
Tuleb välja valida, eraldada, täisnurgalised piirkonnad (kontuurid,
katted), mis ühendavad kõik LF tähendused (loogika 1 või 0 järgi).
→ Iga piirkond, kontuur, peab sisaldama 2k ruutu, kus k – täisarv.
→ Eraldatud piirkonnad võivad ristuda. Teisiti: mõned ruudud
võivad kuuluda erinevatele piirkondadele (kontuuridele).
→ Saadud kontuuridest valida minimaalne arv maksimaalselt suuri
kontuuri, mis sisaldavad kõik LF tähendused.
→ Loogikaliselt summeerida implekantid, mis vastavad valitud
kontuuridele. Saadud summa ongi minimaalne disjunktiivne
normaalne vorm (MDNV) juhul, kui kirjeldatud protseduur oli
tehtud 1 – järgi.
Kuna minimeeritav LF oli täielikult määratud, siis juhul, kui
protseduur oli läbiviidud 0 – järgi, tulemuseks on minimaalne
konjuktiivne normaalne vorm (MKNV).
Minimeerida LF Veitch`i kaardi abil.
012012012012 XXXXXXXXXXXXXZ
Koostame (täidame) Veitch`i kaart:
Saadud kontuurid (katted): П = 0202 XXXX
П = 1212 XXXX
П = 2X
Näide
Lõpptulemus: Z(X) = X2
Minimeerida täielikult määratud LF.
2.3. Mittetäielikult määratud LF minimeerimine.
LF on etteantud tabelina:
Tabeli alusel koostame LF avaldis ja Veitch`i kaart:
012012012 XXXXXXXXXXZ
K.T. Nr.2
Näide
Vaatame üle kõik minimeerimise võimalused:
Oletame, et: Z(000) = 1, Z(110) = 1
Oletame, et: Z(000) = 1, Z(110) = 1, Z(011) = 1
01 XXXZ
120 XXXXZ
Oletame, et: Z(000) = 1, Z(110) = 1, Z(101) = 1
02 XXXZ
Oletame, et: Z(011) = 1, Z(101) = 1, Z(110) = 1
12 XXXZ
Etteantud LF minimeerimine „0“ – tähenduste järgi viib
järgmistele avaldistele:
012 XXXXZ või 012 XXXXZ
Oletame, et: Z(000) = 0
12 XXXZ , või vastavalt De Morgan`i teoreemile:
12 XXXZ
Oletame, et Z(101) = 0
01 XXXZ või
Oletame, et Z(011) = 0
02 XXXZ või 02 XXXZ
01 XXXZ
Minimeerida mittetäielikult määratud LF.
3. Kombinatsioon – loogikaseadmed (KLS).
3.1. Loogikaseadmete süntees etteantud baasi alusel.
Funktsionaalselt täieliku süsteemi NING, VÕI, EI tavaliselt
ei kasutata. Praktikas kasutakse NING-EI, VÕI-EI või isegi ainult
ühte nendest.
Selle baasi abil võib esitada ükskõik missugust LF. Kasutamisel on
kaks tehnilist võtet:
→ kahekordne inverteerimine (tervet LF või tema osa)
→ De Morgan`i teoreemide kasutamine
Näide
On antud LF:
1202303 XXXXXXXXZ
Vaja üle minna NING-EI baasi peale:
K.T.Nr.3
On vaja üle minna VÕI-EI baasi peale:
3.2. Loogikaseadmete ehitamine raalsete elementide
baasil. Tavaliselt on ette antud ka LE sisendite arv. Sel juhul võivad
esineda järgmised situatsioonid:
1) LE sisendite arv on suurem, kui LF vahelduvate (LS
sisendsignaalide) arv;
2) LE sisendite arv on väiksem, kui LF vahelduvate arv.
→ LE sisendeid on rohkem, kui tarvis Aktiivne loogikanivoo → sisendvahelduva tähendus, mis määrab
ühetähenduslikult LE väljundsignaali.
Loogikaoperatsioonide tõesuste üldistatud tabel:
Tabelist on näha, et:
NING-EI → 0 – aktiivne, 1- passiivne;
VÕI-EI → 1- aktiivne, 0-passiivne.
Järeldus:
1) Vähendada LE sisendite faktilist arvu võib andes kasutamata
sisenditele passiivsed loogikakonstantid. 0→VÕI-EI;
1→NING-EI.
2) Kuna on teada: XXX ja XXX , siis mitmele
LE sisendile võib anda ühte ja sama loogikavahelduvat.
Veel järeldused:
1) Kui LE kõik sisendid saavad ühe ja sama signaali, siis LE
muutub invertoriks.
2) Kui n-1 (n – sisendiga LE) sisendile anda passiivsed
loogikasignaalid, siis n-sisendi suhtes LE muutub invertoriks.
→ LE sisendeid on vähem, kui tarvis
a) MDNV ei sisalda ühiseid loogikavahelduvaid.
Sel juhul tuleb kasutada järgmised identsused:
Tõestame esimest nendest: ↓kahekordne invert.
012012012012 |||| XXXXXXXXXXXX
Sisendsignaale (vahelduvaid) * võib olla ka rohkem. Näiteks:
01230123 |||||| XXXXXXXX
01230123 |||||| XXXXXXXX
01230123 XXXXXXXX
01230123 XXXXXXXX
Näide
On antud LF ja tema realisatsioon:
01202012 XXXXXXXXXZ
Vaja aga üle minna 2VÕI-EI elementide peale. Teeme LF topelt
inverteerimist:
01202012 XXXXXXXXXZ
01202012 XXXXXXXX
01202012 XXXXXXXX
01202012 XXXXXXXX
Realisatsioon „2VÕI-EI“ baasil:
b) MDNN sisaldab ühiseid loogikavahelduvaid.
→ ühised mõnedele elementaarsetele korrutistele vahelduvad võib
esitada nagu ühised kordajad ja tõsta sulgude ette.
Realiseerida LF 2NING-EI LE baasil.
3.3. Kombinatsioonloogika tüüplülitused.
3.3.1. Multipleksor (MUX, MS).
Multipleksor ühendab ühe oma m-sisenditest väjundiga. M –
tavaliselt 2 täisaste. Ühendatava sisendi number valitakse nn
aadressiga.
K.T.Nr.4
n – järguline aadressi kood → 2n tähendusi → infosisendite arv
m = 2n.
MS millel n = 2:
E – multipleksori tööd lubav signaal.
Kui E = 1- aktiivne loogikaline signaal, siis multipleksori väljund
on konstantne, ja ei sõltu sisendsignaalidest.
LF, mis kirjeldab antava MS`i funktsioneerimist:
EAADEAADEAADEAADQ 013012011010
Sellele LF-le vastab järgmine loogikaskeem:
Mikroskeem SN74LS151- klassikaline MS, millel n = 3. Tema
eelkäija – SN74152 – harilik TTL, kõik sama, ainult puudub
E – sisend. Konkreetsel MS mikroskeemil sisendite arv on
piiratud. Kui neid on rohkem vaja, siis tuleb ehitada nn MS –puu.
Oleks vaja 16 sisendiga MS, aga kasutada on ainult 4 sisendiga
skeemid.
Näide
3.3.2. Demultipleksor (DEMUX, DMS).
DMS`i ainus sisend ühendatakse ühele n – välunditest, mille
number valitakse aadressi koodi abil.
Tabelile vastab LF:
DMS-i „puu“ ehitamine.
.
3.3.3. Koodimuundurid.
Koodimuundur – see on KLS, mis on ettenähtud informatsiooni
kodeerimisviisi muundamiseks
Sisendite peale tuleb üks kahendarv,
väljunditest saame teise kahendarvu.
3.3.3.1. Kooder (šifraator) CD.
Tavaliselt on see seade, mis realiseerib „detsimal → BCD“ (binary
cooded decimal).
Võib anda ette tabelina:
Juhul, kui m < 2n = 16, siis on mittetäielik kooder.
K.T.Nr.5
Q3 = X8 + X9
Q2 = X4 + X5 + X6 + X7
Q1 = X2 + X3 + X6 + X7
Q0 = X1 + X3 + X5 + X7 + X9
Antaval kooderil X0 signaali otseselt ei kasutata.
3.3.3.2. Dekooder (dešifraator) DC.
Dekooderil on n aadressi sisendid ja m väljundid. Kui m = 2n siis
on täielik DC, kui m < 2n siis on mittetäielik DC. Väljund signaal
ilmub ainult sellel väljundil, mille järjekorranumber on esitatud
sisendile antud kahendarvuga.
Võib esitada tabeli abil, mis on analoogne kooderi tabelile, kus
sisend- ja väljundsignaalid on vahetatud kohtadega.
Vastavalt tabelile, kuna väljundsignaal on võrdne 1 ainulise
sisendvahelduvate kombinatsioonile, DC tööalgoritmi võib
kirjeldada järgmise võrrandite süsteemiga:
.................................
01232
01231
01230
QQQQX
QQQQX
QQQQX
jne, kus Qi – loogikavahelduva tähendus seadme i – sisendis.
Üldjuhul see süsteem näeb välja nii:
ii QQQQX 0123
kus Xi – signaal DC i – väljundil, i
QQQQ 0123 - 1 –
konstituent, mis vastab i – kümmendarvu kahendkoodile.
LF dešifraatoril ja demultipleksoril peaaegu ühesugused (D –
puudub). Juhul, kui D = 1, demultipleksor funktsioneerib nagu
dešifraator. Kasutades dešifraatorit, võib ehitada DMS ja MS.
DC projekteerimisel põhieesmärk on skeemiline lihtsus. Aga
skeemi lihtsustamine toimub kiiretoimelisuse arvel.
Püramidaalne struktuur. Idee: selleks, et saada (n + 1) DC, tuleb kaks korda läbimängida
kõik n – koodi kombinatsioonid koos (n + 1) järgu tähendusega
(0, 1).
Selline struktuur on lihtsam, kui üheastmeline. Tinglikute ühikute
arv n – järgulse DC realisatsiooniks:
1
2 2122 nn nN
Edasi saab lihtsustada mitmeastmeliste struktuuride kasutamise
puhul. Ehitamise idee on püramidaalse DC sarnane. Erinevus: n –
järgulise koodi kombinatsioonid tuleb korrata mitte ühe järgu
jaoks, vaid teise n – järgulise koodi jaoks.
Aparatuursed kulutused:
2/
3 22/222 nn nN
Näide
20 – järgulise koodi DC (PROM 1 Mbait)
1) Paralleelne DC → 2,097∙107 ting. apar. ühikuid.
2) Ühekordne püramidaalne DC → 1,2∙107 t.a.ü.
3) Mitmeastmeline DC → 2,118∙106 t.a.ü.
DC mikroskeemid on tihti varustatud strobeerimissisendiga E. Sel
juhul on lihtne ehitada nn DC – puu (sama struktuur, nagu DMS
puu).
Tihti on kasutuses mittetäielikud DC, mis muundavad
kahendkoodi kümnendkoodiks. Kasutades neid võib ehitada
täieliku binaarse DC.
NB! DC lihtsustamine – see on alati kiiretoimelisuse langus!
3.3.4. Digitaalsed komparaatorid.
Digitaalne komparaator on kombinatsioon-loogikaseade kahe
kahendarvu võrdlemiseks. Komparaatori sisendite arv sõltub
koodide järkude arvust. Komparaatori väljundites formeeritakse
kolm signaali:
F= - koodide võrdsus.
F> - juhul, kui esimese koodi numbriline ekvivalent on teisest
suurem.
F< - juhul, kui esimese koodi numbriline ekvivalent on teisest
väiksem.
NB! Komparaatori väljundis võib olla üks ainuke väljundsignaal!
Tõeväärsuse tabel kahe ühejärguliste koodide võrdlemiseks:
Järeldus: Piisab sellest, kui annab formeerida kaks väljundsignaa-
le; kolmandat juba saab nende alusel. LF, mis vastab tabelile:
FFXXXXXXF 010101 (*)
FFXXF
FFXXF
01
01
On näha, et kulutuste vähendamiseks on vaja saada F< ja F> , aga
F= otsida nende baasil. (*) omab suurt iseseisvat tähendust: see on
„välistav VÕI“ (exclusive OR → XOR). Tema skeemiline
lahendus:
Tabelile ja loogikafunktsioonile vastav komparaatori skeem:
Sünteesida n – koodile komparaator otse tabeli alusel on väga
keeruline. Kasutada tuleb dekompositsiooni printsiipi.
2 – järguline komparaator:
FFF
FFFF
FFF
011
01
3 – järguliste koodide puhul:
FFF
FFFFFFF
FFFF
012122
012
Üldjuhul n – järguliste kahendkoodide puhul:
FFF
FFFFFFFF
FFFF
nnnnn
nn
0121211
021
......
...
Näide
3.3.5. Keerukad KLS mikroskeemid.
Tihti kasutakse operatsioone NING – VÕI – EI erinevate
signaalide arvuga. Mõned nendest saab teostada toodetavate
mikroskeemide abil.
(2-2-3-4NING-4VÕI-EI) – tüüpi loogikamikroskeem. (555ЛР9).
(2-2-2-2NING-4VÕI-EI) → SN7453 (155ЛР3).
4. Jadaloogika lülitused (järjestikused loogikaseadmed)
4.1. Trigerseadmete liigitus.
Jadaloogika lülituse (trigerseadme) üldine struktuurskeem:
Elementaarne triger koosneb ainult mäluelemendist. Võib
realiseerida võimendi alusel, mis on haaratud sügava positiivse
tagasisidega.
Näide
OV + PTS
Kui sisendil on pinge:21
2
21
2
RR
RUU
RR
RU väljm
sis
väljm
, siis
väljundsignaal on muutmatu ja on määratud ainult sisendsignaali
eelmise tähendusega, mis allub tingimusele:
21
2
RR
RUU väljmsis
Trigerit võib ehitada NING-EI; VÕI-EI elementide alusel. Igaüks
nendest on inverteeriv võimendi. Kuna me vajame PTS, siis on
vaja kaks elementi.
Tähtis: kui Y0 = 1 siis Y1 = 0 ja vastavalt kui Y0 = 0 siis Y1 = 1
Kui Q = 1 → triger on “seatud” (set)
Q = 0 → triger on “tagastatud” (reset)
Liigitus infosisendite järgi:
R – eraldi tagastamise sisend (Q = 0)
S – eraldi seadmise sisend (Q = 1)
K – universaalse trigeri tagastamise sisend (Q = 0)
J – universaalse trigeri seadmise sisend (Q = 1)
T – loendussisend
D – trigeri ümberlülitamise infosisend. Trigeri ümberlülitamine
toimub olekusse, mis vastab loogikalisele nivoole sellel samal sis.
C – juhtimise või sünkroniseerimise sisend.
Mõnikord trigerid on varustatud V – sisendiga, mis blokeerib
nende tööd. Sissekirjutatud info aga säilub.
Lähtudes kasutatud sisendite tüüpidest võivad olla:
RS -, D -, T -, VD -, VT -, JK – trigerid.
Sõltuvalt sellest, missugune on trigeri reageerimismoment
sisendsignaalile, olemas asünkroonsed ja sünkroonsed trigerid.
Asünkroonne triger muudab oma olekut otsekohe sisendsignaali
muutmise momendil.
Sünkroonne triger muudab oma olekut ainult rangelt määratud
(takteeritud) ajamomendil, mis vastab aktiivse signaali ilmumisele
tema C – sisendil. Ei reageeri infosignaalile, kui C – sisendil on
passiivne signaal.
Liigitus aktiivse loogikalise signaali (ALS) kuju järgi:
- Staatilised trigerid → juhtimine toimub ALS nivooga.
- Dünaamilised trigerid → juhtimine toimub ALS esi- või
tagafrondiga (küljega).
Definitsioon: “Sünkroonne RS – triger inverssete staatiliste
sisenditega”:
- omab kolme sisendit: → seadmise sisend S,
→ tagastamise sisend R,
→ sünkrosisend C.
- Trigeri ümberlülitus toimub ajamomentidel, mis on määratud
ALS ilmumisega sünkrosisendil (C =0);
- Trigeri ümberlülitumiseks tuleb anda infosisendile madal
loogika nivoo (loogika 0), (R = 0 või S = 0). Sellised sisendid
tähistakse vastavalt .,, SRC
Trigeri töö kirjeldamiseks kasutakse:
- Suusõnaline kirjeldus;
- Tõeväärsuse tabel;
- Loogikafunktsioonid.
Uus: lisa sisendvahelduv → Qn – väljundsignaali eelmine
tähendus. Trigeri töö kirjeldamiseks kasutakse enamasti
üleminekute tabelit. Üleminekute tabel määrab, missugused
loogikalised signaalid tuleb anda trigeri infosisenditele, selleks,
et toimuks üleminek olekust Qn olekusse Qn+1.
4.2. Üheastmelised trigerid
Asünkroonne RS – triger → omab ainult kaks infosisendit: R-
tagastamine, S- seadmine.
1) Triger NING-EI loogikaelementide alusel → inversed
sisendid .,SR
2) Triger VÕI-EI loogikaelementide alusel → otse sisendid R,
S.
Üleminekute tabelid (*) :
Trigerite skeemilised tähistused:
Sisendid on staatilised!
Tähtis! → Oletame, et trigerile NING-EI LE baasil on antud
R = S = 0. Peaks olema 1 QQ ! See on aga trigeri
põhimõttega vastuolus. Trigeri olek ei ole prognoseeritav!
Järeldus: → Kui trigerit kasutakse mäluelemendina, siis üheaegne
ALS andmine mõlemale infosisendile on keelatud, kuigi tehnilisest
küljest see fakt on täiesti võimalik.
Selleks, et saada trigeri (näiteks VÕI-EI elementide alusel) töö
matemaatiline kirjeldus, koostame tema Veitchi kaardi. Kasutame
selleks üleminekute tabelit (*).
→ Seal, kuhu juhib koht märgiga ~ , täidame 2 ruutu korraga.
Vastavalt trigeri sisendite definitsioonile (mis oli antud varem)
otsesisenditega trigeri jaoks:
S = 1 → Qn+1 = 1; analoogselt: R = 1 → Qn+1 = 0
Juhul, kui sisenditele on antud passiivsed loogikanivood:
0 SR → Qn+1 = Qn → trigeri olek ei muutu.
Andes mõlemale sisendile ALS R = S = 1 väljundsignaali Qn+1
peab olema üheaegselt 0 ja 1! → Täidame siis need kaks ruutu
nõndaviisi; 10
10 ← tõlgendame neid nagu 1!
Minimeerimiseks eraldame kontuurid (punane, roheline).
Minimeerimise tulemus: RQSQn 1 (***)
Matemaatiline kirjeldus RS – trigerile NING-EI baasil.
Sünkroonne RS – triger → RS(t). Sellist trigerit võib teha asünkroonse RS - trigeri alusel, kui teda
täiendada loogika lisaskeemiga. Lisaskeem peab formeerima
trigeri sisenditel ALS-id ainult lisa sünkroniseerimise signaali (C)
ilmumisega.
Oletame, et C on otsesisend; R,S, on ka otsesed.
Selleks, et teha minimeerimist Svälj ja Rvälj jaoks, tabeli alusel
täidame Veitch`i kaardid:
K.T.Nr.6
Svälj = CS
Rvälj = CR
Saadud Svälj ja Rvälj tähendused kasutame (***) lahendamiseks:
RCQSCRCQSCRQSQ nnnn 1
CCRQCQSCRQCQSC nnnn
RCQRQSC nn 1
Lõplikult:
RQSCQCQ nnn 1 (****)
Esimene komponent selles võrrandis on passiivse loogikanivoo
(PLN) ja trigeri eelmise oleku korrutis.
Teine komponent on aktiivse loogokanivoo (ALN) ja LF (mis
kirjeldab asünkroonse trigeri tööd)m korrutis.
Trigeri struktuurid, mis vastavad (****):
Sünkroonsed RS – trigerid võivad olla täiendatud asünkroonsetega
lisaseadmise sisenditega.
Juhul, kui C = 1, sünkroonne RS – triger muutub asünkroonseks
RS – trigeriks.
D – triger (delay); viitetriger. Trigeril on ainult üks infosisend. See on sisend D, tema peale tulev
info kirjutakse ümber väljundisse ainult sünkrosignaali puhul.
Järeldus: D – triger võib olla ainult sünkroonne.
Üleminekute tabel:
D – trigerit tuleb ehitada RS –
trigeri alusel. Kasutame antud
tabelit. Signaalid R,S
sisenditel on seotud D –
sisendiga järgmiselt:
DR ; DS
Kasutame sünkroonse RS –
trigeri LF:
DQDCQCRQSCQCQ nnnnn 1
nn QDCQC 1 ;
Või nii: DCQCQ nn 1 (*)
Struktuurskeem, mis vastab sellele võrrandile:
Kui skeemile on lisatud blokeerimissisend V, mis funktsioneerib
analoogselt C – sisendile, siis meil on olemas VD – triger.
V = 1 → (*) ; V = 0 → Qn+1 = Qn
Kui on rakendatud V – sisend ja asünkroonsed seadmise sisendid
:,SR
RSQVDCQCVQ nnn 1
D – trigeri ajadiagrammid:
4.3. Kaheastmelised trigerid.
T – triger → loendustriger (toggle) Triger peab vahetama oma olekut vastupidise peale iga kord, kui
ilmub aktiivne loogikasignaal T – sisendile.
Seda on kerge näha üleminekute tabeli abil:
Tabeli alusel:
TQTQQnnn 1 ← See on asünkroonse T – trigeri
kirjeldus. Sünkroonse T – trigeri jaoks:
nnnn QCCTQTQQ 1
Selleks, et seda realiseerida, tuleb RS(t) – trigeris rakendada
lisatagasisidet.
Kindlalt tööle ei hakka!
Triger ei või üheaegselt mängida infoallika ja infovastuvõtja rolli!
Uue info vastuvõtt on vana info kaotamine. Ideaalsete elementide
kiiretoimelisuse puhul struktuur ei ole töövõimeline. Reaalse
kiiretoimelisuse puhul ja kunstlikult sisseehitatud aja viitega ∆t
ikka midagi head oodata ei ole!
Situatsioon: R,S signaalide muutuse momendiks signaal T pole
veel maha võetud → toimub trigeri järgmine ümberlülitus. Seade
hakkab võnkuma.
Vasturohi: Tuleb kasutada lisa mäluelementi, uute R,S signaalide
tähenduste säilitamiseks. Need uued tähendused tuleb anda
põhimäluelemendi sisenditele ainult siis, kui aktiivne T – signaal
on juba maha võetud. (Või kunstlikult piirata T – signaali kestvust.
Lahendus → kaheastmeline struktuur. Siis uus info formeeritakse
ainult sisendastme väljundis, vana info aga säilub väljundastmes.
Kui uus olek on formeeritud, ja aktiivne T – signaal on maas,
toimub info ülekirjutamine väljundastmesse. Selleks, et ei tekiks
võnkumise režiim, sünkronisatsioon toimub erinivoodega (otse ja
inverssega).
„Skeem invertoriga“
JK – triger See on universaalne triger, tema alusel võib ehitada kõik
ülejäänud. Oletades, et aktiivne signaal on 1, koostame tabelit:
NB! JK – triger ei oma sisendsignaalide keelatud kombinatsioone.
(võrrelda RS – trigeriga!) Toodud tabel peegeldub varem tehtud
definitsiooni J,K sisendite kohta. Need olid vastavalt seadmise ja
tagastamise sisendid.
Asünkroonne JK – triger: nnn QKQJQ 1
Sünkroonne JK – triger: nnnn QCQKQJCQ 1
Tabelist on näha: (~ ~) → kui anname mõlemad aktiivsed nivood,
siis saame T – trigerit.
Järeldus: struktuur peab olema kindlasti kaheastmeline (MS –
struktuur)
→ Tagasisidemete rakendamine välistab keelatud
kombinatsioonide tekkimist.
→ J,K sisendid võivad funktsioneerida nagu R,S sisendid.
→ Võib laiendada infosisendite arvu: 3NING-EI kuni 5NING-EI.
(ühel on alati ALS, teistel PLS).
→ JK – trigerit võib täiendada asünkroonsetega eelseadmise
sisenditega SR, .
JK – trigeri ajadiagrammid:
JK – trigeri kasutamine:
’
4.4. Trigerid dünaamilise juhtimisega.
Kõik ülalvaadeldud trigerid olid staatilise juhtimisega. Nende
sünkroniseerimiseks (takteerimiseks) oli ALS C = 1. Tema
kestvuse ajal staatilise juhtimisega trigerid on võimelised
reageerida ükskõik missuguste signaalide muudatustele oma
infosisenditel. Seetõttu konkreetse info salvestamiseks signaal
infosisendil peab olema konstantne sünkroimpulsi kestvuse ajal.
Mõnikord on seda raske saavutada. Sellest puudusest on vabad
trigerid nn dünaamilise juhtimisega. Nendel ALS ei ole staatiline
nivoo ise, vaid tema muudatus. Teisiti: trigeri ümberlülitus toimub
lühikese aja jooksul, sünkroimpulsi esi- või tagakülje läheduses.
Juhul, kui triger reageerib esikülje peale (0 ┌ 1) on see otse
dünaamilise sisendiga triger.
Juhul, kui triger reageerib tagakülje peale (1└ 0) on see inversse
dünaamilise sisendiga triger.
On levinud nn „kolme trigerite skeem“.
Idee: → salvestada signaalid, mis on antud trigeri infosisenditele,
ajamomendil, millel toimub sünkrosignaali muudatus.
Realisatsioon: → Infosignaalid antakse peamälupesale
(asünkroonne RS – triger) mitte abikombinatsioonloogika skeemi
kaudu, vaid kasutakse lisa mäluelemente (samuti asünkroonsed RS
– trigerid).
Kuna asünkroonne RS – triger omab kaks infosisendit, järelikult
on vaja veel kaht abitrigerit (RS – trigerit). Siit ongi tulnud skeemi
nimetus : „ kolme trigeri skeem“.
D – triger. Vajalik struktuur tekib, kui kasutakse
klassikalise sünkroonse RS – trigeri skeemi (NING-EI
logikaelementide alusel).
Näide
Antud struktuur on ülesehitatud tavalise sünkroonse RS – trigeri
(rohelises kontuuris) baasil. On lisatud elemendid DD5, DD6.
Koos trigeri sisendkombinatsioonloogika skeemiga (DD1, DD2)
nad moodustavad abitrigerid (DD5 – DD1 ja DD2 – DD6).
Saadud struktuurskeemile vastab järgmine LF:
DXDXX
CXXCXXX
CXCXX
XXXXX
334
42423
112
42421
Lahendame seda süsteemi asünkroonse RS – väljundtrigeri
sisendsignaalide suhtes:
DXCXDXCXCXXX
CDXXCXXCXX
3232423
324212
Signaalid X2 ja X3 figureerivad võrrandite vasakul ja paremal
poolel üheaegselt. See tähendab, et kui paremale poolele paneme
tähendused X2 n , X3 n ; siis vasakul poolel vastavalt saame X2 n+1 ,
X3 n+1.
Kasutades lahenduse < tulemused, uurime dünaamilise D – trigeri
funktsioneerimist.
Oletame, et algolekus C = 0. Sel juhul vastavalt < X2 = X3 = 1
sõltumata signaali D tähendusest. Asünkroonse RS – trigeri
sisenditel on PLS, ja tema viibib info säilitamise režiimis.
Sünkrosignaali tulekuga C = 1 < alusel:
DDX
DDX
100
00
3
2
See on püsiv olek. Tähendab, sünkrosignaali ilmumisega C – 1
asünkroonse RS – peatrigeri sisenditel on signaalid, millised on
määratud infosignaaliga D – sisendil.
Kui D = 1, siis saame Q = 1; juhul, kui D = 0, siis Q = 0.
Oletame, et D = 1, siis kohe peale sünkroimpulssi tulekut saame:
X2 = 0, X3 = 1.
Paneme neid tähendused < süsteemi sisse, seega saame:
1101
0000
3
2
DX
DX
See tähendab, et peale sünkrosignaali C = 1 tulekut asünkroonse
RS – trigeri olek on mittetundlik D – signaali muudatuste suhtes.
Trigeri järgmiseks ümberlülituseks tuleb enne anda C = 0. Siis
mõlemad sisendtrigerid asuvad olekusse, millal X2 = X3 = 1.
Asünkroonne RS – väljundtriger jääb enne salvestatud info
säilitamise režiimi. Järgmise sünkrosignaali esiküljega triger läheb
üle olekusse, mis on määratud D – signaaliga.
Dünaamilise juhtimisega triger ei ole tundlik infosignaalide
muudatuste suhtes ajavahemikes, millal C = 1 ja C = 0. Tuleb aga
tunnistada, et trigeri ümberlülitus ei toimu otse sünkroimpulsi
külje peal. Info garanteeritud salvestamiseks sünkroimpulss peab
püsima konstantsena infosisendil mõni ajaintervalli vältel. See
ajaintervall on määratud reaalsete LE dünaamiliste omadustega.
Kui aeg, mida vajab LE ümberlülitamiseks on td, siis mainitud
ajaintervalli pikkus on 2td. Ajaintervall (t0 – td) – t0 (kus t0 –
signaali C muutmise moment) vajalik selleks, et toimuks
infosignaalidega DD5 ja DD6 ümberlülitus.
Alaintervall t0 – (t0 + td) on vajalik selleks, et toimuks ümberlülitus
DD1 ja DD2 peale signaali C ilmumist ajamomendil t0. Sisendinfo
peab saama fikseeritud sisendtrigerites.
4.5. Numbriliste (digitaalsete) automaatide üldine
struktuurskeem ja kirjeldus.
Suvalist järjestikulist seadet tavaliselt nimetakse „numbriline
(digitaalne) automaat“ (DA).
Haffmann`i mudel:
DA üldjuhul koosneb N – trigeritest. DA olekut iseloomustakse
N – järgulise koodsõnaga. Iga järk assotsieeritakse vastava trigeri
väljundsignaaliga.
Haffmann`i mudel võib olla kirjeldatud koodsõnadega:
1) X – sisendi mõju peegeldav koodsõna (KS).
2) Z – väljundsignaali KS,
3) Y – KS, mis tagab automaadi olekute vahetamise vajalik
järjekord,
4) Q – KS, mis iseloomustab automaadi olekut.
.......
Tegelekult DA funktsioneerimiseks on vajalik
sünkroniseerimissignaal C.
Mälu mahu (trigerite arvu) määramine – tähtsaim probleem, mis
tekib DA projekteerimisel. Juhul, kui DA funktsioneerimiseks on
vaja M olekut, siis trigerite alasüsteem peab koosnema miinimum
n – trigeritest.
n ≥ log2M (n – lähim täisarv)
Maksimaalne trigerite arv ülevalt poolt on piiratud M tähendusega.
Olekute vajalik arv võib olla leitud kui maksimaalne
väljundsignaali tähenduste arv, mis võib eksisteerida tema
väljundil ühe sisendsignaali tähenduse puhul.
DA tööalgoritmi kirjeldamiseks sobib:
- Suusõnaline kirjeldus (esialgne ülesande püstitamine),
- Olekute tabelid,
- Olekute skeemid (graafid).
Olekute tabel koosneb G + 1 veergudest (G – sisendsignaalide arv)
ja 2n – ridadest. Tabeli esimeses veerus loetakse üle kõik
võimalikud olekud, millistes võib viibida DA.
Seal, kus j – veerg ja i – rida ristuvad, kirjutakse sisse murdarv.
Lugeja osa näitab olekut, kuhu satub DA peale järjekordse
sünkroimpulsi tulekut juhul, kui ta viibis i – olekus ja tema
sisendis on j – sisendsignaal. Nimetaja osas näidatakse DA
väljundsignaali jooksev tähendus enne järjekordse sünkroimpulsi
tulekut, kui ta viibis i – olekus j – sisendsignaali mõju all.
Olekute skeem (üleminekute graaf) see on DA töö graafiline
interpretatsioon. Teda on väga mugav kasutada, kui 2n > 16, või
kui esimeses lähenduses DA tööalgoritm ei ole veel lõplikult välja
kujunenud. Iga DA olek tähistatakse ringiga, kuhu sisse kirjutakse
vastava oleku number või kood. Üleminek olekust olekusse
tähistatakse nooltega, mis seovad vastavad olekud. Iga noolekese
juures kirjutakse murdarv. Lugejasse kantakse sisendsignaali
tähendus, mille mõju all järjekordse sünkrosignaali tulekuga oli
võimalik antud üleminek. Nimetajasse kirjutakse väljundsignaali
jooksev tähendus, mis vastab mainitud olekule ja sisendsignaali
tähendusele.
Näide
Automaat, mis formeerib lifti ülekoormamise signaali.
Lifti kabiini mahub 6 inimest. Lubatud on aga ainult 3 inimese
vedamine. Kui inimeste arv on rohkem kui 3, peab olema
formeeritud blokeerimissignaal (ülekoormus).
Sisendsignaal → kahendkood:
„1“ tema 0 – järgus tähistab reisijate arvu suurendamist 1 (ühe)
inimese võrra, mida fikseerib vastav andur.
„1“ tema esimeses järgus tähistab reisijate arvu vähendamist 1
(ühe) inimese võrra.
0 0 – reisijate arv jäi muutmatuks;
0 1 – reisijate arv suurenes ühe inimese võrra;
1 0 – reisijate arv vähenes ühe inimese võrra.
1 1 – keelatud kood.
Üleminekute tabel peab omama 4 veergu. Vajalik olekute arv M
tuleb määrata lähtudes seadme töö analüüsist.
M = 7, kuna on seitse võimalikke situatsioone. Nimelt:
1) Lift tühi. 2) Liftis on 1 inimene. 3) Liftis on 2 in. 4) Liftis on 3
in. 5) Liftis on 4 in. 6) Liftis on 5 in. 7) Liftis on 6 in.
1, 2, 3, 4 olekute puhul blokeerimissignaali formeerimine ei toimu.
5, 6, 7 olekute puhul formeeritakse blokeerimissignaal.
Teeme kindlaks trigerite vajaliku arvu:
nmin > log27 → nmin = 3 DA olekute kirjeldus: 3 – järguline kahendkood. Üleminekute
tabelis peab olema 8 rida.
Olekute tabel (*) ja olekute skeem (graaf):
4.6. Digitaalse automaadi loogikaskeemi süntees.
Sünteesi metoodika:
1) Lähtudes DA funktsioneerimistingimustest määratakse
vajalik olekute arv ja trigerite alasüsteemi mälu maht.
2) Teostakse DA funktsioneerimisalgoritmi formaalne kirjeldus.
Selleks kasutakse olekute tabelit, olekute skeemi(üleminekute
graafi).
3) Trigerite alasüsteemi realisatsiooniks valitakse trigeri tüüp.
4) Kasutades formaliseeritud DA tööalgoritmi ja valitud trigeri
tüübi üleminekute tabelit koostatakse laiendatud tõeväärsuse
tabel.
Selle tabeli ridade arv on kombinatsioonalasüsteemi
sisendsignaalide maksimaalne tähenduste arv. Tabeli veergudesse
kantakse sisse järgmine info: X – sisendsignaal; Sn – jooksev olek;
Sn+1 – järgmine olek; Y – sisendsignaalid trigerite infosisenditel;
Z – väljundsignaalid.
5) Kasutades laiendatud tõeväärsuse tabelit minimeeritakse LF,
mis kirjeldab kombinatsioonalasüsteemi.
6)LF alusel ehitatakse DA loogikaskeem.
Näide
→ Eelmise näite jätk.
Valime aluseks universaalse JK – trigeri. Selget valiku kriteeriumit
ei ole. Praktika näitab: mida rohkem valitud trigeri tüübil
üleminekute tabelil määramata sisendsignaali tähendusi, seda
lihtsam lõppkokkuvõttes tuleb DA struktuur.
Olekute tabeli (*) analüüs näitab, et projekteeritava seadme
kombinatsioonalasüsteemil on 5 vahelduvat (X1X0 –
sisendsignaalide koodid, Q2Q1Q0 – trigerite alasüsteemi
väljundkood, olek ).
Formaalselt tabelis peab olema 25 = 32 rida.
Liiga palju! Tuleb proovida lihtsustada!
→ Trigerite alasüsteemi järkude arvu vähendada ei anna, kuna on
jäik seos olekute arvuga.
→ Kahejärguline sisendsignaali kood faktiliselt peegeldub ainult 2
sündmust:
a) Üks inimene astus lifti sisse → 01
b) Üks inimene astus liftist välja → 10
Kood 00 tähendab, muudatusi ei toiminud, kuid iga
sünkroimpussiga toimub jooksva oleku väljundsignaali
kinnitamine.
Kood 11 on hoopis keelatud kood.
Sama efekt on saavutatav, kui (00) sünkrosignaal puudub, ja
trigerid asuvad info säilitamisrežiimis. Tähendab, kui loobuda
sünkroonsest meetodist asünkroonse kasuks, siis sünkroimpulss
formeeritakse ainult peale muudatuse tekkimist. Välismõju võib
sell juhul esitada ühejärgulise (!) koodiga. Tabeli ridade arv
väheneb kahekordselt! 32 asemel on nüüd 16.
Seega ühe keerulise ülesande asemel tuleb lahendada kaks
võrdlemisi kerget (dekompositsiooni meetod):
→ Välja töötada DA, mis formeerib signaali „sisse – välja“ ja
sünkrosignaali.
→ Välja töötada DA, mis formeerib ülekoormamise signaali.
Isoleeritud tippude probleem. Kui avarii olukorras (toite probleemid, häired jne) trigerite
alasüsteemi väljundis tekib keelatud olek (111), siis võib juhtuda,
juhtimissignaalide mõju all seade ei tule sellest olekust välja, või
tema väljaminekule kaasneb seadme funktsioneerimisloogika
rikkumine. Et seda vältida, tuleb algoritmis ette näha väljamineku
teed. Algoritmi koht, kuhu seade peab tagasi minema, määratakse
lähtudes funktsioneerimistingimustest.
Antaval juhul on mõttekas formeerida avariisignaal ja tagastada
süsteem olekusse 000. Nii peab süsteem käituma ka ebareaalsete
sisendmõjude puhul (lift tühi, aga sisendile tuleb inimese
väljaastumise signaal).
Tähtis! DA tööalgoritm peab ühetähenduslikult olema määratud
kõigi võimalike ja mittevõimalike kombinatsioonalasüsteemi
sisendsignaali kombinatsioonide jaoks. Ainult sel juhul võib
tabada vastuvõetavat töökindlust.
Korrigeeritud tööalgoritm. Tabel (**).
Iseärasused:
1) Ühejärguline juhtimiskood X :
X = 0 → liftist väljaastumine;
X = 1 → lifti sisseastumine.
2) Kahejärguline väljundsignaal Z1Z0 :
Z0 = 1 → ülekoormus;
Z1 = 1 → avarii
Korrigeeritud tööalgoritmile vastav graaf:
Tabeli (**) alusel on koostatud laiendatud tõeväärsuse tabel (***).
Tabeli (***) alusel saame LF, mis seob seadme väljundsignaalid Z
signaalidega JK – trigerite sisenditel ja trigerite alasüsteemi olekud
Q2Q1Q0 sisendsignaaliga X.
Z1 – ülekoormus:
020210121 QQXQQXQQXQQZ
Z0 – avarii:
0120120 QQQXQXQQZ
012 QQXJ 01012 QQXQXQK
0201 QQXQXJ 021 QXQK
1210 QQQXJ 10 K
4.7. Üleminekute tabeli koostamine digitaalse
automaadi loogikaskeemi alusel.
Milleks seda vaja teha? → Selline käik lubab välja selgitada DA
reaktsiooni etteantud sisendsignaalide kombinatsioonile. Seda on
kerge teha, kui on teada DA tabel või üleminekute graaf. Selleks
eksisteerib järgmine metoodika:
1) Loogikaskeemi alusel kirjutakse välja LF, mis seob DA
väljundsignaalid signaalidega trigerite sisenditel ja trigerite
alasüsteemi olekud DA sisendsignaalidega.
2) Koostatakse laiendatud tõeväärsuse tabel.
a) Kirjutakse sisse kõik võimalikud sisendsignaalide
kombinatsioonid trigerite alasüsteemi olekute koodide
kombinatsioonid.
b) Leitud LF – de alusel kõike väljakirjutatud
kombinatsioonalasüsteemi sisendmõjumisfaktoritele leitakse
vastavad väljundsignaalide tähendused trigerite
infosisenditel.
c) Teatavate trigerite infosignaalide ja ülemineku tabelite
alusel leitakse trigerite alasüsteemi järgmiste olekute koodid.
3) Laiendatud tõeväärsuse tabeli alusel koostatakse DA olekute
tabel või üleminekute graaf (üleminekute skeem).
Näide
On antud DA skeem. Vaja ehitada üleminekute graaf ja välja
selgitada DA reaktsioon sisendmõjule kujuga 1,0 0,1 1,0
tingimustes, et algasendis trigerite alasüsteemi kood on 1 1.
1. LF väljundsignaalidele Z1,Z0 ja signaalidele trigerite
T1,T0 infosisenditele:
000
011110111
10100
01011
QXQXT
QQQXQXQQXQT
QQXQQXZ
XQQXQQZ
2. Täidame laiendatud tõeväärsuse tabeli. Selleks esialgu
kirjutame kõik võimalikud signaalide X ja Q1n , Q0n
kombinatsioonid. Pärast leiame Z1Z0 ja T1T0 T – trigeri
üleminekute tabeli järgi, ja järgmised olekud Q1 n+1 ,
Q0 n+1.
Meeldetuletamiseks: T – trigeri üleminekute tabel.
Qn Qn+1 T
0 0 0
0 1 1
1 0 1
1 1 0
Tabel (****) :
Selle tabeli alusel tehtud üleminekute skeem:
3. Kasutades üleminekute skeemi joonistame
ajadiagrammid, mis seletavad DA tööd. Diagrammide
ehitamisel lähtume sellest, et sünkrosignaali ilmumise
momendil seadme sisendil viibib eelmine signaal X, ja
tema vahetus toimub ainult peale trigerite
ümberlülitamist.
4.8. Jadaloogika seadmete funktsionaalsed sõlmed.
4.8.1. Registrid.
Register on jadaloogikaseade, mis on ette nähtud
mitmejärgulisena koodsõnaga esitatud info salvestamiseks,
säilitamiseks ja nihutamiseks.
Üldjuhul register võib teostada koodsõnaga järgmised
mikrooperatsioonid:
1) Algoleku seadmine („nullkoodi“ salvestamine);
2) Sisendinfo salvestamine järjestikuses vormis;
3) Sisendinfo salvestamine paralleelses vormis; 4) Info säilitamine (hoidmine);
5) Säilitatava info nihutamine paremale või vasakule; 6) Säilitatava info väljastamine järjestikuses vormis; 7) Säilitatava info väljastamine paralleelses vormis.
Suvaline N – järguline register koosneb N – ühetüüpilistest
pesadest – järguskeemidest. Nende väljundsignaal assotsieerib
kahendarvu vastava järgu kaalukoefitsiendiga (kaaluteguriga). Iga
järguskeem omaette koosneb trigerialasüsteemist ja
kombinatsioonalasüsteemist, mis muundab sisendsignaalid ja
trigerialasüsteemi oleku väljundsignaalideks.
Registrite mõned liigitamisvõimalused:
Info vastuvõtt tegumoodi järgi:
Paralleelsed – rööpregistrid (staatilised) → info salvestamine
(sissekirjutamine) ja väljastamine (mahalugemine) toimub
paralleelses vormis (PIPO).
Järjestikused – jadaregistrid (nihkeregistrid) → info salvestamine
ja väljastamine toimub ainult jadavormis (SISO).
Rööp – jadaregistrid → info salvestamine ja väljastamine toimub
mõlemas vormis (SIPO , PISO).
Info edastamise kanalite arvu järgi:
Parafaassed → info salvestamiseks ja väljastamiseks leiab
kasutamist otsene ja inverssne kood.
Ühefaasilised → infot salvestatakse ja väljastatakse kas otse või
inversses koodis.
Takteerimisviisi järgi:
Ühetaktilised → takteerimine toimub ühe juhtimpulsi portsuga.
Mitmetaktilised → takteerimine toimub mitme juhtimpulsi
portsuga.
Paralleelne register (rööpregister) (PIPO). → Teostab 1, 3, 4, 7 mikrooperatsioonid.
→ Töötleb infot ainult paralleelvormis.
Järguskeemid, millistest koosneb register, omavahel seotud ei ole.
Lihtsat PIPO – registrit võib ehitada RS – trigerite alusel.
Koosneb N – trigeritest, sünkronisatsioon on ühine; infot
sisestatakse otse ja inverssetes koodides; infot väljastatakse
inversses koodis.
→ Ühetaktiline, parafaasse sisendiga, inversse väljundiga. Info
salvestamine toimub ühe taktiga.
Juhul, kui kasutuses on ainult otse või ainult inversne kood, siis
info sisestamine toimub kahe taktiga.
Esimene takt → „RESET“ või „SET“, teine takt – uue info
salvestamine.
Juhul, kui selles struktuuris RS – trigerid vahetada välja D –
trigerite vastu, siis on saadud ühetaktiline register ühefaasilise
väljundiga. Kiiretoimelisus on siis kaks korda suurem.
Näide
Reaalse registri skeem (fragment):
Tema skeemiline tähistus:
EZ1 , EZ2 – võrdväärsed, viivad registri väljundid „high Z“
olekusse. Juhul, kui EZ1 + EZ2 = 1 → „high Z“ olek.
E1 , E2 – võrdväärsed, viivad registri info sisestamise režiimist info
hoidmise režiimi üle.
E1 + E2 = 1
Üleval on PLS, all aga ALS. Tulemus:
infosignaal D – sisendist edasi ei lähe! Kui
tuleb sünkrosignaal C, siis toimub trigeri
olemasoleva info ümbersalvestamine. See on info hoidmise režiim.
E1 + E2 = 0
Toimub uue info salvestamine. Antaval
juhul loogika element DD6 mängib
multipleksori rolli, ja ühendab trigeri
sisendi kas registri D – signaaliga või enda oma väljundiga Q.
Kasutades erinevaid sisendkombinatsioonskeeme võib välja
töötada igasuguseid järguskeeme, mis realiseerivad vajalikud
paralleelregistri tööalgoritmid.
Skeem (üks pesa), mis võimaldab info salvestamist kahest
suunast.
C0 = 1, C1 = 0 → signaali X
salvestamine.
C0 = 0 , C1 = 1 → signaali Y
salvestamine.
Näide
Nihkeregister on tavaliselt universaalne register, ja ta on
võimeline teostama kõik mikrooperatsioonid. Selleks on kõik tema
järguskeemid omavahel seotud.
Ühetaktiline nihkeregister, millel on ettenähtud info
paralleelne sisestamine (näidatud on ainult kaks pesa).
Töörežiimi valik toimub sisendi S/P abil.
Kui S/P = 0, siis loogikaelement DD1 2NING-EI formeerib
loogika 1, sõltumata sünkrosignaalist C – sisendil, ja sellega
blokeerib järguskeemide trigerite sünkroonset ümberlülitamist.
Üheaegselt invertori DD2 väljundsignaal muundab elemendid
DD3, DD5 invertoriteks ja signaalid Di registri paralleelsisenditel
kirjutakse järguskeemide trigerite sisse. Elemendid DD4, DD6
töötavad samuti nagu invertorid ja ei anna võimalust kahele
aktiivsele signaalile üheaegselt ilmuda trigeri asünkroonsetel
sisenditel.
Näide
Kui S/P = 1, siis info paralleelne sissekirjutamine on võimatu,
kuna loogika elemendid DD3 – DD6 sõltumata signaalidest Di
formeerivad trigerite asünkroonsisenditel (R,S) PLS. Üheaegselt
element DD1 muutub invertoriks.
Sünkroimpulsi esiküljega (frondiga) info sisendilt V kirjutakse
esimese järguskeemi trigeri sisse. Teise järguskeemi trigerisse
kirjutakse sisse info esimesest järguskeemist jne. Register võtab
infot järjestikuses vormis sisse ja teostab eelnevalt sissekirjutatud
info nihutamine noorimast järgust vanimasse. (nihutamine
vasakule).
Neljajärgulise nihkeregistri skeemiline tähistus.
Kui register teostab info nihkumist vanimast
järgust noorimasse – siis nooleke on suunatud
paremale (→). Kui on kasutatud sellist tähistust
↔ , siis on tegemist reverssiivse registriga. Info
nihkumise suund on määratud spetsiaalse juhtimissignaaliga.
Selleks tuleb lisada lisa 2∙2NING-VÕI elemendid.
Elemendid 2∙2NING-VÕI-EI mängivad multipleksori rolli –
muudavad signaali ülekandmise suunda.
S = 1 → info nihutamine noorimast järgust vanimasse (nihe
vasakule ←).
S = 0 → info nihutamine vanimast järgust noorimasse (nihe
paremale →).
Nihkeregistrites kasutakse ainult kaheastmelisi (M –S) trigereid
või trigereid dünaamilise juhtimisega. Sel juhul garanteeritakse
info nihkumine ühe järgu võrra ühe sünkroimpulsi puhul. Muu
trigerite tüübi kasutamisel võib juhtuda mitmejärguline nihe.
Registrite vahelised sidemed.
Reaalsetes seadmetes töötlemisele kuuluv info hoitakse registrites.
Info töötlemine näeb ette ülekandmise registrist registrisse.
Lihtsamal juhul võib neid siduda individuaalselt. See meetod
realiseerib nn ruumilise info vahetamise viisi. Registrite vaheline
infovahetus toimub maksimaalse kiirusega. Aga suure registrite
arvu puhul esinevad ka suured tehnilised raskused.
Mikroprotsessorite süsteemides registrite vaheline infovahetus
toimub järjestikuse printsiibi alusel. Kasutakse ainult ühte sideliini
DB (DATA BUS). Selle liini külge on ühendatud registrite
sisendid ja ka väljundid. On realiseeritud info ajaline jaotus, mille
puhul on võimalik info vahetus ainult kahe registri vahel. Info
vahetamise tee on määratud juhtimissignaalidega.
Näide
On olemas meile tuttav staatiline register. (Info sissekirjutamist
lubavad signaalid E1 või E2, info väljastamist lubavad signaalid
EZ1 või EZ2)
Oletus: EZ2 = E2 = 0. Mikroskeemid SN74LS173A.
K.T.Nr.7
Olemasoleva kombinatsioonskeemi lihtsustamine.
4.8.2. Loendurid.
Loendur on järjestikune seade, mis on ettenähtud
sisendimpulsside loendamiseks ja nende arvu fikseerimiseks
kahendkoodis.
Loendurid ehitakse omavahel ühendatud ühetüübiliste
järguskeemide alusel.
Iga järguskeem omaette koosneb trigerist ja
kombinatsioonskeemist, mis on ette nähtud trigeri juhtimissignaali
väljatöötamiseks.
Digitaalskeemides võivad loendurid teostada koodsõnade alal
järgmiseid mikrooperatsioone:
1) Seadmine algolekusse („nullkoodi“ salvestamine);
2) Sisendinfo salvestamine paralleelvormis;
3) Info hoidmine;
4) Info väljastamine paralleelvormis;
5) Inkrement – säilitatava koodsõna suurendamine „1“ võrra.
6) Dekrement – säilitatava koodsõna vähendamine „1“ võrra.
Põhiparameetrid ja liigitus Loenduri esimene põhiparameeter on loenduse moodul M. See on
maksimaalne impulsside arv, mille peale tulekul loendur
seadistatakse algolekusse.
Dünaamiline põhiparameeter (mis määrab kiiretoimelisust) on
väljundkoodi seadmise aeg (время установления). See on
ajaintervall sisendsignaali tuleku ja väljundkoodi seadmise vahel.
Liigitus võib olla tehtud mitme parameetri järgi:
Loenduse mooduli järgi:
Kahendloendurid → loenduse moodul on M = 2n.
Mittekahendloendurid (kahendkodeeritud loendurid) →loenduse
moodul M ≠ 2n.
Loenduse suuna järgi:
Summeerivad loendurid → teostavad inkremendi
mikrooperatsiooni säilitatava koodsõna alal.
Lahutavad loendurid → teostavad dekremendi mikrooperatsiooni
säilitatava koodsõna alal.
Reverssiivsed → sõltuvalt juhtimissignaali tähendusest võivad
teostada inkremendi või dekremendi mikrooperatsiooni.
Järguvaheliste sidemete organiseerimisviiside järgi:
→ Loendurid järjestikulise ülekandega: järguskeemide trigerite
ümberlülitus toimub järjestikuliselt, üksteise järgi.
→ Loendurid paralleelse ülekandega: kõik trigerid lülitavad ümber
üheaegselt, sünkrosignaali järgi.
→ Loendurid kombineeritud ülekandega – ülaltoodud meetodite
kombinatsioon.
Kahendloendurid. Näide
Tabel (*):
Vaja ehitada
loendur M = 8.
Selleks on vaja
min 3 trigerit.
Tabelist (*) on näha, et Q0 , mis vastab noorimale järgule, muudab
oma tähendust iga sünkroimpulsi tulekuga. Q1 → iga teise
sünkroimpulssi tulekuga. Q2 → iga neljandaga.
Antavat algoritmi on kerge realiseerida, kui kasutada T – trigereid.
Iga järgmise trigeri sünkronisatsioon teostakse eelmise trigeri
väljundsignaaliga. Esimene triger (mis formeerib Q0)
sünkroniseeritakse otse sünkroimpulsiga.
Diagrammid selle algoritmi illustratsiooniks:
Tabelist ja diagrammidelt on näha, et selleks, et teostada
inkremendi mikrooperatsioon, peab iga järgmine trigeri
ümberlülitus toimuma eelmise trigeri väljundsignaali muudatusel 1
→ 0 (impulsi tagakülg).
Järeldus: Selleks, et saada summeerivat loendurit, peavad
järjestikku ühendatud T – trigerid olema varustatud inverssete
dünaamiliste sisenditega.
Juhul, kui meie käsutuses on T – trigerid otse dünaamiliste
sisenditega, siis saame lahutavat loenduri.
Sellele vastavad järgmised diagrammid:
Kui kasutada trigeri inversset väljundit, siis:
→ summeeriv loendur on realiseeritav otse dünaamiliste
sisenditega T – trigeritel.
→ lahutav loendur on realiseeritav inverssete dünaamiliste
sisenditega T – trigeritel.
Järgmises tabelis on toodud kõik võimalikud ühendamise
kombinatsioonid:
Järeldus: loenduse suunda saab vahetada kui muuta järguvahelised
sidemed. Saab ehitada reversiivse loenduri. Sisend V sellisel
loenduril määrab järguvaheliste sidemete tüübi.
Ülaltoodud loenduritel oli järjestikülekanne. Nende sisemine
struktuur on lihtne, aga seadmise aeg on suur ja sõltub
väljundkoodi tähendusest. Seadmise aeg on maksimaalne juhul,
kui on nõutud kõigi trigerite ümberlülitus.
tS max = N∙tS tr. kus N – järgude arv, ja tS tr. – ühe järguskeemi seadmise aeg.
Seadmise aja vähendamine → tuleb loobuda trigerite
asünkroonsest ümberlülitusest sünkroonse kasuks.
Selleks:
→ tuleb panna kõik trigerid lülituma ümber üheagselt;
→ tuleb formeerida signaalid, mis reglementeerivad
trigerite ümberlülituse järjekorra enne sünkroimpulsi tulekut.
Tabelist (*) selgub, et iga järgmise trigeri ümberlülitus järjekordse
sünkroimpulsi tulekuga toimub ainult siis, kui kõik eelmised
trigerid on juba seatud (nendel väljunditel püsivad 1).
Antud ümberlülituse algoritm:
iiiiniinin PQPQPQQ 1
kus: Qi n+1 – loenduri väljundkoodi i – järgu tähendus n+1
ajamomendil;
Qi n – loenduri väljundkoodi i – järgu tähendus n –
ajamomendil.
Realisatsioon → nn paralleelne ülekanne.
Selles skeemis tS max = tS tr.
Märkus!
1) Triger, mis formeerib Q0 jäi ikka asünkroonseks;
2) Järjestikuse ülekandega loendur on peale väljundkoodi
seadmist kohe valmis järgmiseks ümberlülituseks.
Paralleelülekandega loenduril läheb järgmiseks
ümberlülituseks veel veidi aega tV (lülitamise viide)
ülekandesignaali formeerimisahelates.
Tähtis!
Paralleelülekandega loendurites loendamise suund ei sõltu sellest,
kas trigerid omavad otsest või inversset dünaamilist sisendit.
Loenduse suund on määratud ainult sellega, kas ülekandmise
signaali formeerimiseks kasutakse trigerite otsest või inversset
väljundit.
Tähendab, ülaltoodud skeem on summeeriv loendur. Kui kasutada
inversset väljundit, siis saab lahutava loenduri.
Järeldus:
Kui loenduri järguskeemid täiendada
multipleksoriga (näiteks 2∙2NING-VÕI)
võib ehitada reversiivse loenduri
paralleelülekandega.
Paralleelülekandega loenduril on järkude arvu kasv raskendatud,
kuna kiiresti kasvab NING – elementide sisendite arv.
Lahendus: konstrueerida kombineeritud ülekandega loendur.
Loenduri järguskeemid jagatakse gruppideks. Grupi sees on
teostatud kas järjestikune või paralleelülekanne. Gruppide vaheline
ülekandesignaal formeeritakse NING elementidega ainult juhul,
kui kõik grupi trigerid on seatud 1 – sse. See ongi paralleelse
ülekande printsiip.
Seadmise aeg sellises struktuuris:
tS max = tS tr gr
kus tS tr gr - väljundkoodi seadmise aeg ühe grupi piiris.
Kui ühe grupi ulatuses kasutakse järjestikuse ülekande printsiipi,
siis:
tS tr gr = ttr∙Ni
kus Ni – trigerite arv i – grupis.
Paralleel- järjestikulise ülekandega loenduri skeemi lihtsustamine
toimub tema kiiretoimelisuse osalise kaotamise arvelt.
Kombineeritud ülekandega loenduri skeem:
Kui grupi sees on tehtud paralleelülekanne, siis loenduri
kiiretoimelisus kasvab. See toimub väljundkoodi seadmise aja
vähendamise tõttu:
tS tr gr = ttr
Kombineeritud ülekandega loenduri ümberlülituse ettevalmistuse
aeg:
tet max = tV ∙(l – 1)
kus: tV – lülitamise viide; l – gruppide arv loenduris.
Kombineeritud ülekandega loenduri maksimaalne
ümberlülitussagedus:
max
max
1
etStrgr ttF
Järguskeemide arv grupis võib olla suvaline. Juhul, kui grupp
koosneb ainult ühest järguskeemist, siis kombineeritud ülekandega
loendur muutub läbiva ülekandega loenduriks.
Selles skeemis trigerite ümberlülitus toimub üheaeglaselt, aga
ettevalmistus järgmiseks ümberlülituseks vajab aega. See aeg on
vajalik selleks, et NING – elementide väljunditel järjestikusel viisil
formeeruks ülekandmise signaale. See aeg sõltub konkreetsest
koodist, mis on parajasti loenduri sisse kantud.
Kahend-kodeeritud loendurid (mittekahendloendurid). Need on loendurid, milledel M ≠ 2n. Mittekahendloendurite
loomise meetodeid on palju. Näiteks on toodud kaks nendest.
1) Liigsete olekute elimineerimine.
Näide
„Sundviisiline juurdeloendamine“.
Kümmendloendur JK – trigerite (SN7472, 155TB1) baasil.
3) Juhitav nullimine.
Praktikas on soovitatav omada skeem-poolfabrikaati, mille alusel
võiks väikeste lisadega lihtsal viisil muuta tööalgoritmi.
Seda on kerge teha, kui kasutada järguskeeme eelseadmise
võimalusega.
Mõnedel loenduritel
järguskeemid lubavad sisse
kanda ka suvalist infot
(nt SN74160, 155ИЕ9).
Kasutades loendureid eelseadmise sisenditega võib ehitada seadme
ükskõik missuguse loendusmooduliga M. Lihtsa järjestikulise
ülekandmisega loenduri baasil võib teha nn asünkroonse
„nullimise“.
Sünkroonse nullimise näide läbiva ülekandega loenduri baasil:
Kui väljunditel tekib kombinatsioon 1010 0123 QQQQ , siis peale
lülitamise viidet formeerub nullimise signaal.
t1 = tS R + tLV kus: tSR – loenduri seadmise aeg R – sisendite kaudu;
tLV – lülitamise viide 4NING-EI loogikaelemendil.
Selle meetodi puhul ajavahemikul t1 väljunditel püsib liigne
väljundkood.
Võib asja lihtsustada, kui kümnendloenduri ehitamiseks valida
sobiv mikroskeem.
Näide
On olemas kümnendloenduri mikroskeem SN7490 (155ИЕ2). Aga
kui ei ole? Saab kasutada kahendloenduri mikroskeemi SN7493
(155ИЕ5).
4.8.3. Taktide jaotaja.
Lihtsaim lahendus selleks – võtta aluseks nihkeregister. Nüüd
temast on saanud ringloendur.
Johnson`i loendur .
5. Aritmeetika – loogikaplokk (ALU).
5.1. Üldist.
See on funktsionaalselt täielik arvuti sõlm, mis on ette nähtud
aritmeetika ja loogikatehete sooritamiseks. Sõltumata sellest, kui
palju operatsioone realiseerib arvuti, aritmeetiline liitmine ja
korrutamine on kõige tähtsamad. Nad on arvuti põhinäitajad.
Lähte- ja vaheandmed on vaja kuskil hoida, seetõttu ALU on alati
varustatud lisaregistritega.
ALU struktuurskeem:
Tegelikult see on lihtsustatud mikroprotsessori skeem. ALU omab
kaht sisendit (sisendporti) ja üht väljundit. On olemas ka lisa-
väljaviigud abiinfo saamiseks. Puhverregister 1 ja puhverregister 2
on andmete ajutiseks hoidmiseks. Nad on võimelised hoida üht
koodsõna. Järkude arv on määratud ALU tüübiga. Sisend 1 saab
andmeid otse andmete siinilt. Sisend 2 – ka sealtsamast või
spetsiaalsest registrist – akumulaatorist. Selle registri sisend on
ühendatud ka ALU väljundportiga. Tihti akumulaatoril on ka teine
sisend, mis on ühendatud andmete siiniga. Üldjuhul akumulaatoris
võivad olla hoiul andmed, mis on eelmise operatsiooni tulemused
või on saadetud andmete siini poolt. Väljaviikude grupp, mis on
ette nähtud abiinfo saamiseks , on ühendatud olekute registriga.
Seal hoitakse tööinfot – viimase operatsiooni tulemused. Näiteks
viide, et akumulaator on nullitud, et viimase operatsiooni käigus
on saadud negatiivne tulemus.
Sõltuvalt operatsiooni tüübist, ALU opereerib kas ühe või kahe
andmesõnaga ja vastavalt kasutab üht või kaht sisendporti.
Näiteks, aritmeetilise liitmise puhul on kasutamisel mõlemad
pordid, aga inversse koodi saamiseks on vaja ainult ühte.
On rida operatsioone, mida teostavad kõik ALU-d:
→ aritmeetiline liitmine;
→ aritmeetiline lahutamine;
→ loogikaline korrutamine;
→ loogikaline liitmine;
→ liitmine mooduli 2 järgi;
→ inversioon; nihe vasakule, nihe paremale, inkrement,
dekrement.
Ülalnimetatud operatsioonid on elementaarsed, neid ALU teostab
enda oma aparatuursete vahenditega. Keerukad operatsioonid
nagu: aritmeetiline korrutamine ja jagamine, teostatakse
mikroprogrammilise meetodi abil → elementaarsete
operatsioonide kombinatsioonidega. ALU on kombinatsioonseade
– oma mäluelemente temal ei ole.
Arvuti töö analüüs näitab, et 50% kõigist operatsioonidest on
aritmeetiline korrutamine, ja 45% on aritmeetiline liitmine.
5.2. Kahendarvude liitmise algoritm.
On vaja saada LF, mis kirjeldaks kahte ühejärgulist koodide
liitmist.
Tõeväärsuse tabel (*):
S – operatsiooni tulemus;
P – vanimasse järku ülekandmise signaal.
1 → Operatsiooni tulemust ei anna esitada samas (ühejärgulises)
koodis! Tulemuse sõna peab omama ühe järgu rohkem.
0 → See ei ole loogikaline liitmine!
Tabeli (*) alusel:
0101 XXXXS (*) 01 XXP (**)
S: → antivalentsus .... 01 XX ;
→ välistav VÕI .... 01 XX (XOR) ;
→ liitmine mod 2 .... (X1 + X0)mod2
01 XX → välistav VÕI – EI
000101110101
0101010101
XXXXXXXXXXXX
XXXXXXXXXXS
0101 XXXX ← digitaalkomparaatori LF! (F=)
Välistava VÕI –l on alati kaks sisendit → operatsioon ainult kahe
sõna alal.
Tabelis (*) näeme ainult noorimate järkude liitmist. Vanimate
järkude liitmise jaoks tabelit (*) tuleb täiendada ülekandmise
signaaliga noorimatest järkudest.
Selle uue, täiendatud, tabeli alusel koostame LF:
101101 PXXPXXS (***)
10101 PXXXXP (****)
Moraal: → Selleks, et saada kahe vanima järgu summat, on vaja:
1) Operatsioon XOR X1 ja X0 alal, 2) Veel üks operatsioon XOR
esimese operatsiooni tulemuse ja eelmisest järgust ülekandmise
signaali alal.
5.3. Summaatorid.
5.3.1. Summaatorite liigitus.
Summaatorite liigitus (väljaviikude järgi):
→ Poolsummaator on seade, mis liidab kaht ühejärgulist koodi
(sõna). Tal on kaks sisendit ja kaks väljundit. Seade formeerib
liitmise signaali ja ülekandmise signaali vanimasse järku.
→ Ühejärguline summaator on seade, mis liidab kaht
ühejärgulist koodi. Tal on kolm sisendit (ühe sisendi peale tuleb
ülekandmise signaal noorimast järgust) ja kaks väljundit.
→ Mitmejärguline summaator on seade, mis liidab kaht
mitmejärgulist koodi, formeerib väljunditel summa koodi ja
ülekandmise signaali, juhul, kui liitmise resultaat ei ole esitatav
koodis, mis on liidetavate koodidega samajärguline.
Mitmejärgulised summaatorid võivad olla:
→ Järjestikulised – liitmise protsess toimub järk – järguliselt,
alustades noorimast järgust.
→ Paralleelsed – liitmine toimub üheaegselt kõikides koodide
järkudes.
5.3.2. Poolssummaator.
Poolsummatori väljundsignaalid vastavad võrranditele (*) ja (**).
Realisatsiooniks on vaja XOR ja AND – loogikaelemendid.
Kuidas realiseerida „välistav VÕI“ 2NING-EI baasil:
0101010101 ||| XXXXXXXXXXS
Summaatori skeem:
Operatsiooni teostamise aeg:
tPS = 3tLV
Kui registril, kus hoitakse liidetavaid koode on otse ja inverssed
väljundid, siis:
Operatsiooni teostamise aeg:
tPS = 2tLV
5.3.3. Ühejärguline summaator.
Ühejärgulise summaatori funktsioneerimine on kirjeldatud
loogikafunktsioonidega (***) ja (****). Kõige kergem
realisatsioon võib olla poolsummaatorite alusel (2 poolsumm. + 1
VÕI). Tuleb aga ära märkida, et kui sünteesida seadet otse
täiendatud tõeväärsuse tabeli alusel, kasutades elementaarseid
loogikaelemente, võib saada lihtsama tehnilise lahenduse.
Operatsiooni teostamise aeg pakutavas skeemis samuti on
määratud operatsiooni „välistav VÕI“ teostamise ajaga.
tüjS = 2tPS = 6tLV
Vanimasse järku ülekandmise signaali formeerimine toimub
kiiremini:
tP = 5tLV
5.3.4. Mitmejärguline paralleelse toimega summaator.
Peavad olema eraldi aparatuursed vahendid selleks, et teostada
üheaegne summeerimine igas järgus. Neljajärgulise summaatori
jaoks oleks vaja üht poolsummaatorit, kolme ühejärgulist
summaatorit, ja väljundlüliteid (NING –elemendid). Signaal Z →
liitmise tulemuse mahalugemiseks.
Igas järgus on oma summaator, aga ülekandmise signaali
formeerimine toimub järjestikuliselt. Selletõttu mahalugemise
signaal Z antakse mitte varem, kui ülekandmise signaal käib kõik
järgud läbi. Operatsiooni teostamise aeg:
126 ntt LVmjpS
kus n – järkude arv.
Juhul, kui n = 4, siis t4S = 12tLV
P on ülekandmise väljundsignaal, või ületäitmise signaal.
t4 üt = 11tLV
5.3.5. Mitmejärguline summaator järjestikulise toimega
Võib realiseerida kasutades ainult ühte ühejärgulist summaatori
skeemi. Liitmine toimub kordamööda järk – järguliselt.
Liidetavate koodide paigaldus sisendregistrites:
Üldjuhul registrid võivad summaatorile ka mitte kuuluda.
Enne summeerimist peavad koodid olema sisse kantud registritesse
(kas järjestikuliselt või paralleelselt).
Tähtis! Koodide paigaldus! Qn → 0 Registrite vanimatesse
järkudesse kirjutakse sisse liidetavate koodide nooremate järkude
tähendused.
On vaja (n+1) järgulisi registreid, mis võimaldavad nihutada koode
vasakule. Enne algust D – triger nullitakse. Vastuvõtu registri
järguskeemide olekud ei ole tähtsad. Liitmine vajab
sünkronisatsiooni n – takte.
Sünkroimpulsi esikülg (0┘1) on aktiivne, ja hoiuregistrite Qn –
väljunditel ilmuvad X0 ja Y0 .
D – trigeri Q – väljundil on 0 → ühejärgulise summaatori
väljunditel formeeritakse S ja P signaalid noorimatele järkudele.
Sünkroimpulssi tagaküljega (1└0) need tähendused kirjutatakse üle
väljundregistri noorimasse järku ja ka D – trigerisse. Seega
järgmise sünkroimpulsi tulekuni D – trigeris hoitakse ülekandmise
signaali tähendus, mis oli saadud noorimate järkude
summeerimisest, aga väljundregistri Q0 – järgus on noorimate
järkude summa.
Seega iga sünkroimpulssi esikülje puhul (0┘1) ühejärgulise
summaatori sisendil hakkavad ilmuma koodide järkude
tähendused, alates noorimast, ja ülekandmise signaalid eelmistest
protseduuridest.
Iga sünkroimpulsi tagakülje puhul (1└0) uue summa tähendus
kirjutakse üle väljundregistrisse, aga ülekandmise signaali
tähendus, mida tuleb arvestada järgmise summeerimise puhul,
salvestatakse D – trigerisse. Kui lõpeb n – sünkroimpulss,
summeerimise tulemus jääb hoiule väljundregistrisse.
NB! Väljundregistri vanimas järgus on summeerimise tulemuse
noorim järk.
n – järguliste koodide minimaalne summeerimise aeg on:
tminS = 6ntLV (neljajärguliste koodide liitmise aeg on kaks korda suurem, kui
paralleelse toimega summaatoril)
Kiiretoimelisuse tõstmiseks tuleb kasutada paralleelse toimega
summaatorit. Kiirust sel juhul piirab ainult ülekandmise signaali
formeerimine.
Mõned tehnilised võimalused (mida võiks ette võtta):
→ Vähendada elementide ja ahelate arvu, mis on kasutatud
ülekandmise signaali formeerimiseks;
→ Kasutada nendes ahelates suurendatud kiiretoimelisusega
elemente;
→ Teostada ülekannet paralleelvormis;
→ Moodustada summaatorite grupid ja organiseerida ülekandmise
signaalile lisa ahelad.
5.3.6. Summaatorid paralleelse ülekandega.
Sellistes summaatorites summeerimise signaal ja ülekandmise
signaal formeeritakse otse sisendvahelduvatest.
Seade, mis formeerib nõndaviisi ülekandmise signaali, on
kiirendatud ülekandmise plokk.
Kunagi oli:
1 iiiiii PYXYXP
Kasutades
0100 XXXXX i saame:
1iiiiiiii PYXYXYXP . . . . . . . . . . .
. . . . . . . . . . . . . . iiiii YXPYX 1 Selleks, et lihtsustada, tähistame:
gi = Xi∙Yi – ülekandmise funktsioon;
hi = Xi + Yi – ülekandmise edastamise funktsioon.
Vastavalt täiendatud tabelile gi = 1 ainult siis, kui ülekandmise
signaal formeeritakse i – järgus, sõltumata sellest, kas on või ei ole
ülekandmise signaali noorimast järgust. Samuti hi = 1 siis, kui kas
või üks liidetavatest võrdub 1. Juhul kui hi = 1, siis ülekandmise
signaal formeeritakse ainult siis, kui on olemas ülekandmise
signaal noorimast järgust.
Juhul, kui Xi = Yi =1, siis gi = hi = 1.
Kasutades neid mõisted:
Pi = gi + Pi-1∙hi (*)
Selge, et ka ülekanne signaal Pi-1 allub (*)
1211 iiii hPgP
Paneme selle tagasi (*), ja saame:
211121 iiiiiiiiiiii PhhghghPghgP
Kui sedasi minna Q – järguni välja, saame üldistatud LF, mis
kirjeldab ülekandmise signaali formeerimist suvalises järgus:
PhhhhghhghgP iiiiiiiiii 021211 ......
Kus P – ülekandmise signaal, mis antakse skeemi sisendile, juhul,
kui sellised seadmed on järjestikku ühendatud.
. . . . . . . . . . . . . . .
Neljajärgulise summaatori jaoks (kasutades NING-EI):
PYXYXPhgP 0000000
PYXYX |||| 0000
001111010111 YXYXYXPhhghgP
PYXYX 0011
PYXYXYXYXYX 0011001111
PYXYXYXYXYX |||||||||| 0011001111
PhhhghhghgP 0120121222
001122112222 YXYXYXYXYXYX
PYXYXYX 001122
|||||||||||| 001122112222 YXYXYXYXYXYX
PYXYXYX ||||||| 001122
Paralleelse ülekandega neljajärgulise summaatori skeem:
Ülekandmise signaali formeerimise aeg (igale järgule) on püsiv
suurus ja võrdne:
tpP = 4tLV Seetõttu on üldine summeerimise aeg paralleelse ülekandega
skeemile:
tpS = tpP + tPS =7tLV
Paralleelse ülekande puhul summeerimise kiirus kasvab tunduvalt,
kuid tehniline realisatsioon läheb väga keeruliseks. Sellepärast
reaalsetes skeemides järkude arv :
np ≤ 4
5.3.7. Summaatorid grupeeritud struktuuriga.
Kasutusele on võetud sama printsiip, nagu loendurites
kombineeritud ülekandega. Ühejärgulised summaatorid on jagatud
gruppideks nii, et oleks täidetud tingimus:
n = ml kus: n – üldine järkude arv;
l – moodustatud gruppide arv;
m – ühejärguliste summaatorite arv ühes grupis.
Igas grupis ja gruppide vahel võib organiseerida kas paralleelse
või järjestikulise ülekande meetodid.
Vaatlemisele võivad tulla:
→ Ahela ülekandega skeemid,
→ Paralleel – paralleelse ülekandega skeemid.
Ahela ülekandega summaator.
Grupi sees on organiseeritud paralleelne ülekanne, aga gruppide
vahel – järjestikune. Toimub skeemi lihtsustamine, kuna
kiirendatud ülekandmise ploki (KÜP) sisendsignaalid on ainult
antava summaatorite grupi signaalid, KÜP formeerib ainult ühte
ülekande signaali.
KÜP LF ja skeem, juhul kui järkude arv m = 4.
PhhhhghhhghhghgPm 01230123123233
Summeerimise aeg sellistes skeemides:
LVaüS tlt 147
kus: l – gruppide arv.
Kui on näiteks 16 – järguline summaator (m = l = 4), siis
taüS = 19tLV . . . . . . .
Juhul kui sama suurel paralleelsel summaatoril oleks gruppide
vahel tehtud järjestikülekanne, siis minimaalne summeerimise aeg
oleks tminS = 36tLV . – 1,94 korda suurem, võrreldes ülaltoodud
variandiga.
Paralleel – paralleelse ülekandega summaator. Mitmejärgulise summaatori struktuurskeem:
Gruppides ja gruppide vahel on organiseeritud paralleelne
ülekanne.
tminS = 11tLV
gi =Xi∙Yi – ülekandmise funktsioon;
hi = Xi + Yi – ülekandmise edastamise funktsioon;
Pi = gi + Pi-1∙hi – ülekande signaal.
Kui järkude arv kasvab liiga suureks, siis tuleb ühendada
summaatorid alagruppidesse („kolmekordse paralleelse
ülekandmise printsiip“).
5.4. Kahendarvude lahutamise algoritm.
On teada, et lahutamine võib olla asendatud liitmisega, kui
lahutavale omistada „miinus“ märk. Sel juhul lahutamiseks võib
kasutada summaatorit.
Negatiivse kahendarvu esitamine:
- ........ ----- ↑ ↑
Esimene koht – märk, moodul – kõik järgmised kohad.
Kui märk on: a) 0 → positiivne arv; b) 1 → negatiivne arv.
Ainult märgi järgu kasutamine ei anna veel võimalust teostada
lahutamise operatsiooni, juhul kui lahutav kahendarv on esitatud
otsekoodis. Selleks, et esitada negatiivne kahendarv, tuleb
kasutada tema lisakoodi.
Kahendarvu lisakoodi saamine:
1) Tuleb leida kahendarvu tema inversne kood.
2) Saadud inverssele koodile lisada „1“ noorimasse järku.
Peale liitmise operatsiooni teostamist tulemuse märk on määratud
saadud koodi vanima järguga.
! → Kui vanimas järgus on „0“, siis tulemuseks on positiivne arv,
mis on esitatud otse koodis.
! → Kui vanimas järgus on „1“, siis tulemuseks on negatiivne arv,
mis on esitatud lisakoodis.
Näide
31 – 12 = ?
Antud arvude otsekoodid:
3110 = 000111112
1210 = 000011002
Lahutava inversne kood: 11110011
Lahutava lisakood: 11110011 + 00000001 = 11110100
Liitmine: 00011111
+ 11110100
„1“arvesse ei lähe! → 100010011
↕ 0 → tulemus on positiivne, ja esitatud
otsekoodis → „19“
Näide
12 - 31 = ?
Lahutava inversne kood: 11100000,
Lahutava lisakood: 11100000 +00000001 = 11100001
Liitmine: 00001100
+ 11100001
11101101
↕ 1 → tulemus on negatiivne, ja esitatud
lisakoodis.
Kuidas lisakoodist saada tagasi otsekood? Võib kasutada juba
tuntud otsekoodi lisakoodi muundamise algoritmi. Aga võib ka
lihtsamini.
Kerge meetod:
Kahendarvu lisakoodi hakkame vaatlema paremalt vasakule.
Jätame muutmata kõik ettetulnud loogikalised „0“. Esimest
ettetulnud loogikalise „1“ laseme ka mööda, aga kõik järgnevad
arvud inverteerime.
Arvu lisakoodi 11101101otsekood →00010011. See vastab: - 1910
5.5. Aritmeetilise liitmise ja lahutamise operatsioonide
realisatsioon.
Kahejärguliste koodide liitmise –lahutamise struktuurskeem:
DD1 on üldine juhtimissõlm. SLP on summerimis-
lahutamisplokk. Summaatorite vahel on organiseeritud järjestikune
ülekandmine.
Algolekus sisenditele „+“ ja „-„ on antud „0“. Seega esimestele
(ülemistele) sisenditele 2NING DD5, DD9 ja 2NING DD3, DD6
tulevad aktiivsed signaalid. Siis summaatorite sisenditel sõltumata
Xi, Yi tähendustest viibivad loogika – „0“. Vastavalt ka skeemi
väljunditel on „0“.
Kui „+“ – sisendile on antud „1“. Esimestele sisenditele 2NING
DD5, DD9 ja ka esimestele ülemistele sisenditele 2NING DD3,
DD6 tulevad passiivsed loogikalised signaalid („1“). Seepärast
summaatorite sisenditel viibivad liidetavate koodid. Nende
väljunditel aga tekivad summeerimise tulemused ja ülekande
signaal.
Kui „-„ – sisendile on antud „1“. Esimestele sisenditele 2NING
DD5 ja DD9 endistviisi tuleb passiivne loogikasignaal ja
summaatorite „b“ – sisenditele satub vähendatava otsekood.
Esimeste sisendite ülemistele elementidele 2NING DD3, DD6
tulevad aktiivsed, aga esimeste sisendite alumistele elementidele
2NING – passiivsed loogikasignaalid. Seega lahutava kood satub
summaatorite „a“ – sisenditele läbi invertorite, inverteeritud kujul.
Üheagselt summaatori DD4 ülekandmise sisendile tuleb „1“. Selle
alusel võib öelda, et summaatorite „a“ – sisenditele on antud
lahutava lisakood. Summaatorite väljunditel formeeritakse kahe
koodi vahe.
5.6. Loogikaoperatsioonide teostamine.
Loogikaoperatsioonide eripära seisneb selles, et neid teostakse iga
järgu alal eraldi, ilma seoseta teiste järkudega.
Triger TTA kuulub ALU akumulaatorile, triger TT1 aga
puhverregistrile 1.
Operatsiooni valik täidetakse „1“ andmisega vastavale sisendile.
Element DD6 formeerib signaali 1QQA ;
Element DD7 formeerib signaali 1QQA ;
Elementide DD8, DD9, DD13 ülesandeks on formeerida signaal
11 QQQQ AA .
Signaal AQ võetakse trigeri TTA inverteeriva väljundi pealt.
Blokeerimiselemendid DD12, DD15, DD16 ja DD10 mängivad
loogikalülitite rolli, nende abil teostatakse tulemuse valik.
Elemendid 4VÕI (DD14), 2NING (DD2, DD3) ja invertor DD1 on
selleks, et salvestada tulemust trigerisse TTA (DD4).
Algolekus juhtimissisenditel on „0“. Elemendi 4VÕI DD11
väljundil samuti püsib „0“. Resultaadiks esimestel sisenditel
elementidel 2NING DD2, DD3, DD12, DD15, DD16, DD10 on
aktiivsed loogikasignaalid. Nende elementide väljundid omavad
madalat nivood, mis näeb ette trigeri TTA (DD4) alginfo
säilitamist.
Kui AB sisendi peale on antud „1“: Elemendi 2NING DD12
ülemisel sisendil on passiivne signaal ja tema väljund kordab
elemendi DD6 (mis realiseeris loogikakorrutamise operatsiooni)
väljundsignaali tähendust. Seesama signaal läbi elemendi 4VÕI
DD14 ja invertor DD1 satub elementide 2NING DD2, DD3
alumistele sisenditele. Elemendi 4VÕI DD11 väljundsignaal satub
ülemistele sisenditele 2NING DD2, DD3. Ta on võrdne loogika
„1“ ja lubab trigeri TTA (DD4) R,S – sisenditel formeerida
signaale, mis on määratud operatsiooni A∙B tulemusega.
Sünkroimpulsi tulekuga see info salvestatakse trigerisse TTA
(DD4).
Kui teistele juhtimissisenditele anda peale signaalid „1“, siis
skeem käitub analoogselt ülalkirjeldatule.
5.7. ALU integraalskeemid.
Näiteks: SN74LS187, 555ИП3.
Skeem opereerib kahe neljajärgulise
sisendkoodidega (a0...a3 ja b0...b3). Teostab 16
aritmeetilist ja 16 loogikaoperatsiooni.
Operatsiooni tüüp määratakse M – sisendil
(mode control).
M = 1 – sisemised ülekanded on blokeeritud.
Skeem teostab loogikaoperatsioone.
M = 0 – skeem teostab aritmeetilisi
operatsioone.
Operatsiooni liik valitakse vastava koodiga, mida antakse
sisenditele S0...S3.
Operatsioonide tulemused saab kätte väljunditel F0...F3. P0, Pn –
vastavalt ülekande signaali sisend ja väljund.
Signaale G, H kasutakse mitmejärguliste ALU ehitamise puhul
(järjestik ja paralleelne ülekanne). Sel juhul nende väljundite külge
lülitakse spetsialiseeritud mikroskeem – kiirendatud ülekandmise
plokk (näiteks: SN74LS182, 555ИП4).
K – sisemise komparaatori väljund. K = 1, juhul, kui A = B.
Operatsioonid, mida teostab SN74LS187:
5.8. Aritmeetiline korrutamine.
Aastaid tehti seda programmmeetodil. Praegu on välja töötatud
spetsialiseeritud integraalskeemid. Aga ikkagi nende tööalgoritm
baseerub traditsioonilisel meetodil: - järkude erakorrutiste
summeerimine.
Näide
Kahejärguliste koodide korrutamine.
Struktuur, mis seda algoritmi realiseerib – maatriks –
korrutamisplokk.
Selline lähenemine lubab korrutada koode suvalise järkude arvuga.
Integraalskeemi väljatöötamisel oleks hea kasutada ühte tüüpi
skeeme. Pakutud skeem sellele nõudele ei vasta.
Näide
Neljajärguliste koodide korrutamine.
On näha neli ühetüübilist plokki. Iga plokk vastab kahejärguliste
koodide korrutamisele.
Iga plokk peab veel teostama ka liitmise operatsiooni. Selleks, et
näiteks saada M2 :
b2a0
b1a1
b0a2
ja veel mitte unustada juurde liita ülekandmise signaali, mis tekib
peale erakorrutiste b1a0 ja b0a1 liitmist järgus M1.
Analoogselt tuleb käituda teistes järkudes. Üldjuhul igas plokis
peab olema realiseeritud järgmine LF:
Mi = A∙B + C + D
kus: C ja D – lisaks liidetavad komponendid, mis on saadud teistes
plokkides. Et seda realiseerida, tuleb ülaltoodud skeem täiendada
kahe summaatoriga.
Järgmine skeem on kahejärguliste koodide
maatrikskorrutamisplokk, kuid lubab koodide järkude arvu
suurendamist.
Ja viimane skeem: maatrikskorrutamisplokk, mis on ette nähtud
neljajärguliste koodide korrutamiseks. Ta on üles ehitatud eelmise
skeemi kasutamispõhimõttel.
6. Pooljuhtmäluseadmed .
6.1. Üldist, põhiparameetrid, liigitus.
Info lühiajaliseks säilitamiseks eksisteerivad registrid. Kui infot on
vaja säilitada pikemaks ajaks, siis kasutatakse mäluseadmeid
(MS).
MS põhiparameetrid: 1) MS maht → bit. Ühe biti säilitamiseks on vaja elementaarne
mälu element (EME).
MS maht: bittide arv või koodsõnade arv, näidates nende järkude
arvu (8 – järguline koodsõna → bait).
210 = 1024 bit = 1Kbit
220 = 1048576 bit = 1Mbit
2) Mõiste: „MS organisatsioon“ → (N ∙ L)
kus: N – koodsõnade arv,
L – koodsõna pikkus (järkude arv).
Vastavalt siis MS maht: M = N ∙ L
Näide
M = 32 ∙ 8 = 256 ∙ 1 = 256 bit
3) Pöördumise aeg – aja intervall tA küsitlusesignaali ja
väljundsignaali vahel.
4) Aadressi tsükli aeg – salvestamise režiimis tCY (A)WR –
minimaalne aeg, mille vältel signaalid peavad püsima
juhtimissisenditel selleks, et toimuks garanteeritud info
salvestamine.
4a) → analoogselt ka mahalugemise režiimi jaoks – tCY(A)RD .
MS kindla töö jaoks tuleb täita ajalised tingimused
juhtimissignaalide kohta. Need tingimused on määratud:
a) tsükli ajaga tCY ;
b) toimingu ajaga tW ;
c) ilmumise ajaga tSU ;
d) säilimise ajaga tV .
tCY on aja intervall signaalide alguste (lõppude) vahel.
tSU , tV on aja intervallid juhtimissignaalide alguste ja lõppude
vahel.
tW on juhtimissignaali kestvus. Kiiretoimelisuse määramisel tuleb arvestada sellega, et enne info
mahalugemist tuleb ta veel leida!
MS liigitus:
1) Püsimälud → ROM (read only memory).
Püsimälud lähtudes info sissekirjutamise võimalustest:
a) Mask – püsimälud;
b) Programmeeritavad püsimälud;
c) Reprogrammeeritavad püsimälud.
d) 2) Muutmälud (operatiivmälud) → RAM (random access
memory).
a) Staatilised – info on säilitatud, näiteks trigerites ja ta ei
hävine mahalugemisel.
b) Dünaamilised – info pidevalt tsirkuleerib temale
ettenähtud massiivis, hävineb mahalugemisel ja vajab
pidevat regenereerimist.
6.2. Mäluseadme tüüpilised ajadiagrammid.
Salvestamise režiim.
tCY(A)WR – aadressi tsükli aeg salvestamise režiimis.
tW(CS) – valimise signaali kestus.
tW(WR) – salvestamise signaali kestus.
tSU(A-CS) – valimise signaali (CS) seadmise aeg aadressi (A) suhtes.
tSU(A-WR) – salvestamise signaali (WR) ilmumise aeg aadressi
suhtes.
tV(CS-A) – aadressi (A) säilimise aeg peale valimise signaali (CS)
mahavõtmist.
tV(CS-WR) – salvestamise signaali (WR) säilimise aeg peale valimise
signaali (CS) mahavõtmist.
Mahalugemise režiim.
tCY(A)RD – aadressi tsükli aeg mahalugemise režiimis.
tA(A) – aadressi valimise aeg.
tA(RD) – mahalugemise signaali valimise aeg.
tSU(A-RD) – mahalugemise signaali (RD) ilmumise aeg aadressi
suhtes (A).
tSU(RD-CS) – valimise signaali (CS) ilmumise aeg mahalugemise
signaali suhtes (RD).
tW(CS) – valimise signaali kestus.
tW(RD) – mahalugemise signaali kestus.
tV(RD-A) – aadressi säilimise aeg peale mahalugemise signaali
mahavõtmist.
6.3. Mäluseadmed ühemõõtmelise adresseerimisega.
Suvapöördumisega mälus iga biti jaoks on oma EME. Vajaliku
EME leidmiseks on olemas struktuurid ühemõõtmelise (lineaarse)
ja kahemõõtmelise adresseerimisega.
M = 16 → 4 ∙ 4 EME
DIi – infosisendid (in), DOi – infoväljundid (off), CS – kiibi
valimine (chip select).
DC – aadressi dešifraator → tema abil valitakse kõik EME, mis
asuvad maatriksi reas.
0/ RDWR → signaal „mahalugemine“, info, mis oli säilitatud
valitud EME-des, satub väljunditele DO0...DO3.
1/ RDWR → signaal „salvestamine“, info siinidelt DI0...DI3
läheb EME-desse.
MS mahu suurendamine → veergude arvu kasvuga!
Lahendus: sisend- ja väljundlülitite asemel tuleb kasutada vastavalt
DEMUX ja MUX skeeme → „selektorid“.
MS maht on 256 ∙ 4. Igal mäluelemendil on kolm väljaviiku: 1)
„in“, 2) „off“, 3) „CS“.
Kokku on 256 aadressit. Koodi osaga A4...A0 toimub maatriksi rea
valik.
1/ RDWR → mahalugemine,
0/ RDWR → salvestamine.
EME valik toimub selektorite abil. Koodi osaga A7...A5 saab
maatriksi reast valida vajalikud elemendid.
6.4. Mäluseadmed kahemõõtmelise adresseerimisega.
Kui on vaja organiseerida salvestamine – mahalugemine ühe biti
kaupa, siis seda saab organiseerida kahemõõtmelise
adresseerimisega struktuuri abil.
Iga EME omab kaht sisendit CS, CS2 ja kaht sisendit (väljundit)
P1, P2.
Selleks, et valida vajalik EME, tuleb anda mõlemale sisendile
CS1, CS2 aktiivsed loogikasignaalid.
MS võib töötada kolmes režiimis:
1) Info säilitamise režiim: EME sisend – väljund on
väljalülitatud.
2) Mahalugemise režiim: EME info edastatakse MS väljundisse.
3) Salvestamise režiim: info MS sisendi pealt salvestatakse
valitud aadressil.
MS maht:
2121 222 nnnn
veerudread NNM
kus: n = n1 + n2 → aadressi registri järkude arv.
Toodud skeemil oli:
M = 210 = 1024 → 1K
See vastas 10 – järgulise aadressi sõnale. Valitud on n1 = n2 = 5,
seega maatriks on ruudukujuline. n1 → rea aadress (RA), n2 →
veeru aadress (CA).
1/ RDWR → mahalugemine, EME „sisu“ lugemisvõimendi
kaudu satub väljundtrigerisse.
0/ RDWR → salvestamine, avaneb salvestusvõimendi,
sisendinfo bit salvestatakse valitud aadressil.
6.5. Mäluseadme mahu suurendamine.
Mida võib ette võtta:
- suurendada järkude arvu,
- suurendada säilitatavate sõnade
arvu.
Järkude arvu suurendamine → MS
paralleelne lülitus
Aadressi sõna antakse kõigile MS
korraga. D0 väljundil iga MS antaval
aadressil loetakse maha 1 bit infot.
← Skeem 4 järgulise sõna jaoks.
Säilitatavate sõnade arvu suurendamine.
On pandud lisa dešifraator (A11A10). Vastavalt sellele koodile
dešifraator lülitab vajaliku MS. Iga MS maht on 1K ∙ 1. Kokku on
siis antaval juhul 4K ∙ 1 ja 12 – järguline aadressi sõna. Iga MS
juhitakse aadressi koodiga A9…A0.
6.6. Staatiline mäluseade (muutmälu)
bipolaartransistoride baasil.
Staatilised EME bipolaartransistoride alusel on kallid, aga
kiiretoimelised. Aluseks on võetud trigeri skeem.
P1 – on otse, P2 – on inversne
väljund. Nad on ühendatud
ühise siiniga (┴) läbi
võimendite sisendtakistuse.
Info säilitamise režiim: CS1 =
CS2 = 0 , triger asub püsivas olekus. Oletame: VT1 on lahti
(küllastatud), VT2 – kinni. Voolu väljundahelas P1 ei ole (URsis =
0), info EME-st mahalugemisvõimendi sisendile ei satu!
Info mahalugemise režiim: CS1 = CS2 = 1 (kõrge potentsiaal).
Transistori VT1 väljundvool tekitab pingelanguse (URsis) võimendi
sisendil.
Info salvestamise režiim: CS1 = CS2 = 1; P1 peale antakse
loogikaline 1 (kõrge potentsiaal); P2 peale antakse loogikaline 0
(madal potentsiaal). Transistori VT1 kõik emitterite vooluahelad
on katkestatud. Transistori kollektoril formeeritakse kõrge nivoo.
See pinge küllastab transistori VT2 (kollektoril madal nivoo), ja
kinnitab transistori VT1 kinnise oleku. Seega EME-se on sisse
kirjutatud uus info. Peale CSi signaalide mahavõtmist salvestatud
info säilib.
* → salvestamiseks ja mahalugemiseks kasutakse ühtesid ja samu
väljaviikusid.
* → väljundid võib kokku (paralleelselt) ühendada.
* → kui transistoridel elimineerida üks emittrer (näiteks CS2), siis
saame EME ühemõõtmelise adresseerimisega.
6.7. Staatiline mäluseade (muutmälu)
väljatransistoride basil.
See on ühemõõtmelise
adresserimisega EME.
R1, R2 on piiramistakistid.
Oletame: Transistor VT1 on lahti, transistor VT2 on kinni. Kui
signaaliga CS transistorid VT5, VT6 pole avatud, siis on info
säilitamise režiim.
Kui signaaliga CS transistorid VT5, VT6 avada, siis väljundil P1
madal nivoo, aga väljundil P2 kõrge nivoo.
Uue info salvestamiseks: anda signaal CS, siis P1 väljaviigule
tuleb peale anda kõrge nivoo, aga P2 väljaviigule – madal nivoo.
Madala nivooga pinge šunteerib transistori VT2 ja võtab transistori
VT1 paisu pealt pinget maha, mis teda lahtises (avatud) olekus
hoidis. Seega transistor VT1 läheb kinni, ja pinge tema neelu peal
kasvab transistori VT2 avamiseni. Trigerisse sai sissekirjutatud
uus info.
Selle mäluseadme skeemiline tähistus.
Kui on vaja organiseerida kahemõõtmeline adresseerimine, siis
transistoridele VT5, VT6 tuleb panna veel transistorlülitid vahele:
6.8. Dünaamilised muutmälud.
Dünaamilises mäluseadmes info säilub kondensaatori laengu näol.
Kondensaatori pinget võrreldakse teatavate 1 ja 0 nivoodega.
* Isegi täiuslikul kondensaatoril on reaalne enesetühjendamine.
* Laadimise – tühjenemise protsessi teostamiseks tuleb
kondensaatori külge ühendada lisaahelaid.
Tulemus: mõne aja pärast kondensaator tühjeneb ja loogikaline
konstant kaob.
Kondensaatori EME-na kasutamine on õigustatud juhul, kui:
tsäil / ttaast ≥ 1 Kondensaatorile külge ühendataval võimendil peab olema kõrge
ekvivalentne sisetakistus. Seetõttu tuleb selleks kasutada ainult
väljatransistorid.
Kondensaatori laengut tuleb perioodiliselt taastama. Kui
taastamisaeg on ttaast = 1- 2ms, siis taastamissagedus:
ftaast = 0,5 - 1kHz.
Võrreldes staatiliste mäludega on dünaamilised mälud:
* → tunduvalt lihtsamad;
* → tunduvalt odavamad;
* → tunduvalt aeglasemad;
* → omavad kõrget integratsiooniastet (olemas 128M ∙ 1).
Antaval skeemil on
ühemõõtmeline adresseerimine.
EME koosneb transistorist VT1 ja
mälukondensaatorist Cm.
Transistorlüliti VT1 ühendab
kondensaatori Cm andmete siiniga
(AS). See toimub CS signaali
pealetulekuga, mis saabub
aadressi dešifraatorist. Kui
signaalil CS on kõrge nivoo, siis
transistor VT1 on lahti ja võib
infot maha lugeda, või uut sisse
kirjutada.
Andmete siiniga (AS) on ühendatud transistori VT2 pais.
Transistor VT2 mängib mahalugemise võimendi rolli. Peale
vajalikku kondensaatori Cm ühendamist AS –ga on väljundis
pinge, mis on proportsionaalne kondensaatori pingele. Kuna
EME-sid on palju, siis AS on võrdlemisi pikk ja omab suurt
omamahtuvust CS. Tavaliselt CS >> Cm . Väikese mahtuvusega
Cm külgeühendamine ainult pisut muudab AS mahtuvuse CS
potentsiaali. Et seda muudatust tabada, on vaja väga täpselt teada
AS algset potentsiaali.
Seetõttu info mahalugemisel käitutakse järgmiselt:
1) Vahetult enne mahalugemist fikseeritakse AS pinge nivoo.
Selleks laetakse lüliti VT3 abil siini mahtuvus CS toite
pingeni.
2) Vajalikule EME-le antakse valimise signaal CS. Seega
kondensaator Cm ühendatakse AS-ga (CS-ga). Toimub
laengute ümberjagamine ja vastavalt AS pinge muudatus.
3) Võimendi väljundist loetakse maha signaal, mis on
proportsionaalne valitud EME kondensaatori laengule.
*Nagu on näha, info mahalugemisel toimus tema hävimine. Tema
edaspidiseks säilimiseks tuleb teda uuesti ümber kirjutada.
Info salvestamiseks kasutakse lüliteid VT3 või VT4.
Juhtimissignaali järgi lülitakse AS kas vastu toidet või vastu ühist
siini (┴). Vajaliku EME valimisega tema mälukondensaator
laetakse AS pingeni.
See oli hästi lihtsustatud skeem. Dünaamilise MS reaalne struktuur
on tunduvalt keerulisem. Tema koosseisus on regeneratsiooni
protsesside juhtimisahelad ja registrid. On olemas ka lisa EME
maatriks, mida kasutatakse etalonina. Info regenereerimiseks
juhtimisploki signaaliga toimub terve rea sisu ümberkirjutamine
registrisse ja tagasi. Sellega õnnestubki hoida üleval vajalik pinge
nivoo mälukondensaatoritel.
Dünaamilise muutmälu mikroskeem
TMM4164 (565РУ5).
Antava mikroskeemi organisatsioon on
64K∙1, kuid ta omab ainult 8 aadressi sisendit
(A7...A0). Strobeerimissignaalid
RAS ja CAS just aitavad vähendada
aadressi sisendite arvu, sest 64K sõnade arvu
juhul oleks vaja 16 järgulist aadressi koodi. Pool nendest järkudest
vastutavad rea valiku eest ja pool – veeru valiku eest. Seepärast
vanimad ja noorimad aadressisõna järgud antakse ühtede ja
samade sisendite peale kordamööda.
Peale madala pinge nivoo andmist sisendile RAS antakse aadressi
sisenditele aadressisõna 8 noorimat järku. Seega on EME
maatriksist vajaliku rea valik tehtud. Peale seda antakse pinge
madal nivoo sisendile CAS ja aadressi sisenditel formeerivad
ülejäänud aadressisõna 8 vanimat järku. Nemad siis omaette
valivad maatriksi vajalik veeru.
Sellest kõigest on näha, et dünaamilisel MS kiiretoimelisus on
tunduvalt väiksem, kui staatilisel MS. Seda soodustavad
kasutatava elemendibaasi iseärasused, aadressisõna strobeerimine
(aadressisõna järjestik pealeandmine) ja info perioodilise
regenereerimise vajadus.
Peab ära märkima, et antaval juhul signaali CS ei kasutata. Tema
rolli mängivad signaalid RAS , CAS , mida antakse järjestikult,
kordamööda.
6.9. Püsimälud (ROM).
Mahalugemisel ei toimu info hävinemist. Üldjuhul info püsimälus
on esitatud ühendustega aadressi siini ja andmete siini vahel.
See on püsimälu organisatsiooniga 4 ∙ 8. R0...R7 – ballasttakistid.
Kui dešifraatori väljundis tekib kõrge nivoo, siis dioodi kaudu see
pinge tekib ka ballasttakisti peal. → Andmete siinil on nüüd „1“.
Kui dešifraatori väljundil kõrget nivood ei ole, siis vool läbi takisti
Ri ei lähe, andmete siinil on „0“.
Info, mis on sissekirjutatud selles skeemis, on esitatud tõeväärsuse
tabelis.
Sõltuvalt sellest, mismoodi on organiseeritud side aadressi ja
andmete siinide vahel, võib kõik püsimälud liigitada järgmiselt:
1) Maskmälud;
2) Programmeeritavad mälud;
3) Reprogrammeeritavad mälud.
Maskmälud.
Tehakse kõik tehnoloogilised operatsioonid fotošabloonidega
(maskidega), välja arvatud viimane.
Viimane operatsioon teostakse konkreetse tellimuse järgi, sellega
tehakse kõik vajalikud ühendused.
Programmeeritavad mälud. (PROM)
Need on ühekordselt programmeeritavad püsimälud.
Programmeerib vahetult tarbija ise. Struktuuri järgi need on
ühemõõtmelise adresseerimisega MS. Väljundsõna saamiseks
kasutatakse väljundselektorit.
Algselt kõikidel aadressidel on sissekirjutatud „1“ või „0“.
Vastavalt vajadusele loogikakonstante muudetakse.
Programmeerimine seisneb sidesillakeste läbipõletamises.
Põletatav vahetükk asub (näiteks) bipolaartransistori emitteri
ahelas. (NiCr, WoTi, poSi). Põletamisimpulssi parameetrid: I = 20
– 30mA, timp ≈ 1ms. Vahetükki läbipõletamine toimub toite pinge
tõstmisega. Normaalses töörežiimis skeemi voolud on
programmeerimisvooludest tunduvalt väiksemad.
Näide
Programmeeritava püsimälu skeemitehniline realisatsioon:
Skeemil on näidatud EME maatriksi ja väljundselektori väike
fragment. MS omab organisatsiooni 256 ∙ 4. Maatriksil on 32 rida
ja 32 veergu. Vastavalt sellele aadressi dešifraatorit tüüritakse 5
järgulise aadressisõnaga ja ta omab 32 väljundit. Seega igal
aadressil maatriksist loetakse 32 järguline infosõna. Selleks, et
eraldada temast 4 järguline sõna, on vaja veel 3 aadressijärku
(32 / 4 = 8 = 23). Niisiis, sellise MS töö jaoks on vajalik 8
järguline aadressisõna. Vaadeldava MS´i EME koosneb
transistorist VTij. Tema emitteri ahelas asub läbipõletatav
vahetükk Pij . Transistoride baasid on ühendatud dešifraatori
vastava väljundiga. Dešifraatori väljunditel algolekus on
loogikalise „0“ signaal. EME trasistoride kollektorid on ühendatud
skeemi toitega, aga transistoride emitterid (läbipõletatavaid
vahetükke) on ühendatud selektori sisendiga, mis on moodustatud
transistoridega VT0...VT7. Selektori väljundaste on ehitatud
kaheksaemitteriliste transistoride (VTDO 0 ... VTDO 3) baasil.
Info lugemise režiim. Oletame, et aadressi dešifraatori DC1
selektori DC2 väljundsiinidel DC 1.0 ja DC 2.0 püsib pinge kõrge
nivoo, ja EME transistoride numbritega, alates j = 16 (VT0.16 ,
VT0.17 , ... VT0.31 , VT1.16) emitterahelate vahetükid on juba
väljapõletatud, purustatud.
Kõrge pinge, mis püsib siinil DC 1.0 katsub küllastada kõik EME
maatriksi null – rea transistorid (VT0.0 , VT0.1 , ... VT0.31).
Väljaviigu DC 2.0 kõrge pinge küllastab väljundselektori
transistori VT0. Sel juhul on vool olemas ainult nende transistoride
emitterahelas, kus: esiteks, on järgi jäänud põletatav vahetükk, ja
teiseks, dešifraatori DC2 signaaliga on küllastatud selektori vastav
transistor; → transistoride VT0.0 ja VT0.8 ahelates. Transistoride
VT0.16 ja VT0.24 emitterahelates voolu ei ole, kuna nendes
ahelates on hävinenud vahetükid, aga teiste transistoride
emitterahelad on ühisest siinist eraldatud suletud transistoridega
VT1...VT7. Transistoride VT0.0 ja VT0.8 emittervoolud loovad
takistitel R0.0 ja R0.1 pingelangud, mis ületavad pinget Utp
(tugipinge Utp pidevalt viibib selektori väljundtransistoride VTDO
0 ... VTDO 3 baaside väljaviikudel. Transistoride VTDO 0 ja VTDO 1
emittersiirded on vastupinge all, transistorid on siis vastavalt kinni
ja pinge nende kollektoritel on täielikult määratud välisahelatega.
Juhul, kui väljundväljaviigud DO0 ja DO1 läbi välistakistite on
ühendatud skeemi toitega, siis nendel püsib kõrge pinge nivoo.
Kuna transistoride VT0.16 ja VT0.24 emitterahela vahetükid on
purustatud, siis pingelangud takistitel R0.2 ja R0.3 puuduvad, sest
puuduvad emittervoolud. Sel põhjusel tugipinge Utp küllastab
transistorid VTDO 2 ja VTDO 3 . Samadel ühendustingimustel
valjaviikudel DO2 ja DO3 viibib madala pinge nivoo. Niiviisi
vahetüki olemasolu vastab valitud aadressil lugemisel kõrgele
pinge nivoole, aga vahetüki puudus – lugemisel madalale pinge
nivoole. Info salvestamiseks kasutatakse samu väljaviikusid. Kuna
skeemi algolekus kõigil aadressidel toimub kõrge pinge nivoo
lugemine, siis info salvestamise protsessi tasub uurida madala
pinge nivoo salvestamise näitel.
Oletame, et nagu eelmisel korral, MSW sisendile on antud aadress,
mis valib EME maatriksist elemendid transistoridel VT0.0 , VT0.8 ,
VT0.16 ja VT0.24. Sel juures väljundväljaviikudele DO0 ja DO1
on antud madal, aga väljaviikudele DO2 ja DO3 – kõrge pinge
nivoo. Tänu pingele Utp transistoride VTDO 0 , VTDO 1 , VTDO 2 ja
VTDO 3 emitteri siirded satuvad päripinge alla. Kuna väljaviikudel
DO2 , DO3 on kõrge pinge nivoo, siis takistitel R0.2 ja R0.3
tekivad pingelangud, mis on tingitud välisväljaviigu voolust.
Pingelangud takistitel R0.0 ja R0.1 puuduvad, kuna puudub
välispinge väljaviikudel DO0 ja DO1. Kui sel juhul tõsta toite
pinget, siis transistoride VT0.0 ja VT0.8 emitterahelates tekivad
piisava suurusega voolud emitterahelate vahetükkide
purustamiseks. Transistoride VT0.16 ja VT0.24 voolud (nad on
määratud vastavate väljundväljaviikude vooludega) on piiratud
nende emitterahelates pingelangudega takistitel R0.2 ja R0.3. Selle
pärast vahetükid transistoride VT0.16 ja VT0.24 emitterahelates ei
purune.
Järgmisel mahalugemisel väljaviikudel DO0 ja DO1 saab madala
pinge nivood, aga väljaviikudel DO2 ja DO3 – kõrge pinge
nivood.
Seega info salvestamine toob endaga kaasa pöördumatud
muudatused MS mikroskeemis ja selletõttu võib olla teostatud
ainult ühekordselt.
Reprogrammeeritavad püsimälud (EPROM).
EPROM → „Erasable Programmable ROM“. Need on tegelikult
elektrostaatilised MS. Ehitusloogika muutmälule sarnane. Põhiline
erinevus: info kandjaks on nüüd mitte kondensaator, vaid
spetsialiseeritud MOP – väljatransistor. EME alus on „ujuva
paisuga“ MOP – transistor.
Ühemõõtmelise adresseerimisega MS.
Transistor VT2 moodustab EME.
Transistoriga VT1 toimub vajaliku EME
valik. Kui transistor VT1 tehakse lahti, siis
tema neelu ahela vool sõltub transistori VT2
olekust. Kui pesas on vool – tähendab oli
sissekirjutatud „0“, kui vool puudub –
sissekirjutatud oli „1“.
Info sissekirjutamiseks p-n – siire (neel – alus) tuleb panna
vastupinge alla läbilöögini välja! Osa laengukandjatest triivivad
paisu suunas ja moodustavad laengu. Laeng on proportsionaalne
ajale.
Info kustutamiseks tuleb kiiritada mikroskeemi ultraviolet-
valgusega läbipaistva aknakese poolt.