300 likes | 691 Views
Mäluga süsteemide disain. L8. Mäluga süsteemid, abstraktne automaat L9. Automaatide realiseerimine. L10. Automaatide realiseerimine , minimeerimine ja tükeldamine. Neli kahend-sisendit ja -väljundit nt. 4 lülitit (S1-S4) ja 4 valgusdioodi (L1-L4) Sisendite muutumine muudab väljundeid
E N D
Mäluga süsteemide disain • L8. Mäluga süsteemid, abstraktneautomaat • L9. Automaatide realiseerimine. • L10. Automaatide realiseerimine,minimeerimine ja tükeldamine I207 - Digitaalloogika ja -süsteemid - L8
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 Algoritm & realisatsioon I207 - Digitaalloogika ja -süsteemid - L8
Protsessor kui digitaalsüsteem The Central Processing Unit – http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/CPU/index.html Java Applet on RT-Level Design – http://www.pld.ttu.ee/applets/rtl/ I207 - Digitaalloogika ja -süsteemid - L8
Operatsioonosa & juhtosa • Digitaalsüsteem = operatsioonosa + juhtosa I207 - Digitaalloogika ja -süsteemid - L8
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 / meister-sell • aktiivsel nivool – latch / lukk-register I207 - Digitaalloogika ja -süsteemid - L8
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 I207 - Digitaalloogika ja -süsteemid - L8
Diskreetne aeg • Rangelt järjestatud sündmuste jada (ajamomentide jada) • üksiksündmuse kestus on 0 • sündmuste vaheline ajavahemik pole oluline diskreetne aeg taktsignaal I207 - Digitaalloogika ja -süsteemid - L8
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) I207 - Digitaalloogika ja -süsteemid - L8
Diskreetne aeg • Taktsignaal (clock) • varasem mitmefaasiline taktsignaal – eri faasid tüürisid eri mäluelemente I207 - Digitaalloogika ja -süsteemid - L8
Kombinatoorne & mäluga skeem • Kombinatoorne skeem • Skeemi väljund sõltub ainultskeemi sisendist • Atsüklilise topoloogiaga skeem onkombinatoorne • 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 I207 - Digitaalloogika ja -süsteemid - L8
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) I207 - Digitaalloogika ja -süsteemid - L8
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 I207 - Digitaalloogika ja -süsteemid - L8
ei oska / 3 oskab / 5 hea halb ei oska / 2 oskab / 4 Näide – õppejõud • Õppejõu käitumine eksamil I207 - Digitaalloogika ja -süsteemid - L8
Nä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 I207 - Digitaalloogika ja -süsteemid - L8
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 I207 - Digitaalloogika ja -süsteemid - L8
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 I207 - Digitaalloogika ja -süsteemid - L8
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 – M = (S,I,O,d,l,s0) I207 - Digitaalloogika ja -süsteemid - L8
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 • Generaator – M = ( S, O, d, l ) • S, I=, O, d:SS, l:SO • sisendid puuduvad I207 - Digitaalloogika ja -süsteemid - L8
Automaatide erijuhud • Loogikafunktsioon – M = ( I, O, l ) • S=, I, O, d=, l:IO • siseolek puudub • 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! I207 - Digitaalloogika ja -süsteemid - L8
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 I207 - Digitaalloogika ja -süsteemid - L8
ei / 3 jah / 5 hea halb ei / 2 jah / 4 Esitusviisid • Olekudiagramm, olekugraaf (state graph) • ka oleku-siirde-diagramm • sõlmed: olekud • kaared: siirded • Siirdediagramm (transition graph) • sõlmed: siirded • kaared: olekud I207 - Digitaalloogika ja -süsteemid - L8
Automaatide 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 I207 - Digitaalloogika ja -süsteemid - L8
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” I207 - Digitaalloogika ja -süsteemid - L8
Automaadi struktuur I207 - Digitaalloogika ja -süsteemid - L8
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 (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 I207 - Digitaalloogika ja -süsteemid - L8
SR-triger (set/reset) I207 - Digitaalloogika ja -süsteemid - L8
JK-triger • Määramatus võimaldab minimeerida loogikafunktsioone efektiivsemalt • Kaks sisendit -> kaks loogikafunktsiooni I207 - Digitaalloogika ja -süsteemid - L8
D-triger (delay) • Kõige enam kasutusel • lihtne sise-ehitus • väike sisendite arv -> vähem loogikafunktsioone I207 - Digitaalloogika ja -süsteemid - L8
T-triger • Sobiv loendurites kasutamiseks • Trigerite mudelid – http://www.falstad.com/circuit/ • Circuit -> Sequential Logic -> Flip-Flops -> … I207 - Digitaalloogika ja -süsteemid - L8
C D Q 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 • võib viia skeemi riknemiseni I207 - Digitaalloogika ja -süsteemid - L8