Kodētājs ir digitāla shēma, kas pārveido bināro ieeju kopu unikālā binārā kodā. Binārais kods apzīmē ievades pozīciju un tiek izmantots, lai identificētu konkrēto aktīvo ievadi. Kodētāji parasti tiek izmantoti digitālajās sistēmās, lai paralēlu ieeju kopu pārvērstu sērijas kodā.
Kodētāja pamatprincips ir katrai iespējamai ievadei piešķirt unikālu bināro kodu. Piemēram, 2-4 līniju kodētājam ir 2 ievades līnijas un 4 izvadlīnijas, un tas piešķir unikālu 4 bitu bināro kodu katrai no 2^2 = 4 iespējamajām ievades kombinācijām. Kodētāja izeja parasti ir aktīva zemā līmenī, kas nozīmē, ka tikai viena izeja ir aktīva (zema) jebkurā brīdī, bet pārējās izejas ir neaktīvas (augstas). Aktīvā zemā izeja tiek izvēlēta, pamatojoties uz aktīvajai ieejai piešķirto bināro kodu.
Ir dažādi kodētāju veidi, tostarp prioritārie kodētāji, kas piešķir prioritāti katrai ievadei, un binārie kodētāji, kas izmanto bināro svēršanas sistēmu, lai ieejām piešķirtu bināros kodus. Rezumējot, kodētājs ir digitāla shēma, kas pārveido bināro ieeju kopu unikālā binārā kodā, kas atspoguļo ievades pozīciju. Kodētāji tiek plaši izmantoti digitālajās sistēmās, lai pārveidotu paralēlās ievades sērijas kodos.
Kodētājs ir a kombinētā ķēde kas veic a apgriezto darbību Dekodētājs . Tam ir maksimums 2^n ievades līnijas un “n” izvades līnijas , tādējādi tas kodē informāciju no 2^n ievades n-bitu kodā. Tas izveidos bināro kodu, kas līdzvērtīgs ievadei, kas ir aktīva Augsta. Tāpēc kodētājs kodē 2^n ievades līnijas ar “n” bitiem.
Kodētājs
masīvs java
Kodētāju veidi
Ir dažādi kodētāju veidi, kas ir minēti tālāk.
- 4 līdz 2 kodētājs
- Octal to Binary Encoder (8-3 kodētājs)
- Decimāldaļa uz BCD kodētāju
- Prioritātes kodētājs
4 līdz 2 kodētājs
4 līdz 2 kodētājs sastāv no četras ieejas Y3, Y2, Y1 un Y0 un divas izejas A1 un A0 . Jebkurā laikā tikai viena no šīm 4 ieejām var būt “1”, lai izejā iegūtu attiecīgo bināro kodu. Zemāk esošajā attēlā parādīts 4 līdz 2 kodētāja loģiskais simbols.

4 līdz 2 kodētājs
Patiesības tabula ar 4 līdz 2 kodētājiem ir šāda.
c++ komplekts
| IEEJAS | IZEJAS | ||||
|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 |
| 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
Loģiskā izteiksme A1 un A0:
A1 = Y3 + Y2 A0 = Y3 + Y1>
Iepriekš minētās divas Būla funkcijas A1 un A0 var īstenot, izmantojot divus ieejas VAI vārtus:

Ieviešana, izmantojot VAI vārtus
Octal to Binary Encoder (8-3 kodētājs)
Kodētājs no 8 līdz 3 jeb oktālais līdz binārais kodētājs sastāv no 8 ieejas : Y7 līdz Y0 un 3 izejas : A2, A1 un A0. Katra ievades līnija atbilst katram oktālajam ciparam, un trīs izejas ģenerē atbilstošu bināro kodu. Zemāk esošajā attēlā parādīts binārā kodētāja oktāla loģiskais simbols.
java lasīt csv

Octal to Binary Encoder (8-3 kodētājs)
Patiesības tabula kodētājam no 8 līdz 3 ir šāda.
| IEEJAS | IZEJAS | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A2 | A1 | A0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Loģiskā izteiksme A2, A1 un A0.
A2 = Y7 + Y6 + Y5 + Y4 A1 = Y7 + Y6 + Y3 + Y2 A0 = Y7 + Y5 + Y3 + Y1>
Iepriekš minētās divas Būla funkcijas A2, A1 un A0 var ieviest, izmantojot četras ievades VAI vārti .

Ieviešana, izmantojot VAI vārtus
Decimāldaļa uz BCD kodētāju
Kodētājs no decimāldaļas uz bināru parasti sastāv no 10 ievades līnijas un 4 izvadlīnijas . Katra ievades rinda atbilst katram decimālciparam un 4 izejas atbilst BCD kodam. Šis kodētājs pieņem dekodētos decimālos datus kā ievadi un kodē tos BCD izvadei, kas ir pieejama izvades līnijās. Zemāk esošajā attēlā ir parādīts decimāldaļas uz BCD kodētāja loģiskais simbols:

Decimāldaļa uz BCD kodētāju
Patiesības tabula no decimāldaļas līdz BCD kodētājs ir šāds.
| IEEJAS | IZEJAS | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Y9 | Y8 | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A3 | A2 | A1 | A0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
Loģiskā izteiksme A3, A2, A1 un A0.
A3 = Y9 + Y8 A2 = Y7 + Y6 + Y5 +Y4 A1 = Y7 + Y6 + Y3 +Y2 A0 = Y9 + Y7 +Y5 +Y3 + Y1>
Iepriekš minētās divas Būla funkcijas var īstenot, izmantojot VAI vārtus.
string in int

Ieviešana, izmantojot VAI vārtus
Prioritātes kodētājs
4 līdz 2 prioritātes kodētājam ir 4 ieejas : Y3, Y2, Y1 & Y0 un 2 izejas : A1 un A0. Šeit ievadei Y3 ir augstākā prioritāte , savukārt ievadei Y0 ir zemākā prioritāte . Šajā gadījumā, pat ja vairāk nekā viena ievade vienlaikus ir “1”, izvade būs (binārais) kods, kas atbilst ievadei, kurai ir augstāka prioritāte . Prioritātes kodētāja patiesības tabula ir šāda.
| IEEJAS | IZEJAS | |||||
|---|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 | IN |
| 0 | 0 | 0 | 0 | X | X | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | X | 0 | 1 | 1 |
| 0 | 1 | X | X | 1 | 0 | 1 |
| 1 | X | X | X | 1 | 1 | 1 |
A1 loģiskā izteiksme ir parādīta zemāk.

Loģiskā izteiksme
Loģiskā izteiksme A0 ir parādīta zemāk.

Loģiskā izteiksme
Iepriekš minētās divas Būla funkcijas var īstenot kā.
tīkla operētājsistēma

Prioritātes kodētājs
Tālāk ir minētas dažas kļūdas, kas parasti notiek kodētājos.
- Pastāv neskaidrība, kad visas kodētāja izejas ir vienādas ar nulli.
- Ja vairāk nekā viena ieeja ir aktīva ar augstumu, kodētājs rada izvadi, kas var nebūt pareizais kods.
Tātad, lai pārvarētu šīs grūtības, mums ir jāpiešķir prioritātes katrai kodētāja ievadei. Tad kodētāja izeja būs kods, kas atbilst aktīvajām augstajām ieejām, kurām ir augstāka prioritāte.
Kodētāju pielietojums
- Kodētāji ir ļoti izplatītas elektroniskās shēmas, ko izmanto visās digitālajās sistēmās.
- Kodētāji tiek izmantoti, lai decimālvērtības pārvērstu binārā, lai veiktu bināras funkcijas, piemēram, saskaitīšanu, atņemšanu, reizināšanu utt.
- Citas lietojumprogrammas, īpaši prioritārajiem kodētājiem, var ietvert pārtraukumu noteikšanu mikroprocesoru lietojumprogrammās.
Kodētāju izmantošanas priekšrocības digitālajā loģikā
- Līniju skaita samazināšana: Kodētāji samazina rindu skaitu, kas nepieciešams, lai pārsūtītu informāciju no vairākām ieejām uz vienu izeju, kas var vienkāršot sistēmas konstrukciju un samazināt komponentu izmaksas.
- Uzlabota uzticamība: Pārvēršot vairākas ievades vienā sērijas kodā, kodētāji var samazināt kļūdu iespējamību informācijas pārraidē.
- Uzlabota veiktspēja: Kodētāji var uzlabot digitālās sistēmas veiktspēju, samazinot laiku, kas nepieciešams informācijas pārsūtīšanai no vairākām ieejām uz vienu izeju.
Kodētāju izmantošanas trūkumi digitālajā loģikā
- Paaugstināta sarežģītība: Kodētāji parasti ir sarežģītākas shēmas, salīdzinot ar multipleksori , un to ieviešanai ir nepieciešami papildu komponenti.
- Ierobežots ar konkrētiem lietojumiem: Kodētāji ir piemēroti tikai lietojumprogrammām, kur paralēla ieeju kopa ir jāpārvērš sērijas kodā.
- Ierobežota elastība: Kodētāju elastība ir ierobežota, jo tie var iekodēt tikai noteiktu skaitu ieeju fiksētā izeju skaitā.
- Visbeidzot, kodētāji ir noderīgas digitālās shēmas, kurām ir savas priekšrocības un trūkumi. Izvēle, vai izmantot kodētāju, ir atkarīga no īpašajām sistēmas prasībām un kompromisiem starp sarežģītību, uzticamību, veiktspēju un izmaksām.
VĀRTU CS stūra jautājumi
Tālāk sniegto jautājumu praktizēšana palīdzēs pārbaudīt savas zināšanas. Visi jautājumi ir uzdoti GATE iepriekšējos gados vai GATE Mock Tests. Ir ļoti ieteicams tos praktizēt.
- GATE CS 2013, 65. jautājums
- GATE CS 2014 (3. komplekts), 65. jautājums