Mäluga süsteemide disain L8. Mäluga süsteemid, abstraktne automaat L9. Automaatide realiseerimine. L10.
Download
Report
Transcript Mäluga süsteemide disain L8. Mäluga süsteemid, abstraktne automaat L9. Automaatide realiseerimine. L10.
Mäluga süsteemide disain
L8. Mäluga süsteemid, abstraktne
automaat
L9. Automaatide realiseerimine.
L10. Automaatide realiseerimine,
minimeerimine ja tükeldamine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
1
Juhtautomaat
Digitaalsüsteem = operatsioonosa + juhtosa
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
2
Operatsioonosa
Operatsioonosa (operatsioonautomaat)
andmete töötlus (arvutamine) - operatsioonid
(loogikafunktsioonid)
andmete salvestamine (mälu) - registrid
(mäluelemendid)
taktsignaal
operatsioonid: registri väljund -> registri sisend
register: salvestab tulemusi
• frondil - flip-flop, master-slave
• aktiivsel nivool - latch
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
3
Juhtosa
J.F. Wakerly “Digital Design: Principles and Practices” -- 7.3 - 7.7
Juhtosa (juhtautomaat)
operatsioonide järjestamine
tingimuslik järjestamine
(eelmiste) operatsioonide tulemused
välised tingimused (sisendsignaalid)
Algoritm
operatsioonide järjestus
mikroprogramm
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
4
Diskreetne aeg
Rangelt järjestatud sündmuste jada
(ajamomentide jada)
üksiksündmuse kestus on 0
sündmuste vaheline ajavahemik pole oluline
diskreetne aeg
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
taktsignaal
5
Diskreetne aeg
Taktsignaal (clock)
reaalne diskreetse aja esitusviis
üksiksündmus == taktsignaali front
tõusev või langev front - ühefaasiline taktsignaal
(single phased clock)
tõusev ja langev front - kahefaasiline taktsignaal
(double phased clock)
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
6
Diskreetne aeg
Taktsignaal (clock)
varasem mitmefaasiline taktsignaal eri faasid tüürisid eri mäluelemente
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
7
Kombinatoorne skeem
Skeemi väljund sõltub ainult skeemi
sisendist
Atsüklilise topoloogiaga skeem on
kombinatoorne
Tsükliga (tagasisidega) skeemid võivad
olla kombinatoorsed
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
8
Mäluga skeem
Eksisteerivad mäluelemendid
Asünkroonsetes skeemis võib
mäluelement olla mitteilmutatud kujul
Tagasiside on vajalik
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
9
Automaat
Mäluga skeemi erijuht
Sisendid, väljundid ja olekud - lõplikud
hulgad
Abstraktne automaat, lõplik automaat
automaton (pl. automata), sequential
machine, finite state machine (FSM)
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
10
Näide
Õppejõu käitumine eksamil
kui õppejõud on heas tujus ja tudeng oskab, siis
tudeng saab 5 ning õppejõu hea tuju säilub
kui õppejõud on heas tujus ja tudeng ei oska, siis
tudeng saab 3 ning õppejõu tuju läheb halvaks
kui õppejõud on halvas tujus ja tudeng ei oska, siis
tudeng saab 2 ning õppejõu halb tuju säilub
kui õppejõud on halvas tujus ja tudeng oskab, siis
tudeng saab 4 ning õppejõu tuju läheb heaks
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
11
Näide - õppejõud
Õppejõu käitumine eksamil
sisend
olek
väljund
uus olek
tudeng
õppejõud
hinne
õppejõud
oskab
hea tuju
5
hea tuju
ei oska
hea tuju
3
halb tuju
ei oska
halb tuju
2
halb tuju
oskab
halb tuju
4
hea tuju
© Peeter Ellervee
ei oska / 3
oskab / 5
hea
I207 - Digitaalloogika ja -süsteemid - L8
halb
oskab / 4
ei oska / 2
12
Näide - õppejõud
Realisatsioon riistvaras
Efektiivsus sõltub kodeeringust!
Sisend- ja väljundkodeering üldjul teada
Olekute kodeerimine oluline
pindala - loogikalülide arv
viide - funktsioonide keerukus
võimsustarve - lülituste arv ajaühikus
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
13
Näide - õppejõud
Realisatsioon #1
sisend: ei oska - 0, oskab - 1
väljund: 2 - 0001, 3 - 0010, 4 - 0100, 5 - 1000
olek: hea - 0, halb - 1
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
14
Näide - õppejõud
Realisatsioon #2
sisend: ei oska - 0, oskab - 1
väljund: 2 - 00, 3 - 01, 4 - 10, 5 - 11
olek: hea -1, halb - 0
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
15
Abstraktne automaat
Automaat on viisik (quintuple) - M = (S,I,O,d,l)
S: (sise)olekute hulk (states)
I: sisendite hulk (inputs)
O: väljundite hulk (outputs)
d: siirdefunktsioon (transition) - d: S I S
l: väljundfunktsioon - l: S I O
Hulgad on lõplikud ja (üldjuhul) mittetühjad
hulkade ja funktsioonide erijuhud -- automaatide
erijuhud
Lähteolek s0 -© Peeter Ellervee
M = (S,I,O,d,l,s0)
I207 - Digitaalloogika ja -süsteemid - L8
16
Automaatide erijuhud
Mealy automaat -
M = ( S, I, O, d, l )
S, I, O, d:SIS, l:SIO
Moore automaat -
M = ( S, I, O, d, l )
S, I, O, d:SIS, l:SO
väljundfunktsioon ei sõltu sisenditest
Primitiivne automaat -
M = ( S, I, d )
S, I, O= (OS), d:SIS, l
olek on väljundiks
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
17
Automaatide erijuhud
Generaator -
M = ( S, O, d, l )
S, I=, O, d:SS, l:SO
sisendid puuduvad
Loogikafunktsioon -
M = ( I, O, l )
S=, I, O, d=, l:IO
siseolek puudub
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
18
Automaatide erijuhud
Mikroprogramm automaat - M =
(S,I,O,d,l)
S, I={0,1}L, O{0,1}M, d:SIS, l:SIO
kahendkodeeritud sisendid ja väljundid
Praktiline realisatsioon
Puhverdatud sisendid
Puhverdatud väljundid
ainult Moore automaat!
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
19
Esitusviisid
Tabel
veerud:
sisend (it),
jooksev olek (st),
väljund (ot),
uus olek (st+1)
read: siire jooksvast
olekust uude olekusse:
it st ot st+1
© Peeter Ellervee
it
st
ot
st+1
jah
hea
5
hea
ei
hea
3
halb
ei
halb
2
halb
jah
halb
4
hea
I207 - Digitaalloogika ja -süsteemid - L8
20
Esitusviisid
Olekudiagramm, olekugraaf (state graph)
sõlmed: olekud
kaared: siirded
ei / 3
jah / 5
hea
halb
jah / 4
ei / 2
Siirdediagramm (transition graph)
sõlmed: siirded
kaared: olekud
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
21
Automaatide omadusi
Osaliselt määratud automaadid
leidub olekuid, kus siire pole mingi sisendi puhul
määratud
lihtsustatud kirjapilt - vaikimisi jääb nt. samasse olekuss
määramatus tuleneb väliskeskkonna iseärasustes - mitteeksisteerivad sisendkombinatsioonid
kahendkodeeritud olekud - osa kombinatsioone on
kasutamata
automaadi minimeerimisel vabamad käed - osaliselt
määratud loogikafunktsioonid
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
22
Automaatide omadusi
Mittedeterministlikud automaadid
leidub olekute ja sisendite kombinatsioone, mille
puhul on määratud rohkem kui üks järgmine olek
kompaktne meetod kirjeldamiseks, kui leidub rohkem kui
üks legaalne reaktsioon mingile sisendkombinatsioonile
(jadale)
matemaatilised mudelid
Isomorfism
(identsus)
üksühene vastavus kahe automaadi komponentide
(S,I,O,d,l) vahel
Homomorfism
(sarnasus)
ühene vastavus kahe automaadi komponentide (S,I,O,d,l)
vahel ~ “alam-automaat”
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
23
Automaadi struktuur
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
24
Mäluelemendid
Salvestavad olekukoodi
Register
kahendvektori salvestamiseks
sama tüüpi mäluelemendid
Mäluelementide tüübid
funktsionaalsus - SR-, JK-, D- ja T-trigerid
takteerimine
asünkroone - takt puudub
latch - läbipaistev kui takt on aktiivne
flip-flop - väljundis muutus ainult taktsignaali frondi korral
• master-slave (meister-sell) - kaks järjestikust latch’i
• frondile reageerivad trigerid - spetsiaalne sise-ehitus
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
25
SR-triger (set/reset)
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
26
JK-triger
Määramatus võimaldab minimeerida
loogikafunktsioone efektiivsemalt
Kaks sisendit -> kaks loogikafunktsiooni
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
27
D-triger (delay)
Kõige enam kasutusel
lihtne sise-ehitus
väike sisendite arv -> vähem loogikafunktsioone
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
28
T-triger
Sobiv loendurites kasutamiseks
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
29
Trigerite ajalised parameetrid
Sisemised ahelad erinevate viidetega
seadeaeg (setup time) - nõutav valmisoleku aeg
hoideaeg (hold time) - nõutav stabiilsuse aeg
nõuete rikkumise korral metastabiilsuse oht
Metastabiilsus
registri vahepealne olek
määramata pingenivood
võivad jääda loogikanivoode vahele
oluline voolutarbe kasv
C
D
Q
• võib viia skeemi riknemiseni
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L8
30