Transcript

1I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Mäluga Mäluga süsteemide disainsüsteemide disain

L12. Mäluga süsteemid, abstraktneL12. Mäluga süsteemid, abstraktne automaatautomaat L13. Automaatide realiseerimine. L14. Automaatide realiseerimine, minimeerimine ja tükeldamine

2I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Algoritm & realisatsioonAlgoritm & realisatsioon

Neli kahend-sisendit ja -väljundit nt. 4 lülitit (S1-S4) ja

4 valgusdioodi (L1-L4) Sisendite muutumine

muudab väljundeid kui S1=1 & S2=0, siis

L1←1, muidu L1←0 kui S1=0 & S3↑, siis

V++ (V[1]≡L2, V[0]≡L3) kui S1=1 & S2=1 & S4↓,

siis L4← ┐L4

Võimalik programm

int s3p=0, s4p=0, v=0; l4=0;while (1) { if (s1&!s2) l1=1; else l1=0; if (!s1&((s3^s3p)&s3)) v++; if (v>3) v=0; l2=v/2; l3=v%2; if (s1&s2&((s4^s4p)&!s4)) l4~=l4; s3p=s3; s4p=s4; wait_100ms();}

Protsessor e. täitur muutujate salvestamine

registrid operatsioonide täitmine

kombinatoorsed funktsioonid operatsioonide järjestamine

juhtosa

3I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Protsessor kui digitaalsüsteemProtsessor kui digitaalsüsteem

The Central Processing Unit – http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/CPU/index.html

4I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Operatsioonosa Operatsioonosa && juhtosa juhtosa

Digitaalsüsteem = operatsioonosa + juhtosa

5I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

OperatsioonosaOperatsioonosa

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 / meister-sell• aktiivsel nivool – latch / lukk-register

6I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

JuhtosaJuhtosa

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

7I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Diskreetne aegDiskreetne aeg

Rangelt järjestatud sündmuste jada (ajamomentide jada) üksiksündmuse kestus on 0 sündmuste vaheline ajavahemik pole oluline

diskreetne aeg taktsignaal

8I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Diskreetne aegDiskreetne 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)

9I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Diskreetne aegDiskreetne aeg

Taktsignaal (clock) varasem mitmefaasiline taktsignaal –

eri faasid tüürisid eri mäluelemente

10I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Kombinatoorne Kombinatoorne & mäluga & mäluga skeemskeem

Kombinatoorne skeem Skeemi väljund sõltub ainult skeemi sisendist Atsüklilise topoloogiaga skeem on kombinatoorne Tsükliga (tagasisidega) skeemid

võivad olla kombinatoorsed

Mäluga skeem Eksisteerivad mäluelemendid Asünkroonsetes skeemis võib

mäluelement olla mitteilmutatud kujul Tagasiside on vajalik

11I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

AutomaatAutomaat

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)

12I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

NäideNä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

13I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Näide – õppejõudNä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

hea halb

oskab / 5

oskab / 4ei oska / 2

ei oska / 3

14I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Näide – õppejõudNäide – õppejõud

Realisatsioon riistvaras Efektiivsus sõltub kodeeringust!

Sisend- ja väljundkodeering üldjuhul teada Olekute kodeerimine oluline

pindala – loogikalülide arv viide – funktsioonide keerukus võimsustarve – lülituste arv ajaühikus

15I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Näide – õppejõudNä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

16I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Näide – õppejõudNä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

17I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Abstraktne automaatAbstraktne automaat

Automaat on viisik (quintuple) – M = (S,I,O,,) S: (sise)olekute hulk (states) I: sisendite hulk (inputs) O: väljundite hulk (outputs) : siirdefunktsioon (transition) –   : S I S : väljundfunktsioon –   : S I O

Hulgad on lõplikud ja (üldjuhul) mittetühjad hulkade ja funktsioonide erijuhud –

automaatide erijuhud

Lähteolek s0 –    M = (S,I,O,,,s0)

18I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Automaatide erijuhudAutomaatide erijuhud

Mealy automaat –    M = ( S, I, O, , ) S,   I,   O,   :SIS,   :SIO

Moore automaat –    M = ( S, I, O, , ) S,   I,   O,   :SIS,   :SO väljundfunktsioon ei sõltu sisenditest

Primitiivne automaat –    M = ( S, I, ) S,   I,   O= (OS),   :SIS,   olek on väljundiks

Generaator –    M = ( S, O, , ) S,   I=,   O,   :SS,   :SO sisendid puuduvad

19I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Automaatide erijuhudAutomaatide erijuhud

Loogikafunktsioon –    M = ( I, O, ) S=,   I,   O,   =,   :IO siseolek puudub

Mikroprogramm automaat M = (S,I,O,,) S, I={0,1}L, O={0,1}M,  :SIS,  :SIO kahendkodeeritud sisendid ja väljundid

Praktiline realisatsioon Puhverdatud sisendid Puhverdatud väljundid

ainult Moore automaat!

20I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

EsitusviisidEsitusviisid

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

it st ot st+1

jah hea 5 hea

ei hea 3 halb

ei halb 2 halb

jah halb 4 hea

21I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

EsitusviisidEsitusviisid

Olekudiagramm, olekugraaf (state graph) ka oleku-siirde-diagramm sõlmed: olekud kaared: siirded

Siirdediagramm (transition graph) sõlmed: siirded kaared: olekud

hea halb

jah / 5

jah / 4ei / 2

ei / 3

22I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Automaatide omadusiAutomaatide omadusi

Osaliselt määratud automaadid leidub olekuid, kus siire pole

mingi sisendi puhul määratud lihtsustatud kirjapilt – vaikimisi jääb nt. samasse olekusse määramatus tuleneb väliskeskkonna iseärasustes –

mitte-eksisteerivad sisendkombinatsioonid kahendkodeeritud olekud –

osa kombinatsioone on kasutamata automaadi minimeerimisel vabamad käed –

osaliselt määratud loogikafunktsioonid

23I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Automaatide omadusiAutomaatide 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,,) vahel Homomorfism (sarnasus)

ühene vastavus kahe automaadi komponentide (S,I,O,,) vahel ~ “alam-automaat”

24I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Automaadi struktuurAutomaadi struktuur

25I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

MäluelemendidMä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 (lukk-register) – 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

26I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

SR-triger (set/reset)SR-triger (set/reset)

27I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

JK-trigerJK-triger

Määramatus võimaldab minimeerida loogikafunktsioone efektiivsemalt

Kaks sisendit –> kaks loogikafunktsiooni

28I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

D-triger (delay)D-triger (delay)

Kõige enam kasutusel lihtne sise-ehitus väike sisendite arv –> vähem loogikafunktsioone

29I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

T-trigerT-triger

Sobiv loendurites kasutamiseks

Trigerite mudelid – http://www.falstad.com/circuit/ Circuit –> Sequential Logic –> Flip-Flops –> …

30I207 - Digitaalloogika ja -süsteemid - L12© Peeter Ellervee

Trigerite ajalised parameetridTrigerite 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

• võib viia skeemi riknemiseni

C

D

Q