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:SIS, l:SIO
Moore automaat -
M = ( S, I, O, d, l )
S, I, O, d:SIS, l:SO
väljundfunktsioon ei sõltu sisenditest
Primitiivne automaat -
M = ( S, I, d )
S, I, O= (OS), d:SIS, 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:SS, l:SO
sisendid puuduvad
Loogikafunktsioon -
M = ( I, O, l )
S=, I, O, d=, l:IO
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:SIS, l:SIO
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