2 Upravljačka jedinica

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "2 Upravljačka jedinica"

Transcript

1 2 Upravljačka jedinica Na osnovu do sada izučavane materije iz predmeta Embedded sistemi saznali smo da stazapodataka (datapath- DP), izvršava operaciju koja je specificirana sadržajem upravljačke reči (control words). Upravljačka reč se dovodi na ulazu DP-a. Pri tome, u svakom taktnom intervalu upravlajčka jedinica (control unit- CU) generiše po jednu upravljačku reč. U okviru mikroprocesora CU se realizuje kao konačni automat (Finite State Machine FSM). Prolaskom kroz niz stanja, CU upravlja radom DP-a. U svakom stanju CU-e izlazna logika CU-a generiše upravljačke signale. Na osnovu vrednosti upravljačkih siganala DP obavlja odgovarajuću operaciju nad podacima. Operacije se odnose na prenos podataka izmedju registara (register transfer operations). Svaku operaciju registarski-prenos čine sledeće aktivnosti: 1) čitanje sadržaja registra, 2) modifikacija sadržaja registra od strane jedne od funkcionalnih jedinica, i 3) upis modifikovane vrednosti ponovo u isti registar ili u neki drugi registar. S obzirom da je CU kolo tipa FSM njegovu strukturu čine sledeći gradivni blokovi: a) lopgika narednog stanja, b) memorijski elemenat u kome se pamti tekuće stanje automata, i c) izlazna logika. Ipak, strukture sintetizovanih FSM-ova koje su studenti već izučavali iz predmeta Mikroarhitekture sistema po svojoj koncepciji više podsećaju na samostalne (stand alone) konačne automate koji se na žalost ne, u takvoj formi, ne koriste kao gradivni blokovi nekog složenog kola kakvi su mikroprocesori. Ono što je od interesa za izučavanje iz predmeta Embedded sistemi odnosi se na sintezu FSM-a kao CU u okviru mikroprocesora. Glavna razlika izmedju samostalnih FSM-ova i FSM-ova realizovanih kao CU ogleda se u načinu korišćenja, sagledavanju funkcija, kao i uloge koje imaju ulazno-izlazni signali FSM-a. Modeli samostalnoih FSM-ova, tipa Moore-ov i Mealy-ev automat, prikazuju samo da FSM ima ulazne i izlazne signale bez ulaženja u detalje ko ih generiše i kome su namenjeni. Kod CU-a je neophodno specificirati sledeće detalje: i) odakle dolaze ulazni signali, ii) gde se usmeravaju izlazni signali, i iii) zašto se ulazni i izlazni signali koriste. (a)

2 (b) (c) Slika 2.0 Modeli FSM-ova; (a) Moore-ov FSM; (b) Mealy-ev FSM; (c) kombinacija Moore-og i Mealyog tipa Kada se govori o CU-i kažemo da postoje po dva tipa ulaznih signala i po dva tipa izlaznih signala. Upravljački ulazi (control inputs) su primarni eksterni ulazni signali CU-a. To su spoljašnji signali koji kontrolišu rad mikroprocesora. Tako na primer, signal Start signalizira mikroprocesoru da počne sa izvršenjem, dok signal Reset postaviće memoriju tekućeg stanja u inicijalno stanje. Statusni signali (status signals) su ulazni signali kojih generiše DP. Obično, u cilju odredjivanja uslova koji imaju uticaj na izvršenje instrukcija uslovnih grananja, koriste se komparatori u okviru DPa. Komparatori kao hardverske jedinice DP-a generišu statusne signale (na primer, generiše se test signal, loopend, čije stanje ukazuje na to da li treba ponoviti izvršenje tela petlje ili ne). Ova dva tipa ulaznih signala dovode se na ulaz FSM-ove logike koja u sledećem taktnom intervalu odredjuje u kom će narednom stanju preći FSM. Upravljački izlazi (control outputs) su primarni izlazni signali od mikroprocesora ka spoljnem svetu. Tako na primer, kada mikroprocesor izvrši neki algoritam, on aktivira signal Done čije stanje ukazuje korisniku da je predvidjena aktivnost obavljena i da je podatak koji je prisutan na izlazu DP-a validan. Upravljački signali (control words) su verovatno najvažniji ulazno-izlazni signali iz razloga što su to signali koji direktno kontrolišu izvršenje operacija DP-a. U toku svakog taktnog intervala, CU generiše različit skup upravljačkih signala na osnovu kojih DP obavlja odgovarajuću operaciju tipa registarski prenos. FSM-ove koje ćemo mi na dalje izučavati su namenjeni za kontrolisanje (upravljanje) toka izvršenja operacija tipa registarski prenos u okvoru DP-a. Izlazni signali ovih FSM-ova su upravljački signali za DP, a neki od njih se koriste za punjenje (load) registara na nove vrednosti. Nove vrednosti koje se upisuju u registre mogu se koristiti od strane komparatora za testiranje uslova. Rezultati uslovnih testova su statusni signali kojih koristi CU da bi odredila u koje će naredno stanje preći. Konačno, na osnovu različitih stanja, generišu se različiti upravljački signali. Zbog toga, za CU, statusni (ulazni) signali i upravljački (izlazni) signali su medjusobno zavisni signali. To znači da kada se generišu statusni signali neophodno je biti siguran da su oni rezultat testiranja stanja nekih registarskih vrednosti. Jedna od veoma važnih stvari na koju treba obratiti pažnju prilikom konstruisanja FSM kola odnosi se na realizaciju dijagrama stanja (state diagram). Kod izvodjena dijagrama stanja CU-a mora

3 strogo da se vodi računa o tajmingu operacija tipa registarski prenos. Ključna stavka u ovom slučaju je sledeća: Kada se u neki registar upisuje vrednost, tada ta vrednost nije dostupna sve dok ne počne naredni taktni interval. S toga, ako čitamo sadržaj registra u tekućem taktnom intervalu tada ćemo pročitati staru vrednost registra, a ne novu vrednost koja se upisuje u registar. Da bi se nekako lakše sagledali i efikasnije rešili problemi koji se odnose na tajming projektanti često za opis ponašanja CU-a preferiraju korišćenje ASM dijagrama (Algorithmic State Machine chart) ili tablicu akcije stanja (state action table). 2.1 Konstruisanje upravljačke jedinice U poglavlju Staza-podataka analizirali smo kako se konstruiše hardver DP-a (staze-podataka) koji je u stanju da implementira odredjeni algoritam. Postupak je bio sledeći: Sve instrukcije koje u algoritmu manipulišu podacima se konvertuju u upravljačke reči, pri čemu svaka upravljačka reč obavlja po jednu operaciju tipa registarski prenos i izvršava se za jedan taktni interval. Pri tome CU (upravljačka jedinica) se koristi za generisanje odgovarajućih upravljačkih signala u upravljačkoj reči tako da PD može automatski da izvrši sve zahtevane operacije tipa registarski prenos. Upravljački signali su izlazni signali izlazne-logike koja je osnovni gradivni blok svake FSM (U suštini, FSM je konačni automat Moore-og ili Mealy-evog tipa). Pored generisanja upravljačkih signala, CU je takodje namenjena da upravlja sekvenciranjem instrukcija u algoritmu. Pri ovome je važno imati u vidu sledeće činjenice: S obzirom da izvršava operacije tipa registarski-prenos, DP je onaj gradivni blok u okviru procesora koji je zadužen za manipulisanje podacima. Zadatak CU-a, sa druge strane, je da odredi kada će se svaka operacija tipa registarski-prenos izvršiti i kakav će biti njen redosled. Sekvenciranje koje se izvodi od strane CU-a se odredjuje u toku kreiranja dijagrama-stanja. Dijagram-stanja prikazuje: a) u kom će se stanju koja operacija tipa registarski- prenos izvršiti; i b) kako se ostvaruje sekvenciranje izvršenja operacija tipa registarski- prenos. Pri tome, za svaku upravljačku reč se kreira po jedno stanje, a svako stanje se izvršava za jedan taktni interval. Potezi u dijagramu-stanja su odredjeni sekvencom (redosledom) po kojoj se izvršavaju instrukcije algoritma. Sekvencijalno izvršenje instrukcija se predstavlja bezuslovnim tranzicijama izmedju stanja (to su potezi bez oznake (labele)). Izvršenje grananja u algoritnu se predstavlja uslovnim tranzicijama iz stanja koje ima dva izlazna potega (grane). Jedan poteg ima oznaku koja važi kada je uslov grananja istinit (true), a drugi se karakteriše oznakom koja važi kada je uslov grananja naistinit (false). Ako postoji više od jedan uslov grananja, tada se sve moguće kombinacije ovih uslova, na izlaznim potezima iz svakog stanja moraju označiti. Ovi uslovi odgovaraju statusnim signalima, generišu se od strane DP-a i dovode (sprovode) na ulaz logike CU-a kojom se odredjuje naredno stanje FSM-a. Nakon što je dijagram-stanja kreiran, aktuelni postupak za konstrukciju CU-a se sprovodi standardnim pristupom za sintezu FSM-a koji je već izučavan u okviru predmeta Arhitekture mikrosistema. U daljem tekstu, kroz primere, ukazaćemo kako se konstruišu jednostavne CU-ove Projektovanje CU za problem brojanja od 1 do 10 Analiziraćemo sada kako se kreira dijagram-stanja CU-e koja se koristi za upravljanje namenske DP-a sa slike Napomenimo da je DP sa slike 1.16 namenjena za generisanje brojeva od 1 do 10. Algoritam (slika 1.15), namenska DP-a (slika 1.16), i sadržaj upravljačkih reči (slika 1.17) radi preglednijeg sagledavanja problematike su namerno ponovljene na slici 2.1.

4 1 i = 0 2 WHILE (i 10) { 3 i = i OUTPUT i 5 } (a) (b) upravljačka instrukcija iload Clear Out reč 1 i = i = i OUTPUT i (c) Slika 2.1 Problem brojanja od 1 do 10: (a) algoritam; (b) namenska staza podataka; i (c) upravljačke reči Na osnovu algoritma prikazanog na slici 2.1 a) zaključujemo da postoje tri instrukcije koje manipulišu podacima. One odgovaraju linijama 1, 3 i 4. Linija 2 nije naredba tipa manipulisanje podacima nego je upravljački iskaz. Na osnovu slike 2.1 c) vidimo da postoje tri upravljačke reči koje se koriste za upravljanje radom namenske DP-a prikazane na slici 2.1 b), tj., tri instrukcije koje su namenjene za manipulisanje podacima. Analizu ćemo početi na sledeći način. U dijagramu stanja svakoj upravljačkoj reči (slika 2.1 c)) dodelićemo po jedno posebno stanje (vidi sliku 2.2 a)). Stanjima su dodeljena simbolička imena s 0, s 1, s 2 i s 3. Svako stanje je komentarisano pomoću odgovarajuće kontrolne reči i instrukcije koja je dodeljena tom stanju radi izvršenja. U stanju s 0, CU generiše upravljačku reč 1 i izvršava instrukciju

5 i=0. U stanju s 1, CU generiše upravljačke signale za upravljačku reč 2 radi izvršenja instrukcije i=i+1. U stanju s 2 izvršava se instrukcija OUTPUT i. Stanje s 3 je dodatno, a potrebno je radi izvršenja WHILE petlje i zaustavljanja (halt) izvršenja algoritma. tekuće stanje naredno stanje Q 1nared Q 0nared Q 1 Q 0 (i 10)' (i 10) s 0 00 s 3 11 s 1 01 s 1 01 s 2 10 s 2 10 s 2 10 s 3 11 s 1 01 s 3 11 s 3 11 s 3 11 (b) (a) tekuće stanje naredno stanje D 1 D 0 Q 1 Q 0 (i 10)' (i 10) (c) (d) Q 1 Q 0 iload Clear Out (e) (f)

6 (g) Slika 2.2 Realizacija CU-e za brojanje brojeva od 1 do 10: (a) dijagram-stanja; (b) tabela narednostanje; (c) implementaciona tabela koja koristi D flip-flopove; (d) Karnaugh-ove mape i jednačine izvršenja; (e) tabela izlaza; (f) jednačine izlaznih signala za sva tri upravljačka signala; (g) kolo Redosled po kome se vtrši povezivanja stanja u saglasnosti je sa sekvenciranjem instrukcija u algoritmu. FSM startuje od stanja reset s 0, koje incijalizira i na 0. Nakon izvršenja linije 1, izvršenje linije 3 zavisi od uslova u WHILE petlji. S obzirom da se linija 1 izvršava u stanju s 0, a linija 3 se izvršava u stanju s 1 to prelaz iz stanja s 0 u s 1 zavisi od test uslova (i 10). Ovaj uslov je predstavljen pomoću dva izlazna potega iz stanja s 0, tako što je jedan poteg usmeren ka stanju s 1, ima oznaku (i 10) a važi za uslov istinit (true), dok je drugi poteg usmeren ka stanju s 3, ima oznaku (i 10) i važi za uslov neistinit (false). Izvršenje linije 4 sledi neposredno nakon linije 3, pa zbog toga postoji bezuslovni poteg iz stanja s 1 u s 2. Iz stanja s 2, postoje takodje dva uslovna potega kao i kod stanja s 0, koji se u ovom slučaju koriste za potrebe testiranja uslova da li treba ponoviti izvršenje WHILE petlje ili ne treba ponoviti. Ako je uslov (i 10) istinit, tada se FSM vraća u stanje s 1, inače napušta WHILE petlju i prelazi u stanje s 3. FSM se zaustavlja u stanje s 3, tj bezuslovno se vrti u stanju s 3. U stanju s 3 ne izvršava se bilo kakva operacija tipa registarski prenos. Na osnovu izvedenog dijagrama stanja, aktuelna konstrukcija CU-a se ostvaruje na isti način kao i što se i konstruišu FSM kola opšte namene. Tabela naredno-stanje je prikazana na slici 2.2 b). S obzirom da postoje četiri stanja, to znači da treba ugraditi dva flip-flopa koji će se koristiti za kodiranje tih stanja. Radi pojednostavljenja, za potrebe kodiranja koristićemo pravu šemu za binarno kodiranje. To znači da se stanje s 0 kodira kao Q1Q0=00, stanje s 1 kao Q1Q0=01, i td. Kod tabele naredno-

7 stanje, za četiri stanja postoje četiri vrste, pri čemu je svaka vrsta označena imenom stanja i odgovarajućim kodom. Pored četiri tekuća stanja izlistana u vrstama tabele (slika 2.2 b)), treba napomenuti da naredno stanje FSM-a zavisi od statusnog signala koji se odnosi na test uslov (i 10). Zbog toga na slici 2.2 b) postoje još dve kolone. Jedna kolona je označena sa (i 10) i važi kada je uslov testiranja neistinit, a druga kolona je označena sa (i 10) i važi kada je uslov testiranja istinit Jednostavna IF-THEN-ELSE upravljačka jedinica Konstruisaćemo sada dijagram stanja CU-a koja se koristi za upravljanje radom staze podataka sa slika 1.12, 1.13, i 1.14, a odnosi se na realizaciju jednostavnog IF-THEN-ELSE problema. Algoritam, namenska DP, i upravljačke reči sa slika 1.12, 1.13, i 1.14, respektivno, radi preglednosti, su ponovljene na slici INPUT A 2 IF(A = 5)THEN 3 B = 8 4 ELSE 5 B = 15 6 END IF 7 OUTPUT B (a) (b) upravljačka instrukcija reč ALoad Muxsel BLoad Out 1 INPUT A 1 x B = B = OUTPUT B 0 x 0 1 (c) Slika 2.3 Problem IF-THEN-ELSE: (a) algoritam; (b) namenska DP; (c) upravljačke reči Ukazaćemo sada na jedan naivan način kako se obavlja kreiranje dijagrama stanja tako što ćemo dodeliti po jedno stanje svakoj upravljačkoj reči kao što smo to uradili i u primeru sa slike 2.2. Ipak, na osnovu dijagrama-stanja kreiran, za ovaj problem, na jedan ovakav način, videćemo da se neće dobiti korektno rešenje iz razloga što je generisani statusni signal nekorektan. U sledećem primeru dat na slikama 2.5 i 2.6 videćemo kako se izvodi korektno rešenje.

8 Izvodjenje nekorektnog dijagrama stanja Sagledajmo sada kako se izvodi dijagram-stanja za CU namenjena za upravljanje radom DP-a sa slike 1.13 kojom se rešava problem IF-THEN-ELSE. Na osnovu algoritma prikazan na slici 2.3 a) vidimo da postoje četiri instrukcije koje manipulišu podacima, a one odgovaraju linijama 1, 3, 5 i 7. Linija 2 odgovara upravljačkom iskazu. Kao što se vidi sa slike 2.3 c) postoje četiri instrukcije za manipulisanje podacima koje se koriste za upravljanje radom namenske staze podataka sa slike 2.3 b). Ponovo, kako je prikazano na slici 2.4 a), analizu počinjemo tako što ćemo četirima upravljačkim rečima sa slike 2.3 c) dodeliti četiri posebna stanja u dijagramu-stanja sa slike 2.4 a). Svako od četiri stanja ima svoje simboličko ime, koja se u konkretnom slučaju, nazivaju s_input, s_equal, s_notequal i s_output. Svako stanje (vidi sliku 2.4 a)) je komentarisano pomoću odgovorajajuće upravljačke reči i instrukcije koja ga prati. Tako na primer, u stajnu s_input CU treba da generiše upravljačku reč 1 i signalizira izvršenje instrukcije INPUT A, a u stanju s_equal CU treba da generiše upravljačku reč 2 i signalizira izvršenje instrukcije B =8. Nakon instrukcije INPUT A, izvršenje sledeće dve instrukcije B=8 i B=15, zavisi od uslova iskaza IF. S obzirom da su ove instrukcije dodeljene trima stanjima: s_input, s_equal i s_notequal, respektivno, prelaz iz stanja s_input u ostala dva stanja zavisi od uslova ( A=5) u iskazu IF. Uslovno izvršenje je prikazano pomoću dva izlazna potega iz stanja s_input: jedan poteg je usmeren ka stanju s_equal i označen je sa (A=5) što odgovora uslovu istinit (true), a drugi poteg je usmeren ka stanju s_notequal i označen je sa (A=5) što odgovara uslovu neistinit (false). Instrukcija OUTPUT B se izvršava bezuslovno nakon izvršenja instrukcija B=8 ili B=15. To znači da nakon stanja s_equal ili s_notequal postoji bezuslovni prelaz (poteg) ka stanju s_output. Nakon izvršenja OUTPUT B algoritam se zaustavlja (halt), što znači da se FSM bezuslovno "vrti" u stanje s_output. U saglavsnosti sa algoritmom (slika 2.3 a)), nakon prihvatanja vrednosti A u stanje s_input (slika 2.4 a)), neophodno je testirati uslov (A=5). Ako je uslov istinit prelazi se u stanje s_equal i izvršava instrukcija B=8, u suprotnom se prelazi u stanje s_notequal i izvršava se instrukcija B=15. Iz bilo kog od oba stanja, s_equal ili s_notequal, prelazi se u konačno stanje s_output. Usvojimo da se stanje s_input izvršava u taktnom intervalu 1 (clock cycle 1). U taktnom intervalu 2 (clock cycle 2) izvršavaju se stanja s_equal ili s_notequal. Nakon toga, u taktnom intervalu 3 (clock cycle 3) izvršava se stanje s_output. Postoje sada dve važne stvari na koje moramo obratiti posebnu pažnju i razumeti ih, a to su sledeće stavke: 1) Sa pojavom usponske ivice taktnog impulsa, ako je upravljački signal Load aktivan vrši se punjenje registra na novu vrednost, 2) Na svaku usponsku ivicu taktnog impulsa FSM ulazi u novo stanje koje nazvivamo naredno stanje (next state) Kao i u svim prethodnim primerima, i u ovom slučaju koristimo usponsku ivicu taktnog impulsa kao aktivnu ivicu. Razlog za stavku 1 je taj što u realizacijama FSM-ova se koriste D flipflopovi koji se okidaju na pozitivnu ivicu. To znači da ako je rad flip-flopa dozvoljen, tada će ulazni podataka biti zapamćen u flip-flop sa pojavom naredne usponske ivice taktnog impulsa. Stavka 2 ukazuje da za registar koji pamti stanje FSM-a se takodje koristi D flip-flop koji se okida na pozitivnu

9 ivicu. Smatrajmo sada da je ovim flip-flopovima uvek dozvoljen rad, tj. signal enable je uvek aktivan. Pod ovakvim uslovima, sa pojavom usponske ivice taktnog impulsa nova vrednost iz logičkog bloka naredno-stanje biže zapamćena u registar koji se koristi za memorisanje stanja, pa zbog toga FSM ulazi u novo-stanje sa svakom usponskom ivicom taktnog impulsa. (a) (b) Slika 2.4 Primer nekorektnog rešenja: a) nekorektni dijagram stanja; b) nekorektni tajming dijagram Ako konstruišemo CU zasnovano na dijagramu stanja sa slike 2.4 a), tada će se desiti sledeći scenario. Sa prvom usponskom ivicom taktnog impulsa FSM ulazi u stanje s_input. Nakon kratkog vremena od ulaska u stanje s_input, FSM aktivira se upravljački signal ALoad da bi napunila vrednost promenljive A. S obzirom da se registar puni na usponsku ivicu taktnog impulsa, a prva usponska ivica je prošla, u konkretnom slučaju to znači da će vrednost A biti napunjenja u registar, REGA, sa narednom usponksom ivicom taktnog impulsa (tj. na početku taktnog intrvala 2). Ali na početku taktnog intervala 2 treba naglasiti da FSM treba da predje u naredno stanje koje može biti s_equal ili s_notequal. Sa ciljem da FSM zna u koje od ova dva stanja treba da predje, FSM mora da zna ishod uslova (A=5), i to dok se još nalazi u stanju s_input. Dilema koja postoji je ta što se statusni signal generiše od strane komparatora testa (A = 5) u stanju s_input, a to znači da test kolo

10 treba da korsiti ulaznu promenljivu A. Na žalost vrednost A nije još dostupna do početka narednog taktnog intervala. Zbog toga, ono što će komparator, COMP, prihvatiti sa izlaza, REGA, u taktnom intervalu 1 odgovaraće staroj (ili tekućoj) vrednosti A, a ne novoj ulaznoj vrednosti. Na slici 2.4 b) prikazan je tajming dijagram za ovaj dijagram stanja sa nekorektno generisanim rezultatom. Dijagram prikazuje da se vrednost 5 puni u REGA u trenutku 200 ns (početak taktnog intervala 2). S obzirom da je ulazna vrednost 5, test (A =5) treba da je istinit, a izlaz treba da je 8. Na žalost, u tajming dijagramu vidimo da se stanje FSM-a u trenutku 200 ns menja u s_notequal. Razlog ovome je taj što se za uslovno testiranje čita stara vrednost promenljive A koja iznosi 0, a ne nova vrednost koja je 5. Zbog toga na izlazu dobijamo nekorektnu vrednost 15. Malo je čudno zbog čega dijagram-stanja sa slike 2.2 a) je korektan, dok je dijagram-stanja sa slike 2.4 a) nekorektan. Prve dve linije ova dva algoritma su veoma slične. U prvoj liniji se dodeljuje vrednost promenljivoj (u jednoma algoritmu se prihavta konstanta 0, a u drugom se prihvata podataka sa porta Input), dok se u drugoj liniji testira uslov koji se odnosi na vrednost promenljive. Pitanje koje se sada postavlja je sledeće: Šta je to što uzrokuje da test uslov iz primera sa slike 2.2 a) bude korektan, a test uslov iz primera sa slike 2.4 a) bude nekorektan? Razlog je taj što je tajming dodeljivanja vrednosti za ove dve promenljive različit. U primeru sa slike 2.2 a) promenljivoj i se dodeljuje vrednost 0, aktiviranjem asinhronog signala Clear koji se dovodi na ulaz registra. Pošto se brisanje (clear) obavlja asinhrono, vrednost i se trenutno postavlja na 0 pa zbog toga ne mora da se čeka da naidje naredni taktni interval. Imajući ovo u vidu, za ovaj test kažćemo da je korektan. U primeru sa slike 2.4 koristimo signal ALoad za punjenje vrednosti u REGA. To znači da nova vrednost neće biti dosutpna sve do pojave narednog taktnog intervala. Kako je za potrebe uslovnog testiranja potrebna vrednost u tekućem taktnom intervalu zaključujemo da će test uslov biti nekorektan Izvodjenje korektnog dijagrama stanja i korektne upravljačke jedinice U primeru sa slike 2.3 i pored toga što komparator testira uslov (A=5) on ne dobija korektnu vrednost za A u taktnom intervalu kada je testiranje tog rezultata potrebno. Sa ciljem da komparator dobije korektnu vrednost za A potrebno je da se sačeka na vrednost koja se u narednom taktnom intervalu puni u REGA. Jedan od jednostavnijih načina da se reši ova tajming (vremensko sinhronizirajuća) greška ogleda se u sledećem: U dijagramu stanja se dodaje ekstra stanje nakon unošenja (prihvatanja) vrednosti A, tako da se vrednost može upisati u REGA pre nego što se ponovo čita radi testiranja. Ekstra stanju se ne dodeljuje upravljačka reč. Modifikovani dijagram stanja je prikazan na slici 2.5a), a odgovarajući tajming dijagram sa korigovanim rezultatom na slici 2.5b). Ista izlazna vrednost 5 se puni u REGA u trenutku 200 ns na početku drugog taktnog intervala 2 (clock czcle 2). Ipak, čitanje REGA radi uslovnog testiranja se obavlja za kratki period nakon vremena 200 ns. S toga, rezultat testa je "=", pa FSM prelazi u stanje s_equal i generiše se korektna vrednost na izlazu koja u ovom slučaju iznosi 8.

11 (a) (b) Slika 2.5. Korektni dijagram stanja za IF-THEN-ELSE: (a) korektnii dijagram stanja; (b) korektni tajming dijagram Nakon što smo izvevli korektni dijagram stanja konstrukcija CU-a se obavlja na isti način kao i u prethodnom slučaju. Tabela naredno-stanje je prikazana na slici 2.6b). S obzirom da postoje pet stanja potrebno je ugraditi tri flip-flopa koji se koriste za kodiranje tih stanja. Tako na primer, stanje s_input se kodira sa Q 2 Q 1 Q 0 =000, stanje s_extra se kodira sa Q 2 Q 1 Q 0 =001, itd. Ostala tri koda (101, 110 i 111) se ne koriste. Ipak, zbog uticaja šumova ili gličeva u kolu, FSM može da pređe u jedno od ova tri neiskorišćena stanja. Zbog ovoga, dobra je ideja postaviti da naredno stanje za sva neiskorišćena stanja bude reset stanje. Sa druge strane, ako nije od važnosti koje će naredno stanje biti za ova neiskorišćena stanja, tada je moguće koristiti vrednosti koje nisu od značaja (don't-care

12 values), što dovodi (rezultira) do jednostavnijih jednačina pobude. U konkretnom slučaju, u tabeli naredno-stanje dodate su tri vrste koje se koriste za sva tri neiskorišćena stanja. Njihovo naredno stanje za sve ulazne uslove je reset stanje, 000. (a) naredno stanje tekuće stanje Q 2naredno Q 1naredno Q Q 0naredno 2 Q 1 Q 0 (A=5)' (A=5) s_input 000 s_extra 001 s_extra 001 s_extra 001 s_notequal 010 s_equal 011 s_notequal 010 s_output 100 s_output 100 s_equal 011 s_output 100 s_output 100 s_output 100 s_output 100 s_output 100 neiskorišćeno neiskorišćeno neiskorišćeno (b) naredno stanje tekuće stanje D 2 D 1 D Q 0 2 Q 1 Q 0 (A=5)' (A=5)

13 (c) ' ' ' D2 = Q2Q1 + Q2Q1Q0 ' ' D1 = Q2Q1Q0 ' ' ' ' ' D0 = Q2Q1Q0 + Q2Q1 A= (d) ( 5) Q 2 Q 1 Q 0 instrukcija ALoad Muxsel BLoad Out 000 INPUT A 1 x Nop 0 x B = B = OUTPUT B 0 x Nop 0 x Nop 0 x Nop 0 x 0 0 (e) * Nop = No-operation (operacija bez efekta) ' 2 ' 2 ' ' 1 ALoad = Q Q Q0 Muxsel = Q Q1Q0 BLoad = Q 2 Q 1 1 ' Q ' Out = Q2Q 0 (f) ' '

14 (g) Slika 2.6. Konstrukcija CU-a za primer IF-THEN-ELSE: (a) dijagram stanja; (b) tabela naredno-stanje; (c) implementacija tabele koristeći D flip-flopove; (d) jednačine pobude; (e) tabela izlaza; (f) jednačine izlaza za četiri upravljačka signala; (g) kolo Odgovarajuća implementaciona tabela (koristi D flip-flopove) i rezultantne jednačine za pobudu (eksitaciju) kola su prikazane na slici 2.6c) i 2.6d), respektivno. Napomenimo da jednačine pobude izlistane na slici 2.6d) nisu jedine korektne jednačine, tj. postoje i druge korektne jednačine za pobudu. Tako na primer, ako se vrednosti koje nisu od značaja (don't-care values), koriste za naredna stanja kod sva tri neiskorišćena stanja, tada se jednačine pobude mogu još više pojednostaviti. Kolo izlazna-logika FSM-a se zasniva na signalima upravljačkih reči i stanja kojima su te upravljačke reči dodeljene. Postoji po jedna izlazna jednačina za svaki signal upravljačke reči, i ove jednačine su zavisne samo od stanja FSM-a (tj. od Q vrednosti flip-flopova). Da bi izveli tablicu istinitosti za ove izlazne jednačine, treba poći od tabele upravljlačkih reči i zameniti sve brojeve upravljačkih reči sa aktuelno kodiranim stanjem (tj. vrednosti Q-a) kojima se ta kontrolna reč dodeljuje. Na osnovu tabele-izlaza lako se izvode jednačine izlaza, kako je to prikazano na slici 2.6e) i 2.6f).

15 Nakon što smo izveli jednačine pobude i jednačine izlaza, moguće je nacrtati CU kolo (vidi sliku 2.6g)). Memoriju stanja čine tri D flip-flopa. Kolo naredno-stanje i kolo izlazna-logika se izvode kao kombinaciona logika, a konstruišu se na osnovu jednačina-pobude i jednačina-izlaza, respektivno. 2.2 Generisanje statusnih signala U poglavlju Staza podataka, kroz nekoliko primera, pokazali smo kako se generišu statusni signali. U situacijama kada treba testirati sadržaj registra ukazali smo kako se na izlazu registra povezuje komparator. No, postoje situacije kod kojih povezivanje komapratora na izlazu registra dovodi do generisanja nekorektnog (pogrešnog) statusnog signala iz razloga što komaprator upoređuje nekorektnu vrednost. U primerima sa slika 2.4, 2.5, i 2.6 uočili smo da, ako se u istom taktnom intervalu čita iz registra u kome je upravo obavljen upis, tada će se pročitati stara, a ne nova vrednost. Rešenje koje se predlaže i koristi u primeru sa slike 2.5 sastoji se u umetanju ekstra stanja čekanja sa ciljem da se sačeka na korektan upis vrednosti u registar kako bi se korektna vrednost učinila dostupnom na izlazu registra. Ono što čini problem teškim (ali i interesantim) je to što u toku različitih taktnih intervala različite vrednosti prolaze kroz istu tačku u stazi podataka, DP. Tako na primer, izlaz iz multipleksera tipa 2-u-1 može da ima dve različite vrednosti u toku dva razlličita trenutka, jer u jednom taktnom intervalu, select linija multipleksera može biti aktivirana, dok u drugom taktnom intervalu, select linija se može deaktivirati - pa to dovesti do prenosa podataka od različitih izvorišta ka izlazu. Druga komponenta DP-a koja može da generiše razlličite vrednosti u različitim trenucima je RF registarsko polje. Ako RF polju dovedemo različite adrese za operaciju Read, RF polje će na svojim izlazima generisati vrednosti sa različitih lokacija. Na osnovu ove diskusije može se zaključiti sledeće: Sa ciljem da se na izlazu komparatora dovede korektna vrednost za testiranje, neophodno je odrediti ne samo tačno mesto u DP-u odakle treba pribaviti vrednost, nego i tačno odrediti trenutak kada će se obaviti testiranje. Informacija o tajmingu se dobija iz dijagrama stanja. Dijagram stanja nam ukazuje: a) u kom je stanju statusni signal potreban; b) u kom trenutku se FSM nalazi u tom stanju; c) koja se instrukcija za manipulisanje podataka u datom trenutku obavlja; i d) koji su podaci u različitim tačkama DP-a dostupni. Na pomenute detalje ukazaćemo sada kroz jedan primer Generisanje korektnog statusnog signala povezivanjem komparatora u različitim tačkama staze podataka Dijagram stanja sa slike 2.4a) izveden za DP sa slike 2.3b) je nekorektan, jer u stanju s_input (kada je statusni signal potreban za kompariranje), na izlazu komparatora se ne dovodi korektna ulazna vrednost. Nedostatak rešenja sa slike 2.5 ogleda se u uvođenju ekstra taktnog intervala, tj. da bi se algoritam korektno izvršio potrebno je uvesti stanje s_extra. Jedan drugi način da se reši tajming problem sastoji se u povezivanju komparatora u različitim tačkama DP-a, umesto da se ubaci ekstra stanje. Dijagram stanja na slici 2.4a) prikazuje da je upravo u stanju s_input za potrebe kompariranja (A=5) neophodno koristiti vrednost podataka sa ulaza. DP prikazana na slici 2.3b) ima komparator povezan na izlazu REGA. Zbog ovakvog načina povezivanja potrebno je ubaciti ekstra stanje sa ciljem da se sačeka upis vrednosti sa ulaza u REGA pre nego što ta vrednost postane dostupna za testiranje.

16 Umesto da komparator COMP povežemo na izlazu registra REGA, on se može direktno povezati na primarni ulaz (tj. na ulaz REGA), kako je to prikazano na slici 2.7. Na ovaj način ne treba čekati da se ulazna vrednost prvo upiše u REGA, nego će ona biti odmah dostupna još u stanju s_input. Kao rezultat, COMP će generisati korektnu vrednost kako bi se obavio test u pravom trenutku, a sa druge strane ne postoji sada potreba za ubacivanjem ekstra stanja, s_extra, u dijagramu stanja. Slika 2.7. Generisanje korektnog statusnog signala za primer sa slike 2.5 i Sumiranje od n naniže ka 1 Kreiraćemo sada dijagram stanja i generisati korektni statusni signal za stazu podataka opšteg tipa sa slike 1.32 kojom se realizuje sumiranje brojeva od n naniže ka 1, pri čemu je n broj koji se prihvata sa ulaza, Input. Radi bolje preglednosti, algoritam sa slike 1.31, staza podataka sa slike 1.32, i upravlljačke reči sa slike 1.33 su ponovo skupno prikazane na slici 2.8. Na slici 2.8c) prikazane su pet upravljačke reči koje se koriste za upravljanje radom staze podataka sa slike 2.8b) kojom se obavlja algoritamm dat na slici 2.8a). 1 suma = 0 2 INPUT n 3 WHILE (n 0) { 4 suma = suma + n 5 n= n -1 6 } 7 OUTPUT suma (a)

17 (b) up. reč instruk cija IE 15 WE 14 WA 1, RAE 11 RAA 1, RBE 8 RBA 1,0 7-6 ALU 2,1,0 5-3 SH 1,0 2-1 OE 0 1 suma= (sub) 2 INPUT n xx 0 xx xxx xx 0 3 suma= suma+n (add) 4 n=n xx (dec) 5 OUTPUT suma x 0 xx xx 000 (pass) 00 1 (c)

18 Slika 2.8. Problem sumiranja iz primera sa slika 1.31, 1.32 i 1.33: (a) algoritam; (b) opšta staza podataka; (c) upravljačke reči Na slici 2.9a) prikazan je prvi pokušaj izvođenja dijagrama-stanja za algoritam sa slike 2.8a). Svim pet instrukcijama za manipulisanje podacima se dodeljuju pet stanja. Nakon reseta FSM počinje od stanja s0, pri čemu se suma inicijalizira na 0, i čeka na signal Start. Signal Start ukazuje CUci kada je ulazni podatak spreman kako bi se počelo sa izvršenjem algoritma. (Signal Start je sličan funkciji dirke Enter koju srećemo kod tastature na PC mašini). Ostali potezi dijagrama stanja slede sekvencu izvršenja algoritma. Stanje s1 izvršava upravljačku reč 2 radi unosa broja n. Stanje s2 izvršava upravljačku reč 3 u cilju sumiranja n. Stanje s3 izvršava upravljačku reč 4 kada se dekrementira n. Konačno, stanje s4 izvršava upravljačku reč 5 radi generisanja vrednosti suma na izlazu sistema. U stanju s1, unosi se vrednost n i odmah testira uslov (n 0). Na sličan način, u stanju s3 izvršava se instrukcija n=n-1 i odmah testira uslov (n 0). Ipak iz primera sa slike 2.5 treba napomenuti da nije moguće obaviti testiranje za uslov u situacijama kada se vrednost upisuje u registar u istom taktnom intervalu kada se vrši i testiranje. Ako pokušamo da rešimo ovaj problem na način kao na slici 2.5 dobićemo dijagram-stanja kao na slici 2.9b), gde je dodato jedno dodatno stanje čekanja, s_wait. Sa druge strane, iz primera sa slike 2.7 vidimo da ponekad nije neophodno umetnuti stanje čekanja ako se pronađe tačka u DP-u koja se povezuje na COMP tako da se obezbedi uslov za korektno generisanje statusnog signala. (a)

19 (b) Slika 2.9. Dva moguća dijagrama stanja za rešavanje problema sa slike 2.8: (a) bez ekstra stanja čekanja; (b) sa ekstra stanjem čekanja Sa aspekta optimizacije, dijagram stanja sa slike 2.9a) predstavlja bolji izbor za slučaj da se generiše korektan statusni signal, iz razloga što se zahteva jedno stanje manje. S toga, problem se sastoji u pronalaženju lokacije u DP-u na koju treba povezati COMP tako da u pravom trenutku COMP generiše korektan signal za test uslov (n 0). Dijagram stanja na slici 2.9a) prikazuje da je statusni signal potreban u stanjima s1 i s3. Zbog toga je potrebno pronaći tačku u DP-u takvu da je korektna vrednost za n dostupna u trenucima kada se izvršavaju stanja s1 i s3. U stanju s3, izvršava se instrukcija n=n-1. Da bi DP izvršila n=n-1, vrednost n-a mora biti prisutna kao operand A na ulazu ALU-a (tačka C na slici 2.8b)), a rezultat dekrementiranja n-1, u toku istog taktnog intervala, je dostupan na izlazu ALU-a (tačka D na slici 2.8b)). U saglasnosti sa dijagramom stanja prikazanim na slici 2.9a), potrebno je obaviti testiranje n-a nakon dekrementiranja. Ako se komparator COMP poveže na ulazni operand A od ALU-a u tački C, u toku ovog taktnog intervala, kompariraće se vrednost n pre dekrementiranja. Šta više, vrednost n-a nije više dostupna u tački C u toku narednog taktnog intervala. Razlog je taj što se u toku narednog taktnog intervala izvršava stanje s2 ili s4, i za oba ova stanja potrebna je vrednost suma. To znači da je u narednom taktnom intervalu, vrednost suma, a ne vrednost n, dostupna u tački C. S obzirom da je rezultat

20 dekrementiranja, u toku tekućeg taktnog intervala, dostupan u tački D, komparator COMP treba povezati na izlaz ALU-a u tački D. Problem se sada javlja i što je vrednost n-a potrebna i u stanju s1. U stanju s1, izvršava se instrukcija INPUTn, a vrednost n se upisuje u RF polje. Analizom slike 2.8b) vidimo da u toku taktnog intervala kada DP izvršava instrukciju INPUTn, vrednost n je dostupna samo na primarnom ulazu podataka DP-a u tački A i na izlazu multipleksera MUX u tački B. S obzirom da se upisivanje n-a u RF polje vrši sa narednom usponskom ivicom taktnog impulsa, vrednost n nije dostupna na izlazu RF polja u toku tog istog taktnog intervala, nego samo na izlazu ALU-a. Zbog toga, da bi statusni signal (n 0) bio korektan u stanju s1, potrebno je povezati COMP bilo na primarni ulaz podataka u tački A ili na izlaz MUX-a u tački B. Zbog stanja s3, neophodno je povezati COMP u tački D, ali zbog stanja s1 potrebno je povezati COMP bilo u tački A ili B. Da bi generisali korektan statusni signal za oba stanja, COMP treba povezati u tački koja je korektna za oba slučaja. Napomenimo da izvršenje instrukcije n=n-1 u stanju s3 zahteva da izlaz ALU-a u tački D, u okviru istog taktnog intervala, bude usmeren nazad na izlaz MUX-a u tački B, tako da se dekrementirana vrednost n može upisati u RF polje sa nailaskom usponske ivice taktnog impulsa. Ovo je moguće ostvariti jer su pomerač SHR i multiplekser MUX kombinaciona kola. To znači da, novo dekrementirana vrednost za n koja je potrebna radi kompariranja u stanju s3 neće biti dostupna samo u tački D, nego će takođe biti dostupna i u tačkama E i B. Na osnovu ovoga možemo zaključiti da povezivanjem komparatora COMP na izlaz multipleksera MUX u tački B moguće je generisati korektan statusni signal za potrebe upoređivanja (n 0) u oba stanja s1 i s3, kako je to prikazano na slici 2.10.

21 Data Input 8 8 statusni signal ka CU 15 IE 1 0 MUX (n 0) WE 4 x WA 1,0 RAE RF RBE 10-9 RAA 1,0 RBA 1,0 Clock Clock A B ALU 2 ALU 1 ALU 0 A ALU Q 7-0 B SH 1 SH 0 SHR OE 8 TB Data Output Slika Generisanje statusnog signala (n 0) u stazi podataka za primer sa slike 2.5 Zadnja stvar na koju treba ukazati je sledeća: S obzirom da je COMP kombinaciono kolo, ono konstantno na svom izlazu generiše vrednost. Kada se FSM nalazi u stanju koje je različito od s1 ili s3, COMP upoređuje drugu vrednost sa 0. Tako na primer, u stanju s2 ALU upoređuje suma+n sa 0. Ipak ovaj rezultat COMP-a neće uticati na korektan rad CU-a, jer u stanju s2, logika naredno-stanje ne koristi statusni signal da bi odredila koje će biti naredno stanje. Zbog toga, i pored toga što COMP u stanju s2 generiše nekorektni signal, CU neće koristiti vrednost tog statusnog signala. Kada je statusni signal iz COMP-a potreban u stanjima s1 ili s3, on će predstavljati rezultat korektne komparacije.

22 Nakon izvođenja korektnog dijagrama stanja prikazanog na slici 2.9a) i korektnog statusnog signala iz DP-a kako je to prikazano na slici 2.10, moguće je sada završiti sa konstrukcijom CU kola, kako je to prikazano na slici Na osnovu dijagrama stanja, kreira se tabela naredno-stanje (vidi sliku 2.11b)). Tri flip-flopa Q2, Q1, i Q0 su potrebna za kodiranje pet stanja. Pored tekućih stanja izlistanih u tabeli (slika 2.11b)), naredno stanje FSM-a takođe zavisi od upravljačkog signala Start i statusnog signala (n 0) (četiri kolone na slici 2.11b). Oznake za sve četiri kolone se odnose na sve četiri kombinacije dvaju ulaznih signala Start i (n 0). Tako na primer, kolona označena sa 10 označava da je ulazni signal Start istinit (tj. Start=1), a statusni signal (n 0) lažan (tj. (n 0)=0). Na slici 2.11c) prikazana je odgovarajuća implementaciona tabela koja koristi D flipflopove. Za izvođenje jednačina pobude (slika 2.11d)), izlaznih jednačina (slika 2-11f)), i konačno kompletno CU kolo (slika 2.11d)), važi ista procedura kao i ona koja se odnosi na sintezu DP-a opšteg tipa. Upravljački signal Done se koristi da obavesti spoljni svet da je izvršenje algoritma kompletirano i da je podatak na portu Data Output validan. (a)

23 tekuće stanje Q 2 Q 1 Q 0 s s s s s s s s s s neiskorišćeno 101 neiskorišćeno 110 neiskorišćeno s 0 s 0 s 0 naredno stanje Q 2naredno Q 1naredno Q 0naredno Start, (n 0) s s s s s s s s s s s s s s s s s s s s s s s s (b) tekuće stanje Q 2 Q 1 Q 0 implementacija D 2 D 1 D 0 Start, (n 0) (c)

24 Q 2 =0 Q D 2 =1 2 Start, (n 0) Q 1 Q Q 2 =0 Q D 2 =1 1 Start, (n 0) Q 1 Q Q 2 'Q 0 (n ' Q 2 Q 1 'Q 0 ' D 2 = Q 2 Q 1 'Q 0 ' + Q 2 'Q 0 (n ' Q 2 'Q 1 Q 0 ' Q 2 'Q 0 '(n ' D 1 = Q 2 'Q 1 Q 0 ' + Q 2 'Q 0 (n D Q 2 =0 Q 2 =1 0 Start, (n 0) Q 1 Q State Q 2 Q 1 Q 0 IE 15 WE 14 WA 1 13 WA 0 12 RAE 11 Q 2 'Q 1 Q 0 ' RAA 1 10 Q 2 'Q 0 'Start D 0 = Q 2 'Q 1 Q 0 ' + Q 2 'Q 0 'Start (d) RAA 0 9 RBE x x x x x x x x 0 x x (e) RBA 1 7 RBA 0 6 ALU 2 5 ALU 1 4 ALU 0 3 SH 1 2 SH 0 1 OE 0 (f)

25 (g) Slika Konstrukcija CU-a za primer sa slike 2.10: (a) dijagram stanja; (b) tabela naredno-stanje; (c) implementaciona tabela; (d) Karnaough-ove mape za jednačine pobude; (e) tabela izlaza; (f) jednačine izlaza; i (g) kolo 2.3 Tipična rešenja sa kontrolerima U toku dosadašnjih teoretskih sagledavanja ukazali smo da se upravljačka jedinica koristi kao kontroler staze podataka. No, upravljačka jedinica može da bude nezavisna od staze podataka i da se koristi kao samostalni (stand-alone) kontroler za upravljanje radom eksternih uređaja. Postoji veliki broj elektronskih uređaja koji koriste stand-alone upravljačku jedinicu za njihovo upravljanje (na primer, kontroleri za mikrotalasne peći, mašina za pravljenje sode, semafor, pacemaker, itd.). Svi ovi uređaji ne zahtevaju da se obavljaju neka izračunavanja ili manipulisanje nad podacima tako da oni, u suštini, i ne zahtevaju korišćenje staze podataka. Kontroleri koji se ugrađuju u ove uređaje se, u principu, koriste za uključivanje ili isključivanje prekidača, ili za kontrolisanje rada nekih spoljnih uređaja. Kod semafora postoje tri skupa sijalica (zelena, žuta i crvena) pa njihovim uključivanjem ili isključivanjem usmerava se saobraćaj na raskrsnici u četiri smera. U tekstu koji sledi ukazaćemo na konstrukciju stand-alone kontrolera kroz nekoliko primera.

26 Rotirajuća svetla Implementirajmo kontroler koji će učiniti da se osvetljenost šest periferijskih segmenata od sedmosegmentnog LED displeja okreće u smeru kazaljke na satu ili u suprotnom, u zavisnonsti od ulaza prekidača W. Pošto postoje šest svetlećih oblika, jedan za svaki LED koji je uključen a ostali isključeni, moguće je koristiti šest stanja i dodeliti po jedan svetleći oblik svakom stanju. Svako stanje prelazi u naredno stanje kod sekvencijalnog kretanja u smeru kazaljke na satu kada je prekidač W pritisnut, i u prethodno stanje kod sekvencijalnog kretanja u smeru suprotno od kazaljke na satu kada W nije pritisnut. Rezultujući dijagram stanja je sličan onom koji odgovara brojaču modula 6 koji broji naviše i prikazan je na slici 2.12a). Šest izlaznih signala (a, b, c, d, e, i f) odgovaraju šest periferijskih segmenata kod sedmosegmentnog LED-a. Vrednost "1" koja se dovodi na ulaz segmenta uključuje LED, a vrednost "0" isključuje. Tabela narednog stanja koja se izvodi na osnovu dijagrama stanja i odgovarajuća implementaciona tabela, koristeći D flip-flopove, su prikazane na slici 2.12b). Rezultujuće jednačine pobude (izvedene na osnovu implementacione tabele) su prikazane na slici 2.12c). Tabela izlaza kao i rezultujuće jednačine izlaza su prikazane na slici 2.12d) i 2.12e), respektivno. Konačni izgled kola kontrolera je prikazan na slici 2.12f). Da bi videli kako se svetlo kreće, šest izlaznih signala se povezuje na šest segmenata sedmosegmentnog LED-a, a taster dugme se povezuje na W ulaz, kako je to prikazano na slici 2.12g). (a) (b)

27 (c) (d)

28 (e) (f) (g) Slika Kontroler za rotirajuća svetla: a) dijagram stanja; b) tabela naredno stanje (implementacija); c) K-mape i jednačine pobude; d) tabela izlaza; e) jednačine izlaza; f) kolo kontrolera; g) intefejs kola

29 PS/2 tastaturni kontroler Projektovaćemo i implementiraćemo nešto realističniji i praktičniji kontroler, koji se koristi za tastaturu PS/2 mašine. Na UP2 razvojnoj ploči postoji 6-pinski mini-din konektor koji se koristi za povezivanje bilo PS/2 tastature, bilo PS/2 miša. Projektovaćemo i implementiraćemo kontroler za tastaturu na FPGA čipu. Rad tastature i kontrolera je sledeći. Komunikacija između tastature i kontrolera (koji će biti implementiran na FPGA čipu) koristi dva signala, KeyboardClock i KeyboardData. Kada ne postoji aktivnost, a to znači, kada nije pritisnut ni jedan taster na tastaturi, oba signala KeyboardClock i KeyboardData su postavljeni na 1. Kada se taster pritisne (ili otpušti), tastatura šalje jedinstveni kod za taj taster kontroleru serijskim putem preko KeyboardData linije. Serijski podatak na KeyboardData liniji je u sinhronizmu sa taktnim signalima koje tastatura predaje preko KeyboardClock linije. Podatak za svaki taster koji se šalje preko KeyboardData linije sastoji se od 11 bitova. Ovih 11 bitova su: "0" za start bit, 8 bitova podataka za kod tastera počevši od LS bita ka MS bitu, bit neparne parnosti i 1 stop bit (klasičan asinhroni prenos). Na slici 2.13 prikazani su neki od kodova tastera koje generiše tastatura u trenutku kada se pritisne odgovarajući taster. Kada se taster oslobodi, generiše se različiti kôd. Bit neparne parnosti se postavlja tako da ukupan broj jedinica u 8-bitnom podatku plus bit parnosti čine neparan broj. Slika Delimična lista kôdova tastera generisanih od strane tastature Slika Uzorak tajming dijagrama za predaju podatka koji se odnosi na kôd tastera 4E Na slici 2.14 prikazan je deo tajming dijagrama za predaju podatka koji se odnosi na kôd tastera crtica, 4E ( binarno). Dijagram počinje od neaktivnog stanja u kome su obe linije KeyboardData i KeyboardClock postavljene na 1, prenos počinje start bitom postavljanjem KeyboardData linije na 0. Tastatura zatim šalje podatke i bit parnosti na liniju KeyboardData brzinom od jednog bita po taktnom intervalu, pri čemu se taktni impuls prenosi po KeyboardClock liniji. Taktne impulse na KeyboardClock liniji generiše tastatura. Bit parnosti za kôd dirke 4E je 1,

30 pošto se osam bitova podatka sastoje od parnog broja jedinica, pa prema tome, da bi se ostvarila neparna parnost, bit parnosti mora biti 1. Dijagram stanja za tastaturni kontroler prikazan na slici 2.15(a) izveden je na osnovu vremenskog dijagrama prikazanog na slici U svakom od 8 stanja koji se odnose na prenos podatka, d0,d1,...,d7, prihvata se po jedan odgovarajući bit podatka sa ulazne linije KeyboardData. Na primer, pretpostavimo da se koristi 8-bitni registar nazvan Keycode radi memorisanja 8 bitova podatka. Tada u stanju d0, KeyboardData se dodeljuje izlazu Keycode 0 (tj. 0-ti bit Keycode registra), a u stanju d1, KeyboardData se dodeljuje izlazu Keycode 1, i tako dalje za svih osam bitova podatka. Ovo je moguće zato što je prelaz FSM-a iz jednog stanja u drugo sinhronizovan sa taktnim signalom tastature KeyboardClock. Radi pojednostavljenja, nećemo proveravati start bit, bit parnosti, i stop bit. Tabela sledećeg stanja i implementaciona tabela koje koriste četiri D flip-flopa za kodiranje 11 stanja prikazane su na slici 2.15(b). Jednačine pobude izvedene na osnovu implementacione tabele prikazane su na slici 2.15(c). Ovo kolo kontrolera u suštini ne upravlja radom tastature jer ne generiše upravljačke signale za rad tastature. Umesto toga, ovo kolo prima serijski signale podataka sa tastature, i pakuje ih u bajtove podataka. Izlaz kontrolera su bajtovi podataka, koji predstavljaju kôd dirke pritisnute na tastaturi. Tabela izlaza prikazana je na slici 2.15(d) i odgovarajuće jednačine izlaza na slici 2.15(e). U stanju d0, bit prisutan na KeyboardData liniji loaduje se u bit 0 Keycode registra; u stanju d1, bit prisutan na KeyboardData liniji load-uje se u bit 1 Keycode registra; i tako dalje. Svaki bit Keycode registra mora, zbog toga, da bude u stanju da se load-uje u KeyboardData nezavisno, a svaka linija za dozvolu punjenja se aktivira pomoću odgovarajućeg kodiranog stanja. Shodno tome, svaka od izlaznih jednačina prikazanih na slici 2.15(e) nije implementirana kao 5-ulazno AND kolo. Umesto toga, D flip-flop sa dozvolom rada koristi se za generisanje svakog izlaznog signala. D ulaz flip-flopa povezan je na KeyboardData liniju. Signal dozvole punjenja flip-flopa, E, aktivira se AND operacijom nad četiri Q vrednosti koje odgovaraju tom stanju. Koristeći jednačine pobude za kolo naredno-stanje, četiri D flip-flopa za memoriju-stanja, i izlazne jednačine za izlazno kolo, dobija se kompletno kolo kontrolera kako je prikazano na slici 2.15(f). Implementacija kola kontrolera koje koristi FPGA čip prikazana je na slici 2.15(g) i dostupna je na odgovarajućem CDROM-u u fajlu UP2FLEX.GDF. (a)

31 (b)

32 (c) (d) (e)

33 (f) (g) Slika Kontroler: (a) dijagram stanja; (b) tabela naredno stanje (implementaciona tabela); (c) K- mape i jednačine pobude; (d) izlazna tabela; (e) jednačine izlaza; (f) kolo kontrolera; i (g) interfejs kola U praksi, kontroleri se obično projektuju manuelno, kao što smo i mi to uradili. Svrha ove vežbe je da obezbedi studentima razumevanje kako se kontroleri projektuju. U sekciji 2.5. prikazaćemo kako se kontroleri automatski sintetizuju koristeći behavioral VHDL kôd (koji daje opis na nnivou ponašanja).

34 2.3.3 Kontroler VGA monitora Jednostavni kontroler VGA monitora može se konstruisati koristeći skup standardnih sekvencijalnih komponenata. U primeru VGA kontroler - verzija 1 projektovaćemo i implementirati kontroler VGA monitora koristeći FSM kao njegovu upravljačku jedinicu. Ipak, treba istaći da kontroler VGA monitora je jednostavan i može se konstruisati bez potrebe za ugradnjom FSM-a. U primeru VGA kontroler - verzija 2 prikazaćemo kako se kontroler VGA monitora može implementirati bez FSM-a. Razvojno sredstvo UP2 poseduje 15-pinski Dsub konektor radi povezivanja na standardni VGA monitor. Signali sa Dsub konektora su direktno povezani na FPGA kolo koje se nalazi na ploči pa ćemo s toga implementirati naš kontroler na FPGA čip. Sa ciljem da se projektuje VGA kontroler neophodno je da se prvo razume kako VGA monitor radi. Ekran monitora za standardni VGA format sadrži 640 (kolona) x 480 (vrsti) elemenata slike koje zovemo pixel-ima (vidi sliku 2.16). Slika se prikazuje na ekranu aktiviranjem i deaktiviranjem odgovarajućih pixel-a. Mada uključenje samo jednog pixel-a ne doprinosi velikoj sjajnosti slike, kada je veći broj pixel-a aktiviran, kombinacija pixel-a je ta koja daje utisak o slici. Monitor kontinualno vrši analizu slike preko celog ekrana uključujući i isključujući po jedan pixel u datom trenutku, i to sa velikom brzinom. I pored toga što je samo po jedan pixel u datom trenutku aktiviran, imajući u vidu da se analiza ekrana vrši veoma brzo, posmatrač dobija utisak da su svi pixeli u datom trenutku aktivni. Na slici 5 je pokazano da analiza startuje od vrste 0, kolone 0, sa leve gornje strane ekrana, pri čemu se mlaz pomera s leva na desno sve dok ne pristigne do zadnje kolone u vrsti. Kada analiza stigne do zadnje vrste mlaz se vraća na početak naredne vrste. Kada analiza pristigne do zadnjeg pixel-a na desnom uglu ekrana, on se ponovo vraća na levi gornji ugao ekrana i analiza slike ponovo počinje. Sa ciljem da se izbegne fliker efekat (efekat treperenja) ekran se mora analizirati 60 puta u sekundi ili više. U toku horizontalnog i vertikalnog povratka mlaza svi pixel-i se zatamnjuju (deaktiviraju). Rad VGA monitora se kontroliše pomoću 5 signala: crveni, zeleni, plavi signal, impuls za horizontalnu i impuls za vertikalnu sinhronizaciju. Tri kolor signala, poznati kao RGB signal, koriste se da odrede boju pixel-a za datu lokaciju na ekranu. Sva tri signala boje na razvojnoj ploči UP2 su povezani tako da se mogu individualno uključivati i isključivati, pa shodno tome, svaki pixel se može prikazati samo u jednoj od 8 boja. Sa ciljem da generišemo veći broj boja svaki analogni kolor signal se može dovesti sa naponskim nivoom između 0 i 0.7V radi menjanja intenziteta boja na ulaz monitora. Horizontalni i vertikalni sinhronizacioni signali se koriste da upravljaju tajmingom i brzinom analize slike. Horizontalni sinhronizacioni signal određuje vreme analize vrste, dok vertikalni sinhronizacioni signal određuje vreme analize celog ekrana. Manipulisanjem sa svih pet signala kreiraju se slike na ekranu monitora. Tajming dijagram za horizontalne i vertikalne sinhronizacione signale je prikazan na slici Kada nisu aktivni, oba sinhronizaciona signala su postavljena na 1. Početak analize vrste počinje sa horizontalnim sinhronizacionim signalom koji se postavlja na nisko za 3.77μs kao što je to prikazano u regionu B na slici Iza toga sledi period od 1.79μs kada je ovaj signal na visoko, kako je to prikazano u regionu C. Nakon toga, podaci za sva tri kolor signala se predaju (po jedan pixel u datom trenutku) za sve 640 kolone, kako je to prikazano u regionu D za period od 25.42μs. Konačno, nakon prikaza zadnjeg pixel-a u koloni, sledi period od 0.79μs u toku koga RGB signali su neaktivni, vidi region E. Iza toga sledi signal za horizontalnu signalizaciju. Ukupno vreme da se kompletira jedna analizirana vrsta je 31.77μs.

35 Tajming za vertikalni sinhronizacioni signal analogni je horizontalnom sinhronizacionom signalu. Vertikalni sinhronizacioni signal aktivan kao niski za period od 64μs resetuje analizu i postavlja mlaz na levi gornji ugao ekrana, kao što je to prikazano u regionu P, iza čega sledi 1020μs kada je ovaj signal na visoko (vidi region Q). Nakon toga, postoji analiza od 480 vrsti, svaka trajanja 31.77μs, što ukupno predstavlja 15250μs, kako je to prikazano u regionu R. Konačno, nakon analize zadnje vrste, u periodu od 450μs, kako je to prikazano u regionu S, pre nego što vertikalni sinhronizacioni signal ponovo postavi na nisko sa ciljem da startuje druga analiza slike, mlaz se vraća na gornji kraj ekrana. Ukupno vreme da se kompletira jedna cela analiza ekrana iznosi 16784μs. Sa ciljem da monitor korektno radi, treba dovesti horizontalne i vertikalne sinhronizacione signale, a zatim na ulaze RGB povezati linije za podatke. Kvarcni oscilator na UP2 ploči ima frekvenciju od MHz. Njegova taktna perioda je 1/25.178*10 6 što odgovara μs po taktnom periodu. Za region B u horizontalnom sinhronizacionom signalu potrebno je 3.77μs što aplroksimativno iznosi 3.77/0.0397=95 taktnih intervala. Za region C potrebno je 1.79μs, što aproksimativno odgovara 45 taktnih intervala. Na sličan način potrebno je 64 taktna intervala za region D za 640 kolona pixel-a i 20 taktnih intervala za region E. Ukupan broj taktnih intervala potreban za analizu svake vrste je zbog toga 800 taktnih intervala. Naglasimo da sa kristalnim oscilatorom od MHz, za region D su potrebna tačno 640 taktna intervala, što rezultira 640 kolona po vrsti. U principu, različite taktne frekvencije generisaće slika na ekranu sa različitim rezolucijama. Vertikalni tajminzi su multipli horizontalnih ciklusa. Na primer, region P je 64μs, što aproksimativno odgovara dvema horizontalnim linijama (2x31.77). Izračunavanje za region R su 15250μs/31.77μs=480. Naravno, treba da bude tačno 480 vremenskih jedinica jer se na ekranu prikazuje 480 vrsta (linija). Pored generisanja korektnih horizontalnih i vertikalnih sinhronizacionih signala, kolo mora da bude u sinhronizmu sa tekućom kolonom u okviru regiona D i sa tekućom vrstom u okviru regiona R kako bi analiza slike počela od specificiranog pixel-a. Da bi neki pixel učinili zelenim, potrebno je da se testiraju vrednosti brojača kolone i vrste. Ako su one jednake lokaciji pixel-a koga želimo da prikažemo tada aktiviramo zeleni signal, pa će kao rezultat pixel biti zelene boje.

36 Slika VGA monitor sa 640 kolona x 480 vrsta. Analiza slike počinje od vrste 0 kolone 0 i ide ka desnoj strani i nadole sve dok ne dostigne vrstu 479 i kolonu 639. Slika Tajming dijagram za horizontalne i vertikalne sinhronizacione signale VGA kontroler - verzija 1 Da bi se ostvario korektna horizontalna i vertikalna sinhronizacija, moguće je projektovati FSM sa 800 stanja koji se izvršavaju sa taktnom periodom od MHz. U toku prvih 95 stanja generisaće se 0 za horizontalni sinhronizacioni signal H_Sync. U toku narednih = 705 stanja generisaće se 1 za H_Sync. Problem sa ovakvim pristupom se ipak sastoji u tome što je teško manuelno kreirati FSM kolo sa 800 stanja. Jednostavnije rešenje je da se koriste samo 2 stanja: jedno kada H_Sync je 0 u regionu B, a jedno kada je 1 u regionima C,D, i E. Da bi se ovo ostvariolo koristi se brojač koji radi istom taktnom frekvencijom kao i FSM čije stanje ukazuje na to koliko vremena FSM treba da ostane u određenom stanju. Za prvo stanje treba da se odbroji do vrednosti 95 pre nego što se pređe na naredno stanje, a u narednom stanju treba da se odbroji 705 pre nego što se pređe u prvo stanje. U toku prvog stanja izlaz H_Sync biće na 0, a u toku drugog na 1. Takođe je potrebno čuvati trag o triju primarnih signala na osnovu kojih se generiše dodatni H_Data_on signal na isti način kao što se generisao i H_Sync signal. H_Data_on signal je aktivan u regionu D, a deaktivira se u regionima B,C, i E. To znači da brojač modula 640 se koristi za njegovo ponavljanje u stanju regiona D. Primera radi, postavićemo H_Data_on signal na 1 i 0 u periodu D u trajanju od 640 taktnih intervala, a na 0 u periodima B, C, i E koji traju 160 taktnih intervala. Kombinovanjem dvaju stanja za H_Sync i dvaju stanja za H_Data_on u jednu celinu rezultiraće konačnom dijagramu stanja koji odgovara horizontalnom tajmingu kako je to prikazano na slici 2.18(a). FSM ima četiri odgovarajuća stanja koja se odnose na četiri regiona B, C, D, i E. Brojač se inicijalno postavlja u stanje 0 i inkrementira za 1 na svaki taktni interval. U stanju H_B za region B, FSM generiše 0 za oba signala H_Data_on i H_Sync. FSM ostaje u stanju H_B za 95 impulsa.

37 Uslov (H_cnt=B) proverava sa ciljem da ustanovi da li je brojač jednak vrednosti B pri čemu je B= 95. Kada je brojač jednak 95 FSM prelazi u stanje H_C, koje odgovara regionu C. U stanju H_C FSM generiše 0 za H_Data_on i 1 za H_Sync u trajanju od 45 intervala (tj. sve dok H_cnt je B+C=95+45=140). Kada H_cnt dostigne vrednost 140 FSM prelazi u stanje H_D, i generiše 1 na oba izlaza H_Data_on i H_Sync. Kada H_cnt dostigne vrednost B+C+D= =780, FSM prelazi u stanje H_E i generiše 0 na izlazima H_Data_on i H_Sync. FSM ostaje u stanju H_E za 20 taktnih intervala sve dok H_ctn ne bude H_ctn=B+C+D+E= =800, a zatim prelazi ponovo u stanje H_B. Kada FSM se ponovo vrati u stanje H_B, H_ctn se resetuje na 0 a zatim proces ponovo počinnje sa analizom naredne vrste (linije). Za vertikalnu sinhronizaciju tajming je analogan horizontalnom sinhronizacionom tajmingu, tako da možemo izvesti istu logiku koristeći drugi brojač kao drugi FSM. Ovaj drugi vertikalni FSM je identičan horizontalnom FSM-u. Jedina razlika je u tajmingu. Analizirajući tajming za svaki region u vertikalnom sinhronizacionom signalu na slici 2.17, vidimo da 64 μs za region P je aproksimativno dva puta više od ukupnog trajanja horizontalne linije, tj μs. Period od 1020 μs odgovara regionu Q i aproksimativno iznosi 32 horizontalne linije (1020/ ). Za region R, period iznosi 480 horizontalnih ciklusa, a za region S aproksimativno 14 horizontalnih ciklusa. Saglasno prethodnom, takt kako za vertikalni brojač tako i vertikalni FSM predstavlja horizontalni brojač. Vertikalni sinhronizacioni impuls se dobija na svakih 800 horizontalnih impulsa. Tabele narednih stanja za horizontalni FSM i vertikalni FSM su prikazane na slici 2.18(c) i (d), respektivno. Uočimo da uprkos četiri brojačkih uslova, obe tabele su skoro iste. Zbog toga, mi možemo da koristimo ista FSM kola za oba slučaja. Jedina razlika se sastoji u tome što njihovi statusni ulazni signali za sva četiri uslova brojanja se generišu od strane različitih komparatora brojanja. Izlazna tabela je takođe ista za oba FSM-a i prikazana je na slici 2.18(e). Ukupno postoje dva izlazna signala koje treba generisati: H_Data_on i H_Sync za horizontalni FSM i V_Data_on i V_Sync za vertikalni FSM. Konačno FSM kolo je prikazano na slici 2.18(f). (a)

38 (b) (c) (d)

39 (e) (f) (g)

40 (h) (i) Slika Kontroler za VGA monitor: (a) dijagram stanja za horizontalnu sinhronizaciju; (b) dijagram stanja za vertikalnu sinhronizaciju; (c) tabela naredno stanje za horizontalnu sinhronizaciju; (d) tabela naredno stanje za vertikalnu sinhronizaciju; (e) tabela izlaza; (f) FSM kolo za horizontalnu i vertikalnu

41 sinhronizaciju; (g) brojač horizontalne sinhronizacije; (h) brojač vertikalne sinhronizacije; (i) kompletno kolo VGA kontrolera Potrebno je koristiti dve kopije instance ovog FSM kola: jednu za horizontalni FSM, a drugi za vertikalni FSM. Taktna frekvencija za horizontalni FSM je MHz, dok se takt za vertikalni FSM dobija kao izlaz iz horizontalnog brojača. Četiri statusta signala za četiri uslova brojanja generišu se od strane dvaju brojača: horizontalni brojač i vertikalni brojač. Horizontalni brojač, HCount, sa četiri komparatora za (H_cnt= B), (H_cnt= B+C), (H_cnt = B+C+D), (H_cnt = B+C+D+E) je prikazan na slici 2.18(g). 10-bitni brojač je potreban za brojanje od 0 do ulazno AND kolo se koristi za svaki od četiri komparatora. Ulazi svakog AND kola se postavljaju da odgovaraju ekvivalentu binarne vrednosti za B=95, B+C=95+45=140, B+C+D= =780, i B+C+D+E= =800, respektivno. Brojač se ponovo postavlja na 0 aktiviranjem linije Load kada brojač dostigne 800 i puni se na vrednost 0. Izlaz iz komparatora (H_cnt=800) je brojački signal Rollover koji se koristi kao vertikalni taktni signal za vertikalni brojač, vertikalni FSM, i brojač vrsta (linija). Vertikalni brojač, VCount, sa četiri komparatora za (V_cnt=P), (V_cnt=P+Q), (V_cnt=P+Q+R), i (V_cnt=P+Q+R+S), prikazan je na slici 2.18(h). Kolo za ovaj brojač je slično horizontalnom brojaču, sa izuzetkom to što vrednosti komparatora različite, i po tome što nema potrebe da se taktni signal generiše na konceptu rollover (kad stigne do kraja da ponovo počne od početka). Takt za ovaj brojač je vertikalni taktni signal Rollover koji se generiše od strane horizontalnog brojača. Kompletno kolo VGA monitora je prikazano na slici 2.18(i). Kako bi bili sigurnni da sva tri RGB signala koja se dovode na ulaz monitora budu validna, neophodno je da ih aktiviramo (ako je potrebno) samo u regionima D i R. Zbog toga, obavlja se AND operacija nad trima kolor izlaznim signalima Red_out, Green_out, i Blue_out i signalima H_Data_on i V_Data_on. Na primer, ako ulazni signal Red je 1, izlazni signal Red_out biće 1 samo kada se vrši analiza slike u okviru oblasti D i R. Konačno, da bi se aktivirao specificirani pixel, kolo mora da čuva trag analize koji se odnosi na tekuću kolonu u okviru D regiona i tekuću vrstu u okviru R regiona. Za ovu namenu se koriste dva dodatna brojača, Column i Row. Pošto oni treba da broje samo kada se vrši analiza slike u regionima D i R, respektivno, zbog toga, Count ulaz za Column brojač se aktivira od strane H_Data_on signala, dok Count ulaz za Row brojač se aktivira od strane V_Data_on signala. Pošto brojanje dostigne vrednost 640 i 480, respektivno, to znači da su ova dva regiona prošla, i da brojači ne treba više da broje. Zbog toga će se oni resetovati na 0 u bilo kom trenutku pre nego što analiza slike ponovo dođe na početak ova dva regiona. U kolu, dve Load linije se aktiviraju kada se dva respektivna brojača ponovo vrate na 0. Konačno, Column brojački impuls se dobija od taktne frekvencije MHz, a Row brojački impuls se izdvaja od vertikalnog taktnog izvorišta Rollover koji se izdvaja od horizontalnog brojača. Da bi prikazali neki sadržaj na ekranu, neophodno je da se proveri tekuća kolona i vrsta na kojoj se analizatorski mlaz nalazi, a nakon toga aktivira RGB signal ako želimo da se prikaže neki pixel na toj lokaciji. Tako na primer, ako želimo da aktiviramo Red signal kao kontinualan, tada svi pixel-i treba da budu crveni, što znači da će ceo ekran biti crven. Sa druge strane, ako želimo da prva vrsta pixel-a bude crvena, tada treba da aktiviramo Red signal samo kada je stanje Row brojača 0. Da bi dobili crveni obod oko ekrana, neophodno je aktivirati signal Red kada je Row=0, ili Row=639, ili Column=0, ili Column=479. Na slici 2.19 prikazano je kolo za iscrtavanje crvene ivice po celoj slici ekrana koristeći kolo VGA kontrolera sa slike 2.18(i).

42 Slika Kolo koje koristi VGA kontroler za generisanje crvenog okvira po celom ekranu VGA kontroler - verzija 2 Ako smo razumeli konstrukciju VGA kontrolera - verzija 1 odmah nam pada u oči da kolo kontrolera možemo da učinimo jednostavnijim. U tom cilju učinićemo sledeće dve redukcije: 1) eliminisati brojače vrsta i kolona, i 2) eliminisati horizontalne i vertikalne FSM-ove. Prvo, brojač kolona je uvek 140 (regioni B+C=95+45=140) plus horizontalni brojač kada je aktiviran signal H_Data_on, a brojač vrste je uvek 34 (regioni P+Q=2+32=34) plus vertikalni brojač kada je signal V_Data_on aktiviran. Zbog toga, ako pomerimo horizontalni broj tako da broj 0 je uvek na početku regiona D, a zadnji broj 800 je na kraju regiona C, tada nema potrebe za dodatnim brojačem kolone. Slično, ako pomerimo vertikalni broj tako da broj 0 odgovara početku regiona R, a zadnji broj 528 kraju regiona Q, tada brojač vrsta ne treba da postoji. Da bi eliminisali oba FSM-a, ukažimo da se FSM-ovi koriste samo za aktiviranje dva para signala: H_Sync, H_Data_on i V_Sync, V_Data_on. Aktiviranje ova četiri signala zavisi samo od horizontalnih i vertikalnih brojača. Zbog toga, koristićemo samo horizontalno i vertikalno odbrojavanje da bi aktivirali ove signale direktno. Ipak, neophodno je očuvati ove signale nepromenjene sve dok se ne dostigne određena vrednost brojanja. Za svaki signal se koristi SR flip-flop koji setuje signal na 0 ili 1 u pravom trenutku. SR flip-flop radi na sličan način kao i SR leč, sa izuzetkom da se izlaz menja samo sa aktivnom (usponskom) ivicom taktnog signala. Kada se S aktivira, flip-flop se popstavlja, i Q=1. Kada se R aktivira, flip-flop se resetuje i Q=0. Na primer, signal H_Sync_out ima vrednost 1 kada brojanje dostigne 95 i više, a 0 kada brojač ima vrednost 800, a ponovo se vraća 0 itd. Zbog toga, neophodno je povezati izlaz komparatora za (H_cnt=95) sa S ulazom SR flip-flopa i izlaza drugog koomparatora za (H_cnt=800) na R ulaz. Izlaz Q flip-flopa je signal H_Sync_out. Kao rezultat, signal se postavlja na 1 kada brojač dostigne 95, i ostaje na 1 sve dok se ne resetuje na 0 kada brojanje dostigne vrednost 800. Tri druga signala H_Data_on i V_Sync_out, i V_Data_on se generišu na sličan način.

43 Kompletna verzija 2 kola VGA monitor kontroler je prikazana na slici Modifikovani horizontalni brojač, HCount, i vertikalni brojač, VCount, su prikazani na slici 2.20(a) i 2.20(b), respektivno. Napopmenimo da sva četiri izlaza uslova za svaki od obadva brojača su različita s obzirom da imamo pomerene vrednosti odbrojavanja tako da brojanja startuju sa početkom regiona D i R, za horizontalne i vertikalne brojače, respektivno. Kompletno kolo monitora je prikazano na slici 2.20(c). Moguće je implementirati i testirati drugu verziju monitor koontrolera koristeći isto kolo kao ono prikazano na slici 2.19, pri čemu je kontroler zamenjen svojom novom verzijom. (a) (b)

44 (c) Slika Druga verzija VGA monitor kontrolera: (a) horizontalni brojač, HCount; (b) vertikalni brojač, VCount; (c) kompletno kolo kontrolera 2.4 ASM dijagrami i tabele akcija stanja Nedostatak pristupa koji koristi dijagram stanja sastoji se u opisu ponašanja sekvencijalnog kola i u tome što ne oslikava precizno tajming informaciju, koja je veoma važna za korektni rad kola. Algorithmic State Machine (ASM) dijagrami i tabele akcije stanja (state action tables) su dva alternativna metoda za opisivanje rada sekvencijalnih kola na jedan tačniji i koncizniji način. Tabela akcije stanja koristi tabelarni format, dok ASM dijagram koristi grafički format ASM dijagrami ASM dijagrami se koriste za grafičku predstavu rada FSM-a na jedan tačniji način. Oni su slični dijagramima toka koji se koriste kod programiranja u računarstvu ali koriste različito formirane oblike, kako je to prikazano na slici 2.21, u cilju opisa sekvenci akcija. ASM dijagram prikazuje sličnu informaciju kao i onaj koji se odnosi na dijagram stanja. Ipak, i pored toga što on opisuje sekvencu akcija kakav je slučaj i sa dijagramom stanja, ASM dijagrami dodatno opisuju i definišu relacije između stanja.

45 Pravougaonik, nazvan state box, prikazan na sliici 2.21(a) odgovara stanju i kome se nalazi FSM. Svaki state box se izvršava za jedan taktni interval i sličan je čvoru u dijagramu stanja. Stanje kod FSM-a se koristi za obavljanje manipulacije nad podacima kao i obavljanje ulazno/izlaznih akcija. Svaki state box sadrži bezuslovne operacije za registarski prenos (Moore-ov tip) koje se obavljaju u tom stanju. Postoji samo jedan put koji ulazi u state box i jedan put koji izlazi iz state box-a. Van pravougaonika na gornjem levom uglu stoji simboličko ime stanja, dok na gornjem desnom uglu stoji oznaka binarno kodiranog stanja (ako je poznato). Na primer, na slici 2.21(b) prikazan je state box koji obavlja register transfer operaciju, Count=0. Simboličko ime dodeljeno tom stanju je s 2, a binarna vrednost kodiranog stanja je 010. Kada je FSM u stanju s 2, registar za memorisanje promenljive Count je resetovan na 0. Kada za specifični registar u state box-u operacija za registarski transfer nije specificirana, usvaja se da sadržaj tog registra ostaje nepromenjen. Registar menja svoju vrednost u stanju samo kada operacija registar transfeer upisuje u taj registra u tom state box-u. Romb oblik, nazvan decision box, prikazan na slici 2.21(c) odgovara bloku odluke. Svrha decision box-a je da testira da li dati uslov upisan u rombu je true ili false. Postoji jedan put koji ulazi u decision box, i dva puta koji napustaju romb. Putevi koji izlaze iz decision box-a se označavaju sa 1 i 0. Ako je uslov true, tada se grananje vrši po putu označan kao 1, inače se grananje vrši po putu označen kao 0. Sam po sebi decision box ne predstavlja stanje i ne preuzimaju se aktivnosti unutar bloka. Umesto toga, on se koristi da odredi naredno stanje na koje se prelazi. To je kao uslov koji se označava na potezima dijagrama stanja. Decision box se takođe koristi kod opisa FSM Mealy-evog tipa gde se akcije obavljaju u zavisnosti od uslova koji postoje na ulazu. U ovom slučaju, decision box se koristi u zajedništvu sa condition box (koga ćemo objasniti u tekstu koji sledi), radi obavljanja uslovnih akcija. Ovalno oblikovani condition box prikazan na slici 2.21(d) se takođe koristi za obavljanje registar transfer operacija na sličan način kao i state box. Ipak, nasuprot state box-u condition box se koristi za uslovne manipulaciije podacima kod FSM-ova Mealy-evog tipa. Aktuelno testiranje uslova se ne obavlja u okviru condition box-a nego u okviru decision box-a. Sam po sebi condition box nije ekvivalentan jednom stanju. On mora da se koristi zajedno sa decision box-om u okviru ASM bloka. ASM blok prikazan na slici 2.21(e) omogućava state box-u i nula ili većem broju decision i condition box-ova da budu zajednički grupisani kako bi formirali jedno stanje. Sve specificirane akcije unutar ASM bloka se izvršavaju u okviru jednog stanja ili jednog taktnog intervala. Na sličan način kao i state box ASM blok se markira imenom stanja na gornjem spoljnjem levom uglu i kodom stanja na gornjem desnom uglu. ASM blok mora da startuje jednim state box-om koji sadrži 0 ilil većim brojem bezuslovnih registar transfer operacija. Nakon state box-a, mogu da postoje nula ili veći broj decision i condition box-ova. ASM blok ima samo jednu ulaznu tačku, i jedan ili veći broj izlaznih puteva koji vode ka drugim stanjima. Na slici 2.21(f) prikazan je primer ASM bloka. Simboličko ime stanja je s 0 i koristi binarni kod 00. Kada FSM uđe u ovo stanje, promenljiva sum se inicijalizira na 0 a signal Start se testira. Ako ne postoji signal Start tj. Start=0, FSM ponovo ulazi u ovo stanje sa narednim taktnim intervalom. Ako postoji Start signal, obavlja se operacija ulaz kojom se prihvata promenljiva n. Aktuelni upisi novih vrednosti u registre sum i n obavljaju se narednom aktivnom ivicom taktnog impulsa. Drugim rečima, registar sum se ne postavlja na 0 sve dok ne naiđe naredni taktni interval, a ulazna vrednost n nije dostupna sve dok ne naiđe naredni taktni interval.

46 Slika Simboli koji se koriste u ASM dijagramima: (a) state box; (b) primer state box-a; (c) decision box; (d) condition box; (e) ASM blok; (f) primer ASM bloka Moore-ov ASM dijagram U ovom primeru mi ćemo izvesti ASM dijagram za FSM Moore-ovog tipa koji se odnosi na algoritam i stazu podataka prikazane na slici 2.3(a) i 2.3(b), a odnose se na problem IF-THEN-ELSE (Poglavlje Upravljačka jedinica). Linija 1 iz algoritma se smešta u state box koji se označava kao s_input, a kodira 000, kako je to prikazano na slici 2.22(a). Decision box se koristi za uslovni test iz linije 2 i mora biti postavljen unutar ASM bloka. Test zavisi od vrednosti koja se dobija u stanju s_input; zbog toga, on se ne može obaviti u istom stanju kao i linija 1 pa se dodeljuje stanju s_extra. U stanju s_extra ne postoji akcija koja se može obaviti bezuslovno u toku ovog taktnog intervala; s toga inicijalni state box je prazan. Ako smestimo obe linije 1 i 2 u isti ASM blok, kako je to prikazano na slici 2.22(b), tada tajming će biti nekorektan jer ponovo pokušavamo da čitamo iz registra vrednost koja još nije ažurirana. Kod FSM Moore-ovog tipa, akcije se obavljlaju bezuslovno; zbog toga, linije 3 i 5 u algoritmu su smeštene u dva izdvojena state box-a. Dva izlazna puta iz decision box-a su usmerena ka ova dva state box-a; jedan kada je uslov true a drugi kada je uslov false. Konačno, oba stanja,

47 s_notequal i s_equal, prelaze u stanje s_output kako bi se obavila operacija izlaz. Ako se obavi operacija izlaz u stanjima s_notequal i s_equal, kako je to prikazano na slici 11(c), tada ponovo, će izlaz biti nekorektan pošto će se čitati iz registra B pre nego što je njegova vrednost ažurirana. Ako želimo da obavimo operaciju izlaz zajedno sa operacijom dodele vrednosti registru B u istom stanju, tada ono što možemo da obavimo je da generišemo na izlazu konstantnu vrednost koja će se upisati u registar B, a ne generisati izlaz iz registra B. Slika Moore-ov ASM dijagram za problem IF-THEN-ELSE (Poglavlje Upravljačka jedinica): (a) korektni ASM dijagram; (b) pogrešan ASM blok; i (c) pogrešan izlaz Mealy-ev ASM dijagram Izvedimo sada ASM dijagram koji se odnosi na algoritam i stazu podataka prikazane na slici 2.3(a) i 2.3(b), a odnose se na problem IF-THEN-ELSE (Poglavlje Upravljačka jedinica) za Mealyev FSM. Rezultujući ASM dijagram je prikazan na slici Glavna razlika između ovog dijagrama i onog prikazanog na slici 2.22(a) sastoji se u uslovnim dodelama (linije 3 i 5 u algoritmu) koje se obavlljaju u okviru istog stanja kao u s_extra. Obe uslovne dodele su smeštene u dva izdvojena ovalna condition box-a. Putevi koji su usmereni ka njima su isti kao u prethodnom slučaju. Pošto su condition box-ovi smešteni u isti ASM blok, ASM blok ima sada samo jedan izlaz ka s_output kojim se obavlja operacija izlaz.

48 Slika Mealy-ev ASM dijagram za problem IF-THEN-ELSE (Poglavlje Upravljačka jedinica) Prednost Mealy-eve mašine ne sastoji se samo u činjenici da ona koristi manji broj stanja, što rezultira jednostavnijoj upravljačkoj jedinici, nego i u tome što zahteva manji broj taktnih intervala za izvršenje algoritma Tabele akcije stanja Tabela akcija stanja je drugi način da se opiše ponašanje sekvencijalnog kola. Dok je ASM dijagram sličan dijagramu stanja, tabela akcije stanja je slilčna tabeli naredno-stanje i tabeli izlaza kada se one zajednički kombinuju. Tabela akcije stanja ima sledeće tri kolone: tekuće stanje, naredno stanje, i akcije staze podataka. Ulazi naredno stanje i akcije staze podataka mogu biti bezuslovne ili uslovne. Ipak, umesto numerisanja svih mogućih uslova i njihovog listanja u kolonama kao što je to izvedeno kod tabele naredno stanje, uslov se upisuje na početku ulaza naredno stanje uvek kada je to neophodno. Ako se ispred ulaza naredno stanje ne upiše uslov, tada je to bezuslovno naredno stanje (FSM prelazi u to stanje bezuslovno). Ako se naredno stanje kvalifikuje uslovom, tada će FSM preći u to stanje samo ako je uslov true. Grananje u dijagramu stanja odgovara narednom stanju sa uslovom, tako da ulaz koji odgovara tom narednom stanju ima pridruženi uslov. Akcije staza podataka su slične informaciji koja postoji u tabeli upravljačke reči. Na sličan način kao i naredna stanja, i akcije staze podataka mogu biti uslovne ili bezuslovne. Ako akcija nije označena sa uslovom koji je prethodno naglašen, tada je akcija bezuslovna. Inače, to je uslovna akcija, a akcija se obavlja samo ako je uslov true. Sve akcije staze podataka za Moore-ov FSM ne karakterišu se uslovom, pošto akcije Moore-ove staze podataka zavise samo od tekućeg stanja. Kod Mealy-eve FSM za neke od ulaza koji se odnose na akcije staze podataka postoje uslovne akcije. Na slici 2.24 prikazan je Moore-ov tip tabele akcije stanja za odgovarajući ASM dijagram iz primera za Moore-ov ASM sa slike Iz tekućeg stanja s_input, FSM bezuslovno obavlja akciju INPUT A, a zatim bezuslovno prelazi u stanje s_extra. U stanju s_extra FSM može preći bilo u stanje s_notequal, ili s_equal, u zavisnosti od uslova (A=5). U ovom stanju se ne obavlja akcija. U stanju s_notequal obavlja se akcija B=15, a zatim FSM bezuslovno prelazi u stanje s_output.

49 U stanju s_equal, obavlja se akcija B=8, FSM obavlja akciju OUTPUT B i zaustavlja se u tom stanju vreteći se stalno u istom stanju. Sve akcije u ovoj tabeli akcije stanja se obavljaju bezuslovno; zbog toga je to FSM Moore-ovog tipa. Kada FSM uđe u stanje, on uvek obavllja bezuslovnu akciju (akcije) dodeljene tom stanju, a nakon toga određuje koje će biti naredno stanje. Ovo je ekvivalentno ASM bloku gde se bezuslovni state box uvek upisuje pre nego što se donese bilo kakva odluka u decision box-u. Slika Jednostavna tabela akcije stanja za Moore-ov tip FSM-a Na slici 2.25 prikazana je tabela akcije stanja za Mealy-ev tip koja odgovara ASM dijagramu iz primera sa slike U tekućem stanju s_extra, izvršava se jedna od dve uslovne akcije, što zavisi od rezultata uslovnog testa. Nakon obavljanja akcije, FSM bezuslovno prelazi u stanje s_output. Slika Jednostavna tabela akcije stanja za Mealy-ev tip FSM-a

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju

Διαβάστε περισσότερα

3.1 Granična vrednost funkcije u tački

3.1 Granična vrednost funkcije u tački 3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)

Διαβάστε περισσότερα

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti). PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo

Διαβάστε περισσότερα

Elementi spektralne teorije matrica

Elementi spektralne teorije matrica Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena

Διαβάστε περισσότερα

Ispitivanje toka i skiciranje grafika funkcija

Ispitivanje toka i skiciranje grafika funkcija Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3

Διαβάστε περισσότερα

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,

Διαβάστε περισσότερα

41. Jednačine koje se svode na kvadratne

41. Jednačine koje se svode na kvadratne . Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k

Διαβάστε περισσότερα

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a

Διαβάστε περισσότερα

Osnovne teoreme diferencijalnog računa

Osnovne teoreme diferencijalnog računa Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako

Διαβάστε περισσότερα

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012 Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)

Διαβάστε περισσότερα

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo Elektrotehnički fakultet univerziteta u Beogradu 7.maj 009. Odsek za Softversko inžinjerstvo Performanse računarskih sistema Drugi kolokvijum Predmetni nastavnik: dr Jelica Protić (35) a) (0) Posmatra

Διαβάστε περισσότερα

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO

Διαβάστε περισσότερα

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1 Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,

Διαβάστε περισσότερα

SISTEMI NELINEARNIH JEDNAČINA

SISTEMI NELINEARNIH JEDNAČINA SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije

Διαβάστε περισσότερα

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log = ( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se

Διαβάστε περισσότερα

5 Ispitivanje funkcija

5 Ispitivanje funkcija 5 Ispitivanje funkcija 3 5 Ispitivanje funkcija Ispitivanje funkcije pretodi crtanju grafika funkcije. Opšti postupak ispitivanja funkcija koje su definisane eksplicitno y = f() sadrži sledeće elemente:

Διαβάστε περισσότερα

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda

Διαβάστε περισσότερα

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x

Διαβάστε περισσότερα

Teorijske osnove informatike 1

Teorijske osnove informatike 1 Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija

Διαβάστε περισσότερα

ELEKTROTEHNIČKI ODJEL

ELEKTROTEHNIČKI ODJEL MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,

Διαβάστε περισσότερα

III VEŽBA: FURIJEOVI REDOVI

III VEŽBA: FURIJEOVI REDOVI III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.

Διαβάστε περισσότερα

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:

Διαβάστε περισσότερα

Zavrxni ispit iz Matematiqke analize 1

Zavrxni ispit iz Matematiqke analize 1 Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1

Διαβάστε περισσότερα

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno. JŽ 3 POLAN TANZSTO ipolarni tranzistor se sastoji od dva pn spoja kod kojih je jedna oblast zajednička za oba i naziva se baza, slika 1 Slika 1 ipolarni tranzistor ima 3 izvoda: emitor (), kolektor (K)

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA ELEKTROTEHNIČKI FAKULTET U BEOGRADU KATEDRA ZA ELEKTRONIKU OSNOVI ELEKTRONIKE SVI ODSECI OSIM ODSEKA ZA ELEKTRONIKU LABORATORIJSKE VEŽBE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA Autori: Goran Savić i Milan

Διαβάστε περισσότερα

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović Univerzitet u Nišu Elektronski fakultet RAČUNSKE VEŽBE IZ PREDMETA (IV semestar modul EKM) IV deo Miloš Marjanović MOSFET TRANZISTORI ZADATAK 35. NMOS tranzistor ima napon praga V T =2V i kroz njega protiče

Διαβάστε περισσότερα

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla XI dvoqas veжbi dr Vladimir Balti 4. Stabla Teorijski uvod Teorijski uvod Definicija 5.7.1. Stablo je povezan graf bez kontura. Definicija 5.7.1. Stablo je povezan graf bez kontura. Primer 5.7.1. Sva stabla

Διαβάστε περισσότερα

Operacije s matricama

Operacije s matricama Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M

Διαβάστε περισσότερα

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala

Διαβάστε περισσότερα

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A. 3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M

Διαβάστε περισσότερα

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA.

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA. IOAE Dioda 8/9 I U kolu sa slike, diode D su identične Poznato je I=mA, I =ma, I S =fa na 7 o C i parametar n= a) Odrediti napon V I Kolika treba da bude struja I da bi izlazni napon V I iznosio 5mV? b)

Διαβάστε περισσότερα

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Sortiranje prebrajanjem (Counting sort) i Radix Sort Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting

Διαβάστε περισσότερα

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati

Διαβάστε περισσότερα

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota: ASIMPTOTE FUNKCIJA Naš savet je da najpre dobro proučite granične vrednosti funkcija Neki profesori vole da asimptote funkcija ispituju kao ponašanje funkcije na krajevima oblasti definisanosti, pa kako

Διαβάστε περισσότερα

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola. KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: = a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije = a + b + c je parabola. Najpre ćemo naučiti kako

Διαβάστε περισσότερα

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA. KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI NEUTRALNI ELEMENT GRUPOIDA 1 Grupoid (G, ) je asocijativa akko važi ( x, y, z G) x (y z) = (x y) z Grupoid (G, ) je komutativa akko važi ( x, y G) x y = y x Asocijativa

Διαβάστε περισσότερα

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju

Διαβάστε περισσότερα

18. listopada listopada / 13

18. listopada listopada / 13 18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu

Διαβάστε περισσότερα

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.

Διαβάστε περισσότερα

Algoritmi i strukture podataka - 1.cas

Algoritmi i strukture podataka - 1.cas Algoritmi i strukture podataka - 1.cas Aleksandar Veljković October 2016 Materijali su zasnovani na materijalima Mirka Stojadinovića 1 Složenost algoritama Približna procena vremena ili prostora potrebnog

Διαβάστε περισσότερα

Algoritmi zadaci za kontrolni

Algoritmi zadaci za kontrolni Algoritmi zadaci za kontrolni 1. Nacrtati algoritam za sabiranje ulaznih brojeva a i b Strana 1 . Nacrtati algoritam za izračunavanje sledeće funkcije: x y x 1 1 x x ako ako je : je : x x 1 x x 1 Strana

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo Najpre da se podsetimo tablice i osnovnih pravila:. C0.. (. ( n n n-. (a a lna 6. (e e 7. (log a 8. (ln ln a (>0 9. ( 0 0. (>0 (ovde je >0 i a >0. (cos. (cos - π. (tg kπ cos. (ctg

Διαβάστε περισσότερα

numeričkih deskriptivnih mera.

numeričkih deskriptivnih mera. DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,

Διαβάστε περισσότερα

SKUPOVI I SKUPOVNE OPERACIJE

SKUPOVI I SKUPOVNE OPERACIJE SKUPOVI I SKUPOVNE OPERACIJE Ne postoji precizna definicija skupa (postoji ali nama nije zanimljiva u ovom trenutku), ali mi možemo koristiti jednu definiciju koja će nam donekle dočarati šta su zapravo

Διαβάστε περισσότερα

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1. Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić OSNOVI ELEKTRONIKE Vežbe (2 časa nedeljno): mr Goran Savić savic@el.etf.rs http://tnt.etf.rs/~si1oe Termin za konsultacije: četvrtak u 12h, kabinet 102 Referentni smerovi i polariteti 1. Odrediti vrednosti

Διαβάστε περισσότερα

Poglavlje 7. Blok dijagrami diskretnih sistema

Poglavlje 7. Blok dijagrami diskretnih sistema Poglavlje 7 Blok dijagrami diskretnih sistema 95 96 Poglavlje 7. Blok dijagrami diskretnih sistema Stav 7.1 Strukturni dijagram diskretnog sistema u kome su sve veliqine prikazane svojim Laplasovim transformacijama

Διαβάστε περισσότερα

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x. 4.7. ZADACI 87 4.7. Zadaci 4.7.. Formalizam diferenciranja teorija na stranama 4-46) 340. Znajući izvod funkcije arcsin, odrediti izvod funkcije arccos. Rešenje. Polazeći od jednakosti arcsin + arccos

Διαβάστε περισσότερα

Dvanaesti praktikum iz Analize 1

Dvanaesti praktikum iz Analize 1 Dvaaesti praktikum iz Aalize Zlatko Lazovi 20. decembar 206.. Dokazati da fukcija f = 5 l tg + 5 ima bar jedu realu ulu. Ree e. Oblast defiisaosti fukcije je D f = k Z da postoji ula fukcije a 0, π 2.

Διαβάστε περισσότερα

Program testirati pomoću podataka iz sledeće tabele:

Program testirati pomoću podataka iz sledeće tabele: Deo 2: Rešeni zadaci 135 Vrednost integrala je I = 2.40407 42. Napisati program za izračunavanje koeficijenta proste linearne korelacije (Pearsonovog koeficijenta) slučajnih veličina X = (x 1,..., x n

Διαβάστε περισσότερα

Riješeni zadaci: Nizovi realnih brojeva

Riješeni zadaci: Nizovi realnih brojeva Riješei zadaci: Nizovi realih brojeva Nizovi, aritmetički iz, geometrijski iz Fukciju a : N R azivamo beskoači) iz realih brojeva i ozačavamo s a 1, a,..., a,... ili a ), pri čemu je a = a). Aritmetički

Διαβάστε περισσότερα

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Katedra za elektroniku Elementi elektronike Laboratorijske vežbe Vežba br. 2 STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Datum: Vreme: Studenti: 1. grupa 2. grupa Dežurni: Ocena: Elementi elektronike -

Διαβάστε περισσότερα

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: Staša Vujičić Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: pseudo jezikom prirodnim jezikom dijagramom toka. 2

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij, Linearna algebra 2 prvi kolokvij, 27.. 20.. Za koji cijeli broj t je funkcija f : R 4 R 4 R definirana s f(x, y) = x y (t + )x 2 y 2 + x y (t 2 + t)x 4 y 4, x = (x, x 2, x, x 4 ), y = (y, y 2, y, y 4 )

Διαβάστε περισσότερα

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011. INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno

Διαβάστε περισσότερα

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA : MAKSIMALNA BRZINA Maksimalna brzina kretanja F O (N) F OI i m =i I i m =i II F Oid Princip određivanja v MAX : Drugi Njutnov zakon Dokle god je: F O > ΣF otp vozilo ubrzava Kada postane: F O = ΣF otp

Διαβάστε περισσότερα

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D} Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija

Διαβάστε περισσότερα

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa? TET I.1. Šta je Kulonova sila? elektrostatička sila magnetna sila c) gravitaciona sila I.. Šta je elektrostatička sila? sila kojom međusobno eluju naelektrisanja u mirovanju sila kojom eluju naelektrisanja

Διαβάστε περισσότερα

APROKSIMACIJA FUNKCIJA

APROKSIMACIJA FUNKCIJA APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu

Διαβάστε περισσότερα

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =

Διαβάστε περισσότερα

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

Διαβάστε περισσότερα

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije

Διαβάστε περισσότερα

Kaskadna kompenzacija SAU

Kaskadna kompenzacija SAU Kaskadna kompenzacija SAU U inženjerskoj praksi, naročito u sistemima regulacije elektromotornih pogona i tehnoloških procesa, veoma često se primenjuje metoda kaskadne kompenzacije, u čijoj osnovi su

Διαβάστε περισσότερα

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1) Inženjerska grafika geometrijskih oblika (5. predavanje, tema1) Prva godina studija Mašinskog fakulteta u Nišu Predavač: Dr Predrag Rajković Mart 19, 2013 5. predavanje, tema 1 Simetrija (Symmetry) Simetrija

Διαβάστε περισσότερα

5. Karakteristične funkcije

5. Karakteristične funkcije 5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična

Διαβάστε περισσότερα

radni nerecenzirani materijal za predavanja

radni nerecenzirani materijal za predavanja Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Kažemo da je funkcija f : a, b R u točki x 0 a, b postiže lokalni minimum ako postoji okolina O(x 0 ) broja x 0 takva da je

Διαβάστε περισσότερα

7 Algebarske jednadžbe

7 Algebarske jednadžbe 7 Algebarske jednadžbe 7.1 Nultočke polinoma Skup svih polinoma nad skupom kompleksnih brojeva označavamo sa C[x]. Definicija. Nultočka polinoma f C[x] je svaki kompleksni broj α takav da je f(α) = 0.

Διαβάστε περισσότερα

Geometrija (I smer) deo 1: Vektori

Geometrija (I smer) deo 1: Vektori Geometrija (I smer) deo 1: Vektori Srdjan Vukmirović Matematički fakultet, Beograd septembar 2013. Vektori i linearne operacije sa vektorima Definicija Vektor je klasa ekvivalencije usmerenih duži. Kažemo

Διαβάστε περισσότερα

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom. 1 Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom. Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. Pravilo 3. Primarni ključ entiteta postaje

Διαβάστε περισσότερα

Komponente digitalnih sistema. Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka

Komponente digitalnih sistema. Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka Komponente digitalnih sistema Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka Standardne digitalne komponente (moduli) Obavljaju funkcije za koje

Διαβάστε περισσότερα

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... } VEROVTNOĆ - ZDI (I DEO) U računu verovatnoće osnovni pojmovi su opit i događaj. Svaki opit se završava nekim ishodom koji se naziva elementarni događaj. Elementarne događaje profesori različito obeležavaju,

Διαβάστε περισσότερα

Matematička analiza 1 dodatni zadaci

Matematička analiza 1 dodatni zadaci Matematička analiza 1 dodatni zadaci 1. Ispitajte je li funkcija f() := 4 4 5 injekcija na intervalu I, te ako jest odredite joj sliku i inverz, ako je (a) I = [, 3), (b) I = [1, ], (c) I = ( 1, 0].. Neka

Διαβάστε περισσότερα

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina: S t r a n a 1 1.Povezati jonsku jačinu rastvora: a MgCl b Al (SO 4 3 sa njihovim molalitetima, m za so tipa: M p X q pa je jonska jačina:. Izračunati mase; akno 3 bba(no 3 koje bi trebalo dodati, 0,110

Διαβάστε περισσότερα

7. SEKVENCIJALNA KOLA

7. SEKVENCIJALNA KOLA 7 SEKVENIJALNA KOLA 7 Odnos između kombinacionih i sekvencijalnih kola Na logičkom nivou digitalna kola se dele na dve velike klase: ona koja ne poseduju memoriju nazivamo kombinacionim kolima, dok su

Διαβάστε περισσότερα

INTELIGENTNO UPRAVLJANJE

INTELIGENTNO UPRAVLJANJE INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila

Διαβάστε περισσότερα

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KVADRATNA FUNKCIJA.   Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola. KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije a + b + c je parabola. Najpre ćemo naučiti kako izgleda

Διαβάστε περισσότερα

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri 1 1 Zadatak 1b Čisto savijanje - vezano dimenzionisanje Odrediti potrebnu površinu armature za presek poznatih dimenzija, pravougaonog

Διαβάστε περισσότερα

Riješeni zadaci: Limes funkcije. Neprekidnost

Riješeni zadaci: Limes funkcije. Neprekidnost Riješeni zadaci: Limes funkcije. Neprekidnost Limes funkcije Neka je 0 [a, b] i f : D R, gdje je D = [a, b] ili D = [a, b] \ { 0 }. Kažemo da je es funkcije f u točki 0 jednak L i pišemo f ) = L, ako za

Διαβάστε περισσότερα

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z. Pismeni ispit iz matematike 06 007 Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj z = + i, zatim naći z Ispitati funkciju i nacrtati grafik : = ( ) y e + 6 Izračunati integral:

Διαβάστε περισσότερα

Trigonometrijske nejednačine

Trigonometrijske nejednačine Trignmetrijske nejednačine T su nejednačine kd kjih se nepznata javlja ka argument trignmetrijske funkcije. Rešiti trignmetrijsku nejednačinu znači naći sve uglve kji je zadvljavaju. Prilikm traženja rešenja

Διαβάστε περισσότερα

MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA

MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA 1 1. OSNOVE SAR A/D KONVERTORA najčešće se koristi kada su u pitanju srednje brzine konverzije od nekoliko µs do nekoliko

Διαβάστε περισσότερα

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log

Διαβάστε περισσότερα

Obrada signala

Obrada signala Obrada signala 1 18.1.17. Greška kvantizacije Pretpostavka je da greška kvantizacije ima uniformnu raspodelu 7 6 5 4 -X m p x 1,, za x druge vrednosti x 3 x X m 1 X m = 3 x Greška kvantizacije x x x p

Διαβάστε περισσότερα

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II 1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II Zadatak: Klipni mehanizam se sastoji iz krivaje (ekscentarske poluge) OA dužine R, klipne poluge AB dužine =3R i klipa kompresora B (ukrsne glave). Krivaja

Διαβάστε περισσότερα

MEHANIKA FLUIDA. Isticanje kroz otvore sa promenljivim nivoom tečnosti

MEHANIKA FLUIDA. Isticanje kroz otvore sa promenljivim nivoom tečnosti MEHANIKA FLUIDA Isticanje kroz otvore sa promenljivim nivoom tečnosti zadatak Prizmatična sud podeljen je vertikalnom pregradom, u kojoj je otvor prečnika d, na dve komore Leva komora je napunjena vodom

Διαβάστε περισσότερα

Slika 1.1 Tipičan digitalni signal

Slika 1.1 Tipičan digitalni signal 1. DIGITALNA KOLA Kola u digitalnim sistemima i digitalnim računarima su napravljena da rade sa signalima koji su digitalne prirode, što znači da ovi signali mogu da imaju samo dve moguće vrednosti u datom

Διαβάστε περισσότερα

Protočnost 1. PROTOČNOST. 1.1 Osnovne tehnike za eksploataciju paralelizma

Protočnost 1. PROTOČNOST. 1.1 Osnovne tehnike za eksploataciju paralelizma SADRŽAJ 1. PROTOČNOST...2 1.1 Osnovne tehnike za eksploataciju paralelizma...2 1.2 Protočna obrada na nivou instrukcije osnovni koncepti...3 1.3 Performansne mere... 1.4 Tehnika projektovanja protočnog

Διαβάστε περισσότερα

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18. Deljivost 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18. Rešenje: Nazovimo naš izraz sa I.Važi 18 I 2 I 9 I pa možemo da posmatramo deljivost I sa 2 i 9.Iz oblika u kom je dat

Διαβάστε περισσότερα

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011. Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika Monotonost i ekstremi Katica Jurasić Rijeka, 2011. Ishodi učenja - predavanja Na kraju ovog predavanja moći ćete:,

Διαβάστε περισσότερα

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B. Korespondencije Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B. Pojmovi B pr 2 f A B f prva projekcija od

Διαβάστε περισσότερα

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

Διαβάστε περισσότερα

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ). 0.1 Faktorizacija: ID, ED, PID, ND, FD, UFD Definicija. Najava pojmova: [ID], [ED], [PID], [ND], [FD] i [UFD]. ID: Komutativan prsten P, sa jedinicom 1 0, je integralni domen [ID] oblast celih), ili samo

Διαβάστε περισσότερα

Postoji nekoliko statidtičkih testova koji koriste t raspodelu, koji se jednim imenom zovu t-testovi.

Postoji nekoliko statidtičkih testova koji koriste t raspodelu, koji se jednim imenom zovu t-testovi. Postoji nekoliko statidtičkih testova koji koriste t raspodelu, koji se jednim imenom zovu t-testovi. U SPSS-u su obradjeni: t test razlike između aritmetičke sredine osnovnog skupa i uzorka t test razlike

Διαβάστε περισσότερα

TRIGONOMETRIJSKE FUNKCIJE I I.1.

TRIGONOMETRIJSKE FUNKCIJE I I.1. TRIGONOMETRIJSKE FUNKCIJE I I Odredi na brojevnoj trigonometrijskoj kružnici točku Et, za koju je sin t =,cost < 0 Za koje realne brojeve a postoji realan broj takav da je sin = a? Izračunaj: sin π tg

Διαβάστε περισσότερα

1 Promjena baze vektora

1 Promjena baze vektora Promjena baze vektora Neka su dane dvije različite uredene baze u R n, označimo ih s A = (a, a,, a n i B = (b, b,, b n Svaki vektor v R n ima medusobno različite koordinatne zapise u bazama A i B Zapis

Διαβάστε περισσότερα