Brojač
Brojači su sekvencijalne mreže čiji dijagrami stanja predstavljaju repetitivni ciklus. Broj različitih stanja u ciklusu se naziva moduo, ili osnova brojača. Brojač sa m stanja je brojač modula m. Kružni brojači, sintetizovani korišćenjem pomeračkih registara, mogu se, generalno, svrstati u ovu klasu mreža. Kao memorijski element u brojačima se koriste flipflopovi. Brojač sa n flipflopova, ako ima 2n stanja koja se menjaju u sekvenci binarnih brojeva, nazivaju se n-bitni brojači ili binarni brojači modula m=2n. Ako se svi flipflopovi u brojaču taktiraju zajedničkim taktnim impulsom, takvi brojači se nazivaju sinhroni. Ako taktni impuls nije zajednički za sve flipflopove, brojač je asinhroni.
Kao komponente digitalnih sistema koriste se i brojači koji koduju opadajući niz binarnih brojeva (brojači unazad - down counters), i brojači koji, zavisno od izabranog režima rada, mogu da koduju rastući ili opadajući niz binarnih brojeva. Ovi poslednji nazivaju se obostrani brojači (up-down counters). Brojači unazad i obostrani brojači mogu biti sintetizovani kao asinhroni brojači ili kao sinhroni brojači, međutim u praksi se isključivo koriste sinhroni brojači. Brojač unazad treba nakon svakog taktnog impulsa da dekrementira sadržaj, odnosno, sledeće stanje brojača treba da bude binarni kod za 1 manji od zatečenog stanja. Kod brojača sa paralelnim upisom, upis omogućava da se u brojač, pre početka brojanja, asinhronim signalom LOAD, upiše inicijalni sadržaj od koga će brojač početi da broji. Kod brojača postoji i izlazni signal CARRY, koji služi za kaskadno vezivanje više brojača.
Vrste brojača
urediU elektronici, brojači se mogu vrlo lako implementirati koristeći flip flopove kao registarska kola. Možemo razlikovati:
- Asinhrone (ripple) brojače - promena stanja bitova se koristi kao takt za naknadno stanje flip flopova
- Sinhrone brojače - stanja svih bitova se menjaju kontrolisanjem jednog takta
- Dekadne brojače - broji deset stanja po stepenu
- Obostrane brojače - kontrolnim taktom, podešava se hoće li brojati unapred ili unazad
- Kružne brojače - formirani pomoću pomeračkih registra sa povratnom vezom (u obliku prstena)
- Džonsonov brojač - ukršten prstenasti brojač
- Kaskadni brojač
- Modul brojač
Svaki od ovih je koristan u određenim poslovima. Obično, brojačka kola su digitalna po prirodi, i kao rezultat imaju binarnu predstavu prirodnih brojeva. Mnoge vrste brojačkih kola su dostupna kao digitalni blokovi, na primer broj čipova u seriji 4000 implementira različite brojače.
Povremeno, postoje prednosti korišćenja drugih sekvenci brojanja (ne samo prirodne binarne sekvence), kao što su binarno kodiran decimalni brojač, pomerački registar sa povratnom spregom, ili brojač u Grejovom kodu.
Brojači su korisni za digitalne satove i tajmere, VCR satove, itd..
Ovaj brojač će se povećavati za jedan u jednom ciklusu i trajaće dva ciklusa do prekoračenja. Za svaki ciklus će bitovi naizmenično prelaziti sa 0 na 1 i obrnuto sa 1 na 0. Obratite pažnju da je ovo stvara novi sat sa 50% radnog ciklusa na tačno pola frekvencije ulaznog takta. Ovaj izlaz se potom koristi kao taktni signala za slično uređen D flip-flop Jedan će dobiti brojač veći za jedan bit koji broji duplo sporije. Spajanje daje dvobitni brojač:
Cycle | Q1 | Q0 | (Q1:Q0)dec |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
2 | 1 | 0 | 2 |
3 | 1 | 1 | 3 |
4 | 0 | 0 | 0 |
Možete da nastavite da dodajete flip-flopove, i uvek preokrenuti izlaz spajate na sopstveni ulaz ulaz, i koristite izlaz od prethodnog flip-flop kao taktni signala. Rezultat se zove lančani broja.
Sinhroni brojač
urediKod sinhronih brojača, ulazni takt se dovodi na ulaz svih flip-flopova istovremeno. Dakle, svi flip-flopovi menjaju stanja istovremeno (paralelno). Kolo sa desne strane predstavlja četvorobitno sinhronizovani brojač. J i K ulazi prvog flip-flopa su povezani na jedinicu. Drugi flip-flop ima J i K ulaze povezane sa izlazom prethodnog flip-flopa, a J i K ulazi trećeg flip-flopa su povezani sa izlazom prvog i drugog flip-flopa preko I kola. Jednostavan način da implementirate logiku svakog bita ovog rastućeg brojača, je da svaki bit prelazi na logičko stanje jedinice kada su svi niži bitovi od njega u stanju logičke jedinice. Na primer, prvi bit menja stanje kada se nulti bit nalazi u stanju logičke jedinice; drugi bit menja stanje kada su oba bita, bit na poziciji 0 i bit na poziciji jedan, u stanju logičke jedinice; treći bit menja stanje ukoliko su svi bitovi, na poziciji 0,1,2 u stanju logičke jedinice, i tako dalje...
Sinhronizovani brojači se mogu implementirati sa hardverom konačnih automata, koji su sve kompleksniji ali omogućavaju jednostavnije i stabilnije prelaze.
Hardverski brojači su ovog tipa.
Dekadni brojač
urediDecimalni brojač je jedan od onih koji ima 10 stanja i broji u decimalnim ciframa. Dekadni brojač ima deset stanja koja mogu biti binarno kodovana(dakle svako njegovo stanje može biti kodovano u decimalnu cifru, kao što to čini integrisanokolo serije 7400) ili u neki drugi binarni kod. Dekadni brojač je brojač koji je dizajniran tako da može brojati do 1010b(decimalno 10). Realizacija dekadnog brojača je vrlo jednostavna, jedan četvorobitni brojač se može vrlo lako transformisati da bude dekadni brojač, dodavanjem samo jednog NI kola. Implementacija je prikazana na slici s desne strane. Primetimo da su izlazi FF2 i FF4 dovedeni kao ulaz u NI kolo. Izlaz NI kola doceden je na CLR ulaz svakog flipflopa.
Dekadni brojač broji u decimalnim ciframa. Kreće od nule i broji do devet, a zatim se resetuje na nulu. Izlaz brojača može biti resetovan dovođenjem niskog signala na liniju za resetovanje. Brojač inkrementuje stanje sve do 1001 (decimalno 9). Kada se stanje inkrementuje na 1010 na oba ulaza u NI kolo dođu logičke jedinice, na izlatu NI kola dobijamo logičku nulu. Kako je izlaz doveden na reset signal svakog flipflopa, stanje se vrača na 0.
Obostrani brojač
urediBrojač koji može da promeni stanje u oba smera, odnosno, koji možemo da kontrolišemo da li broji unapred ili unazad nazivamo još i obostrani brojač ili up/down brojač. Kada se selektuje stanje nagore, brojač inkrementuje vrednost. Kada se selektuje stanje nadole, brojač dekrementuje vrednost.
Kružni brojač
urediKružni (ring) brojač je kružni pomerački registar koji kada je pokrenut ima samo na izlazu jednog flipflopa logičko stanje jedinice, a na svim ostalima logičko stanje nule.
Kružni brojač je pomerački registar (kaskadna veza flipflopova) čiji je izlaz poslednjeg flipflopa povezan sa ulazom prvog, odnosno, u krug. Tipično, jedan bit se kreće kroz svaki flip flop i u svakom n-tom trenutku se nalazi na određenom flipflopu, ukoliko ih ukupno ima n. Može se koristiti kao kružni brojač n stanja.
Džonsonov brojač
urediDžonsonov brojač (ili ukršteni kružni brojač, šetajući kružni brojač, Moebiusov brojač) je modifikovani kružni brojač, gde je izlaz poslednjeg flipflopa invertovan i vraćen na ulaz prvog. Registar prolazi kroz niz bitovnih obrazaca čija je dužina jednaka dvostrukoj dužini pomeračkog registra i nastavlja se neodređeno vreme. Ovi brojači pronalaze veliku promenu, dekadnom brojaču, DA konverziji itd. Ovi brojači mogu biti lako implementirani koristeći D- ili JK flipflopove.
Računarski brojači
urediU računarstvu, programski brojač (kod nekih računara se naziva još i pokazivač na instrukciju) se odnosi na registar u procesoru koji označava gde se u postupku izvršenja niza komandi nalazi računar. U zavisnosti od arhitekture računara, sadrži ili adresu instrukcije koja se izvršava, ili adresu sledeće instrukcije. Programski brojač se automatski inkrementira za svaki ciklus instrukcije, tako da se adrese instrukcija u memoriju smeštaju sekvencijalno. Neke instrukcije, kao što su instrukcije skoka (uslovnog ili bezuslovnog) i skoka na potprogram prekidaju sekvencu i menjaju vrednost programskog brojača. U slučaju skoka na potprogram, vrednost brojača se čuva na steku, da bi se po povratku u glavni program ta vrednost sa steka vratila u programski brojač.
Veb brojač
urediVeb brojač (engl. Web counter) je računarski program koji ukazuje na broj posetilaca određene strane. Jednom setovan, ovaj brojač se inkrementuje svaki put kada neko pristupi određenoj strani pomoću pretraživača.
Mehanički brojači
urediMnogo pre nego što se razvila elektronika, za brojanje događaja korišćeni su mehanički uređaji, Oni se obično sastoje od niza diskova postavljenih na istoj osnovi sa označenim ciframa od 0 do 9 na njegovom rubu. Svaki disk, osim prvog s desne strane, je povezan sa diskom iza sebe. Nakon jednog punog obrtaja diska, disk ispred njega uvećava vrednost (to važi za celu hijerahiju). Ovakvi borjači su prvobito korišćeni za kontrolu procesa proizvodnje, ali kasnije su našči primene kao brojčanici za bicikle, automobile, benzinske pumpe itd. Jedan od najvećih proizvođača je Veeder-Root kompanija, a njihovo ime je često korišćeno za ovu vrstu brojača.
Brojači na bazi računara
urediMnogi automatizovani sistemi koriste računar ili laptop za praćenje različitih parametara mašina i proizvodnih podataka. Brojači mogu računati parametre kao što su broj proizvedenih komada, merenja količine utrošenog materijala itd, pa su stoga veoma korisni u industriji
Literatura
uredi- Georges Ifrah. The Universal History of Numbers : From Prehistory to the Invention of the Computer, Wiley. 1999. ISBN 978-0-471-37568-5..
- D. Knuth. The Art of Computer Programming. Volume 2, 3rd Ed. Addison–Wesley. pp. 194-213, "Positional Number Systems".
- A. L. Kroeber (Alfred Louis Kroeber) (1876–1960), Handbook of the Indians of California, Bulletin 78 of the Bureau of American Ethnology of the Smithsonian Institution (1919)
- J.P. Mallory and D.Q. Adams, Encyclopedia of Indo-European Culture, Fitzroy Dearborn Publishers, London and Chicago, 1997.
- Nissen, Hans J.; P. Damerow; R. Englund (1993). Archaic Bookkeeping. University of Chicago Press. ISBN 978-0-226-58659-5.
- Denise Schmandt-Besserat (1992). How Writing Came About. University of Texas Press. ISBN 978-0-292-77704-0.
- Zaslavsky, Claudia (1999). Africa Counts: Number and Pattern in African Cultures. Lawrence Hill Books. ISBN 978-1-55652-350-2.