Top Banner
DIGITALNA LOGIKA Procesori, racunari, uopste, digitalna tehnika su uredjaji paradoksalni, sa mnogo neocekivanih stvari. Oni su prema nama neuporedivo brzi. Ljudi imaju intuiciju, predrasude, bazirane na sopstvenom iskustvu, a racunari su brzi pa intuicija vara cesto. Procesori su najkomplikovaniji uredjaji na izvestan nacin, a sa druge strane su mnogo jednostavni. Kompleksni uredjaji su oni uredjaji koji imaju mnogo sastavnih delova. Ukupan broj delova u jednom racunaru moze da bude milijarda (samo procesor ima par stotina miliona delova). Ali sa druge strane, imamo da iako je taj racunar napravljen od milijardu delova, svi elementi su prakticno jednaki (isti), taj isti deo se ponavlja milijardu puta (to je paradoks). Takodje imamo i dodatnu cinjenicu – kod racunara imamo pitanje sta je gradivni element (pitanje za sebe, sta je taj element, kako da ga poboljsavamo), a drugo pitanje je kako sastaviti te gradivne elemente (ne zanima nas sta je taj gradivni element, vec kako da ih rasporedim). Ova dva pitanja su u potpunosti odvojena. Razvoj racunarske tehnologije zavisi od razvoja tog gradivnog elementa (ovo je veoma dinamicko, brzo napreduje), a drugo pitanje (kako da sklopimo) je staticka oblast i taj deo se ne menja (isto je bilo i pre mnogo godina). Samo u racunarstvu imamo ove dve oblasti koje nisu povezane i potpuno se odvojeno razmatraju. Gradivni element Dinamicka oblast Sastavljanje gradivnog elementa Staticka oblast Znaci, jedno je pitanje gradivnih delova, a drugo je pitanje slaganje tih gradivnih delova, tj arhitektura. Klasicna digitalna logika se bavi arhitekturom (slaganjem elemenata), medjutim, ona ne ide mnogo nisko. Mi cemo ovde da uradimo i to nisko, da bismo bolje razumeli. U tom gradivnom elementu je sadrzan sav napredak tehnologije i sve sto se desava u racunarima. Tu se uplice eksponencijalni razvoj. Razvoj racunarskog hardvera je eksponencijalan. Mooreov zakon (podpredsednik i koosnivac Intela) – performanse racunarskog hardvera se udvostrucuju svakih 18 meseci (nije dramaticna izreka, ne zvuci narocito). Mi intuitivno nemamo predstavu eksponencijalnosti (10 na 100 nam je isto sto i 10 na 105, ali nije tako). Za Mooreov zakon su ljudi smislili jednu recenicu (da bi pobedili nasu intuiciju). Uzeli su da uporedjuju racunare i automobile. 1945 je pocetna godina nastanka racunara. i uzeli su do 1995 godine (50 godina). Uzeli su ovaj raspon od 50 godina da bi uporedili automobile i racunare. Uzeli su listu parametra koji se uporedjuju (automobili – cena, brzina, racunari – memorija, koliko kostaju…). Ispisu se ti svi parametri za automobile i racunare za 45 godinu i za 1995 godinu. i doslo se do recenice: Da su se automobili razvijali onom brzinom kojom su se razvijali racunari, isli bi 700km na h, trosili bi pola deci goriva, kostali bi 2 dolara, a prevozili bi 300 putnika (ovom recenicom se pokazuje kako nasa intuicija nama ne dozvoljava da shvatimo razvoj racunarstva). Dakle, racunari se strahovito brzo razvijaju, a ceo razvoj je skoncentrisan u jednom jedinom grdivnom elementu. Stvari se eksponencijalno unapredjuju samo sa strane tog gradivnog elemnta, a ono kako ih slazemo se ne poboljsava. Postoji isto jedan stari primer eksponencijanog. Prica o navodnom izumitelju igre saha. Pre par hiljada godina, neki covek je izmislio sah, i pokazao je tu igru nekom caru. Ovaj je hteo da ga nagradi, ali taj izumitelj je rekao da bi hteo jedno zrno psenice na prvom polju, a drugom 2 zrna, pa 4, pa 8, 16, pa 256 zrna… Ovde se radi isto sto i u Moorevom zakonu (eksponencijalno, pa to ide u beskonacnost jako brzo…..). Kada su ljudi uzeli to pa preracunavali, isplao bi da je na tu sahovsku tablu stajalo psenice kolika je 200 – godisnja proizvodnja psenica (ovo je primer koji objasnjava koliko mi intuitivno ne razumemo eksponencijalno). Isto tako postoji jos jedan primer. Problem putujuceg trgovca. Posmatramo 20 gradova. Neki putujuci trgovac mora da obidje sve gradove. Za svaki par gradova se zna cena putovanja. Problem je da se nadje najjeftiniji put, tj da najmanje para potrosi za taj put. (ovaj zadatak deluje veoma razuman). Mnogi bi se uhvatili da to izracunaju za neku nadoknadu (naivni za 100 evra, manje naizvni za 10000 evra…). Za resenje ovog problema bi trebalo 1000 godina, jer je ovaj problem eksponencijalan. Kada izanaliziramo, iz prvo grada moze da ode u bilo koji od 19 gradova, pa iz drugog u bilo koji od mogucih 18… Broj fiksiranih ruta je 19!. To je veoma neugodan broj. Stilingova formula, n! se prilicno ponasa kao n na n!!!! Kada napisemo ovo ne deluje strasno, medjutim nevolja je sto nemamo intuitivan osecaj beskonacnosti. Najbrzi racunar bi radio 1000 godina, pa se tako ovaj problem smatra neresevim. Ovo su bili razliciti primeri eksponencijalnog, koji pokazuju koliko trebamo da budemo obazrivi sa ovim. Sa ovim treba isto da povezemo pojam logaritamski (suprotno od eksponencijanog). Sa eksponencijalnim nema spasa, a kada uspemo nesto da stavimo pod logaritam, onda je mnogo jednostavnije. Naivne stvari su pod eksponentom neuhvatljive, a strasne stvari su pod logaritmom
45

DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Feb 06, 2018

Download

Documents

dinhphuc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

DIGITALNA LOGIKA Procesori, racunari, uopste, digitalna tehnika su uredjaji paradoksalni, sa mnogo neocekivanih stvari. Oni su prema nama neuporedivo brzi. Ljudi imaju intuiciju, predrasude, bazirane na sopstvenom iskustvu, a racunari su brzi pa intuicija vara cesto. Procesori su najkomplikovaniji uredjaji na izvestan nacin, a sa druge strane su mnogo jednostavni. Kompleksni uredjaji su oni uredjaji koji imaju mnogo sastavnih delova. Ukupan broj delova u jednom racunaru moze da bude milijarda (samo procesor ima par stotina miliona delova). Ali sa druge strane, imamo da iako je taj racunar napravljen od milijardu delova, svi elementi su prakticno jednaki (isti), taj isti deo se ponavlja milijardu puta (to je paradoks). Takodje imamo i dodatnu cinjenicu – kod racunara imamo pitanje sta je gradivni element (pitanje za sebe, sta je taj element, kako da ga poboljsavamo), a drugo pitanje je kako sastaviti te gradivne elemente (ne zanima nas sta je taj gradivni element, vec kako da ih rasporedim). Ova dva pitanja su u potpunosti odvojena. Razvoj racunarske tehnologije zavisi od razvoja tog gradivnog elementa (ovo je veoma dinamicko, brzo napreduje), a drugo pitanje (kako da sklopimo) je staticka oblast i taj deo se ne menja (isto je bilo i pre mnogo godina). Samo u racunarstvu imamo ove dve oblasti koje nisu povezane i potpuno se odvojeno razmatraju.

Gradivni element Dinamicka oblast Sastavljanje gradivnog elementa Staticka oblast

Znaci, jedno je pitanje gradivnih delova, a drugo je pitanje slaganje tih gradivnih delova, tj arhitektura. Klasicna digitalna logika se bavi arhitekturom (slaganjem elemenata), medjutim, ona ne ide mnogo nisko. Mi cemo ovde da uradimo i to nisko, da bismo bolje razumeli. U tom gradivnom elementu je sadrzan sav napredak tehnologije i sve sto se desava u racunarima. Tu se uplice eksponencijalni razvoj. Razvoj racunarskog hardvera je eksponencijalan. Mooreov zakon (podpredsednik i koosnivac Intela) – performanse racunarskog hardvera se udvostrucuju svakih 18 meseci (nije dramaticna izreka, ne zvuci narocito). Mi intuitivno nemamo predstavu eksponencijalnosti (10 na 100 nam je isto sto i 10 na 105, ali nije tako). Za Mooreov zakon su ljudi smislili jednu recenicu (da bi pobedili nasu intuiciju). Uzeli su da uporedjuju racunare i automobile. 1945 je pocetna godina nastanka racunara. i uzeli su do 1995 godine (50 godina). Uzeli su ovaj raspon od 50 godina da bi uporedili automobile i racunare. Uzeli su listu parametra koji se uporedjuju (automobili – cena, brzina, racunari – memorija, koliko kostaju…). Ispisu se ti svi parametri za automobile i racunare za 45 godinu i za 1995 godinu. i doslo se do recenice: Da su se automobili razvijali onom brzinom kojom su se razvijali racunari, isli bi 700km na h, trosili bi pola deci goriva, kostali bi 2 dolara, a prevozili bi 300 putnika (ovom recenicom se pokazuje kako nasa intuicija nama ne dozvoljava da shvatimo razvoj racunarstva). Dakle, racunari se strahovito brzo razvijaju, a ceo razvoj je skoncentrisan u jednom jedinom grdivnom elementu. Stvari se eksponencijalno unapredjuju samo sa strane tog gradivnog elemnta, a ono kako ih slazemo se ne poboljsava. Postoji isto jedan stari primer eksponencijanog. Prica o navodnom izumitelju igre saha. Pre par hiljada godina, neki covek je izmislio sah, i pokazao je tu igru nekom caru. Ovaj je hteo da ga nagradi, ali taj izumitelj je rekao da bi hteo jedno zrno psenice na prvom polju, a drugom 2 zrna, pa 4, pa 8, 16, pa 256 zrna… Ovde se radi isto sto i u Moorevom zakonu (eksponencijalno, pa to ide u beskonacnost jako brzo…..). Kada su ljudi uzeli to pa preracunavali, isplao bi da je na tu sahovsku tablu stajalo psenice kolika je 200 – godisnja proizvodnja psenica (ovo je primer koji objasnjava koliko mi intuitivno ne razumemo eksponencijalno). Isto tako postoji jos jedan primer. Problem putujuceg trgovca. Posmatramo 20 gradova. Neki putujuci trgovac mora da obidje sve gradove. Za svaki par gradova se zna cena putovanja. Problem je da se nadje najjeftiniji put, tj da najmanje para potrosi za taj put. (ovaj zadatak deluje veoma razuman). Mnogi bi se uhvatili da to izracunaju za neku nadoknadu (naivni za 100 evra, manje naizvni za 10000 evra…). Za resenje ovog problema bi trebalo 1000 godina, jer je ovaj problem eksponencijalan. Kada izanaliziramo, iz prvo grada moze da ode u bilo koji od 19 gradova, pa iz drugog u bilo koji od mogucih 18… Broj fiksiranih ruta je 19!. To je veoma neugodan broj. Stilingova formula, n! se prilicno ponasa kao n na n!!!! Kada napisemo ovo ne deluje strasno, medjutim nevolja je sto nemamo intuitivan osecaj beskonacnosti. Najbrzi racunar bi radio 1000 godina, pa se tako ovaj problem smatra neresevim. Ovo su bili razliciti primeri eksponencijalnog, koji pokazuju koliko trebamo da budemo obazrivi sa ovim. Sa ovim treba isto da povezemo pojam logaritamski (suprotno od eksponencijanog). Sa eksponencijalnim nema spasa, a kada uspemo nesto da stavimo pod logaritam, onda je mnogo jednostavnije. Naivne stvari su pod eksponentom neuhvatljive, a strasne stvari su pod logaritmom

Page 2: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

resive. Uzme se neki broj do 1000 (postavljaju se pitanja i onaj ko zamislja broj odgovara sa da ili ne, i onaj koji postavlja pitanja pogodi broj). Ova pitanja ce da naprave logaritamsku pretragu (svakim pitanje prepolovi interval – da li je broj veci od 500, da li je veci od 250, suzavamo hiljadu na interval jedinice). Na ovaj nacin sa logaritmom se i kontrolisu cipovi. Uzememo procesor od milion ili 100 miliona elemenata, i znacemo uz princip logartma tacno koji je koji i cemu sluzi koji logaritam (procesor je hijerarhijski sredjen, znamo da se on deli na 5,6 delova, pa se svaki od tih delova deli na jos nekoliko delova, pa sve tako….. i tamo logaritmom u nekoliko desetina koraka mozemo tacno da vidimo sta je koji element). Ovde sve posmatramo kao drvo sa korenom i odredjenim faktorom (na koliko se grana stablo grana), i onda mozemo brzo da dodjemo do detalja (listova, npr naredbi). Ovo sve pomaze kod velikih sistema. Sve kod velikih sistema dobro funkcionise jer su ti sistemi hijerarhijski organizovani i lako mozemo da dodjemo do bilo kog elemenata u samo nekoliko koraka. Kada su razmotrene ove osnovne zakonitosti, idemo ka objasnjavanju tog gradivnog elemnta, kako radi, itd. IV PREDAVANJE – 21.03.2007. god. Dakle, poceli smo digitalnu logiku proslog casa, ali ne njen klasicni deo, vec deo koji joj prethodi. Sada bi trebalo da se prekidac, kao osnovna gradivna jedinica detaljnije pogleda. Osnovni gradivni element jeste prekidac. To je prekidac specijalnih osobina (nije kao prekidac za svetlo, cesma za vodu je isto prekidac – ili pusta ili ne pusta vodu). Ovde nam treba prekidac, koji se kontrolise onim sto on sam kontrolise, da bi bila omogucena kontrolna sprega (svaki prekidac nesto kontrolise, slavina voda, svetlo, struja, ali se oni kontrolisu necim drugim, mehanickom silom,…). Sa gledista arhitekture kazemo, dajte nam 100000 prekidaca, i napravicemo neki procesor. A sa gledista gradivnog elementa, ljudi naprave prekidac i ne zanima ga gde ce da ide. Tokom istorije je bilo raznih vrsta prekidaca. Razvojoj je bio ili kvantitativan ili kvalitativan – naizmenicni napredak (bilo kvalitativan, bilo kvantitativan). Kvalitativan razvoj (kada je napavljen sustinsko drugaciji prekidac), pa kvantitativan… Ovaj prekidac moze da prekida bilo sta – najzgodnije bi bilo struju ili napon. Pitanje bi bilo, koji bi bio najjednostavniji prekidac za struju koji zadovoljava one gore uslove. Ovakvi prekidaci postoje odavno, i interesantno je da sada ljudi imaju manje kontakta sa tim prekidacem i manje znaju o njemu nego pre mnogo godina. Prekidac koji zadovoljava ove osobine zove se relej. Danas su ti releji sakriveniji. Relej je elektromehanicni uredjaj, koji radi po principu releja, gde se magnetom privalci neki kontakt koji se onda spaja i razdvaja. Relej je naprava koja se koristi za prekidanje ili uspostavljanje strujnog kola putem elektromagneta koji otvara i zatvara strujne kontakte.

Page 3: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Princip rada releja. U gornjem dijelu slike, relej je isključen. Kontakti dalje od elektromagneta (žuti cilindar) su otvoreni. U donjem dijelu slike relej je uključen, kotva pomjera srednji kontakt koji sad uspostavlja vezu sa desnim. Desni par kontakata je dakle normalno otvoren. Ranije su se releji prodavali na ekskluzivnim mestima, pa su bili vidljiviji (ima ih na autu, kontrolisu paljenje svetla…). Relej je vrlo jednostavan uredjaj, imamo kalem u kome imamo neko jezgro, pa pleh, pa metalni pokrivac, pa kontakt. Pitanje kod releja je da li struja moze da tece, kontrolise se elektromagnetom, a elektromagnet se kontrolise strujom (uslov da kontrolise sam sebe je ispunjen – da li tece struja se kontrolise elektromagnetom, a elektromagnet se kontrolise strujom (samim sobom)). Dakle, ovo je resenje i potrebno je samo da se on fabricki proizvede. Postoji shematski simbol za prekidac (struja tece izmedju a i b, a kontrolise se tackom c). Mi sada kazemo sa aspekta arhitekture da je prekidac dat i sada ih samo slazemo. Sada moze da se razmatra da li moze da se napravi neki drugi prekidac (imamo a,b,c i to je to, samo pitamo da li moze da bude brze,jednostavnije, tj pokusavamo da optimizujemo ove parametre). Kroz istoriju se pokazalo da je tu moglo da se pronadje nesto sustinski drukcije – kada se prekidacki element sustinski menjao, radi se o novoj generaciji racunara (kvalitativni pomak), pa se onda to sustinski drukcije kvantitativno poboljsava. Ovo sa relejima se koristilo, sada se naravno ne koristi i to se zove nulta generacija racunara (nisu pravi racunari, ali nisu mogli ni da se zanemare, pa su zato nazvani nultom generacijom, vreme pre drugog svetskog rata). Ovaj relej funkcionise, ali iako se on kontrolise i prekida se strujom, ovaj uredjaj radi elektronski, ali radi i mehanicki, a mehanicki uredjaji ne mogu da budu mnogo kvalitetni. Zato sto ovi uredjaji mehanicki prekidaju, ne mogu da budu mnogo brzi (zvonce na vratima radi na ovom istom principu). Ovaj uredjaj moze stotinak puta da prekine u sekundi (dobro je u odnosu na coveka, ali je ograniceno). Krenulo se na trazenje necega drugog. Pred kraj drugog svetskog rata, do 1945 godine, uzet je drugi uredjaj elektronka – elektronska cev (koristio se u radio elektronici). Isto je jednostavne konstrukcije, npr trioda. Iz jednog staklenog balona se izvuce vazduh (napravi se vakum, da se e ne bi sudarali sa vazduhom). Napravi se elektroda koja ce da propusta elektrone. Mora da se podgreje da bi lakse otpustala elektrone. Ovo je nekakav provodnik (kroz vakum se propustaju elektroni). Na ovaj nacin smo dobili istu stvar kao kod releja, A,B, i C (isto kontrolise struju i kontrolise se strujom). Razlika u odnosu na relej je sto je ovaj uredjaj potpuno elektronski. Ovaj uredjaj moze da ide i milijardama puta u sekundi (sustinska razlika). Ovi uredjaju su npr od releja x2 skuplji, x2 veci, ali je to zanemarljivo u odnosu na sto sto su milion puta brzi. Ovo je prva generacija racunara (1945, ENICAC je prvi predstavnik tog racunara, ENIAC je imao 18000 elektronki). Veliki broj tih elektronki na jednom mestu, mnogo struje trosi i veliki toplotu oslobadja, pa se onda radilo na smanjenju potrosnje, manjem zagrevanju i to je sve deo tihog razvoja unutar jedne generacije (kvantitativni skok). Posle ovoga je doslo do pojave tranzistora. Ideja prekidaca moze da se uradi i na drugim principima. Jos je 1928 godine razmatrana ideja kako bi mogao da se napravi neki novi tip prekidaca (u praksi tada nije moglo nista da bude od toga). Uzme se plocica od nekog materijala (poluprovodnici, silicijum,

Page 4: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

germanijum). Napravi se kanal koji ce da ima visak elektrona. Onda se napravi drugi kanal koji isto tako ima visak elektrona. Ta mesta koja imaju visak elektrona bi trebala da provode struju (struja je ustvari prebacivanje elektrona sa jednog mesta na drugi). Stavimo zicu preko koje tecu elektroni. Dakle, 1928 godine ideja nije mogla da se realizuje (3 kockice od germanijumskih materijala i pronadjeni su komplikovani zakoni). Ovo 1928 godine se isto zvao tranzistor i Belove lab zbog komercijalizacije nisu mogle da ga proizvode. i kasnije je moglo da se koristi. Ovo je kvalitativni skok. Elektronka je bila npr 3x3cm, a tranzistor je bio mnogo manji od elektronke po zapremini. i tranzistor nema zagrevanje kao elektronka (1000x manja zapremina, manja putrosnja i manje zagrevanje). Prelazak sa elektronke na tranzistor je poboljsanje od nekoliko miliona. Ovo je potpuno nova generacija racunara. Druga generacija racunara – tranzistori (od sredine 50tih godina, pa nadalje). Obicno se prihvata danas, da posle tranzistora postoje jos 3. i 4. generacija. Kod trece generacije se ne radi o sustinski novom gradivnom elementu. Generacije se baziraju na tipu gradivnog elementa koji se koristi. Kod 3. generacije imamo drugaciju organizaciju postojeceg prekidackog elementa. Treca generacija je modularna tehnologija. Nama ne trebaju prekidaci kao pojedinacni delovi (njih cemo u svakom slucaju sastavljati). Zasto mi da vec u fabrici ne sastavljamo te delove, kada nam u svakom slucaju trebaju sastavljeni. Ovako dobijamo nekakve ustede, jer tranzistore spajamo vec u fabrikama (u fabrici ih spojimo na maloj plocici, tranzistori su bili u metalnoj kapici da bi mogli da njima da manipulisemo – 1cm velicine. Bez tih kapica bi bili samo velicine ciode i stavljamo ih u kapice samo zbog toga da bi mogli sa njima da fizicki manipulisemo). Ako ih spajamo u fabrici, ne trebaju nam kapice, jer fizicki ne trebamo da manipulisemo, i zato samo te tranzistore (velicine ciode) stavljamo na male plocice, i onda tim grupama tranzistora na plocicama na manipulisemo. Ovo je pomak jer je opet 1000 puta manje, iako se isto radi o tranzistorima. Ovo je treca generacija (ranih 60tih godina). Kasnijih 60tih i 70tih godina dolazi cetvrta genracija – VLSI. Ovde se vracamo na staru ideju tranzistora cija je najinteresantnija osobina da je on dvodimanezionalan (planaran). Treca dimenzija je toliko tanka, pa se zove dvodim (kao boja na zidu koji farbamo). Bitno je sto on moze da se pravi postupkom koji lici na fotografski postupak (posto je dvodim) – kvalitativni postupak. Ovde raskidamo vezu 1 na prema 1 sa prekidackim elementima (ranije je sve bilo 1 na 1). Ovde ih pravimo sve odjednom (ne jedan po jedan). Dakle, ovde imamo jedno pravljenje i nas se ne tice koliko imamo tranzistora u jednom pravljenju (primer sa slikanjem slike i snimanjem fotografije fotografijom). Ovde je kvalitativna razlika. Cetvrta generacija se bazira na tehnologiji gde se svi prave odjednom. Ustalilo se da se generacije smenjuju sa periodom od 5-10 godina. Medjutim, posle VLSIja nema pete generacije. Cetvrta generacija traje od kraja 60tih godina do danas. Mooreov zakon nije zaustvljen, jer su unustrasnje tihe promene burnije, a sustinske se ne menjaju. Ovde je sada faktor minijaturizacija. Ovaj faktor se linearno menja, a povrsinski elementi se menjaju kvadratno. Sa minijaturizacijom se pomocu tihih promena odrzava Mooreov zakon. Ovde je uvodni deo o VLSI, nastavak ce biti u sledecem kursu. Generacija Vreme Gradivni elemnt Objasnjenje Skok 0 Pre II s.r relej Elektro – mehanicki

uredjaj

1 do 45 elektronka Potpuno elektronski Kvalitativan 2 od 50 tranzistor poluprovodnici, jos

od 1928 Kvalitativan

3 rane 60 tranzistor modularno

Ukidaju se kapice, spajanje u fabrici

Kvantitativan

4 kasne 60, rane 70

VLSI sve odjednom

Dvodimenzionalna tehnologija

Kvalitativan

Ovo je zvanicna podela na cetiri generacije. Generacije racunara se definisu na osnovu prirode prekidackog elementa. Mnogi su pokusali da menjaju ovu definiciju i da smisljaju nove generacije koje ne postoje (neki kazu pojavile se mreze, pojavila se multimedija). Po literaturi se spominje peta generacija (ova generacija ne postoji, 80tih godina, kada je bilo vreme da se smene generacije, a smene nije bilo,ovo treba samo informativno da se zna), kaze se da je to bila softverska revolucija. Trebala je da bude bazirana na vestackoj inteligenciji i PROLOG jeziku (pokretac Japanska vlada). Bilo je dosta diskusija o ovome i zato je potrebno da se spomene. Bila je masa glupih clanaka o ovome (srecna buducnost, bice racunari svuda, bice prozori sa racunarom i PROLOGOM…., OVDE PLJUJE SVE TO). Ovde su bile kolateralne stete – PROLOG je bio ta steta (solidan jezik koji je

Page 5: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

propao zbog ovih prica). Isto se tako pokazalo da je finansiranje Japnske vlade ustvari samo malo (2 miliona dolara). Ovo sto smo ispricali do sada se desavalo. Moze da se uradi i ekstrapolacija na drugu stranu (unazad, ono sto se nije desilo, a moglo je da se desi). Elektronke su izmiljene 1910 godine, i moglo je teoretski vec 1925 godine da se uradi sve sa elektronkama sto se uradilo 1945 godine. Ta ekstrapolacija moze da ide do 1910 godine, ne ranije. Nije morala da bude struja u pitanju, vec je mogla da bude voda. Mogla je da se uzme cesma npr (prekidac koji se kontrolise onim sto sam kontrolise - vodom). U skladu sa celom pricom, ova tehnologija cesme je dovoljna da se napravi prekidac. Mogli smo racunare ekvivalentne ovim racunarima da pravimo u Starom Egiptu (tehnologija prekidaca je postojala, ali je nedostajala arhitektura – znanje, znanje je jedno (arhitektura), a tehnologija prekidaca je drugo). Dakle, tehnologija nije bila potrebna da bude na visokom nivou (prica o polju i cesmama – kako bi egipcani mogli da naprave racunar na polju velikom uz pomoc cesmi, memorijski elementi su kofe, kada se zavrsi, pregledamo kofe, napunjena je 1, prazna je 0). Ova ekstrapolacija izgleda kao sala, ali je skroz moguca. Ovde je zavrsen deo o prekidacima. Sada se prelazi na klasicnu digitalnu logiku. Sada gledamo uvod u slaganje prekidaca. Ima jedna zakonitost, sve sto budemo pravili, bice ustvari logicke funkcije. Ne treba logicke funkcije (booleanske funkcije) posmatrati kako smo navikli. Funckije, preslikavanje iz jednog u drugi skup (specijalan slucaj kada je slucaj dvoclan, i domen i kodomen su dvoclani skupovi – ovo je definicija booleanske funkcije). Booleanska funckija – funkcija sa 2 elementa, nad dva elementa i kao rezultat dobijamo 2 elementa. Zato su racunari binarni uredjaji (uredjaji koji samo detektuju da li ima ili nema su jednostavni, a uredjaji koji mere nivoe su komplikovani). Racunari su po prirodi booleanski uredjaji, jer barataju samo sa dve velicine. 10 nije jubilaran broj, 10 je nasa izmisljotina (prica sa 3 hrpe kamencica). 10 je jubilaran (10 prstiju). Bavljenjem racunarima, treba da se razbijaju predrasude. Pitanje bi bilo: Koliko ima logickih funkcija jedne varijable, a koliko logickih funkcija 2 varijable? Kod racunara, stvari treba gledati objektivno. Nije vazno ime, vec je vazno sta booleanska funkcija radi. Ako imamo funkciju od k varijabli, argument moze da bude samo 2 (0 ili 1), onda za k varijabli imamo, ako imamo k ulaznih varijabli (one su booleanske), broj mogucih ulaza je broj varijacija sa ponavljanjem, a to je 2 na k (pogledati varijacije sa ponavljanjem), ako imamo dve varijable x i y (4 kombinacije 00,01,10,11). Sa x,y,z, imamo 8 komada. Booleanska funkcija sa 2 varijable jeste kada ulazima dodelimo vrednosti (npr 0101). Kada pravimo funkciju, mi ispisujemo 0 i 1 na sve moguce nacine. Koliko smo imali mogucih ulaza, toliko imamo mogucih mesta (ponovo varijacije sa ponavljanjem), ali na duzinu koju smo malopre izracunali 2 na k je broj razlicitih ulaza, a 2 na 2 na k je broj mogucih nacina popunjavanja tablice sa ulazima. Od k ulaznih argumenata ima 2 na 2 na k mogucih booleanskih funkcija (k=1 je 4, a k=2 je 16). U praksi znaci ovako: za jedan arugment x, moguci ulazi su 0 i 1, a moguce funkcije su (na 2 mesta treba da rasporedim jedinice na razlicite nacine), 00,10,01,11, to su cetiri moguce funkcije jedne varijable. F0(00), f1(10),f2(01),f3(11) – cetiri moguce funkcije jedne varijable, jer na 2 mesta popunjavamo 0 i 1 na sve moguce nacine. F0(x) ==0 (ne zavisi od x), f1(x)=x (ovo je prihvatljiva funkcija, jedna od mogucih), f2(x)=x nadvuceno (negacija) i f3(x)==1. (greska ljudi da je jedina funkcija jedne varijable samo negacija, x, !x). Sa dve varijable (x i y), moguce ulazne vrednosti su: 00,01,10,11, a moguce funkcije su: 0000,0001,0010,0011,0100,0101,0110,0111,1000,1111… – 16 funkcija (dobija se tabela). Mogu da se daju imena f0,f1,f2,f3,f4,f5,f6,f7….f15. Ovo je 15 logickih funcija dve varijable, koje su u fizickom svetu sve vredne i valjane. Mi smo sada neke od njih proglasile za lepse, pa kazemo, da je f1 = konjukcija, f7=disjunkcija (or), f9=ekvivalencija F6=eksluzivno ili. Neke od njih smo izdvojili i dali im imena (ovo je nasa proizvoljnost, fizicki je sve to isto). Sve se sastoji od jednog gradivnog elementa. Kada treba prakticno da pravimo nesto od tih prekidaca, moramo malo da odstupimo. Svi bi se slozili da je to dozvoljeno odstupanje (ne podvala). Imamo dva oblika (modifikacije) jednog prekidaca. Kada nema struje na kontroli, prekidac ne provodi, a kada ima struje on provodi (definiciji bi odgovoaralo i suprotno, kada ima struje ne provodi, kada nema struje, on provodi). Moze i ovako i onako. Ovo je ta modifikacija prekidaca. Fizicka modifikacija je minimalna. Kod modifikacije neutralno provodi, a kada ima struje ne provodi. Vrste prekidaca :

1. pri neutralnom stanju kontrole ne provodi (aktivno stanje provodi) 2. pri neutralnom stanju kontrole provodi (neaktivno stanje provodi, aktivno stanje ne provodi)

Simbol malog kruzica znaci inverzija (obrtanje signala).

Page 6: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Realizacija logickih funkcija. Prve bi bile one sa jednom varijablom. Najinteresantnija je negacija.Kada dodje do fizicke realizacije funkcija i kola, moramo da dodamo i neke fizicke velicine (najveci deo razvoja, bilo je stanje kada smo imali +5v je jedanko logickoj jedinici, a 0 volti je jednako 0, ovo je jako dugo vremena vazilo). Ako imamo x, a treba nam f(x). Ako hocemo funkciju f0, imamo x, f(x), f(x)(x), f(x) ne zavisi od x, smao povezemo na masu i dobijemo masu (zicu povezemo na 0), i dobili smo f(0), ako hocemo da dobijemo f1(x),to je funkcija koja je jednaka xu, samo jednu zicu sa ulaza vodimo na izlaz i dobili smo funkciju f1(x). Ako nam treba f3(x), odvedemo zicu na plus 5 volti. Ove tri funkcije su u pogledu implementacije trivijalne, samo povezemo zice, ne trebaju nam prekidaci. OVO BI SVE OTPRILIKE TREBALO DA BUDE SADRZANO U PREDMETU OSNOVE RACUNARSKE TEHNIKE (ORT), KOJI SE RADI NA ETFU. SKINUO SAM TO SA NETA rti.et.bg.ac.yu Kada se prakticno primenjuju prekidaci, mora se malo odstupiti od onog osnovnog oblika prekidaca (idemo na dozvoljeno odstupanje). Dva oblika prekidaca (dve modifikacije prekidaca). C je kontrola i ona odredjuje da li ce od A do B da tece struja ili ne. Kada nema struje na kontroli nece da provodi, a kada ima struje na kontroli, provodice ce (moze i obrnuto). Uvede se simbol kruizic, sto znaci da pri neutralnom stanju kontrole provodi. Ova slika sa kruzicem znaci da taj prekidac pri neutralnom stanju signala (nema struje) provodi. Ovaj kruzic nije slucajno uvden, taj kruzic znaci inverzija. Dakle, prvom kada damu 0 on NE PROVODI, a drugom kada damo 0, ON PROVODI. Ovaj simbol je uveden da bi mi podsvesno tako radili. Najinteresantnija je funkcija negacije. Dodali smo fizicke velicine (0v znaci 0, 5v znaci 1). Da bismo dobili funkciju f0(x), vrednost te funkcije je uvek 0 (imam x i f(x), treba nam f(x) od x. Ovu funkciju realizujemo tako sto zicu koja je izlaz povezemo na 0. Ova funkcija ne zavisi od x. Da bismo dobili f1(x), vrednost ove funkcije ima vrednost x, samo spojimo ulaz i izlaz, ulaz je x, f(x) je izlaz. Ako nam treba f3(x) sto je vrednost 1, izlaz odvedemo na plus 5v (to je uvek 1). Ovde vrednost izlaza ne zavisi od ulaza. Implementacija je jednostavna uz pomoc zica. Kako da napravimo funkciju inverzije (negacije), uz pomoc 2 varijante prekidaca. Ako povezemo prekidace na ovaj nacin (slika). Povezemo 2 prekidaca (jedan jednog tipa, drugi drugog tipa na donji nacin). Ako stavimo da je x jedanko 1, jedan ce da propusti struju, a drugi kada mu se dovede napon, nece da propusti struju. Ovde imamo dve varijante. Ako stavimo da je x jedanko jedan, jedan propusta, a drugi ne propusta. imamo izlaznu tacku f(x) koja je kroz prekidac vezana za 0, a prekinut joj je put do plus 5v, pa ce da bude f odx je jedanko 0. Ako stavimo da je x jednako 0, onda ovaj inverzni propusta (prema 0 imamo sasecen put, prema 1 imamo prohodan put) i bice jedinica sa izlazom. Kada dva slucaja saberemo, imamo da kada je u jednom slucaju bilo 1, izlaz je bio 0, a kada je bilo 0, izlaz je bio 1,pa imamo f(x) je x nadvuceno (inverzno).Ovo je funkcija negacije – inverter se naziva.

Na ovaj nacin smo uspeli da dobijemo prvu funkciju koja ima smilsa. Prethodne tri su bile trivijalne. To je logicka funkcija negacije – inverter. Moze da se zove not kao logicka funkcija, ali se cesce zove inverter. Za inverter se uzima simbol takodje (pojavljuje se kruzic). Simbol je prikazan na gornjoj slici. Ovde vec mozemo da vidimo hijerarhiju. Videli smo kako radi inverter i njega smo analizirali, i sada samo mozemo simbol da nacrtamo. FUNKCIJA NOT AND - NAND

Page 7: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Sledeca funkcija je funkcija NAND (NOT AND) Ako pomocu prekidaca napravimo funkcije konjukcije i disjunkcije, logicno je da je konjukcija povezana sa serijskom vezom prekidaca. Ako nema nicega drugoga, sama serijska veza prekidaca je konjukcija. Od tacke x,do tacke y mozemo da prodjemo samo ako nas svi puste. Konjukcija je funkcija koja je jednaka 1 samo ako su joj svi argumenti jednaki 1. Kada svi propuste, moze da se prodje, ako jedan presece, ne moze da se prodje. Disjunkcija bi u skladu sa tim imala veze sa paralelnom vezom prekidaca. Kod disjunkcije necemo da prodjemo samo ako svi preseku. Kod konjukcije je tesko proci, a kod disjunkcije je tesko ne proci. Discjunkcija je netacna samo ako su joj svi argumenti netacni. Konjukcija. Stavimo dva serijski vezana prekidaca i neka to budu x i y, a gore ce da budu drugi prekidaci. Ovakvo kolo ne radi. Ovo je krenulo od zdrave ideje, ali je ispalo da ne radi. Sada moraju da se sprovedu modifikacije. Ako se stave obadve jedinice, jedan propusta onamo, a ako obadve nule, jedan propusta ovamo, a ako se stavi jedna 0 i jedna 1, onda nigde necemo moci da idemo. Resenje je ovo dole, tj. Da ovo gore treba povezati paralelno. i sada Tuba crta sliku, kaze ovo spojimo ovako, ovo spajamo onako. Postoje dva nacina standardizacije dijagrama: Ako zice nisu spojene nista, ako su spojene stavimo crni kruzic. Drugi nacin je da ako idu jedna preko druge zice to znaci da su spojene, a ako nisu spojene, onda jedna preskace drugu. Znaci imamo dva standarda ovde. Koristimo i jedan i drugi standard. U praksi zavisi od slucaja do slucaja koji cemo standard koristiti. U jednostavnim crtezima Tuba kombinuje oba standarda (kada tacka, onda su spojene, kada jednostavno prelaze zice jedna preko druge, onda su spojene). Ovo kolo bi trebalo da se analizira i da se vidi sta to kolo radi. Da bismo proverili kolo sta radi, moramo da ispitamo sve moguce slucaje. Ako imamo 2 ulaza, imamo 4 moguce kombinacije. Da bi smo skratili proceduru, necemo sva 4 slucaja da posmatramo, vec izdvojimo jedan karakteristicni slucaj i ostala 3 slucaja grupisemo. Sada crta onu dole tabelu. Ovde je karakteristican slucaj da ce tesko da se prodje. Dakle, ovde se izdvaja slucaj na ulazu 1 1. Kada je na ulazu 1 1, za funkciju imamo 0, a ako je neki drugi slucaj, neki ce da bude presecen i necemo moci da odemo do 0. Dokazali smo samo da je u karakteristicnom slucaju 0, ne da je u ostalim 1. Radimo analiyu gornje grane. Imamo paralelne grane i tu je karakteristicna slucaj da necemo da prodjemo. Ovde su prekidaci tipa koji neutralno pustaju, vec pustaju gde je signal DA (1). Kada imamo na ulazu 1 1, necemo moci da prodjemo. Dakle, u jednom slucjau necemo moci do 1 da dodjemo, a u tri slucaja cemo moci da dodjemo u 1. Sve zajedno gledamo i dodjemo do donje tabele. Kada gledamo pulldown i pullup grane, kada govorimo o serijskim i paralelnim vezama, mislimo da li su serijski ili paralelni prekidaci.

Simbol za NAND je:

Page 8: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

V PREDAVANJE – 04.04.2007. god. F1 FUNKCIJA NOR (NOT OR) Sada nekako postavlja prekidace. Kaze da je sve simetricno slozeno. Sada proverava da li su zadovoljeni uslovi – da pulldown i pushup grana rade u protivfazi. Ako imamo negativisana stanja ili dvostruko definisana stanja, nece moci. Opet sada analizira karakteristican slucaj. Sada crta tabelu i uzima karakteristican slucaj. Gleda prvo pulldown granu i u njoj su paralelni prekidaci i tamo je istaknut slucaj ne proci. Ovde ne moze da prodje ako ga ni levi ni desni ne pusti. Dakle, nece da ga ni levi ni desni puste kada su i levo i desno 0. Istaknut slucaj je 0,0. Ovo znaci da jedino u ovom slucaju nece da ga puste. Ovo znaci da nema 0, ne znaci da ima 1. U svim drugim slucajevima ce da ga puste dole, i onda ima 0. Sada radi simetricnu analizu gore. Gore su serijski prekidaci. Tamo je tezi slucaj da moze da prodje, jedino ako ga svi puste. Istaknut slucaj je gore ponovo 0,0 i jedino u tom slucaju ce moci da prodje, i kada prodje imamo 1, a kada ne prodjemo nemamo 1. Sada spajamo ova dva i gledamo da li su ispunjeni uslovi protivrecnosti. Dakle, analizom je utvrdjeno da je ovo prava funkcija, tj. Da za jednoznacni ulaz ima jednoznacni izlaz. Funkcija f7(x,y) je OR, a funkcija f8(x,y) je NOR x,y nadvuceno.

Dakle, do sad smo obradili TRI funkcije. Krenuli smo od aksioma 1. Inverter 2. NAND 3. NOR – OVO SMO OBRADILI DO SADA

Simbol za NOR je: Ovo do sada obradjeno su tri osnovna elementa. Pomocu jednog prekidaca, implementiraju se najjednostavnije funkcije jedne varijable i dve varijable, i sa tim se krece. Iz ove tri se dobija cetvrta funkcija AND, koja se implementira kao NAND sa inverterom. Ovo je sada komplikovanija funkcija (dobija se iz 2 i 1). A funkcija OR je peta funkcija i ona se dobija iz 3 i 1. NI i NILI su osnovne funkcije, AND i OR su izvedene funkcije u fizickoj implementaciji. Sada imamo 5 pocetnih elemenata i dosli smo do pravog pocetka. FUNKCIJA AND

Page 9: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

FUNKCIJA OR

Sada imamo 5 pocetnih elemenata i ovo je prava tacka pocetka. Klasicna digitalna logika uzme 3 elementa i progralasi pocetak, uzme inverter i i i ili i onda se dalje izgradjuje. Digitalna logika uzima onih 3 elementa kao aksiome. Sada se izgradjuju novi elementi koristeci samo ono sto imamo. Sada smo od funkcije 2 varijable booleanske napravili 4, a ima ih 16. Sada moramo jos njih da objasnimo. XOR – EKSLUZIVNO ILI Ova funkcija moze da se napravi tako sto eksperimentise sa onim sto imamo. i na kraju, uz dosta truda dolazimo do ovoga ispod. Imamo 4 NANDa povezanih na nacin kao sto je na slici. Sada treba da pokazemo sta radi ova funkcija ili drugacije receno da dokazemo da radi XOR. Naravno, moramo

Page 10: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

da proverimo sve moguce slucajeve. Ispitamo sve mogucnosti i vidimo sta cemo da dobijemo. Sada crta onu tabelu.

Page 11: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Mislim da je crtao donju sliku. F6 funkciju smo dobili, to je eksluzivno ili i dobili smo je pomocu 4 NANDA. Sada dokazuje da je gore slika tacna. Proveravamo se moguce slucajeve. Sada crta tabelu. Sada recimo uzmemo da x i y budu 0. 0 i 0 daju 0, pa zbog negacije daju 1. 0 i 1 daju 0, pa zbog negacije daju 1, 1 i 0 daju 0, pa zbog negacije daju 1, 1 i 1 daju 1, pa zbog negacije daju 0. Kada je 0 i 0, dobicemo na izlazu 0. Sada menjamo y na 1. Srednji deo nece da se promeni, ali se menja 1 i 1 bice 1, pa zbog negacije bice 0. Pa smo imali 1 i 1 bilo 1, pa je 1 i 1 0, pa zbog negacije postaje 1,dakle ovde dodje 1. Ovo kolo je ocito simetricno, tako da ovo sto smo radili na donjoj grani (y promenili u 1), da smo x menjali, sve bi se ponovilo i na gornjoj gradni, pa sledi da ce i 1 i 0 da bude 1. I konacno, recimo da oba stavimo na 1. U sredini se menja stvar 1 i 1 daju 1, pa zbog negacije 0. U ovom slucaju dobijamo 0. DAKLE, POSMATRAMO OVU SLIKU GORE SA CETIRI NANDA, i KRECEMO OD PRVOG SLUCAJA KADA SU i X i Y JEDNAKI NULI i GLEDAMO IZLAZ, PA ONDA KADA JE Y JEDNAKO 1, A X JEDNAKO 0, PA ….. KADA SU i X i Y JEDNAKI 1 GLEDAMO IZLAZ. Ispitali smo sve slucajeve i pogledali smo sve moguce izlaze na osnovu svih mogucih ulaza. Pomocu 4 NANDa smo dobili funkciju F6 eksluzivno ili.

Simbol je: Sada se vec vidi kako se pravi jedno preko drugoga. Ovde vec imamo 16 prekidaca i napravili smo kolo sa 16 prekidaca. 4 NANDA svaki sa 4 prekidaca, to je 16 prekidaca kod XORa. Sada hoce da pokaze kako radi ovo kolo preko formula. Sada gledamo gore sliku (uvodi oznake a,b i c). Sada tvrdi da je f(x,y)=NAND (a,b), a to je negirana konjukcija, to je a,b negirano. To je prva tvrdnja Druga tvrdnja: a je x,c negirano Treca tvrdnja: b je y,c negirano Cetvrta tvrdnja: c je x,y negirano Peta tvrdnja:Sada uvrstavamo jedno u drugo. 2 i 3 se uvrsti u 1 f=xc nadvuceno,yc nadvuceno. Sesta tvrtdja: 4 u 5 uvrstavamo, pa je f=

Page 12: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Sve u svemu, ona gore formula koja ide uz sliku!!! Formula 6 opisuje povezivanje fizickih komponenti, crtez i formula 6 su ekvifalenti. Kako mozemo formulom da do kazemo da je neka formula jednaka funkciji Funkcija moze da se predstavi na razlicite nacine. Jedan od nacina je preko normalnih formi. Postoji normalna konjuktivna forma i normalna disjunktivna forma (suma proizvoda -NDF i proizvod suma-NKF). Uzmemo sva mesta gde funkcija ima 1, pa napravimo da i nasa formula bude jednaka 1 na razne nacine. Pravimo sabirke. Kada su ulazi 0 i 1, pa ako obrnemo nula u jedinici, uzememo x nadvuceno y (jedini slucaj kada su oba jednaka jedinici), ili x y nadvuceno – u ova dva slucaja je rezultat 1. OVO JE NDF i UZIMA SE KAO DEFINICIJA XORA. OVO POGLEDATI JOS MALO!!!! POMINJE DEMORGANOVE FORME!!! POGLEDATI OVO DOKAZIVANJE PREKO DEMORGANOVIH FORMULA!!! IZVODJENJEM JE DOBIO ONO GORE F (NDF funkcije XOR) I SADA XOR IMAMO KAO DODATNI GRADIVNI ELEMENT. NJEGA SMO IZABRALI JER JE BAS TAJ GRADIVNI ELEMENT POGODAN, JER U MALOM BROJU KORAKA DOBIJAMA ZANIMLJIVE ELEMENTE. VEC U SLEDECEM KORAKU OVAJ XOR VODI DO NECEGA STO IMA VEZE SA PROCESOROM - UREDJAJI ZA SABIRANJE. UREDJAJI ZA SABIRANJE POLUSABIRAC Uredjaji za sabiranje su sastavni delovi svakog procesora (osnovne funkcije procesora su da moze da sabira i da uporedjuje sa 0). Pre nego sto se predje na uredjaje za sabiranje potreban je neki uvod. Ovde moramo da razbijemo neke nase predrasude. Predrasuda sa dekadnim sistemom (10 prstiju). (primer sa 3 hrpe kamencica od 9,10 i 11 kamencica). Dekadni sistem je za nas jako zgodan, ljubilaran, ali objektivna stvarnost to ne podrzava. Slicno je isa ovim. Imamo razne grane matematike (osnovne rac operacije, sab, oduz, mno,delj), pa imamo mat logiku…. Kako stvari objektivno izgledaju? Sve sto mi mozemo da uradimo u racunarima, bilo gde, sve je to matematicka logika. Ostalo su sve drugaciji nacini prikazivanja toga. Sabiranje brojeva ima i te kako veze sa logickim funkcijama (stavljamo posrednike i zaboravimo da se radi o logickim funkcijama). Sabiranje velikih brojeva sastoji se iz sabiranja cifara. Sabiranje cifara se svodi na tablicu. Sve sto mozemo da uradimo dekadno, mozemo i binarno. Bilo koja dva brojna sistema su ekvivalentni (u razlicitim brojnim sistemima se pise na drugi nacin). Cela matematika je dekadnom sistemu, zato sto je nama tako zgodnije. Prvo operaciju sabiranja svedemo na sabiranje cifara, pa sairanje cifara svedemo na binarni sistem, pa se onda binarni sistem svede na tablicu, pokaze se da se sve to radi o booleanskom sistemu. Kada ovako gledamo, na najnizem nivou se svodi sabiranje. Kada imamo x i y, imamo dve logicke funkcije. Kada ih saberemo, dobijemo sumu i prenos. Sabiranjem binarnih cifara, mogu da sabiram dugacke binarne brojeve, a oni su ekvivalentni dekadnom sistemu. Sabiranje znaci da imamo dve logicke funkcije. Xor je funkcija koja ce da nas odvede na nove stvari. Da bismo radili to sto mi zovemo sabiranje, dovoljne su nam samo booleanske funkcije (to su dve funkcije xor i and). Sabiranje je XOR i AND. Da bi smo dobili taj sabirac, te dve funkcije treba zajedno da implementiramo.

Page 13: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Ovo kolo sluzi sa sabiranje – sastoji se iz XOR i AND (22 prekidaca ima, 16+6) Imamo i sumu i prenos. Ovde je do najsitnijih delova jasno sta je (znamo sta je XOR i AND, pa znamo sta su prekidaci). Pitanje je kako ovo da nazovemo. Ovo bi moglo da se nazove sabirac. Sabiramo cifru po cifru, uzimamo lokalne cifre, pa uzmemo prethodni prenos i dobijemo rezultat i moguci prenos za dalje, i sve tako……Za stvarno sabiranje proizvoljnih brojeva, nama treba uredjaj koji sabira 3 cifre (uzimamo i prenos). Kolo za sabiranje bi trebalo da ima 3 ulaza zbog ovog prenosa. Ovaj uredjaj na slici gore to nema. Sabiranje 3 cifre sastoji se na 2 puta sabiranje po 2 cifre. A + b+ c= x +c (a+b=x) Ko zna da sabere 2 cifre, dvostrukim ponavljamem sabira i 3 cifre. OVO SE ZBOG SVEGA NAVEDENOG ZOVE POLUSABIRAC.

Simobl: HA – HalfAdder – polusabirac Ovo je sedmi elemenat. F2 SABIRAC 32bit SABIRAC Posle polusabiraca ide prirodno puni sabirac. Samo treba da se vidi na koji nacin da se sastavi puni sabirac. Ovde moze da pomogne intuicija (ko zna da sabere 2 cifre, zna i trecu, na rezultat od 2, doda trecu cifru). Imamo prethodni prenos i dodamo x i y i te tri stvari treba da saberemo. Prvo treba da uzmemo x i y i uvedemo jedan polusabirac HA1 i on nam daje neku sumu s1 i prenos p1. Sada na ovaj zbir treba da dodamo onu trecu. HA2 dodajemo i kada se to sabere, izadje suma S2 i prenos P2. Na kraju su nam ostala dva prenosa P1 i P2, a kao rezultat treba da dobijemo sumu S i prenos P. Puni sabirac bi trebalo spolja da izgleda kao na slici.

Page 14: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Osnovna razlika izmedju polusabiraca i sabiraca. Polusabirac je kombinatorno kolo koje sabira 2 binarne cifre, vodi razliku o prenosu. A sabirac je isto to, samo sto sabira 3 binarne cifre. Ovo je booleanska funkcija koja moze da se predstavi tablicom. PP- Prethdni prenos. Nije bitno kako nazivamo, vec je bitno da imamo 3 ulazne varijable (prethodni prenos, i nove cifre koje sabiramo). Kao rezultat treba da dobijemo sumu i prenos. Logickih funkcija 2 varijable ima 16. Booleanskih funkcija 3 varijable ima 256 funkcija. Od 256 funkcija, malo od njih ce da imaju imena, a velika vecina nece. Ovo nam se desilo ovde.Sabiranje 3 binarne cifre (puni sabirac) jeste implementacija sistema ove dve funkcije (funkcije sa 3 varijable, mi smo izabrali 2 od njih). Jedino je pitanje kako da implementiramo ove funkcije. Sada proveravamo sta je ovde dobro. Ako bismo povezali dva HA, dobili smo signale S1, P1, S2, P2 (prosirujemo tablicu). S1 i P1 su rezultat sabiranja x i y. Dodamo jos dve kolone i pisemo S1 i P1 (X+Y). (0 i 0 je 0 pisem, nula pamptim, 0 i 1 je 1 pisem, 0 pamptim….) Sada isto mozemo da vidimo sta su S2 i P2 (dobijaju se sabiranjem S1 + PP). Dodamo jos dve kolone (S2 i P2). Sada gledamo tabelu. Mi sumljamo da bi S2 trebalo da bude S. Sada gledamo S2 i Gledamo S i uporedjujemo. Dokazali smo da je S2 identicki jednako S. Dokazali smo da je ono sto smo intuitivno radili dobro. Sada imamo P1 i P2, a nama treba P. Kada gledamo ovo, pokaze se da P nije jednako P1, i da P nije jednako P2. Jasno je da ce P da bude kombinacija P1 i P2 (prenos mora da ima veze sa prenosom). Ispadne da kada imamo 0 i 0, onda ovja treba da bude 0, pa ponovo kada su dva 0, onda treba da bude 0, pa onda 0 i 1 treba da bude 1, kada su 1 i 0 treba da bude 1, pa kada su 1 i 0 treba 1,pa sve tako…Ispada da ove zakonitosti moraju da budu zadovoljene (0 i 0 treba da daju 0, 1 i

Page 15: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

0 treba da daju 1, a 1 i 1 se ne pojavljuje kao ulazna kombinacija!!!). Ispada da su ove funkcije poznate – to su funkcija OR i XOR. Ovako je razreseno pitanje prenosa. Ovako smo dobili puni sabirac (full adder). Imamo 3 ulaza, dva izlaza. Puni sabirac – u njemu se javljaju 2 polusabiraca, po jedno ovo kolo (Ima 50 prekidaca 26 + 34 i sabira 3 binarne cifre). Kada smo ovo napravili, mozemo da napravimo i proizvoljan sabirac – npr 32bit sabirac.

Na slici imamo FA1, FA2, FA3… FA31 i tako redom…Z0,Z1,Z32 su sume. Prenos iz prethodnih idu u sledeci. Izbaci prenos na kraju koja se zove Carry(C) – ako ima ovaj prenos, broj je veci nego sto moze da stane u registar. Ovo je da se proglasi devetim kolom – SAB32 (32bit sabirac). Simbol -

Ovo bi bio 32bit sabirac (64bit sabirac imamo 2x32bit). SADA DOLAZIMO DO ZANIMLJIVE SITUACIJE. Imamo kolo koje sabira 32bit brojeve, ono sto ima u danasljim procesorima (1600 prekidaca). Sada mozemo da idemo u detalje (sa svim vezama izmedju, od prekidaca, preko nanda, pa xora, pa…… do 1600 komada prekidaca, dobijemo cudnu sumu, zastrasujucu sliku dobijemo). Preko celog zida uvecamo tu sliku (1600 prekidaca na sve strane rasporedimo). Ovo je jedan aspekat, do je izuzetno kompleksno. Kazu da je to mnogo pametno. (primer sa pogadjanjem, za svaki prekidac znamo sta je tacno, a celi zid je napunjen sumom, najkomplikovanija shema). Znaci, s jedne strane je kompleksno, ali s druge strane je hijerarhijski organizovano u celine (logaritamskom pretragom ide veoma lako utvrdjivanje sta je sta). Ovo je sve sa sabiracem. DEKODER (sledece kolo) Kombinatorno kolo (pullup i pulldown granu, logicke funkcije, ova kola rade izracunavanja). Kod kombinatornog kola, ulazi jednozncno uticu na izaze. A kod memorijskih kola, zavisi i od proslosti. Kombinatorna kola i memorijska daju sekvencijalna kola, i to je kako se prave procesori. Ovo je jako cesto koristeno kolo. Cesta funkcija je dekodiranje memorijske adrese. Adresni mehanizam kod memorije je upravo ovaj dekoder (dobije binarni broj i nadje odredjeni registar). Dekoder je kombinatorno kolo koje ima n ulaza i 2 na n izlaza, gde je aktivan tacno jedan izlaz i to onaj ciji redni broj odgovara binarnom broju na ulazu. N ulaza, 2 na n izlaza, ova veza mora da se ispostuje. Na ulazu dajemo binarni broj, i aktivan je tacno jedan izlaz. Aktivan je samo jedan izlaz i to onaj ciji redni broj odgovara binarnom broju na ulazu. Postoje dekoderi 1 na 2, 2 na 4, 3 na 8, 4 na 16. Crta sliku dekodera 3 na 8 (3 ulaza, a 8 izlaza). Sada crta i onu tabelu. Kada redne brojeve izlaza od 0 do 7 zapisemo binarno. Na ulaz mu damo sifru kao trocifreni binarni broj, a na osnovu toga ce da izabere jedan izlaz. Ovo sluzi za adresiranje memorije. Memorija ima niz od 2 na n

Page 16: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

registara, damo mu nbitnu adresu i mehanizam izabere tacno odgovarajuci registar. Dekorder sluzi za dekoriranje memorije, ali moze i za druge stvrhe. Sada se postavlja pitanje kako bismo to kolo implementirali. Ovde ide malo drugaciji nacin razmisljanja. Sve sto radimo su booleanske funkcije (ovo je sistem od vise buleanskih funkcija, 3 na 8, ima 3 ulaza, a 8 izlaza i sistem od 8 funkcija predstavlja taj dekoder). Sada crta donju tabelu. Pise 3 ulaza i 8 izlaza.

U prvom redu imamo 0, pa je to I0, u drugom redu imamo 1, pa je to I1….. Na kraju dobijemo jedinicnu matricu. I0 do I7 su neke od 256 booleanskih funkcija (to su 8 od 256 funckija). Ovde imamo neke poznate funkcije. Uocimo konjukciju sa 3 ulaza – nju bismo mogli direktno da implementiramo (I7 je konjukcija sa 3 ulaza). Sada se postavlje pitanje sta cemo sa ostalim funkcijama. Sve ostale funkcije jako lice na I7 zato sto imaju po 7 nula i jednu 1. i kolo moze da se modifikuje tako da ne bude prepoznavac samo funkcije tri 111 (samo ce u ovom slucaju da se postavi na 1). Kod i kola, gde dodamo inverter, postaje univerzalno kolo (nece da prepoznaje samo kada su zapisana tri keca). Jednostavna implementacija ovoga nece da zahteva duboko razmisljanje, nego zahtevace 8 i kola, svako sa 3 ulaza, gde nekada direktno ulaze, a nekada komplementirano. To je pravilni dizajn. Pravilni dizajn je dizajn za kola proizvoljne velicine koje mozemo da prosirujeo. Ovaj dizajn ide pravilno i po horizontali i po vertikali. Pravilni dizajn se radi tako sto ulazi ulaze sa leve strane, a izlazi izlaze sa desne strane, a kontrole sa komplementima idu po vertikali. Sve jednostavno prosirjemo. Prvo povucemo liniju U0 i napravimo njegov komplement, pa drugu U1, pa njen komplement vertikalno, pa U2 i komplement…Isto tako smo videli da je potrebno 8 kola sa tri ulaza (OVO SVE PRICA DA BI NACRTAO OVU SLIKU). SADA CRTA SLIKU i PRICA. Prepoznao je na slici da se ovde radi o binarnom brojanju. Sada je dodao jos jednu zicu KONTROLA, koju je stavio kao 4ti ulaz na sva ova kola. Ako je kontrola 1, ponasace se kao da je nema (mnozenje sa 1 ne menja stvar). Kada je c=1 NE MENJA STVAR. Medjutim, kada je C=0, celo kolo se gasi, cini ga neaktivnim. C ulaz se moze koristiti kao kontrola da li

Page 17: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

ce to kolo da radi ili nece da radi. Ovo ce nam koristiti. Znaci, 10to kolo bi bio dekoder (2 na 4, 3 na 8…)

Ovo bi se zvao klasicni dekoder (kodira binarni broj u redni broj). Dekoder moze da bude bilo sta, neku sifru dekodira u nesto drugo. Dekoder iz jednog brojevnog sistema u drugi sistem….Bilo sta sto je zapisano na jedan nacin, a moze i na drugi, imamo dekoder kao translator. Jedna stvar koja se cesto koristi su – numericki displeji. Sedmosegmentni displeji – ima ih puno. Sada ovo objasnjava. Bcd 7 segment. Sa 4 binarna broja mozemo da predstavimo brojeve od 1 do 15. VI PREDAVANJE – 11.04.2007. god. F1 Ovo do sada su bila kombinatorna kola, a postoje i memorijska kola. Kombinacija memorijskih i kombinacionih kola su sekvencijalna kola. Memorijska kola Osnovno m.kolo bi bila jednobitna memorija. Ona se zove data (1 bit), ima ulaz koji se zove npr P, ima izlaz koji se zove npr Q. Kod m.kola mora da postoji kontrola C, koja ce da kaze – sada zapamti (uz pomoc ove C kontrole se pampti, to je sustina memorijskih kola). Kod m.kola, izlaz ne zavisi direktno od ulaza. Na izlazu moze da bude bilo sta, a na ulazu moze da bude bilo sta. Sta ce da bude na izlazu, zavisi od proslosti i ulaza, a ne samo ulaza (zato sto kontrola C kaze sada zapampti). Ovo na slici je min memorijsko kolo od 1bita, pa se udruzuju i dobiju se bajtovi, pa registri 32bitni, pa 64bitni. M.kolo se cesto pravi malo komplikovanije od ovog na slici, jer sa memorijom imamo operacije read i write. 1 kontrola moze da regulise 2 stanja, a 2 kontrole regulisu 4 stanja (mi imamo 3 stanja, pa trebaju 2 kontrole). Jedna se zove enable, a druga se zove read write (kontrola). Enable kontrola omogucava da se bilo sta radi (ako je 0 ne moze nista da se radi, a ako je 1, onda radi, ako je 1 onda moze da cita i da pise). Signalima dajemo imena po pocetnim slovima ono sto on radi. Ako samo napisemo ime signalu, onda se ponasa da taj signal radi kada mu damo 1 (ako je read 1, onda taj signal cita, ako je write 0, onda taj signal pise). Ako samo napisemo ime signalu bez icega, onda se podrazumeva da je on aktivan kada mu damo 1. Medjutim, postoji i obrnuto, signali mogu da budu aktivni kada su 0,i takvi signali se oznacavaju crticom iznad signala (slika). Kada imamo 2 signala na jednoj zici, onda se oni razdvajaju kosom crtom (slika r/w nadvuceno). Sve se uvek radi u odnosu na procesor koji je centar sveta racunara. Dakle, kada se kaze in, misli se u procesor, kada se kaze out, iz procesora, kada se kaze read, cita procesor memoriju, kada se kaze write, onda procesor pise u memoriju. Kada se gleda dakle memorija, onda je kod nje write na ulazu, a read je na izlazu.

Page 18: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Flip-Flop Pitanje je kako da se napravi memorija? Memorija moze da se napravi jednim jednostavnim sklopom, koje je sluzilo za nesto drugo ranije.Kolo koje nas vodi do jednobitne memorije je kolo flip flop, i to se kolo zove bistabilni element. Bistabilni element kaze da ima dva stabilna stanja (to isto znaci i flip flop). 1bit memorijaje u jednom u 2 stanja (ili je zapamtila 0 ili je zapamtila 1). Dakle, bistabilni element, flip flop i 1bit memorija su tri ekvivalentne stvari, s time sto se ovi termini koriste i od ranije pre nego sto su se u racunare ugradjivali (50 tih, 60tih i 70tih kodina su racunari imali periftne memorije, a flip flopovi su se ugradjivali u nesto drugo sto nije memorija).

Flip flop je 2 nand-a unakrsno povezanih povratnom spregom (slika). P.sprega je sto ide od izlaza prema ulazu, a unakrsna je kada ide od prvog ka drugom i od drugog ka prvom. To je unakrsno povratna sprega. Kako se ovo ponasa? Treba da se ponasa na kvalitativno drugaciji nacin. Ovde bi trebalo da postoji sustinski razlicito ponasanje zbog unakrsno povezane sprege. On sada pretpostavlja gde su jedinice i nule na ovom kolu!!! Sve u svemu kaze, ako jedan parametar promenimo (0 na 1 npr), izazvali smo lancane reakcije (primer kada je jedan otvorio vrata i zaglavio cipelu, otisao, a vrata su ostala otvorena). Ovo kolo je promenilo stanje, ali je samo sebe zablokiralo u tom stanju. Onaj ko je promenio stanje, moze da ode, vise nije bitan, a kolo ce da ostane isto. Izlazi ovog kola ne zavise jednoznacno od ulaza, a sta ce da bude na izlazu, zavisi i od proslosti. Izlaz pampti sta se desilo u proslosti. Ovo kolo ocigledno ima memorijsku funkciju, izlaz ne zavisi jednoznacno od ulaza, vec zavisi od ulaza u proslosti koji je on zapamtio. Izlazi se zovu q i q nadvuceno zato sto su u protiv fazi, a q je po tradiciji. Iz ovog kola besplatno dobijamo komplement. Ulazni signali se zovu S i R nadvuceno, jer rade nesto kada ih odvucemo na 0 (normalno stoje na 1), a S i R se zovu iz stare tradicije, jer se ovo kolo pravilo za druge svrhe (S-set, R-reset,inicijalizacija). Kolo koje ima ovakva svojstva zove se RS Flip flop. Ovaj SR flip flop je elementarna memorijska jedinica, najjednostavnije kolo koje ima memorijsku funkciju, iako ono nije u potpunosti memorija. Mi od memorije ocekujemo da posaljemo signal i kazemo zapamti ovo, a ovde moramo da kada vucemo jednu zicu kazemo zapampti 1, a kada vucemo drugu zicu kazemo zapamti 0.

Page 19: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Ova slika prikazuje kako za iste ulaze dobijamo razlicite izlaze. Ovo sve gore bi moglo da se uradi i simetricno, da uradimo sa NORovima.Sve ce da bude isto kao i gore (samo ce R i S da obrne mesta i samo kada je 0 oni nece da rade, a kada je 1, oni ce da rade).

Kako sada od ovoga gore da napravimo memoriju? Neko bi rekao da mu je nezgodno da ide sa 2 zice, pa proba nesto drugo, da se resi problem sa 2 zice. Sada crta sliku ovu dole i kaze da dodaje inverter. Na jednu zicu treba da vucem na 0 da bi se postavila 0 (to je u redu), a na drugu zicu treba da vucem na 0 da bi se postavila 1. Kako bi bilo da povezem jedan inverter i da tu zicu zovem data zica. Kada na tu zicu posaljem 0, on ce da ide na reset i resetovace kolo i bice 0, a kada posaljem 1, preko invertera ce da 1 postane 0, tako da ce 1 na data zici da izazove 0 na set liniji, a set linja ce da postavi kolo na 1 kao i sto treba. Ovako smo resili problem sa 2 zice. Na ovu jednu zicu stavljam i 0 i 1, i bice ono sto treba. Ali, resavajuci ovaj problem, stvorili smo veci problem – ukinuli smo memorijsku funkciju ovog kola. Ovako je postalo kombinatorno kolo (sto je na ulazu, bice i na izlazu, nema pamcenja). Kaze da je ovo sa inverterom dobra ideja, ali smeta sto se izgubila mem funkcija. Ovo se resava tako sto se uvede 2 nand-a (sada dopunjuje ovu sliku dole, i slika bi trebala da izgleda kao ova dole). Uvodi 2nand-a napred. Kako se ovo ponasa? Kada je C=1, u i koli, kao da ga nema. Ako je C=1, jedno zavisi samo od S-a, a drugo od R-a samo (ako je S=1, izlaz ce biti 1, pa zbog nanda da bude 0). S treba drzati na 0,kada ga povucemo na 1, onda ce S nadvuceno da ode na 0 i izvrsice se funkcija setovanja. Isto tako treba r drzati na 0, kada se povuce na 1, onda ce 1 i 1 da da 1, pa zbog negacije 0, i uradice se reset. Isto ce biti RS FlipFlop, samo ce signali biti bez bara, vec su ispravljeni. Dok je C 1, ovo se ponasa kao normalan SR flip flop, samo sa izmenom kvaliteta. Medjutim, ako C stavimo da je 0, onda ovo kolo prekine da prima spoljne ulaze, jer jedna nula na i kolu je izlaz 0, dakle, ova nula garantuje da je izlaz iz konjukcije 0, pa negacija dobijamo 1. Tako dugo dok drzimo c na 0, garantujemo da na 2 mesta imaju 1, a to znaci ono stanje da se ne menja, dok oba drzimo na 1, pamptimo ono poslednje sto smo videli, memorijska funkcija. Sa C-om drzimo memorijsku funkciju. Sada jos dopunjuje sliku ovu dole. Crta sada desnu sliku. Kada je na D 1 deluje kao set, kada je D 0, zbog invertera, deluje kao reset. Ovo radi tako dugo dok drzimo C na 1. Kako menjamo D, menjamo i ulaz. Ali, jednog momenta kada hocemo da zapamptimo, stavimo C na 0 i onda kaze, zamamptio ono sto si poslednje vide (kada je C otislo na 0). Ovakav prosireni flipflop je potpuni memorijski elemenat (i memorija i jedna zica). Dopunjuje jos dole sliku. Ovo je data flip flop, stvarna jednobitna memorija. Iako RS ima

Page 20: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

mogucnost memorijsanja, ovo je sada klasicna memorija, koja se dobija RS flipFlip sa inverterom i dobija se DATA Flip Flop (ovo je element koji nam treba).

Jedan problem sa ovim flip flopom jeste sto je to kolo sa 2 ulaza. Ima 4 moguce ulazne kombinacije. 4ta kombinacija je nedozvoljena. Ovaj osnovni flip flop ima stabilno i osnovno stanje 1,1 (nista se ne desava),a kada jedan povucemo na 0, imamo promenu. Kada oba dva povucemo na 0, obadva izlaza ce otici na 1, a to je nedozvoljeno stanje. Na kraju ce jedan od njih da popusti i otici ce na 1 (jedan pre,jedan malo kasnije). Taj koji ode na 1 malo kasnije je pobedio i on ce da izazove reakciju. U medjuvremenu, bice trenutak, kada su oba na 0, a to je Q i Q komplement (nadvuceno), iako tada nisu komplementi. Ovo je opasno stanje, jer je to logicki protivrecno stanje (Q i Q nadvuceno su jednaki). Kada ovako povezemo sa drugim kolima (racunamo da su 2 strane razlicite), dodje do borbe i kratkih spojeva (spaljivanja). Dakle, ovo 4to stanje je logicki i prakticno nedozvoljeno. Ne bi smeli da su na oba dva jednaki. Ovde moze da se spreci nedozvoljeno stanje.Mora flip flop jos malo da se doradi. Uzmemo dva takva flip flopa (sada crta sliku dole), i kontrolu im povezemo ovako. Ova dva zajedno posmatramo kao jedan flip flop. Flip flopovi su serijski povezani i zatvoreni u kutiju, spolja izgleda kao da je to jedan flip flop. Ovakav flip flop ima dobra svojstva. Ovakva konstrukcija se zove Master slave, gde jedan kontrolise drugoga. Ovaj flip flop radi u 2 faze. Imamo signal C koji je na 0, pa ga prevucemo na 1. Ovde ce ulazni signal da prihvati sa zadrskom (dam podatak i kazem zapamti bilo, sada dam podatak, pa zapamti do pola, pa kasnije zapamti ceo). U momentu kada signal C povucem na 1, D flip flop ce da proradi, ali ovaj drugi koji je preko invertera ce da se iskljuci. U prvoj fazi, jedan radi, drugi ne radi, ono sto mu dajemo na ulaz, bice zapamceno, ali je nevidljivo spolja (interno), a spolja se nista ne menja, isto stoji kao i ranije. Nakon toga se ulaz presece i prestane prvi da prima nove podatke, ali tada drugi flip flop proradi, i ono sto je bilo dato da zapampti, se pokaze napolju, ali tek onda kada je prekinut ulaz. Ovde se pravi povratna sprega koja ne pravi problem, jer kada se pokaze novi signal, prvi ce da bude vec ugasen (nema trke i konflikata). Kada posaljem drugi signal, prvi je vec zavrsen. Ovo je dvostepeni tajming koji je jako zgodan. Flip flopovi se najcesce prave u master slave varjanti, pa se izlaz pojavljuje u silaznom rubu kontrolnog signala.

Page 21: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Kada imamo ovaj master slave flip flop, sada moze da se resava ono 4to stanje (pominjao je gore). Ljudi su pronasli da bi 4ta funkcija koja bi bila korisna je obrtanje signala (togliranje - toggle). Sada imamo 4 funkcije: Ne radi nista, postavi na 0, postavi na 1, promeni se. 4to stanje radi togliranje, menjanje u odnosu na prethodno. Sada crta onu tabelu ispod. Ovo se zove JK flip flop koji zamenjuje SR flip flop (SR ne sme istovremeno da budu aktivni, a JK moze). Sada crta sliku onu dole. Uzima D flip flop koji je tipa master slave, pa objasnjava kako crta sliku. Ovaj D flip flop mora da je tipa master slave, jer ima povratnu spregu (ako ne bi imao doslo bi do jurnjave). Sada pravi tablicu i analizira kolo. Registri se prave kao ovi flip flopovi. Ovo sto sada radimo, stvarno obavlja posao (sabirac nije mogao da radi bez registara). Imamo J i K ulaze, ali se i Q i Q nadvuceno vracaju nazad (uzecemo 3 ulaza, jer ako znamo Q, znamo i Q nadvuceno) Q J K Q+ (zanima nas ovo novo Q) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Analizirao je sve slucajeve i popunio tablicu (Q i Q nadvuceno su suprotni).

Page 22: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Znaci, sada smo izgradili nekoliko flip flopova. i konacno mozemo da napravimo flip flop kome kada god damo signal, on toglira. To je vise teoretski, nego prakticni flip flop. Ovaj ima samo jednu funkciju togliranja. Ovo se ne isplati u praksi da se pravi. Ovu su razne vrste flip flopova koji se koriste. D je klasicni memorijski elemenat.

F2 Kada smo dosli vec do sekvencijalnih kola,ona mogu da budu asinhrona i sinhrona. Asinhrona su retka u praksi, gde bi kombinatorna kola radila kako rade i ti rezultati se smestali u mem kola i samo bi se sve regulisalo. Uz pomoc ovoga moze nesto jednostavno da se napravi, a da bi se napravilo nesto komplikovanije, mora da se ide po nekim fazama, a tu je potreban neki spoljni davac takta. Sa fazama je nesto kao hardversko programiranje (izracunamo nesto, pa medjurezultate sacuvamo i sve tako). Treba da imamo neki tajming koji regulise kada se nesto desava (mora da se desava u odredjenom redosledu) i to mora da ima spoljni podsticaj i dirigent spolja treba da bude neki pravilan signal koji se zove signal sata (clock signal). Takav najjednostavniji signal sata bi bio pravilan cetvrtasti digitalni signal (slika dole). Kod ovog signala mozemo da uocimo neke karakteristike. Amplituda je neka karakteristika (ona se ne razmatra, jer je standardna – 0 i 5v). Sa ovog idealnog signala, bitna je frekvencija (reciprocna vrednost periode). Jos jedna bitna karakteristika je odnos dve polovine u jednoj periodi. Faza kada je signal visok se zove aktivna faza, a druga se zove pasivna faza. Pitanje procentualnog odnosa aktivne i pasivne faze (kod idealnog signala je 50%). U svakom clock signalu mi tezimo ovom idealnom odnosu, jer remecenje tog odnosa nuzno usporava kolo, jer necemo moci da ostanemo na istoj frekvenciji. Kako odredjujemo kolika ta aktivna faza treba da bude? Imamo kombinatorna kola i da signal prodje kroz ta kola (gateove) treba odredjeno vreme. Za odredjenu tehnologiju zna se koliki je taj delay (vreme). Izracunali smo to vreme (npr 1mikro sekunda). Ako imamo odnos 50 50, i pasivan deo napravimo da bude 2 mikro sekunde, odnosno frekvenciju 500khz. S druge strane, ako nemamo odnos aktivne i pasivne faze 50 prema 50 vec npr 10 na prema 90, aktivna deo moramo da drzimo na 1 mikro sekundu,jer toliko vremena treba da se stabilizuju signali, a ako je signal sata deformisan (odnos 10:90), imamo na jednom delu 1msekundu, a na drugom 9msekundi, to je ukupno 10msekundi cela perioda (frekvencija 100khz) Znaci, celo kolo smo 5 puta usporili tako sto smo signal sata poremetili. Moramo da drzimo fiksnu aktivnu faza, a odnos aktivne i pasivne faze resava na racun toga sto se ukupna Frekvencija smanji, tj kolo uspori. U praksi mora se uzme u obzir da signal ne moze da bude idealan (kao ovaj dole na slici). Praktican signal ne moze da ima ostre coskove, kao ni nulto vreme rasta, ni nulto vreme padanja (sada crta praktican signal – desno). Sada ima i vreme uspona i pada i nije cisto aktivna ili pasivna, vec ima medjufazu.

Page 23: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Ovakav jednostavan signal sata moze da posluzi za neka kola, ali je najcesce nedovoljan (monoton, samo broji 1-2-1-2…). Mozemo da uvedemo vise takvih signala, pa dobijemo kompleksnije dirigovanje. Praksa je pokazala da je dvofazni sat najbolji kompromis (3fazni i 4fazni daju unapredjenja, ali ne tolik). 2fazni sat najbolje sluzi za organizaciju sekvencijalnih kola. Kada se kaze 2fazni sat, podrazumeva se da ima 2 faze, isto tako se misli da te dve faze rade generalno u protivfazi (jedan je komplement drugoga). Ovo u protivfazi ne moze savrseno da se definise, jer se ne radi o idealnim signalima (cetvrtastim) – zato kaze ono generalno. Crta sliku (ovu dole). S obzirom na nesavrsenosti (vreme uspona,padova), ne mozemo da ih napravimo da radi savrseno u protiv fazi (preklapaju se, jedan radi, pa drugi isto radi, pa prvi ne radi, a treba jedan radi, pa kraj, pa drugi radi pa kraj, pa prvi radi…). U praksi mora drugacije. Ako ne mozemo protivfazu da dobijemo,moramo nesto drugo. Ovi signali imaju aktivne i pasivne faze, i mora biti preklapanja, ali moramo negde da se ogradimo, pa da kazemo da nema bar preklapanja u aktivnim fazama. Pravimo realni dvofazni sat sa zahtevom da se aktivne faze ne preklapaju (pasivne hoce,ovde kada ne mozemo ovo da izbegnemo, bar mozemo da kontrolisemo). Ovo je sada puna definicija – dvofazni ne preklapajucih aktivnih faza sat (misli se isto i da su u protiv fazi). Ako hocemo da imamo taj sat gde se aktivne faze ne preklapaju, pravimo karikiran slucaj, gde su aktivne faze smanjene (jer je tako manja verovatnoca da se te faze preklapaju). – to je isto slika dole. Imamo zonu sigurnosti, kada je jedan definitivno zavrsio, tek malo kasnije drugi pocinje. Sada imamo brojanje na 2 takta, gde mogu da radim poslove na pojedinim faza, bez bojazni da cu da radim dok prethodno nije zavrsili ili da sledece nije pocelo dok jos radim. Da bi imali ovu sigurnost, platili smo cenu – pasivne faze se preklapaju i jos kako, pa zato samo radim na aktivnim fazama (bolje ovako,nego da se igramo i rizikujemo). Naravno, ovo je samo ideja, jer cena ne sme da bude ovoliko visoka, da se toliko deformise signal. Bilo koji sat, se uglavnom dobija iz jednog analognog kola koje se zove oscilator – analogni oscilator (ovo nije digitalna logika). Imamo raznih oscilatora (klasicni se dobija preko kondenzatora i kalema, prazni se preko kalema,ovaj nije precizan). Precizni oscilatori se prave preko kvarcnog signala. Otkriveno je kada se kristali kvarca iseku na odredjeni nacin, mogu da se ugrade na el kola i oni kontrolisu oscilovanje i to vrlo precizno i nezavisno od promene spoljnih faktora (temperatura…), greske su samo nekoliko sekundi na godinu dana. Sada crta sliku. Objasnjava ovu sliku sa fi1 i fi2. Propustanje kroz jedan gate, izaziva kasnjenje. F2 ce da bude invertovani zakasneli f1,f2 ce da bude komplementaran, ali ce da kasni (imamo zonu preklapanja aktivne i pasivne faze – kada jedan kasni za drugim, imamo sigurno preklapanje). Nepreklapanje je uslov koji moramo da zadovoljimo, pa ovo sa f1 i f2 ne radi. Nepreklapajuci sat moze da se napravi pomoci flip flopa (crta ovaj flip flop sa norovima). Crta sliku dole. Flip flop sa povezanim inverterom izmedju ulaza daje garanciju da ce sve da bude dobro. Sada analizira. Kaze da slika izgleda u redu. Sada kaze da posmatramo 3 signala. Kaze f je 0 i otici ce jednog trenutka na 1. F1 je za sada 1 i f2 je za sada 0. Ovo imamo do nekog trenutka (nacrtano stanje).

Page 24: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Prolazenje signala kroz bilo koji gate je konstantno (zavisi od tehnologije, ali je slicno kroz sve gateove prolaska). Neka se uzme da je taj delay (prolazak kroz gate) neko vreme delta,kroz 2 gatea 2delta…Sada pravi analizu da se vidi sta biva sa timeingom (slika dole desno). Sada prica analizu – ne vidim. Pogledati ovu analizu! Na kraju smo dobili da je aktivna faza kompletno sadrzna u pasivnoj, f2 aktivno je sadrzano u f1 pasivno, i obrnuto. Upravo samo dobili da se aktivne faze ne preklapaju. Dobili smo garanciju da to tako radi, nezavisno od tehnologije, od brzine kola. Jednog momenta se pojavi f2 kao nova vrednost i to je ulazni parametar za f. Promena f1 je posledica promene f2. Nevazno je ko je i koliko brzi (nand ili inverter),jer je to uzrocno posledicna veza. Jedan signal se menja nakon apsolutno fiksiranog vremena nakon promene prvog. Ovako smo dobili dvofazni nepreklapajuci sat koji se uglavnom u sekvencijalnim kolima koristi.

F3 i F4 – prica o kolokvijumima Sada prica sta bi sve moglo da bude na kolokvijumu. Sada prelazi svaki deo sta bi moglo da bude na kolokvijumu. Kako se od jk flip flopa dobija t flip flop. Spajanjem j i k ulaza i dobijanjem t ulaza VII PREDAVANJE – 09.05.2007. god. F1 Sada analizira kolokvijum. Daje primere koji su bili na kolokvijumu. Zasto se izucavaju oblasti digitalna logika, arhitektura i VLSI i zasto tim redom? Cilj nam je da shvatimo kako radi racunar. Arhitektura objasnjava kako radi racunar, kako se delovi spajaju i rade zajedno, a da bismo to mogli da razumemo, moramo da znamo komponente racunara. Komponente se rade u digitalnoj logici u kojoj se komponente objasnjavaju shematizovano, matematizovano. Digitalna logika ne odgovara realnosti, ali je matematicki tacno (kazemo imamo kolo sa 10 ulaza, to je matematicki u redu, medjutim, fizicki, necemo moci da napravimo kolo sa 15 ulaza). Digitalna logika sluzi da bi stvari resili na apstraktnom,logickom nivou i to nam je dovoljna osnova za dalje. A kako to stvarno izgleda zavisi i od mnogih kvantitativnih parametara (fizike, zakona i ostaloga).

Page 25: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Dakle, prvo uzmemo kratak uvod koji je shematizovan i koji nam dovoljno znanja daje da uradimo ostalo. Digitalna logika radi shematizovano a VLSI prikazuje u praksi, dakle 1 i 3 su ekvivalentni samo sto je 1 shematizovano, a 3 radi prakticno (decenijama je praksa da se ovako radi). Prednosti i mane topdown i downtop pristupa Prednosti jednoga su mane drugoga i obrnuto. Kod topdown pristupa idemo od celine prema delovima i zgodno je sto razumemo sta radimo i razumemo strategiju, a nevolja je sto stalno baratamo sa nepoznatim delovima (primer sa automobilom). Kod downtop pristupa je obrnuta situacija. Pocinjemo od najsitnijih komponenti, i stalno baratamo sa poznatim stvarima, ali ne razumemo strategiju, ne razumemo zasto to tako radimo. Topdown pristup je pogodniji za krace kurseve i preglednije. Downtop je bolji za dugacke i temeljnije kurseve (primer sa automobilom). U praksi je uvek neophodna kombinacija ova dva pristupa – kratak topdown uvod, pa onda down-top. Sta je VonNeumanova arhitektura i sta je alternativa? Sustina ove arhitekture jeste da ima jednu memoriju. Ova arhitektura ima jednu zajednicku memoriju za podatke i instrukcije. Organizacija racunara sa jednom zajednickom memorijom za podatke i instrukcije, a alternativa je Hardvardska arhitektura koja ima odvojene memorije za podatke i instrukcije. Hardvarska je skuplja, VonNeumanova je jeftinija, a Hardvarska postoji i koristi se u aplikacijama gde je brzina bitna, za aplikacije u realnom vremenu (mobilne telefone, video signali). Format i grupe masinskih instrukcija Trebalo je povezati dve stvari ovde. Format instrukcija znaci da kada zapisujemo u bajtove instrukciju koja su to polja, kojim redom. Mora da ima operacioni kod koji kaze sta ta instrukcija treba da uradi. Insrukcija pored operacionog koda treba da ima i adresni deo (sa cime treba da se uradi). Ovde kod formata nije bitno koliko adresa treba da ima. Format insturkcije uvek obavezno ukljucuje i odredjivanje adresnog nacina (adresnog moda), tj koji nacin adresacije se primenjuje u instrukcije. Format: operacioni kod, operacioni mod i adresni deo. Grupe instrukcija su aritmeticko logicke, transfer podataka, kontrola toka i specijalne instrukcije. Broj adresa masinske instrukcije Svaka masinska instrukcija na neki nacin mora da ima 4 adrese, ali taj broj adresa najcesce nisu eksplicitno navedene, a zato moraju biti implicitno navedene. NE SME SE RECI NEKE ADRESE MOGU DA SE UKINU!!! NEMA TOGA, VEC SAMO ZAMENOM EKSPLICITNIM SA IMPLICITNIM. Kako se prelazi sa 4oro adresnog na 3adresni racunar? Eksplicitno se sklanja 4ta adresa i ne navodi se eksplictno adresa naredne instruckije, vec se instrukcije pisu sekvencijalno i zbog toga je uveden program counter koji se automatski povecava i ukazuje na sledecu adresu. Ne navodjenje eksplictno, vec zamena dogovora o program counterom. Koji su uobicajeni nacini modova adresiranje? Direktno, neposredno (baratanje konstantama), indirektno (nizovi), relativno (baratanje sa realokatabilnim programima u memoriji), indexno (adresni deo sabran sa indexnim registrom, sa nizovima) F2 Po cemu se razlikuju po unutrasnoj strukturi asembler bez simbolickih adresa i sa njima Razlika je sto bez simbolickih adresa ima samo staticku tabelu proizvodjacku tabelu binarnih instrukcija. Ovaj drugi sa simbolickim adresama ima jos jednu tabelu koja se dinamicki generise koja sadrzi varijable sa svojim adresama. U praksi ne mora da bude da su asembleri sa simbolickim adresama dvoprolazni, mogu, ali i ne moraju da budu (prvo prodje pokupi varijable i memoriju, pa onda ono sto i jednoprolazni). Odnos prekidackog elementa i arhitekture procesora Nezavisni, paradoksalan. Gradivni element je samo jedan sto se tice njega, a sto se tice arhitekture, gradivni elemenat se primenjuje tamo milion puta. Prekidac je dinamicki i poboljsavaju se perfomanse racunara preko njega. Arhitektura jeste kako povezujemo prekidace (ne zavisi od prekidaca) i to je staticki. Ovde ne zavisi od materijala sta cemo da napravimo, arhitektura je matematicka logika (primer sa gradjevinarstvom). Po cemu se prepoznaju generacije racunara i koje su? Poznaju se po prekidackom elementu. Ima 4 generacije. Prva cevi, druga tranzistora, treca modularna i cetvrta VLSI dizajn. Releji su radjeni za vreme 2. Svetskog rata. Elektronke – ENIAC 1945 godine. Nulta generacija sa relejima – pre 2. Svetskog rata. Peta generacija uz cvrstu ogradu. Zajednicka struktura svih kombinatornih kola Pullup grana, pulldown grana i protivfaza. Kombinatorna kola implementiraju logicke funkcije, svako izracunava neke log funkcije. Izlaz jednoznacno zavisi od ulaza. Dok su definisani ulazi, pojavljuje se jednoznacno definisan izlaz. Izlaz je u svakom momentu ili 0 ili 1. Pullup i pulldown grana rade u

Page 26: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

protivfazi. Ako rade u protivfazi, imamo sigurno funkciju. Ako su obe otvorene odjednom, imamo kratak spoj. Ako ni jedna nije otvorena, onda ne radi. XOR od NANDova dokaz formulama Cemu sluzi polusabirac i kako se moze napraviti Polusabirac sabira dve binarne cifre. Nije dovoljno, treba da sabira tri binarne cifre i zato dolazimo do sabiraca. Kada se crtaju kola, moraju da se stave oznake. Ovde je to jako vazno. Dekoder 2 na 4 crtez Od RS flip flopa napraviti jk i t flip flip t se dobija spajanjem jk ulaza. F3 Sada nastavlja dalje sa predavanjima. Demultiplexer Ima jedan ulaz i 2 na n izlaza i n kontrola kod kojeg se ulaz prosledjuje na Onaj izlaz kod koga se ulaz pros ledjuje na onaj izlaz ciji redni broj odgovara binarnom broju na kontroli. To je prakticno skretnice. Demultiplexer 1 na 4 izlgleda ovako, pa crta sliku, 1 ulaz i 4 izlaza.Na koji izlaz ce da ide, odredjuje kontrola (c1 i c0). Ovo je novo kolo koje ima svoj smisao. Dekoder i demultiplekser su po definiciji razliciti, medjutim, fizicki su jedno te isto kolo. Ako uzmemo dekoder sa kontrolnim signalom, pa sada crta dekoder ponovo.I uvede se treci signal koji se zvao enable ili sta vec. To bi bio dekoder sa enable signalom (dam mu adresu, izaberem jedan registar). Demultiplexer je sasvim drugo, ne deluje da su dekoder i demulti ista stvar. Kaze, ovde ima 1 ulaz, n kontrola i 2 na 2 izlaza, a drugde ima n ulaza, 2 na n izlaza i neki poseban signal. Ocito je da je to 1 na 1, n na n, 2 na n na 2 na n. Izlazi odgovaraju izlsazima, kontrole kontrolama. Cudna stvar je da bi ulaz morao da odgovara enable kontroli. Ovo ide aritmeticki ovako.Ako imamo 2 kola sa 1 3 i 8, onda 1 na 1, 3 na 3, 8 na 8, mora tako ako ima nekakve ekvivalencije, a onda kada vidimo sta smo uradili, kazemo moglo bi, ali se dobije da je ulazna linija jednaka enable liniji (na 1 radi sve, na 0 ne radi). Ova funkcija enable je jako jednostavna. U mislima nije jasno kako bi takva enable linija mogla da bude ulazna linija preko koje mi saljemo podatke koji se prosledjuju. OVO JE NEOBICNO, ALI JE TO TAKO!!! Mi to tesko prihvatamo,jer mi u glavi pravimo primere koji se odnose na analogni svet. Demultiplexer razmisljamo sa analogne tacke (voz i koloseci, muzicki uredjaj). Analogni primeri su jedno, a digitalno su drugi. Ako gledamo analogno, enable linija je besmislena (voz i koloseci). Predrasude su nam pogresne. Morao da shvatimo da su digitalni uredjaji. Oni barataju samo sa 0 ili 1. Oni se ispituju takos to proveravamo da li su oni u odgovarajuce vreme na odgovarajucem mestu jednaki 0 ili 1. Ovo je sve sto je potrebno za digitalni uredjaj. Kod digitalnog kola sve drugacije utvrdjujemo ( da li je 0 ili je 1, a kod voza pitamo da li se pomerila skretnica za drugi kolosek, ovo je analogno i nema veze sa digitalnom, sto je u analognom lose, u digitalnom je dobro). Ako je ovo ulaz (multiplexeru) i kazemo ako ovde pustimo 0, onda 0 treba da se pojavi na izlazu koji smo izabrali i obrnuto za 1. Aako napravimo tabelu, videcemo da je to u redu, a kada objasnimo kako se to desilo, videcemo da je objasnjenje neobicno, ali je u redu. Kada kazemo, ajde da propustimo odavde propustimo 1 na ovo mesto ovde. Mi selektujemo taj izlaz gde ulaz hoce da se pojavi (odaberemo skretnicom). Stavimo na kontrole 00 mi time izaberemo izlaz. Na tako selektovani izlaz, mi hocemo da nasu 1 da propustimo tamo. Ako je ovde 1, ovde 0, ovde 0, bice 1. Mi smo selekcijom kod obicnog dekodera obezbedili da je tacno jedan izlaz jednak 1 i to je onaj nas, mi smo selekcijom ovde napravili 1 na ovom izlazu,a enable signalu ga nismo ubili, mi nismo nasu 1 propustili tamo, vec smo nasom 1 obezbedili da tudja 1 ne bude ubijena. Nije kako mi tu intuitivno zamisljamo da je nasa 1 prosla tamo, vec smo time obezbedli da tudja 1 ne bude ubijena,ovo je ispravno digitalno, ali je intuitivno tesko da se shvati. Jos je cudnija situacija sa 0. Ajde da propustimo 0 na isti taj izlaz. Ova nasa 0 da se pojavi na izlazu. Mi bismo hteli da aktiviramo izlaz i0 i zato smo selektovali adresu 0 i napravili smo da i0 bude 1, za razliku od ostalih izlaza koji su 0 (to je posao dekodera). Onda kazemo puj pike ne vazi i stavimo enable na 0 i ovo kolo ne radi nista i bude svuda 0. Ukinuli smo kolo. Izgleda cudno,ali je rezultat da je ovde 0. Po definiciji demultiplexera smo trebali da prosledimo 0 tamo i da bude 0. Rezultat je ispravan, ali je objasnjenje cudno, ali je tako. 0 se pojavila na izabranom mestu, ali i na svim ostalim mestima. Nismo mi nasu 0 propustili, vec smo ga nagovorili da napravi 1, pa onda sve ponistimo i pojavi se svuda 0. Kada stavimo ovde 1 i ovde i ovde 0, pojavice se 1 na izlazu. Kada stavimo 0, a ovde 0 i ovde 0, pojavice se ovde 0 i svuda drugde. Ako stvimo 0, 1 odnosilo bi se na prethodno i sve radi.

Page 27: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Radi, ali ne kako zamisljamo demultiplexer da nasa 0 ili nasa 1 prodju na drugo mesto, vec smo sa 1 obezbedili da se neka tudja 1 ne ubije, a nasa 0 ubija sve, pa i to mesto koje je trebalo. Ovo funkcionise. Dekoder i demultiplexer je jedno isto kolo. Navodi se u katalozima kao dekoder/demultiplexer. Sta ce da bude, zavisi kako cemo mi da ga koristimo.

Multiplexer Multiplexer bi bio suprotan demultiplexeru. Imamo multiplexer 4 na 1. Sada imamo 4 ulzna kanala i izabira se 1 izlaz. Multiplexer bi bio kombinatorno kolo sa 2 na n ulaza, jednim izlazom i n kontrola, gde se na izlaz prosledjuje onaj ulaz ciji redni broj odgovara binarnom broju na kontroli. Od vise ulaza, bira se jedan koji ce moci da prodje na izlaza. Ovo ima primenu (koji se memorijski cip prikljucuje na procesor). Multiplexer se pravi slicno kao i demultiplexer kao i dekoder. Crta sliku. Kaze, brisemo enable liniju, jer nam ne treba, ali nam treba nesto drugo. i kolo koje je osteljivo na sve 1, ili je osetljivo na sve 0, i cesto se koriste teoreme 1*1*1*1*x je jedanko x, kod i kola koliko god da imamo ulaza 1, zavise od x. kod ili kola imamo 0+0+0+x, x daje rezultat. Ovo se koristi ovde.

Page 28: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Koriste se one gore teoreme ovde. Ja bih hteo da prosledim jedan signal. Kako da obezbedim da jedan signal prodje ili ne prodje. Ovo je kolo selektovano kada je na ulazu 00, onda ovde imamo 11,damo treci signal i sve ce da zavisi od treceg signala. Selektovanje mi obezbedjuje da je ovo bitan i elemenat, a kako ce da bude zavisi od treceg signala.Taj signal koji dodajemo je u0. I0 BICE Jednak u0, ali kada je selektovan, tj kada je na kontroli 00, kada je na kontroli 00, dva dela su ispunjena, a treci deo prolazi (kada je 1, bice 0), ako nije selektovan, onda se ovde garantovano pojavljuje 0. Sada doradjuje slike i dodaje U0. Na izlazui z svakog anda ce odgovarajuci signal da prodje,ako je selektovan, u zavisnosti sta stavim na c1 i c0, izabracu jedan od 4 anda. Ovako smo obezbedili da mi svaki od ulaznih signala prodje onda kada treba da prodje. Ovo je ta skretnica,koja obezbedjuje da jedan prodje. Taj sada koji je prosao ce da se pojavi na izlazu, jer za 3 od njih garantujemo da su jednaki 0, a 4ti je 0 ili 1 u zavisnosti kakav je signal, jer smo taj signal propsutili. Sada sva 4 spojimo paralelno u ili kolo i pojavice se odgovarajuci na izlazu. Sve ce da zavisi od 4tog, ako je 0 bice 0, ako je 1, bice 1, garantovano se pojavljuje onaj koji ce trebati da se pojavi. Multiplexer je opet modifikacija dekodera, dekoder mu je sustinski deo, a onda ga modifikujemo. Sada crta donju kucicu i simbolicki predstavlja multiplexer.

SHIFT Registar Sekvencijalno kolo jer je registar koje imam memorijsko kolo i jos neke elemente. Ovo kolo je primenljivo za razne stvari. Ovo se koristi za mnozenje. Shiftovanje je pomeranje svih bitova za jedno mesto na jednu ili drugu stranu (k-1,k.k+1). Za mnozenje je neophodno, slanje bajtova kroz telefonsku liniju (bit po bit), kada generisemo sliku na ekranu (bit po bit koji se pretvara u napon i na ekranu se ispisuje slika). Shift registar se sastoji od D flip flopova jer su oni najpogodniji za registre. D0,D1,D2 tri d registra. Oni imaju izlaze I0,I1,I2 i ulaze imaju. Imaju i kontrolni signal, on se podrazumeva (on ne crta njih da ne

Page 29: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

komplikuje). Treba da se dogvoorimo kako shift registar treba da shiftuje, levo ili desno. Mi hocemo da imamo kontrolu, da ide levo,da ide desno i da drzi , i da spolja mozemo da napunimo neki sadrzaj. 4 varjante: zadrzi, idi levo, idi desno i napuni. Ima raznih shiftovanja. Kada se sve pomeri levo ili desno, pitanje pocetka i kraja. Ima tu raznih varijanti, da se sacuva, izgubi, da se puni 0, puni 1, da se napravi krug (shift postaje rotacija onda)…. Ovo nas ne zanima trenutno. Kako da mu zadamo te operacije, moramo binarno. Dogovorimo se oko coda. 00 je hold, 01 shiftr, 10, shiftl, 11 load, to je neki nas dogovor. Onda napravimo dekoder 2 na 4, sa kontrolama c0 i c1 koje ce da odrede sta se radi (crta sliku), a mi cemo da imamo 4 zice koje odgovaraju komandama. Ovde smo resili komandi deo, sta hoce da radi, kako da mu zadajemo komande i kako da ih primi. Mi mu dajemo kao 2bitni broj, a dekoder raslanjava na 2 razlicita signala. Na ulazu treba nesto da mu se da. Ako treba da zadrzi stari sadrzaj, treba da reciklira, ako treba shiftl,sadrzaj dobija od desnog suseda, ako treba shiftr, treba od levog suseda, ako treba load, treba mu sadrzaj spolaj. Ulaz u flip flop treba da zapampti jednu od 4 stvari (levi,desni,stari,spolja signal). To je fakticki multiplexer, gde mu se uvek nude 4 moguca signala, a u zavisnosti sta hocemo, izaberemo 1 od 4 signala. Ovde nsita novo ne radimo, samo implementiramo multiplexer. Jedan je nacrtan, pa docrtavamo drugi deo (ili kolo). U ili kolo ide cetiri i kola, moze da dodje ovaj s desna, moze ovaj s leva, moze jedan sam da se vrti, a moze i da dodje neki signal spolja. U svaki bit, u svakom momentu na jedan signal sata mogu da dodju jedna od 4 stvari. A sa 4 signala izaberemo koji hoce da se desi. Sada pokazuje ako hocemo hold,ovaj signal, ako hocemo shiftr, shiftl…. Ovde je vazno da se razume sta se radi, jer je crtez jako neugodan. Shiftregistar funcionise na principu multiplexera, za svaku celuiju se odredjuje jedna od 4 stvari koja treba da udje u nju (mi biramo koja od 4 stvari treba da se desi). Ovo lici vec na jedan mali procesor, kao da smo pravili procesor. Ovo je u stvari dekoder instrukcije, zadajemo mu spolja masinsku instrukciju, pa on odredjuje sta ce da uradi.

Page 30: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

VIII PREDAVANJE – 16.05.2007. god. F1 Brojacki registar Radi se o sekvencijalnim kolima, jer kada se kaze registar znaci da ima sekvencijalna kola. Prvo bi trebalo teoretski da se razmilsi. tj da se slome neke predrasude. Prva predrasuda je ta sto brojanje vezujemo za matematiku. Ovakav pogled ovde ne valja (u zivotu ima dosta primera koji navode na

Page 31: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

drugi pogled). U zivotu imamo brojac na automobilu, za potrosenu struju, brojimo korake za hodanje, trcanje…Sat na automobilu (klasicni, mehanicki) nema veze sa matematikom (sajla je povezana na tockove…). Ovde je nasa predrasuda da je taj brojac na automobilu matematika (na automobilu se radi po principu zupcanika, razlicitih velicina i to je cista mehanika). Brojanje bi trebalo posmatrati kao funkciju koja je cisto mehanicke prirode. Sada pise neke binarne brojeve (pise binarno 16 prvih dekadnih brojeva i kaze da posmatramo mehanicki). 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 … U ova 4bita gore smo postavili 2 na 4, a to je 16 mogucih vrednosti (0-15) Mi posmatramo ove brojeve. Najnizi bit stalno alternira 0-1,0-1…(klackalica) A ovaj drugi to isto radi, samo 2x sporije, 00 – 11, 00 – 11, 00 – 11…. A ovaj treci jos 2x sporije, 0000 – 1111 Ako hocemo da napravimo sekvencu brojanja, mi ne moramo da znamo da brojimo, vec kazemo ovaj menjajte stalno, ovaj svaki drugi put, ovaj cetvrti … TO JE BROJANJE. 0 menjamo na 1 kada smo sve pre njega doterali na 1 (neka cifra se menja kada smo prethoidne doterali do maximuma, u dekadnom sistemu su sve 9, a u binarnom su sve 1). Ovo je kao kmh na automobilu. Dakle, treba zaboraviti da brojanje ima veze sa matematikom i postaviti novu definiciju u skladu sa ovim mehanickim nizov. Binarno brojanje je funkcija nad binarnim nizoM od n clanova, gde se kti clan menja, kada su svi prethdni k-1 jednaki jedinici. Ovo je mehanicki funkcija opisana. Ovo je definicija binarnog brojanja i ovakva definicija je pogodno za fizicku implementaciju komponenti – ne vodimo racuna o matematici. Sve sto radimo su logicke funkcije, svaka log funkcija se zadaje tabelom i ta tabela moze fizikom da se implementira. To je niz bitova koji radi odredjenu funkciju da se u jednom trenutku menjaju. Moramo zbog niza bitova da imamo flip flopove, tj memorijska funkcija – osnovni gradivni element je t flip flop. Crta sliku i pravi 4 t flip flopa (oni prave 4bit registar).Crta sliku, i1,i2,i3…izlazi i to su izlazi iz flip flopa. A svaki flip flop ima ulaz za togliranje (zamena mesta), koji ce na komandu da se promeni. Definicija kaze da najnizi bit treba stalno da toglira (tj kada dodje komanda,spoljni signal kaze promeni), a ostale pod nekim uslovima. Znaci,najniza ciftra direktno ce da bude vezana za taj signal za brojanje –C(count). Pretpostavlja se da je signal sata uvek implementiran i da je sat uvek zajednicki signal koji je resen na odgovarajuci nacin (ne crta se zbog komplikovanosti crteza). Count je signal za brojanje i kada on dodje, ovaj najnizi treba da se menja. Sada kaze definicija da se kti bit menja kada su svi prethodni jednaki 1. Kako cemo da znamo da su svi jednaki jedinici prethodni?Postoji kolo koje je osetljivo na sve 1 i to je i kolo. Jedan treba da se promeni, kada su svi prethodni jednaki jedinici. Sada crta i kolo i dotera sve ostale u i kolo. Kaze da bi ovo ovako moglo da radi. Ali kaze da je problem sto i kolo ovde ima mnogo ulaza. Koristimo osobinu, ako imamo a*b*c*d*e i iskoristimo asocijativnost mnozenja, pa kazemo da je to ((a*b*( c))*d )*e ovde ga postepeno izracunavamo, i sada prilagodjava sliku tome (da nemamo jedno i kolo, vec mnogo i kola tj da ne bi u to jedno i kolo islo vise ulaza). Svako to i kolo predstavlja jedno parcijalno mnozenje. Ovo je mnogo zgodno, jer ako imamo i kolo sa 2 ulaza, prakticno mozemo, a ako bi imali i kolo sa ulaza koliko prethodno ima bitova, to je prakticno nemoguce (64bit…).

Page 32: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Simbol: Ovo bi bila oznaka za binarni brojac 4ro bitni, koji ima izlaze i0,i1,i2,i3 i koji ima ulaz c za count kada treba da broji, i izlaz p(prenos) koji moze dalje da se iskoristi.

Ovo prethodno kolo mozemo vrlo lako da prosirujemo, jer ako uzmemo jos jedan brojac BB4 i spojimo prenos sa sledecim BB4 brojacem, dobijemo 8bitni,16bitni,itd,jednostavno se vezu. Medjutim, ovakvo kolo ima jednu manu, kao i oni sabiraci koje smo spominjali radnije. Ovakvo kolo je sporo, jer signal mora da propagira od pocetka do kraja. Ovaj ce da zna da li treba da toglira kada prima signal odavde, a ovaj ce da zna kada prima signal odande, ovaj krece s desna na levo i izgradjuje signal, pa ako je dugacak, potrajace dok se onaj najstariji bit stabilizuje. Kako da se obezbedi da ne treba da ceka od pocetka do kraja, a to su vec detalji prakticne implementacije. Ovakvo brojacko kolo ima i drugi naziv po katalozima – delitelj frekvencije. Prvi se menja stalno, drugi svaka 2x puta, treci svaka 4x puta…. Mozemo da zaboravimo na brojanje, vec dovedemo neki signal ovde i dobicemo signal dalje duplo manje frekvencije, pa opet manje,itd, tj svaki sledeci deli sa 2. Ako imamo potrebe za delenje frekvencije, mozemo da koristimo to kolo.

Page 33: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

U praksi se mnogo vise koristi brojac unazad. Brojac unazad Visi jezici rade brojanje unapred. Kada se spustimo vec na C, nizovi idu od 0 do n-1, a kada se spustimo na masinski jezik, ide se od n do 0 u hardveru, jer je na kraju izlazni kriterijum uvek da li smo doterali do 0. Hardverski su uvek counteri count down. Sada posmatramo definiciju brojanja. Posmatramo u drugom smeru. Kada gledamo unazad , kada ce 1000 da se smanji, pa kada smo doterali na 999. Brojanje unazad je funkcija kod koje se kti bit menja kada su svi prethdni jednaki 0. Uz pomoc gore navedene definicije mozemo da implementiramo brojac. Isto ce biti T flip flopovi. Ovde sata imamo kolo, ILI, jer to kolo reaguje na sve nule. Sada treba da detektujemo kada su svi prethodni jednaki 0, pa tada da reagujem. Treba da prepoznamo kada su sve 0, pa ce kolo da bude NILI (NOR). NORovi ce da nam daju 1 jedino u slucaju kada su svi prethodni jednaki 0. Sada AND gate gore zamenjujemo sa NOR gateom i dobijamo brojac unazad. Ggde god ima and gate, zamenimo ga sa NOR gateom i dobijamo brojac unazad. Medjutim , u praksi bi se to pravilo dosta drugacije. Mozemo da iskoristimo istu mastu sa i kolima i kazemo. Treba da prepoynam kada su sve prethodne 0, kada su sve prethodne 0, njihovi komplementi su jednaki 1, ako su svi jednaki 0, njihovi komplementi su jednaki 1. Kao prethodni slucaj, ostavimo sada i kola, samo ne uzimamo odavde, nego odande. Znamo da iz konstrukcije flip flopa, on automatski daje i izlaz i komplementirani izlaz (besplatno). Sada cemo da koristimo komplementirani izlaz (indirektan izlaz iz T flip flopa) jer je besplatan. Hocemo da prepoznamo kada su svi direktni izlazi jednaki 0, to je kada su svi komplementirani jednaki 1, a to se prepoznaje kada se oni prepuste kroz and kola. Umesto da zamenjujem nor kolima, razlika izmedju brojaca unapred i unazad je, ako sve ove povezem na q, dobijem brojac unapred, a ako ih sve povezem na q nadvuceno, dobijamo brojac unazad. U praksi se radi, jer je to sve slicno da kada napravimo kolo, ono moze da bude i brojac unapred i unazad, samo se pitamo odakle uzimamo nesto. Imamo q i q nadvuceno i treba da izaberemo da li ce ovaj ili onaj da ode na zajednicki izlaz – ovo je upravo definicija multiplexera (bira neki od ulaza i njega propusta). Ovde se radi o multiplexeru 2 na 1. A on ce da izabere koga ce da propusti na osnovu kontrolnog signala (njega zovem u/d nadvuceno – updown, jedinica je up, nula je down). Imamo taj spoljni signal koji selektuje up down, u zavisnosti od toga da li je na 0 ili 1 stavljen. i ovu istu stvar ponovimo svuda. Sada se podseca sta je taj selektor (multiplexer 2 na 1) Crta sliku dole desno.Na ovaj nacin sa ovim jednim kolom resavamo pitanje i brojanja gore i brojanja dole.

Page 34: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Mozemo isto tako da napravimo i dekadne brojace. Binarni bi bili korisceni interno u samom racunaru, a ako trebaju brojaci nesto spolja da pokazuju (kmh…), trebaju nam dekadni brojaci. Najejdnostavnija veza izmedju ova dva brojaca je preko BCD koda,gde se po 4 binarne cifre koriste za kodiranje jedne dekadne cifre. Uredjaji su po prirodi binarni, a ako hocemo da brzo predjemo na dekadni sistem, jedan 4ro bitni binarni brojac se pretvara u jednocifreni dekadni brojac. BB ide od 0 do 15 pa nazad, pa treba da ga ogranicimo da ne koristi 10,11,12,13,14 i 15. 4bit BB postaje jednocifreni dekadni brojac, tako sto mu ugradimo mehanizam koji ce da radi kao obican binarni, samo kada prepozna 9, da mu ne dozvolimo da idemo napred na 10 i sasecemo ga i vratimo ga na 0, pa ponovo krene do 9 i tako dalje. Na 0 cemo da ga vratimo tako sto ga nasilno postavljamo na nulu except (tako nesto) signal koji postavlja na 0 bez obzira na sve ostalo. RS flipflopovi su imali r liniju da se kolo resetuje na 0. T flip flop je nastao od jk flip flop, a jk je sr flip flop sa nekim modifikacijama. T flip flop se cesto fizicki ne radi, jer nema svrhe interno vezivati. T ff je jk ff ciji su ulazi povezani. Ovde nam treba i ovo. T flip flop je jk ff sa povezanim ulazima, pa ovde kazemo necemo bas da ih povezemo, nego nekako da ih doteramo, pa sada crta. Imamo jk i osim signala c, imamo i signal RST,koji treba da ako je on jednak 1, treba ovo da postavi na 0, a ako nije jednak 1, onda treba ovo da se ponasa kao sto se ponasalo. Ovo k , kod njega stavimo jedno ILI kolo. Pa kazemo ako je RST =1, 1 sigurno prolazi ono sigurno prolazi kroz ili kolo. Kada je RST jednak 1, k je aktivirano i flip flop ce da bud postavljen na 0 (to je ustvari reset signal). Ako rst nije jednak 1, onda C signal treba da se pusti i na J i na K (isto sto i ranije),pa sada kaze da treba negde da se stavi inverter i ovde da stavi signal c. Pa kada je ovaj 0, ovaj je 1,i kada je ovaj 1, kada njih dvojca treba zajedno da daju 1 koja ce da ode i ovamo i onamo (objasnjava sliku). Prema tome, j i k zajedno su 1, kada je ovde 1 i ovde 1, drugim recima kada je ovde 1 i ovde 0, kada necu da resetujem i hocu da brojim. A ako je rst 1, prolazi ovde i resetuje. Uvek moze da se izmisli, treba mi od ovoga i onoga i to se radi. Ovde imamo ideju, kada se rst jednak 1, treba da se povuce na 0, nije jednak 1, treba da radi kao i ranije, kao t ff (sa ova 3 gatea je ostvareno) Sada imamo binarni 4bitni brojac koji ima rst signal. Sada samo treba da ugradimo prepoznavac 9tke i kada je prepoznamo, odradimo reset i dobili smo dekadni brojac. Sada crta, pa kaze uzmemo ovo sto

Page 35: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

smo radili, pa mu ugradimo prepoznavac 9tke. Lako je prepoznati bilo koji sadrzaj. i je prepoznavalac svih 1, a ILI svih 0, sve sto nije tako,moze da se svede na to. Ako hocu da prepoznam sadrzaj 01101001, trebamo da ovo sto su 0 da propustim kroz inverter, a ono sto su 1 da propustim direktno. Ovo propustim sve kroz jedno i kolo i 1 ce na izlazu da se pojavi tacno kada se na ulazu pojavi ovo sto smo napisali. Na ulazu i kola cu dobiti sve 1, tacno kada je na ulazu sadrzaj ono gore. i kolo se koristi za prepoznavanje bilo kog sadrzaja (mozemo ovo isto da uradimo i sa NOR kolom). i gore i dole imamo prepoznavalac sadrzaja. Ovo bi bilo generalno prepoznavalacko kolo. Ovde treba da prepoznamo 9 a to je 1001, ovde treba samo da ugradim inverter, pa ovde inverter, pa i kolo i povezemo na reset (crta sada). Ovo sada postaje dekadni brojac – POGLEDATI DRUGU SLIKU. U ovoj prici je pitanje sata nedoreceno, finija tehnicka pitanja su izozostavljena (da li je master slave, da li je jednofazni sat ili nije….). Ako bismo ovo hteli prakticno da napravimo, trebali bi da se bavimo tehnickim detaljima. To se ovde ne razmatra. Postoje i druge optimizacije, kaze da bi ovde dovoljno ovako nesto, umesto ovog relativno komplikovanog prepoznavalaca, mozemo da uzmemo samo jedno i kolo. Ako treba da prepoznamo bilo koju 9tku, treba da prepoznamo 1001, a ovde treba da prepoznamo 9 odredjenom kontekstu kada se pojavila, tj kada dolazi samo posle 8. Do 0 je ovaj signal sve 0, pa je tek od 9tke signal prvi put 1,onog momenta kada se ovde pojavi 1, ovde se pojave tri 0 i kada se pojavi 9tka, pojavi se taj 1. Ovo je jednostavan prepoznavalac devetke u brojacu (gledamo samo ova 2 i oni se aktiviraju). Nama ponekada treba dekadni brojac koji nece da ide do 10, to se odnosi na obicne satove. Ako brojimo sekunde i minute idu do 59, a sati do 12…. Ovi slucajevi se isto regulisu na ovaj nacin. Brojac za sekunde ce biti dvocifren (jedan je normalan od 0 do 9, a drugi ce da prepoznaje 5 i onda ode na 0 (od 0 do 5), kada imamo oba rst, dajemo sledeci na minute i ostalo…).Ovde jedan signal ostaje signal za prenost, prenosimo ga na sledeci. Sati idu od 0 do 24, jedan treba da ide od 0 do 9 i od 10 do 19, pa posebno da ugradimo kada se pojavi 24, odnosno 23, onda se generise rst nazad na 0. Kada znamo sta je prepoznavac i kada imamo rst liniju, mozemo da napravimo bilo sta.

F4 ROM kolo U stara vremena, racunari su imali feritne memorije, tj memorije su radile na magnetnom principu. Svaki bit se pravio kao jedan mali feritni konus oko kojeg se namotavala zica i propustanjem struje kroz zicu se taj konus magnetisao i razmagnetiosao i pamptio 0 ili 1, kao sto danas radi hdd. Tada su memorije bile jako skupe. Ovo je imalo jednu prednost – osobinu da ta memorija nije gubila sadrzaj sa nestankom struje. Ovo je ovako bilo decenijama. Onda je doslo vreme 60tih kasno i 70tih, kada su

Page 36: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

pocele da se prave elektronske memorije ff, koje su po svim parametrima bile bolje, osim jedne stvari – te memorije gube sadrzaj kada nestane struja. Memorija nije vise trajna, i ovde se javio novi problem, kako sada da startujemo racunar. Sa pojavom elektronskih memorija pojavio se problem startovanja racunara. On se resava tako sto u racunar moramo da ugradimo jednu trajnu memoriju i u koju ce da bude upisan za startovanje racunara. Procesor kaze kada dodje struja, tj reset signal, idem na adresu, donosim prvu instrukciju, izvrsavam, procesor je jako ogranicen. Obaveza je konstruktora sistrema da zna gde ce procesor da ode kada dodje struja i da tamo smesti program koji ce da startuje racunar. Moramo tamo gde ide procesor da ugradimo neku trajnu memoriju, koja ne gubi sadrzaj i sa dolaskom struje procesor ode tamo. Sa pojavom el memorije, sa procesorom moramo da imamo 2 memorije trajnu sa programom za startovanje i drugu normalnu gde mozemo da radimo ono sto trebamo. Pokazalo se da ta memorija koja ne gubi sadrzaj ima jednu dodatnu osobinu, nus pojavu, to je da po njoj ne moze da se pise. Nama treba trajna memorija koja nece da izgubi sadrzaj pri gubitku struje, a ona je tada imala osobinu da po njoj ne moze da se pise. Tada nije moglo zbog toga da ta trajna memorija bude ukupna memorija, vec samo ona za startovanje racunara. Tako dolazimo do te situacije (ovo je jedan evolutivni proces). Danas se kaze da racunari imaju 2 memorije ROM i RAM (to je zbrkana situacije).Ovo nista ne znaci. Read only memory je malo nakarodno, ne treba nam da ne mozemo da pisemo po njoj, vec nam treba da ona ne gubi sadrzaj (primer sa prevozom – tresac kostiju). Dakle, ime ROM je jako glupo, jer je to samo nus pojava ove memorije koja ne gubi sadrzaj kada nema struje. ROM bi se bolje nazivao trajna memorija i onda bi bilo to to. Sa druge strane imamo RAM Random Access Memory. Ovo je isto pogresno, jer nas ne zanima slucajan pristup, vec nas zanima ciljani pristup. Bolje ime bi bilo memorija sa adresnim mehanizmom, memorija sa ciljanim pristupom. Alternativa memoriji sa ciljanim pristupom su alternative memorija sa sekvencijalnim pristupom, LIFO, FIFO… Sekvencijalnim memorijama (magnetne trake), ne mozemo podacima da dodjemo kako hocemo, da bismo dosli do 100tog, moramo da prodjemo kroz 99. RAM je altrnativa onom ciljanom, pa je to skroz pogresan naziv. Kako pristupamo ROM-u? Svaki rom je nuzno ram (jer oba imaju adresni mehanizam). Smesno je reci imamo ROM i RAM. RAM moze da bude ROM ili ne mora. ROM je jedan deo RAMa. Ovo je kompletna zbrka pri pisanju. Obe memorije su memorije sa adresnim mehanizmom, jedino je razlika da li gubi sadrzaj ili ne gubi sadrzaj. ROM je potreban za startovanje racunara kao trajna memorija. Svaka memorija ima ad mehanizam, klasicni ad mehanizam je dekoder (prima adresu i selektuje jedan od registara). Svaka memorija pocinje od dekodera. Svaka memorija se karakterise sa 2 broja, 2k puta 4, ili 256 puta 8. Prvi broj oznacava adresni prostor (koliko registara memorija ima), a drugi broj oznacava sirinu registra (koliko ima bitova u svakoj memoriji). Sada crta memoriju 4 (broj registra) puta 3 (sirina) (neobican slucaj, u praksi neprimenljiv). Prvo treba da se odredi sadrzaj te memorije, npr 011, 101, 100, 010. Ovo je sadrzaj te trajne memorije i kada nestane struja to ce da stoji sacuvano i procesor ce moci to da procita. Prvo nam treba dekoder 2 na 4, on prima adrese a0 i a1, a selektuje jednu od 4 linije, r0,r1,r2,r3. i sada uzimamo za svaku data liniju po jedno ili kolo i dobijamo d0,d1 i d2. Onda cemo ili kolo da povucemo liniju od svake od ovih (crta). Za sada ovo nece nisa da uradi pametno (daje sve 1 u svakom slucaju). Dovedemo na ulaz neke adrese i kada dovedemo neku adresu, dekoder selektuje tacno jednu od izlaznih linija. Jedna je 1, o ostale su 0. Od nje imamo zicu na sva 3 ilija. Kada na ili kolu imamo jednu 1, nije vazno sta je ostalo. Ovde se garantuje da ce uvek biti na 3 mesta 1. Sada gledamo, gde se nama ne svidja gde je 1 (gleda sliku), kaze mogu da uzmem i mogu obrnuto da uradim, da presecm ovu zicu ovde i pita sta sada biva. Kaze kada bude adresa 00, bice selektovana ova zica, a ostale ce biti 0, i objasnjava na osnovu slike (ne vidim). Secenjem zica na odgovarajucim mestima otpisujemo 0. Prica sada primer kada hocu da upisem 101 na adresi 10. Sada kaze za 100, pa opet preseca, ne vidim, treba da se analizira slika. Secenje odgovarajuce zice obezbedjuje upisivanje nule. Sada kaze da ovakva gotova slika upravo predstavlja ovu trajnu memoriju. Ovde treba da se primeti da je ovo krajnja nerealisticna implementacija. Medjutim, u praksi ovo ne bismo mogli da radimo. Ovde se trazi ili kolo sa onoliko ulaza koliko ima registara (ranije je bilo bar 1000 , 1 kilo), i ovako je jako testo da se izvede za veliki broj registara. Kako bi se u praksi ovi uredjaji koristili. Ovakav slucaj podrazumeva da mi komuniciramo sa fabrikom, moramo unapred da smislimo sta ce da pise u memoriji i posaljemo u fabriku i onda oni presecaju zice. Ako nam treba 10000 komada, fabrika ce da uradi specijalne slucajeve sa ovako presecanim

Page 37: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

zicama, a ako nam treba manje, ne moze. U praksi se radi tako sto postoji varijanta koja se zove PROM (Programmable ROM). Ovde se misli na programabilnost na terenu, a ne u fabrici. Fabrika kaze da razni ljudi trebaju razne stvari. Kaze, mi cemo u fabrici da pravimo samo jednu stvar koja moze da se prilagodi i bude dobra svakome. Ona pravi jednu stvar koja je jednostavana i jeftina (gde ima svuda 1, tj koja ima sve zice), ali ima dodatak, dodatni mehanizam kome cemo moci da spolja dovedemo napon od npr 12 v (obican radi na 5v), i jos dodatni adresni mehanizam kojim cemo moci da selektujemo neku od 12 zica i da dovedemo napon od 12v i da spalimo koju hocemo. Imamo sada jeftin cip koji generise sve 1 i kod kuce mi palimo zice. Dobili smo isto sto je moglo i u fabrici da se napravi. Za ovo postoji uredjaj koji se zove programator (cip utaknemo u njega i kablom na usb). Imamo softver koji ima tabelu gde hocemo sta da pisemo i pokrenemo softver i onda se spaljuju odredjene zice i ovo je u praksi odlicno promenljivo. Mi smo pricali o vise memorija i opet ima ljudskih predrasuda. Spominjali smo do sada kombinatorna,mem i sekvencijalna kola i znamo definicije. U skladu sa tim definicijama, ovo nije nikakva memorija. Sustinsko svojstvo mem je da zapampti ono sto smo mu mi dali. Kombinatorna kola damo ulaz i dobijemo izlaz,izracunavanje log funkcija.Dekoder je kombinatorno kolo. Mi u RoM stavimo ulaz i dobijemo izlaz, i ljudi veruju da je to memorija, ali u skladu sa definicijom ovo nije memorija. To je tacno, to nije memorija, vec kombinatorno kolo. A zovemo ga memorija, jer sami sebe lazemo. Mozemo mem i drugacije da posmatramo, kazemo memorija je nesto sto koristimo kao memoriju, a to je ako imamo adrese, pa adresni mehanizam, pa procitamo sadrzaj i ovo zadovoljava ovu definiciju. U ovu definiciju bi rom mogao da se uklopi. Pa se onda kaze ako rom prihvatimo kako memoriju, zasto and po ovoj definiciji ne prihvatamo kao memoriju. Ovo je sve mutno. Ovo je nasa proizvoljnost i zbog toga sto rom ima mnogo funkcija i adresa kazemo da je to memorija (onda ista argumentacija vazi za svaki nand i nor). Ovo ROM je klasicno kombinatorno kolo, ali moze da se koristi kao memorija, i zato se zove ROM. Kombinatorna kola izracunavaju logicke funkcije, to isto radi i ROM. ROM izracunava te funkcije na najtrivijalniji nacin, on izracunava logicku funkciju koja je tablicno upisana u njega. Sa ROMom se log funkcije implementiraju trivijalno. Upisemo tablicu u ROM i izracunava se. Napisemo samo tablicu (za xor, sabirac, sve) i upisemo u rom i imamo rezultat. Ne zanima nas nista drugo, ni da je xor 4nanda, ni sve ostalo. ROM na trivijalan nacin implementira funkciju. Samo se upise u ROM. Rom 8x2 je puni sabirac. Ima 3 ulaza i 2 izlaza, 8 registara. 3bitna adresa ulaz. To su nam 3 ulazi p,x,y, koji daju odgovaraju s i p koji mogu da se procitaju. Sa jednim takvim 8x2 ROMom dobijamo puni sabirac. Isto tako uzimamo npr dekoder (velika jedinicna matrica), prepisemo jedinicnu matricu u rom i radimo. Ovo upisivanje u ROM se negde vise isplati, a negde ne. Sve sto radimo su log funkicje, svaka log funkcija se zadaje tablicom i tablica se upisuje u ROM. ROM je univerzalni hardverski uredjaj, sve moze da se upise u ROM. U praksi ne biva tako, jer je nesto malo skupo,malo sporo…. (primer sa kritpografijom – najbolji sistem, kljuc dugacak koliko i poruka i ne ponavlja se, ali je nama nezgodno). Isto je i ovde, sve se lako resava preko ROMa, samo nece da bude preterano brzi i bice skuplje (potrosice mnogo prekidaca). Moze tako, ali da lupamo glavu, kako da napravimo sabirac, sa dva polusabiraca i to sve radimo da bi bilo brze i jeftinije, sa manje prekidaca. Pomocu ROMa implementirati bilo sta. Napraviti dvobitni mnozitelj. Imamo ulaze xox1 i y0y1 000 001 010 011 100 101 110 111 Izlaz 2bit mnozenja ce da bude 4bita. Izlaz je p0,p1,p2,p3. Jednostavno popunjavamo tu tabelu. (ne vidim ovo dobro sto pise).NACRTAO JE TABLICU 2BITNOG MNOZITELJA (NE VIDIM).Najtrivijalnija implementacija je pomocu ROMa i sve stavimo u ROM 16x4 koji ima 4 adresne linije i sadrzaj roma, i kada stavimo odgovarajuce ulaze, dobijemo odgovarajuci 4bit broj. Prepisemo tablicu i gotova stvar. Ovo nije optimalno, jer kada gledamo 4ti it, svuda je 0, samo na jednom mestu 1. Nije najekonomicnije to da se uradi, ali je jednostavno. ROM je univerzalni uredjaj za implementaciju funkcije. Kod ROMa imamo dobre i lose osobine. Dobro je sto je ROM univerzalni, a nevolja je sto je ROM neracionalan, mnogo trosi. Mi bismo hteli negde izmedju. i pokazalo se da moze da bude ekonomicnije, a to ce se zasnivati na NDF, gde je veza izmedju NDF i tablice trivijalno, iz svake tablice

Page 38: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

se vidi NDF. Kod NDF uzimamo sam one elemente gde se javlja 1. Npr, NDF t3 je jednako y1y0x1x0, to je ndf funkcije t3 iz primera koji nisam video. Slicno moze i za druge funkcije. Pisuci NDF, mozemo dosta da ustedimo. i napravice se metod na NDF koji ce da ima svojstva resenja sa ROMom , a sa druge strane ce da bude racionalniji. To je PLA (Programmable logic array). F3 PLA (Programmable Logic Array) Proizovd cu da napravim sa i kolima, a sumu cu da napravim sa ili kolima. Sada crta sliku, pa kaze pravi ulaze u0…uk, pa ulaze provede kroz mrezu i kola i sve zajedno zove AND Play (i ravan), to je ova ravan koja pravi proizvode, pa kaze onda zarotira za 90 stepeni, pa su ti proizvodi ulaz za OR Plain (or ravan) koja pravi sume, pa onda izlaze izlazi i0…ip.To se i fizicki implementira tako, a zgodno je da se zarotira od 90. Ako u osnovnoj formi, pla izracunava funkcije, uz pomoc PLA se implementiraju konacni automati, to su jednostavni racunari koji vrse fiksan program, ali bez toga da imaju procesor i memoriju, pa je sve sabijeno u nesto sto se zove unutrasnje stanje. Uz pomoc njih pravimo liftove, ves masini, automati za placanje…Ovi automati se trivijalno implementiraju pomocu PLA. Unutrasnja stanja imamo kao linije ovoga ovde, imamo ulazne linije, pa od njih i unutrasnjeg stanja izracunavamo izlaze i novo unutrasnje stanje, pa je novo unutrasnje stanje postaje staro unutrasnje stanje i tako… Ovo ce biti sledeceg casa. Ulaza imamo 4 komada. Ulazi uvek idu sa svojim komplementima (uobicajeno gde imamo pravilnu strukturu). Sada crta, kaze napravimo 8 linija.Pa kaze stavimo invertere, i kaze x0x1,y0y1 sa svojim inverterima. Prvo sto treba da uradimo jeste da formiramo proizvode, ali samo one koji nam trebaju. Sada prica sta nam treba, a sta nam ne treba…Kaze da imamo 9 komada koji nam trebaju, pa kaze da treba da napravimo 9 i kola. Crta sliku.9 i kola od kojih ce svako da odgovara jednom od ovih proizvoda i to samo onih koji nam trebaju. Opet objasnjava, ali ne vidim nista, jbg!Kaze nesto mu treba, nesto mu ne treba… ISTO JE KAO i PRIMER OVAJ DOLE, SAMO STO IMA 16 ULAZNIH KOMBINACIJA. Sada je napravio pla koji implementira dvobitni mnozitelj. Kaze da je ovo isto unvierzalna primena (radi se iz tablice), ali je dosta racionalnije, bacili smo silne nule (ustedeli smo na prekidacima i povecali brzinu). PLA se zove zato sto je programmable logic array. U fabrici se pravi samo jedna vrsta cipova (cip sa svim mogucim zicama), isto kao i prethodno imamo programator koji se prikljuci na racunar, pa napon od 12v, pa softver kojim selektujemo zice koje ne trebaju, pa ih spalimo. Ovo je interesantno za implementaciju funkcije, kao i za konacne automate (to su kompletni uredjaji, racunari koji rade nesto primitivno, sve je sazeto u unutrasnja stanja).

Page 39: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji
Page 40: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji
Page 41: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

IX PREDAVANJE – 23.05.2007. god. F1

Page 42: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Ostala je jos jedna stvar iz digitalne logike. To su konacni automati. PLA uglavnom implementira logicke funkcije, ali sa nekim malim modifikacijama moze da implementira konacne automate koji su interesantni. Za semafore, za ves masine, za razne druge uredjaje. Ovde je interesantnije da se vidi generalniji pojam racunara. Opet sklanjamo predrasude, da ne bi usko gledali stvari. Automati su neki mali racunari. Svaki racunar je automat. Mi smo jako dugo sa racunarima, pa koristimo pojmove programiranja, fon neumannove arhitekture, pa smo blizi njemu. Ovde cemo da vidimo racunar koji radi ise funkcije kao i racunar, samo na drugi nacin. Konacni automati imaju unutrasnje stanje i tamo su sabijeni i program i podaci. Da li mozemo 2 varijable da pamptimo u jednoj varijabli. Onda koristimo razne nacine kodiranja, to su trikovi, najjednostavnije kodiranje je da ih pomerimo decimalnim zarezom jednom od druge,pa ako su varijable manje od hiljade, jednu pisemo kao jedinice, drugu kao hiljade. Onda varijable 135 i 52,zapisacemo ih kao 135050, pa ostatak pri jednom deljenju sa 1000 je jedna varijabla, a druga varijabla je celobrojno deljneje sa 1000. Spolja imamo 1 varijablu, a za nas logicki imamo 2 varijable. Ovde smo videli da 1 varijabla moze da vrsi funkciju 2 i 3 varijable. Isto kod ovakvih automata ce u potpunosti i program i varijable da budu sabijeni u unutrasnje stanje koje onda diriguju ponasanje tog automata. Kvantni automati nema programe i podatke, ima spoljne ulazne podatke, izlazne podatke i unutrasnje stanje. Na ovaj nacin obavlja neku funkciju koja je mogla na klasicnom programskom jeziku da se isporgramira. Dakle, kod konacnog automata, imamo vektor ulaza i vektor stanja, a na ostnovu njih se generisu vektor izlaza i vektor novih stanja S` (nova stanja u sledecem ciklusu postaju stara stanja). Ui i Si generisu Ii i Si+1 i to se vrti u krug. Sada uzmemo nove ui plus 1 i si plus 1 i generisemo Ii plus 1 i si plus 2. Ovo bi bio opis funkcionisanja konacnog automata. E sada kako to u praksi izgleda. Implementacija ce da bude preko PLA. PLA izracunava logicku funkciju (kako sada od ovog sto izracunava log funkciju da napravimo konacni automat). Mi cemo ono sto je za nas logicki (ulazi i stanja) da smatramo sve zajedno ulazima, a ono sto su izlaz i nova stanja, smatracemo to izlazima. Ovo je kada se posmatra zajedno logicka funkcija koja ima ovliko ulaza i ovoliko izlaza. Sada crta sliku. Ulazi se dele na grupe Ui, Si, a opet izlaze, neke cemo da zovemo Ii, a neke Si plus 1. Fizicki su dve grupe: ulazi i izlazi. Logicki zamisljamo da su neki ulazi pravi, a neki unutrasnja stanja, a izlazi, neki su pravi izlazi, a neki nova unutrasnja stanja. Buduci da postoji povratna veza, stara unutrasnja stanja postaju nova unutrasnja stanja,sve sto treba da uradimo jeste da napravimo povratnu vezu, tj da se ovi si plus 1 vrate na si. Prema tome, konacni automat po teoretskim definicijama je jedno, a fizicka implementacija je samo PLA sa povratnim spregama i te povratne sprege su u stvari unutrasnja stanja. Ovde je onda naveci posao da se razume realni problem iz fizickog realnog sveta. Sada krece primer. Uzima primer automata za kupovinu, tj prodaju (za kafu, za kolace). Recimo da postoje novcanice od 1din,2din i 5din, a da se roba prodaje (kafa) kosta 5din. Automat ima mesto gde prima novac, gde vraca kusur i da izda robu. Prima novac, izda robu i vrati kusur. Treba da shvatimo problem i da definisemo sta je tu sta. Sta ce da budu ulazi? Spolja se desava – ljudi ubacuju pare. Ulazni podaci su: 0din,, 1din,2din i 5din. Spolja imamo 4 razlicita dogadjaja i zato imamo 4 stanja (numericke vrednosti nisu bitne, bitna su samo stanja). 4 stanja se siftruju sa 2 bita. Sada crta donju tabelu.On stavlja uo i u1 kao ulaze (oni znace da je ubaceno nista, da je ubacen 1,2 ili 5din). Ovde je unutrasnje stanje koliko je do sada automat uzeo para. Ovde ce biti 5 unutrasnjih stanja (ubaceno 0,1,2,3,4 dinara). Sada kaze imacu s0,s1,s2. 5 stanja moram da sifrujem sa 3bit, ali cu da koristim samo 000,001,010,011. Ne treba mi kada ubacim 5 dinara, jer tada racunam da sam izdao kafu. Kada je pisao ulaze u0 i u1, koristio je ispisivanje 4 binarna broja (0,1,2,3). Sta ce da budu izlazi? Izlazno stanje moze da bude nikome nista, dajem kafu, dajem kafu i vracam kusur (maximalno moze da bude 4+5 a to je 9 dinara), pa ce max kusur da bude 4 (kusur moze da bude 1,2,3 ili 4). Ovde ima 6 mogucih slucajeva. Sifrujem ih sa 3 bita, I0,I1,I2 (sada pise tabelu). Sada ih numerise, pa kaze jedan je dajem kafu plus 0,1,2,3,4 dinara, pa je onaj jedan ne dam nista (ovde je isto pisao za ulaze binarne brojeve). Moze se rasporedjivati kako hocemo, najjednostavnijeje je npr ako imam kusur 1 din da bude izlaz binarni broj 1, pa 2din da bude izlaz binarni broj 2…Sada kaze tablica da ce ulazi da budu U i S, a izlazi ce da budu izlaz i nova stanja, znaci ulaz i staro stanje definisu izlaz i novo stanje. Sada pise U0,U1,S0,S1,S2 i sada, generalno 5bitni kompozitni ulaz bi imao 32 slucajeva, i od 32 ne koristimo sve ulaze. Ako ispisem i slucajeve koji nam ne trebaju, nije nista. On sada stedi prostor i kaze (da bi stalo na tablu ako ima 20 slucajea moze na tablu, ako imam 32 ne moze). Kaze ovo su moguci ulaci, a un stanja ima 5 a ne 8, pa ne dreba 8 puta 4 je 32 vec 5 puta 4 je 20. Sada u skladu sa tim popunjava tablicu. Sada gleda koja se kombinacija koliko puta javlja i stedi prostor (kaze 11 javice mu se 5 puta….pa tako dalje). Sada je zavrsio i kaze da bi to mogle biti moguce kombinacije.

Page 43: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji

Sada treba da vidimo sta treba da se desi. Kako se prave izlazi i nova stanja. Sada ce da dopunjuje tabelu S2`,S1`,S0` - Ovo su oznake za novo stanje, a izlazi su I2,I1 i I0. Sada gleda gde su zajednicke stvari i objedinjuje da bi islo brze. Uzima prvih 5 slucajemo U1 U2 je 00, to znaci da ovaj ne daje pare na ulazu i da se nista ne desava, pa onda celokupno stanje ne prepisuje (ne da nista na ulazu, izlaz ne da nista – ni kafu ni kusur), pa prepisuje na I2,I1 i I0. Sada gleda drugu petorku. Na ulazu kaze, ovaj daje dinar, i tada uglavnom pamptimo da je on dao dinar (pamptim povecani sadrzaj, ako sam imao 2, pamptim 3, pa td) i u tom jednom slucaju ako sam imao pre 4 dinara, a on dao dinar, isporucujem robu onda. Ako on da dinar, ja pamptim da sada imam 1, pa povecava…(ako sam imao 1, sada imam 2, a ako sam imao 2, sada imam 3, pa 4,pa 5 i kada dodjem do poslednjeg slucaja, ja dajem robu, ali nema kusura). Znaci i ovde ostaje kao i u prethodnoj petorki, i ovaj je slucaj daje dinar, povecavam kredit, a u petom slucaju dajem kafu, ali nema kusura. Prva petorka on de da nista, automat ne da nista Druga petorka, on daje dinar, stanje se povecava i u petom stanju tek daje kafu, ali nema kusura, jer kafa kosta 5din Treca petorka. On daje 2 dinara, pa se sada isto kao i u prethodnom svuda stanje povecava za 2…kada dodjemo do slucaja da je bilo pre 3din i on daje 2din,onda se sistem vraca na 0, a njemu se daje kafa bez kusura. i psolednji slucaj ako je bilo 4 a on je dao 2, sistem se vraca na nulto stanje ponovo i njemu se daje kafa i dinar kusura. Poslednji slucaj. Kada se daje 5 dinara, Ako je bilo 0 din i dala 5din, sistem ide na 0 i daje kafu, ali nema kusura. Ako nicega nije ni bilo, izdaje se kafa, a ako je bio dinar, onda se izdaje kafa i 1din kusura,ako je bilo 3,daje se kafa i 3din, ako je bilo 4din,daje se kafa i 4din, a sistem se u svakom slucaju vraca u pocetno stanje. Sada je zavrsio crtanje cele tabele. Kaze da je prvi deo da se smisli problem najtezi, pa drugi tabela je laksi, a treci je jos laksi (damo tabelu softveru, i on ce da uradi automat). Ako bismo radili peske, treba da napravimo PLA. PLA se radi po NDF. Mi bismo trebali da napravimo 5 ulaza sa njihovim invertima (crta sliku) i dobija i ravan. Sada treba da napravimo proizvode. Kada se pogleda tabela za NDF treba tamo gde su jednake 1, a to su 6 funkcija. Imamo iz tabele 3 slucaja gde su sve tri 0, tu necemo morati nikakav proizvoda da pravimo (od onih 20 jos 3 otpadaju,pa ostaje 17). Sada pravimo 17i kola i napravimo sve proizvode koji trebaju. Sada je napravio svih 17i. Sada pocinje da pravi OR. Izlaznih funkcija ima 6 komada. Sada jos crta i povezuje sta treba sa cime. Dobio je na kraju 2 ulaza, 3 izlaza i 3 linije koje predstavljaju unutrasnje stanje, staro i novo. i sada jednostavno moze da uzme i da napravi povratne sprege. Da li ce moci direktno povratna sprega ili nesto drugo? Kaze da se presece sa clock linijom f1 i f2 (clock satovi). Onda kaze da je moguce da se stavi i neki registar koji ce privremeno da pampti, a moze i da ne bude registar. Novo izracunato stanje ce u jednom ciklusu da se zapise u registar, a u sledecem f1 na f1 ce da se procita i bice to staro stanje, pa ce da se izracuna novo stanje i zapamti na f2, pa ce opet novo i na f1 da se zapise staro,pa sve tako…Ovo pokrece taj automat. Logicka funkcija je pasiva (damo ulaze i dobijemo izlaze).Ova programska sprega je ono sto programu daje program counter, daje mu zivot, sam se pokrece, ali ovde je vise od pca,vec i pampti neko unutrasnje stanje. Sada je ostalo da napravimo dekodere. Ugradimo dekoder 3 na 8. Dobijemo 8 zica (ako imamo kombinacij od 0 do 4 dajemo kafu, a ako ne ne dajemo kafu). To od 0 do 4 stavimo u ILI kolo (el motor koji otvara vrata i daje kafu), a ako je ovo 5,6 nista se ne desava, a ako je npr 1, imamo jednu dodatnu zicu koja vodi na mesto koja ispusta na vratanca 1din,pa sve tako… (to su sve mehanicki delovi). Poslednjih godina cemo da cujemo i za mehatronika. Ovo je ono sto smo radili do sada. To je nova vrsta masinstva,gde se sa klasicnog masinstva preorjentisu na novije elektroniku i to je kombinacija elektrotehnike i racunarstva. Ovo bi bio klasican problem ovoga tipa. Treba da se razmisli da je ovo sto smo napravili racunar, ali ne klasicnoga tipa.

Page 44: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji
Page 45: DIGITALNA LOGIKA - fknmaterijali.comfknmaterijali.com/public/materijali/digitalna_logika/DIGITALNA... · DIGITALNA LOGIKA . Procesori, racunari, uopste, digitalna tehnika su uredjaji