5. KOMBINACIONA KOLA Reč je o kolima bez memorije kod kojih stanje na izlazima u trenutku "t" zavisi samo od stanja na ulazima u istom trenutku "t", a ne i od prethodnih stanja kroz koje je kolo prošlo. Kombinaciono kolo realizuje jednu ili više prekida čkih funkcija. Kombinaciono kolo ima ulazne, izlazne i kontrolne priklju čke na kojima se pojavljuju binarne vrednosti.
Prema funkcijama postoje različita kombinaciona kola: dekoderi, koderi, multiplekseri, demultiplekseri, binarni komparatori, sabirači, množači, kombinacione programabilne logi čke komponente (PLD) kao što su PROM, PLA, PAL. 5.1. Dekoder Dekoder je kombinaciono kolo sa više ulaza i više izlaza koje svakoj re či dovedenoj na ulaz, pridružuje reč na izlazu u nekom drugom kodu, što se definiše kao konverzija kodova. Pridruživanje je jednoznačno jedan-prema-jedan (decoder, one-to-one mapping). Dekoder može da ima ENABLE INPUTS (kontrolni ulazi) koji dozvoljavaju rad dekodera prema funkcionalnoj tabeli, ili zamrzavaju stanje na izlazima dekodera na jednu unapred definisanu re č koja se dobija na izlazu bez obzira na stanje na ulazu. Uobičajeno je da broj ulaza dekodera n bude manji od broja izlaza m. Dekoder se definiše sa blok - šemom i sa funkcionalnom tabelom.
1
5.1.1. Binarni dekoder Preslikavanje: n → 2n ULAZ: IZLAZ:
n-bitna binarna reč aktivan 1 od 2n izlaza koji odgovara brojnoj vrednosti binarne re či na ulazu. Ako je broj izlaza = 2n onda je dekoder potpun. Ako je broj izlaza < 2n, onda je dekoder nepotpun.
PRIMER: Binarna reč na ulazu ima 3 bita. Izlaza dekodera ima 8. Potrebno je da se za svaku reč na ulazu aktivira jedan od osam izlaza na kome se, na primer, upali lampica. POTPUNI BINARNI DEKODER 3/8
Realizacija binarnog dekodera se svodi na realizaaciju svakog izlaza kao prekida čke funkcije od svih ulaznih varijabli. Potpun binarni dekoder od n-ulaza i m-izlaza ima m-Bulovih funkcija od "n" promenljivih. Pošto svaka Bulova funkcija ima samo jednu jedinicu, ona se realizuje sa jednim potpunim logičkim proizvodom, odnosno sa jednim n-ulaznim I-kolom.
2
Dekoderska mreža se pravi u cilju pove ćanja broja ulaznih i izlaznih priključaka (kapaciteta) dekodera, tako što se povezuje ve ći broj identičnih ili različitih dekodera u mrežu. PRIMER: Formirati dekodersku mrežu 5/32 koriste ći četiri dekodera 3/8 i jedan 2/4. Priključak EN je zajedni čki.
3
5.2. Koder Generalno, dekoder konvertuje ulaznu re č u izlaznu pri čemu je broj ulaza manji od broja izlaza. Ako je broj ulaza ve ći od broja izlaza, onda se takvo kolo ozna čava kao KODER (encoder). 5.2.1. Binarni koder Preslikavanje: 2n → n Ulaz:
2n binarnih promenljivih od kojih je aktivan samo jedan ulaz u datom trenutku vremena. Ulazi su indeksirani od 0 do 2 n-1. Aktivnom ulazu odgovara binarna re č na izlazu čija je brojna vrednost jednaka indeksu aktivnog ulaza. Dekoder je potpun ako je broj ulaza 2n, a broj izlaza n. Posebna vrsta dekodera su PRIORITETNI DEKODERI kod kojih se dopušta istovremeno aktiviranje više ulaza, a na izlazu se dobija vrednost kao da je pobuđen samo jedan ulaz i to onaj sa najve ćim indeksom.
Izlaz:
n-bitna binarna reč
PRIMER: Postoji osam tastera sa slovima A, B, C, D, E, F, G, H. Potrebno je da stiskanje svakog tastera proizvede trobitnu binarnu re č na izlazu kola. Istovremeno se stiska samo jedan taster. POTPUNI BINARNI KODER 8/3
Izlaz IDLE je L1 kada nije stisnut nijedan taster. Realizacija binarnog kodera se svodi na realizaciju svakog od n izlaza kao prekida čke funkcije od 2n ulaznih promenljivih. Potpuni binarni koder od 2 n ulaza i n izlaza ima n-Bulovih funkcija od 2 n ulaza. Svaka 2 Bulova funkcija se može realizovati sa jednim ILI kolom sa ulaza jer se na ulazu pojavljuju 2 samo kombinacje koje sadrže jednu L1, a svaka izlazna funkcija ima vrednost L1 na polovini svih mogućih pobuda na ulazu. Simboli čka šema realizacije kodera 8/3 je data na slici. n
4
5.3. Programabilne kombinacione logi čke komponente (PLD) Programabilne kombinacione logi čke komponente su dekodersko-koderske strukture koje mogu da realizuju sume logi čkih proizvoda veličine određene sa: n m p
- broj ulaza (nezavisno promenljivih); - broj izlaza (suma proizvoda = funkcija); - broj različitih proizvoda od "n" ulaza.
PLD kombinaciona komponenta. Programabilnost PLD komponente se ostvaruje povezivanjem ulaza I kola u dekoderu sa promenljivima na n-ulaza (programiranje I kola) ili povezivanjem ulaza ILI kola u koderu sa izlazima dekodera (programiranje ILI kola). Povezivanje se realizuje pregorevanjem silicijumskih osigurača (samo jednom bez mogu ćnosti reprogramiranja) ili se programiranje izvodi dovođenjem naelektrisanja na plivajući izolovani gejt mosfeta (moguća višestruka programiranja/ reprogramiranja). Prema mestu gde se programiranje obavlja, PLD mogu biti: PROM, PLA, PAL. Programiranje se obavlja korišćenjem softvera i programatora. Dakle, mašinski.
5
5.3.1. PROM PROM je dekodersko/ koderska struktura sa potpunim neprogramljivim dekoderom (I kola) n n x p, p = 2 i nepotpunim programljivim koderom (ILI kola) p x m. Programiranje obavlja korisnik jednokratnim spaljivanjem osigurača pomoću programatora.
Posebna varijanta PROM-a kod koje programiranje ne vrši korisnik, nego proizvo đač pomoću maski pri izradi integrisanog kola, zove se ROM. Posebna vrsta PROM-a kod koje se mogu vršiti programiranje/ brisanje/ reprogramiranje koristi za vezu MOSFET-ove sa plivaju ćim gejtom na kome se mogu trajno deponovati ili ukloniti naelektrisanja, što daje uklju čen ili isključen tranzistor. Ako se komponenta može brisati, ona se obeležava kao erasable PROM, odnosno EPROM. Ako se brisanje može elektri čno obaviti, komponenta se ozna čava kao electricaly erasable PROM, odnosno EEPROM = E 2PROM. Dakle, PROM, EPROM, E2PROM su PROM komponente iste strukture i funkcija samo su razli čite tehnike u kojima se njihovo brisanje izvodi. Programiranje je uvek elektri čno. NAPOMENA: Posebna vrsta E2PROM-a kod koje ne može sa se obriše samo jedan red u tabeli, već blok od k redova, zove se FLEŠ (FLASH). Kod fleša se može programirati svaki red u tabeli posebno, kao i kod E 2PROMA. PROM komponenta se primenjuje za pam ćenje podataka. Sekundarno, može da se koristi za realizaciju prekidačkih funkcija. Programljivo kombinaciono kolo PROM je dobilo naziv PROGRAMMABLE ONLY MEMORY na osnovu primene za pam ćenje tabličnog binarnog sadržaja. Neka je potrebno upamtiti "2n" binarnih reči dužine "m". To zna či da treba upamtiti tablicu: INDEKS ULAZI i In-1 . . . I1 I0 0 0 . . . 0 0 1 . . . 2n-1 1 . . . 1 1
IZLAZI Ym-1 . . . Y1 Y0 x . . . x x
x
. . . x x 6
Ulazi In-1 ... I0 se zovu ADRESE. Izlazi Ym-1 ... Y0 daju sadržaj zapam ćen u načinu programiranja ILI matrice (kodera). Memorija radi tako što ulazne promenljive dovedene na I 0, ..., In-1, koje se zovu adrese, odabiraju izlaz I kola koji odgovara potpunom logi čkom proizvodu sa indeksom "i", gde je decimalna vrednost indeksa jednaka binarnoj vrednosti adrese. Kada se odabere izlaz iz i-tog I kola, sva ILI kola koja su programiranjem vezana za selektovano I kolo daju na svom izlazu L1, te se tako dobija niz L1 i L0 na izlazima Y 0, ..., Ym-1, što predstavlja binarnu zapam ćenu reč dužine "m" na lokaciji (adresi) "i". PRIMER: Ako je broj ulaza n, a izlaza m, PROM memorija ima kapacitet 2 n reči od m bita. (a) n=8 m=8 → 256 bytes = 256B (b) n=16 m=8 → 65536 bytes= 64kB Generalno PROM sa m izlaza i n ulaza može da realizuje "m" prekida čkih funkcija od "n" promenljivih. 5.3.2. PLA PLA je dekodersko/ koderska struktura sa nepotpunim programljivim dekoderom (I kola) nx p, p<<2n i nepotpunim programljivim koderom (ILI kola) p xm. PLA (programable logic arrays) može da realizuje m prekidačkih funkcija od n promenljivih ako svaka od "m" funkcija traži "p" ili manje razli čitih logičkih proizvoda za realizaciju. Ako prekidačka funkcija traži više od "p" razli čitih proizvoda za realizaciju, ona se NE MOŽE realizovati sa PLA kolom, bez obzira na dužinu logi čkog proizvoda. PLA kola su namenjena za realizaciju prekida čkih funkcija. PLA sa "n" ulaza, "p" proizvoda i "m" izlaza sadrži "p" I kola sa "2 n" ulaza i "m" ILI kola sa "p" ulaza, što ukupno daje (2n+m)p programljivih spojeva. Imati u vidu da svaki ulaz ima dva vertikalna voda: jedan za pravu vrednosti i drugi zakomplement.
7
5.3.3. PAL PAL je dekodersko/ koderska struktura sa nepotpunim programljivim dekoderom (I kola) n x p, n p<<2 i nepotpunim fiksnim koderom (ILI) kola sa " m" izlaza. I kola su podeljena u " m" grupa po "r " kola, gde je m x r = p. Svaka od " m" grupa sa " r " I kola fiksno je vezana za posebno ILI kolo sa "r-1" ulaza. Izlaz ILI kola se vodi do izlaza PAL-a preko trostati čkog invertora koji se kontroliše sa izlazom r -tog I kola u grupi. Dodatno svojstvo PAL-a je da grupa od " l " izlaza kodera , l
8
5.4. Multiplekseri Multiplekser je digitalni prekidač koji prosleđuje binarni signal sa jednog od "n" ulaza na izlaz. Pored "n" binarnih ulaza i jeddnog izlaza, multiplekser ima selekcione ulaze koji selektuju ulaz koji će biti prosleđen do izlaza i "EN" ENABLE ulaz koji omogu ćuje funkciju kola (EN = 1) ili postavlja izlaz na nulu za bilo koje stanje ulaza.
Moguće je uopštiti definiciju multipleksera tako što u jednoj komponenti ima "b" multipleksera sa n ulaza i jednim izlazom i svi oni se pogone istim sekcionim ulazima i signalom dozvole EN. Primer realizacije MUX 1/8.
9
Postoje različite vrste multipleksera: MX 1/16; MX 2x1/4; MX 4x1/2. Njihovim sprezanjem se grade multiplekseri ve ćeg kapaciteta. Na primer, MUX 1/32 sagra đen od jednog MUX 1/4 i četiri MUX 1/8.
10
5.5. Demultiplekseri Demultiplekser je digitalni prekidač koji prosleđuje binarni signal sa jednog ulaza na jedan od n izlaza. To je obrnuta funkcija od multipleksera. Postoji jedan ulaz za podatke, s kontrolnih ulaza i 2s izlaza za podatke. Kada se ulaz za podatke stavi na L1, demultiplekser postaje dekoder s/2 s. Ako se na dekoderu ulaz ENABLE koristi kao ulaz za podatke, dobija se demultiplekser. Stoga se u katalozima sreće oznaka "decoder/ demultiplexer".
Digitalni demultiplekser je jednosmeran jer prenosi signal od DATA ulaza ka izlazima. Postoje i analogni demultiplekseri bazirani na analognim prekida čima, koji prenose signal u oba smera: od ulaza ka izlazu i obrnuto. Oni se ozna čavaju kao "multiplekseri/ demultiplekseri" i koriste se za bilo koju od te dve funkcije u zavisnosti od smera u kome se propušta signal.
Multiplekseri i demultiplekseri se koriste kao prekida či za digitalni signal, a mogu da se upotrebe i za realizaciju prekida čke funkcije. 11
5.6. Ekskluzivno ILI kolo i kontrola parnosti Funkcije EX ILI i EX NILI su definisane tabelom.
XOR daje logičku jedinicu kada je samo jedan od dva ulaza L1 (kada su ulazi razli čiti): XOR = AB + A B XNOR daje L1 na izlazu kada su oba ulaza ista: XNOR = A B + AB Realizacija XOR i XNOR kola se izvodi u više nivoa. Kontrola parnosti sa bitom parnosti se odnosi na problem otkrivanja greške u prenetom ili zapisanom nizu bita koji čini neku celinu (reč). Izvodi se tako što se za re č od n bita proračunava broj logičkih jedinica L1. Ako je broj L1 neparan, generiše se kontrolni izlaz jednak logi čkoj jedinici; ako je broj L1 u reči paran, generiše se kontrolni izlaz jednak logi čkoj nuli. Slično se definišu kontrole za parnost/ neparnost po broju logi čkih nula. Niz od n informacionih bita se prenosi (pamti) zajedno sa bitom kontrolnog izlaza. Kombinaciona kola koja ra čunaju vrednost izlaza za ulaznu re č od "n" bita po kriterijummu paran ili neparan broj jedinica, zovu se generator parnosti/ neparnosti i prave se u dve strukture. "DAISY - CHAIN" struktura (lanac belih rada, margaretica). (ITERATIVNO) REČ:
I1
I2
I3
I4
. . . In
12
RAZGRANATA STRUKTURA (paralelno)
Integrisan generator parnosti za reč od "n" informacionih bita, n = 8, ima mogućnost da napravi na izlazu bit koji definiše parnost/ neparnost.
Pored toga, generator parnosti ima mogu ćnost da primi reč od n = 8 bita koja dolazi zajedno sa dodatnim bitom parnosti I, da zatim izra čuna parnost u n bita i da rezultat uporedi sa bitom I u cilju otkrivanja greške u prenosu ili iščitavanju. 5.7. Komparatori dve binarne reči Bit komparator je kombinaciona mreža koja poredi dve binarne re či i daje izlazni bit jednak logičkoj jedinici u slučaju da su re či jednake. To je česta operacija u CPU kompjutera. Ako komparator daje dodatnu informaciju "veće", "manje", onda se zove "MAGNITUDE COMPARATOR". REALIZACIJA U PARALELNOJ (KOMPARATORSKOJ) STRUKTURI za n = 4 bitne reči
13
* REALIZACIJA U ITERATIVNOJ STRUKTURI za n = 4 bita Iterativna struktura kombinacionog kola sadrži "n" identičnih modula koji su međusobno povezani. Svaki modul ima: - primarne ulaze i izlaze - ulaze i izlaze za kaskadiranje PRIMER ITERATIVNOG KOMPARATORA KOMPARATOR DVE JEDNOBITNE REČI
Iterativni 4-bitni komparator
14
5.8. Sabirač Sabirač je kombinaciona mreža koja sabira dva binarna broja po pravilima binarne aritmetike. POLUSABIRAČ je kombinaciona mreža za sabiranje dva jednobitna broja.
Nedostatak POLUSABIRAČA je što ne može da se kaskadira (poveže u sabira č većeg kapaciteta za dve "n" bitne re či), jer nema ulaz CIN za prijem prenosta sa nižeg mesta. Tu funkciju ima potpuni sabirač. POTPUN SABIRAČ
15
N-bitni sabirač
Napomena:
Uočiti da je iterativna struktura spora jer za proizvodnju sume na k-tom mestu treba da se sa čeka da se obavi izra čunavanje svih prethodnih "k-1" suma. Postoje strukture sabira ča kod kojih se prenos COUT K na mestu "k" izračunava u dva nivoa kao što se svaka suma S izra čunava u dva nivoa na svakom od "n" potpunih sabira ča. Time se dobija malo kašnjenje u sabira ču nezavisno od broja bita. (Tehnika CARRY LOOKAHEAD ADDERS).
5.9. Aritmetičko - logička jedinica (ALU) ALU je kombinaciono kolo koje obavlja odabrane aritmeti čke i odabrane logi čke operacije nad parom n-bitnih re či koje se zovu OPERANDI.
-
Primer ALU za četvorobitne reči A i B. Definicija priključaka kontrolni ulaz M (M = 0 aritmetika, M = 1 logika) ulazni prenos CIN i izlazni prenos COUT selekcioni ulazi S0, S1, S2, S3 koji definišu funkciju ALU izlazi F0, F1, F2, F3 za rezultat G i P priključci za "keri lukahed" (carry lookahead) prenos
16
5.10. Kombinacioni množa č Kombinacioni množač je kombinaciono kolo koje realizuje množenje dve "n-bitne" re či X i Y i daje "2n-bitni" proizvod P = X⋅Y u obliku 2n bulovih funkcija nad n+n promenljivih. Kombinacioni množač ima veliku brzinu rada, što je važno u digitalnoj obradi. Metod "papira i olovke" u množenju dva dvobitna broja X=X1 ⋅X0 i Y=Y1⋅Y0 je ilustrovan na slici. (X1 X0) x (Y1 Y0) =
X1⋅Y0 X0⋅Y0 + X1⋅Y1 X0⋅Y1 PRENOS X1⋅Y1 X1⋅Y0+X0⋅Y1 X0⋅Y0 P3 P2 P1 P0
Pokazana šema se analogno proširuje na n-bitne sabirke. 17