এনকোডার ও ডিকোডার: গঠন ও কার্যপদ্ধতি

এইচএসসি আইসিটি অধ্যায় ৩: এনকোডার ও ডিকোডার এর গঠন, কার্যপ্রণালী, সত্যক সারণি এবং লজিক ডায়াগ্রাম। ৮-টু-৩ এনকোডার এবং ৩-টু-৮ ডিকোডার এর বিস্তারিত ব্যাখ্যা।

শেখা শুরু করুন

এনকোডার ও ডিকোডার: গঠন ও কার্যপদ্ধতি

  1. এনকোডার ও ডিকোডার: গঠন ও কার্যপদ্ধতি
  2. তুমি 'A' চাপলে কম্পিউটার কী বোঝে?
  3. এনকোডার (Encoder) কী?
  4. ৪-টু-২ এনকোডার: সত্যক সারণি
  5. ৪-টু-২ এনকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট
  6. ৮-টু-৩ এনকোডার: সত্যক সারণি
  7. ৮-টু-৩ এনকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট
  8. ডিকোডার (Decoder)
  9. ডিকোডার (Decoder) কী?
  10. ২-টু-৪ ডিকোডার: সত্যক সারণি
  11. ২-টু-৪ ডিকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট
  12. ৩-টু-৮ ডিকোডার: সত্যক সারণি
  13. ৩-টু-৮ ডিকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট
  14. এনকোডার ও ডিকোডার: পার্থক্য
  15. এনকোডারের বাস্তব প্রয়োগ
  16. ডিকোডারের বাস্তব প্রয়োগ
  17. নিজেকে যাচাই করো! 🧠
  18. আজকের লেকচার: সারাংশ
  19. বাড়ির কাজ

এনকোডার ও ডিকোডার: গঠন ও কার্যপদ্ধতি

এই লেকচার শেষে আমরা-

১। এনকোডার ও ডিকোডারের সংজ্ঞা, গঠন ও কার্যপদ্ধতি বর্ণনা করতে পারব।
২। ৪-টু-২ এবং ৮-টু-৩ এনকোডারের সত্যক সারণি, আউটপুট সমীকরণ ও লজিক সার্কিট বিশ্লেষণ করতে পারব।
৩। ২-টু-৪ এবং ৩-টু-৮ ডিকোডারের সত্যক সারণি, আউটপুট সমীকরণ ও লজিক সার্কিট বিশ্লেষণ করতে পারব।
৪। এনকোডার ও ডিকোডারের মধ্যে পার্থক্য তুলনা করতে পারব।
৫। বাস্তব জীবনে এনকোডার ও ডিকোডারের প্রয়োগ ব্যাখ্যা করতে পারব।

আস্সালামু আলাইকুম! <break time="0.4s"/> আশা করি তোমরা সবাই ভালো আছো। আজকের লেকচারে আমরা একটি অত্যন্ত গুরুত্বপূর্ণ বিষয় নিয়ে আলোচনা করব — <emphasis level="strong">এনকোডার ও ডিকোডার।</emphasis> এই দুটি ডিজিটাল সার্কিট কম্পিউটার ও যেকোনো ডিজিটাল ডিভাইসের হৃদয়ে কাজ করে। এই লেকচার শেষে আমরা পাঁচটি গুরুত্বপূর্ণ দক্ষতা অর্জন করব। এক — এনকোডার ও ডিকোডারের সংজ্ঞা ও কার্যপদ্ধতি বর্ণনা করতে পারব। দুই — ৪-টু-২ এবং ৮-টু-৩ এনকোডারের সত্যক সারণি, সমীকরণ ও লজিক সার্কিট বিশ্লেষণ করতে পারব। তিন — ২-টু-৪ এবং ৩-টু-৮ ডিকোডারের একই কাজ করতে পারব। চার — দুটির মধ্যে পার্থক্য তুলনা করতে পারব। পাঁচ — বাস্তব জীবনে এদের প্রয়োগ ব্যাখ্যা করতে পারব। <break time="0.3s"/> চলো শুরু করি — আজকের লেকচারটা তোমাদের জন্য সত্যিই চমৎকার একটা অভিজ্ঞতা হবে!

তুমি 'A' চাপলে কম্পিউটার কী বোঝে?

একটি মজার রহস্য ভাবো:

  • তুমি কিবোর্ডে 'A' চাপো — এটা মানুষের ভাষা
  • কম্পিউটার কিন্তু 'A' বোঝে না!
  • সে বোঝে শুধু 0 আর 1 — বাইনারি ভাষা

মাঝখানে কী হয়?

🔵 এনকোডার: 'A' → 01000001 (মানুষ → মেশিন)

🟢 ডিকোডার: 01000001 → 'A' (মেশিন → মানুষ)

চাবিকথা: এনকোডার ও ডিকোডার হলো দুই দিকের দোভাষী!

<prosody rate="medium">তোমরা প্রতিদিন কম্পিউটার বা মোবাইলে টাইপ করো, তাই না? তুমি যখন কিবোর্ডে 'A' চাপো, তখন কী হয় বলো তো?</prosody> <break time="0.4s"/> তুমি হয়তো ভাবছো — কম্পিউটার সরাসরি 'A' দেখে নেয়। কিন্তু <emphasis level="strong">না!</emphasis> কম্পিউটার 'A' বোঝে না। সে বোঝে শুধু শূন্য আর এক — বাইনারি ভাষা। <break time="0.3s"/> তাহলে 'A' চাপার পরে কী হয়? এক মুহূর্ত ভিডিওটা পজ করো আর ভাবো — কম্পিউটার কীভাবে 'A' বুঝতে পারে? <break time="0.5s"/> আসলে একটি বিশেষ সার্কিট সেই 'A' কে শূন্য-এক-শূন্য-শূন্য-শূন্য-শূন্য-শূন্য-এক নামের বাইনারি কোডে বদলে দেয়। এই সার্কিটকেই বলা হয় <emphasis level="strong">এনকোডার।</emphasis> আবার কাজ শেষে সেই বাইনারি কোডকে মনিটরে 'A' হিসেবে দেখানোর জন্য আরেকটি সার্কিট কাজ করে — সেটা হলো <emphasis level="strong">ডিকোডার।</emphasis> সহজ করে বললে — এনকোডার হলো এক দিকের দোভাষী, ডিকোডার হলো অন্য দিকের দোভাষী। আজকে আমরা এই দুজনকেই ভালো করে চিনব!

এনকোডার (Encoder) কী?

সংজ্ঞা:
যে ডিজিটাল বর্তনী $2^n$ টি ইনপুট লাইন থেকে ডেটা গ্রহণ করে সেটিকে n টি বাইনারি আউটপুটে রূপান্তর করে, তাকে এনকোডার বলে।

মূল বৈশিষ্ট্য:
- ইনপুট লাইন: $2^n$ টি
- আউটপুট লাইন: n টি
- কাজ: আনকোডেড ডেটা → বাইনারি কোড
- ব্যবহৃত গেট: OR গেট

গুরুত্বপূর্ণ শর্ত:
যেকোনো মুহূর্তে শুধুমাত্র একটি ইনপুট লাইনে 1 থাকবে

উদাহরণ: কিবোর্ড — প্রতিটি কি-তে আলাদা ইনপুট লাইন

এবার আমরা এনকোডার সম্পর্কে বিস্তারিত জানব। এনকোডার হলো এমন একটি ডিজিটাল সার্কিট যেটা <emphasis level="strong">অনেকগুলো ইনপুট লাইন</emphasis> থেকে ডেটা নিয়ে সেটাকে <emphasis level="strong">কম সংখ্যক বাইনারি আউটপুটে</emphasis> রূপান্তর করে। এই সংজ্ঞাটা ভালো করে মনে রাখো। <break time="0.3s"/> এখন প্রশ্ন হলো — কতগুলো ইনপুট থেকে কতগুলো আউটপুট? দেখো, যদি আউটপুট n বিট হয়, তাহলে ইনপুট হবে 2 এর n ঘাত সংখ্যক। যেমন যদি আউটপুট 2 বিট হয়, তাহলে ইনপুট 2 এর 2 ঘাত = চারটি। এটা কিন্তু খুবই logical! <break time="0.3s"/> একটা গুরুত্বপূর্ণ শর্ত আছে — যেকোনো মুহূর্তে <emphasis level="strong">শুধুমাত্র একটি</emphasis> ইনপুট লাইনে 1 থাকবে, বাকি সব 0 থাকবে। অর্থাৎ একসাথে দুটো কি চাপলে সমস্যা হয়! এই কারণেই কিবোর্ডে একসাথে অনেক কি চাপলে কখনো সঠিক ফলাফল পাওয়া যায় না। ব্লক ডায়াগ্রামটা দেখো — বাম দিকে চারটা ইনপুট ঢুকছে, এনকোডার বক্সের মধ্যে দিয়ে প্রসেস হচ্ছে, আর ডান দিকে মাত্র দুটো আউটপুট বেরোচ্ছে। <emphasis level="strong">কম সংখ্যক আউটপুট</emphasis> — এটাই এনকোডারের শক্তি!

৪-টু-২ এনকোডার: সত্যক সারণি

ইনপুট: 4টি (D0, D1, D2, D3)
আউটপুট: 2টি (A = MSB, B = LSB)

প্যাটার্ন বিশ্লেষণ:
| সক্রিয় ইনপুট | দশমিক | বাইনারি | A | B |
|---|---|---|---|---|
| D0 | 0 | 00 | 0 | 0 |
| D1 | 1 | 01 | 0 | 1 |
| D2 | 2 | 10 | 1 | 0 |
| D3 | 3 | 11 | 1 | 1 |

মূল নিয়ম: $D_n$ সক্রিয় হলে আউটপুট AB = n এর বাইনারি মান

⚠️ প্রতিটি সারিতে একটিমাত্র ইনপুট = 1

এবার আমরা ৪-টু-২ এনকোডারের সত্যক সারণি দেখব। এই এনকোডারে ইনপুট চারটি — D0, D1, D2, D3 — এবং আউটপুট দুটি — A এবং B। এখন সত্যক সারণিটা একটু মনোযোগ দিয়ে দেখো। প্রথম সারিতে D0 = 1 — মানে দশমিক শূন্য নম্বর চাপা হয়েছে — আউটপুট A=0, B=0 — মানে বাইনারি শূন্য-শূন্য। <break time="0.3s"/> দ্বিতীয় সারিতে D1 = 1 — মানে দশমিক এক — আউটপুট A=0, B=1 — মানে বাইনারি শূন্য-এক। তৃতীয় সারিতে D2 = 1 — মানে দশমিক দুই — আউটপুট A=1, B=0 — মানে বাইনারি এক-শূন্য। চতুর্থ সারিতে D3 = 1 — মানে দশমিক তিন — আউটপুট A=1, B=1 — মানে বাইনারি এক-এক। <break time="0.4s"/> তোমরা কি প্যাটার্নটা ধরতে পারছো? <emphasis level="strong">যে ইনপুটে 1 আছে, তার সাবস্ক্রিপ্ট নম্বরটাই বাইনারিতে প্রকাশ পাচ্ছে আউটপুটে!</emphasis> D2 সক্রিয় মানে 2 এর বাইনারি এক-শূন্য — তাই A=1, B=0। এই প্যাটার্নটা বুঝলে পুরো সারণি মুখস্থ না করেও বুঝে যাবে। বুদ্ধিমান শিক্ষার্থী নিয়ম বোঝে, মুখস্থ করে না!

৪-টু-২ এনকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট

সত্যক সারণি থেকে সমীকরণ:

A = 1 হয় যখন D2=1 অথবা D3=1:
$$A = D_2 + D_3$$

B = 1 হয় যখন D1=1 অথবা D3=1:
$$B = D_1 + D_3$$

লজিক সার্কিট:
- মাত্র ২টি OR গেট দিয়ে তৈরি
- OR গেট-১: D2 ও D3 → আউটপুট A
- OR গেট-২: D1 ও D3 → আউটপুট B

প্রশ্ন: D0 কোনো সমীকরণে নেই কেন?
কারণ: D0 সক্রিয় → A=0, B=0 (কোনো আউটপুটই 1 হয় না)

এবার সত্যক সারণি থেকে আউটপুট সমীকরণ বের করব। এই কাজটা আসলে খুবই সহজ। সত্যক সারণিতে দেখো — A এর কলামে কখন কখন 1 আছে? তৃতীয় সারিতে যখন D2=1, আর চতুর্থ সারিতে যখন D3=1। তাহলে <emphasis level="strong">A = D2 + D3।</emphasis> এখানে '+' মানে OR। <break time="0.3s"/> একইভাবে B এর কলামে কখন 1 আছে? দ্বিতীয় সারিতে D1=1 এর সময়, আর চতুর্থ সারিতে D3=1 এর সময়। তাহলে <emphasis level="strong">B = D1 + D3।</emphasis> <break time="0.4s"/> এখন একটা interesting প্রশ্ন — D0 কোনো সমীকরণে নেই কেন? কারণ D0 সক্রিয় হলে A=0 এবং B=0 — কোনো আউটপুটই 1 হয় না। D0 মানে দশমিক শূন্য, তার বাইনারি শূন্য-শূন্য। এই সমীকরণ দুটো দিয়ে লজিক সার্কিট আঁকতে হলে শুধু <emphasis level="strong">দুটো OR গেট</emphasis> লাগবে। প্রথম OR গেটে D2 আর D3 ঢোকাও — আউটপুট A পাবে। দ্বিতীয় OR গেটে D1 আর D3 ঢোকাও — আউটপুট B পাবে। মাত্র দুটো OR গেট দিয়ে একটা সম্পূর্ণ এনকোডার! এটা কিন্তু বেশ elegant, তাই না?

৮-টু-৩ এনকোডার: সত্যক সারণি

ইনপুট: 8টি (D0–D7) আউটপুট: 3টি (A, B, C)

সক্রিয় দশমিক A B C
D0 0 0 0 0
D1 1 0 0 1
D2 2 0 1 0
D3 3 0 1 1
D4 4 1 0 0
D5 5 1 0 1
D6 6 1 1 0
D7 7 1 1 1

প্যাটার্ন:
- A = 1: D4, D5, D6, D7 (উপরের অর্ধেক)
- B = 1: D2, D3, D6, D7
- C = 1: D1, D3, D5, D7 (বিজোড় সংখ্যা)

এবার আমরা একটু বড় এনকোডার দেখব — <emphasis level="strong">৮-টু-৩ এনকোডার।</emphasis> ৪-টু-২ এনকোডারে যে প্যাটার্ন দেখেছিলে, সেটাই এখানে বড় হয়েছে মাত্র। এখানে ইনপুট আটটি, আউটপুট তিনটি। তুমি এখন ভিডিও একটু পজ করো আর দেখো — প্যাটার্নটা কী? <break time="0.5s"/> D0 সক্রিয় মানে শূন্যের বাইনারি শূন্য-শূন্য-শূন্য — তাই A=0, B=0, C=0। D5 সক্রিয় মানে পাঁচের বাইনারি এক-শূন্য-এক — তাই A=1, B=0, C=1। <emphasis level="strong">প্যাটার্নটা দেখছো?</emphasis> যে ইনপুটের সাবস্ক্রিপ্ট যত, তার বাইনারিই আউটপুট। <break time="0.3s"/> এবার আরো একটু গভীরে যাই। A এর কলামে কখন 1? D4 থেকে D7 যখন সক্রিয় — মানে চার, পাঁচ, ছয়, সাত — এই সংখ্যাগুলোর বাইনারিতে MSB = 1। C এর কলামে কখন 1? D1, D3, D5, D7 সক্রিয় হলে — মানে বিজোড় সংখ্যার ক্ষেত্রে LSB = 1। বিজোড় সংখ্যার শেষ বিট সবসময় 1 — এটা কি আগে থেকেই জানতে? এই প্যাটার্নগুলো বুঝলে পরের স্লাইডে সমীকরণ নিজেই বের করতে পারবে।

৮-টু-৩ এনকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট

আউটপুট সমীকরণ:
$$A = D_4 + D_5 + D_6 + D_7$$
$$B = D_2 + D_3 + D_6 + D_7$$
$$C = D_1 + D_3 + D_5 + D_7$$

লজিক সার্কিট:
- মাত্র ৩টি ৪-ইনপুট OR গেট দিয়ে তৈরি
- OR গেট-১: D4, D5, D6, D7 → আউটপুট A
- OR গেট-২: D2, D3, D6, D7 → আউটপুট B
- OR গেট-৩: D1, D3, D5, D7 → আউটপুট C

স্মরণ কৌশল:
- A → উপরের অর্ধেক (D4–D7)
- C → বিজোড় সাবস্ক্রিপ্ট (D1,D3,D5,D7)

আগের স্লাইডে সারণি থেকে প্যাটার্ন বুঝেছিলে, এখন সেটাই সমীকরণে লিখব। A = 1 হয় D4, D5, D6, বা D7 এর যেকোনোটি সক্রিয় হলে। তাই <emphasis level="strong">A = D4 + D5 + D6 + D7।</emphasis> <break time="0.3s"/> B = 1 হয় D2, D3, D6, বা D7 সক্রিয় হলে। তাই <emphasis level="strong">B = D2 + D3 + D6 + D7।</emphasis> C = 1 হয় D1, D3, D5, বা D7 সক্রিয় হলে — লক্ষ্য করো এগুলো সব বিজোড় সাবস্ক্রিপ্ট! তাই <emphasis level="strong">C = D1 + D3 + D5 + D7।</emphasis> <break time="0.4s"/> এখন একটা সহজ স্মরণ কৌশল শেখাই। A এর জন্য ভাবো উপরের অর্ধেক — D4 থেকে D7। C এর জন্য ভাবো বিজোড় নম্বরগুলো — D1, D3, D5, D7। B একটু মনে রাখতে হবে — D2, D3, D6, D7 — মাঝে দুটো, শেষে দুটো করে। লজিক সার্কিটে শুধু তিনটি OR গেট লাগবে, প্রতিটির চারটি ইনপুট। আটটি ইনপুট এনকোড করতে মাত্র তিনটি গেট! <emphasis level="strong">এটা কিন্তু digital design এর সৌন্দর্য।</emphasis>

ডিকোডার (Decoder)

এনকোডার শেখা শেষ! <break time="0.3s"/> তোমরা দারুণ করেছো। এবার আমরা এনকোডারের ঠিক বিপরীত দিকে যাব — <emphasis level="strong">ডিকোডার।</emphasis> মনে রাখো — এনকোডার যেখানে শেষ করে, ডিকোডার সেখান থেকে শুরু করে। বাইনারি কোড থেকে মূল সংকেতে ফিরে আসার যাত্রা। চলো দেখি!

ডিকোডার (Decoder) কী?

সংজ্ঞা:
যে ডিজিটাল বর্তনী n টি বাইনারি ইনপুট গ্রহণ করে সেটিকে $2^n$ টি আউটপুট লাইনের মধ্যে নির্দিষ্ট একটিতে সংকেত পাঠায়, তাকে ডিকোডার বলে।

মূল বৈশিষ্ট্য:
- ইনপুট লাইন: n টি
- আউটপুট লাইন: $2^n$ টি
- কাজ: বাইনারি কোড → আনকোডেড আউটপুট
- ব্যবহৃত গেট: AND গেট + NOT গেট

গুরুত্বপূর্ণ বৈশিষ্ট্য:
যেকোনো মুহূর্তে শুধুমাত্র একটি আউটপুট লাইনে 1 থাকবে

এনকোডারের সাথে তুলনা:
| | এনকোডার | ডিকোডার |
|---|---|---|
| ইনপুট | $2^n$ | $n$ |
| আউটপুট | $n$ | $2^n$ |

এবার আমরা দেখব এনকোডারের ঠিক বিপরীত সার্কিট — ডিকোডার। ডিকোডার হলো এমন একটি ডিজিটাল সার্কিট যেটা <emphasis level="strong">কম সংখ্যক বাইনারি ইনপুট</emphasis> নিয়ে অনেকগুলো আউটপুটের মধ্যে <emphasis level="strong">নির্দিষ্ট একটিতে</emphasis> সংকেত পাঠায়। <break time="0.3s"/> একটু তুলনা করো — এনকোডারে ছিল 2 এর n ঘাত ইনপুট থেকে n আউটপুট। ডিকোডারে আছে n ইনপুট থেকে 2 এর n ঘাত আউটপুট। <emphasis level="strong">একদম উল্টো!</emphasis> এনকোডার সংকুচিত করে, ডিকোডার বিস্তৃত করে। <break time="0.3s"/> ডিকোডারে OR গেটের বদলে AND গেট আর NOT গেট লাগে। এটা কেন — সেটা পরের স্লাইডে বুঝবে। একটা মজার বাস্তব উদাহরণ হলো মেমোরি অ্যাড্রেসিং। CPU যখন বলে 'আমি মেমোরির তিন নম্বর লোকেশনে যেতে চাই' তখন সে বাইনারিতে এক-এক পাঠায়। ডিকোডার সেই কোড দেখে তৃতীয় মেমোরি সেলকে নির্বাচন করে — শুধু সেই একটাই সক্রিয় হয়, <emphasis level="strong">বাকি সব নিষ্ক্রিয়।</emphasis>

২-টু-৪ ডিকোডার: সত্যক সারণি

ইনপুট: 2টি (A = MSB, B = LSB)
আউটপুট: 4টি (D0, D1, D2, D3)

A B D0 D1 D2 D3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

প্যাটার্ন:
- AB=00 → দশমিক 0 → D0 সক্রিয়
- AB=01 → দশমিক 1 → D1 সক্রিয়
- AB=10 → দশমিক 2 → D2 সক্রিয়
- AB=11 → দশমিক 3 → D3 সক্রিয়

⚠️ প্রতিটি সারিতে একটিমাত্র আউটপুট = 1

এবার ২-টু-৪ ডিকোডারের সত্যক সারণি দেখব। মনে আছে এনকোডারের সারণিতে প্রতিটি সারিতে <emphasis level="strong">একটিমাত্র ইনপুট</emphasis> 1 ছিল? এখানে ঠিক উল্টো — প্রতিটি সারিতে <emphasis level="strong">একটিমাত্র আউটপুট</emphasis> 1। <break time="0.3s"/> দেখো — প্রথম সারিতে A=0, B=0 — মানে বাইনারি শূন্য-শূন্য = দশমিক শূন্য। তাই D0 = 1, বাকি সব 0। দ্বিতীয় সারিতে A=0, B=1 — মানে বাইনারি শূন্য-এক = দশমিক এক। তাই D1 = 1। তৃতীয় সারিতে A=1, B=0 — দশমিক দুই → D2 = 1। চতুর্থ সারিতে A=1, B=1 — দশমিক তিন → D3 = 1। <break time="0.4s"/> প্যাটার্নটা বোঝা গেল? <emphasis level="strong">ইনপুট AB এর দশমিক মান যত, সেই নম্বরের আউটপুট সক্রিয় হয়।</emphasis> এটাকেই বলা হয় — ডিকোডার নির্দিষ্ট একটি আউটপুট select করে। এই concept টা মেমোরি থেকে শুরু করে display পর্যন্ত সব জায়গায় কাজে লাগে। এবার ভিডিও পজ করো আর ভাবো — যদি A=1, B=0 হয়, তাহলে কোন আউটপুট সক্রিয় হবে?

২-টু-৪ ডিকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট

আউটপুট সমীকরণ (Minterm):
$$D_0 = \bar{A}.\bar{B} \quad (A=0, B=0)$$
$$D_1 = \bar{A}.B \quad (A=0, B=1)$$
$$D_2 = A.\bar{B} \quad (A=1, B=0)$$
$$D_3 = A.B \quad (A=1, B=1)$$

লজিক সার্কিট:
- 2টি NOT গেট: A→Ā, B→B̄
- 4টি AND গেট: প্রতিটি আউটপুটের জন্য একটি

মোট গেট: 4টি AND + 2টি NOT

নিয়ম:
- ইনপুট = 0NOT নাও
- ইনপুট = 1 → সরাসরি ব্যবহার করো

এবার ২-টু-৪ ডিকোডারের সমীকরণ বের করব। সত্যক সারণি থেকে দেখো D0 = 1 কখন? যখন A=0 এবং B=0 — <emphasis level="strong">দুটো শর্ত একসাথে।</emphasis> তাই D0 = Ā AND B̄ = Ā.B̄। এখানে Ā মানে A এর NOT মান — যেহেতু A=0 দরকার, তাই NOT(A)=1 ব্যবহার করি। <break time="0.3s"/> D1 = 1 কখন? A=0 AND B=1 → D1 = Ā.B। D2 = 1 কখন? A=1 AND B=0 → D2 = A.B̄। D3 = 1 কখন? A=1 AND B=1 → D3 = A.B। <break time="0.3s"/> এই চারটি সমীকরণকে বলা হয় <emphasis level="strong">Minterm।</emphasis> প্রতিটি আউটপুটের জন্য একটি আলাদা Minterm। লজিক সার্কিটে কী লাগবে? প্রথমে দুটো NOT গেট দিয়ে Ā আর B̄ তৈরি করব। তারপর চারটি AND গেট দিয়ে D0, D1, D2, D3 তৈরি করব। <emphasis level="strong">কেন AND গেট?</emphasis> কারণ AND গেট তখনই 1 দেয় যখন সব ইনপুট 1 — ঠিক যেমন D0 তখনই 1 হয় যখন A=0 AND B=0 — দুটো শর্ত একসাথে পূরণ হলে। এটাই AND এর স্বভাব!

৩-টু-৮ ডিকোডার: সত্যক সারণি

ইনপুট: 3টি (A=MSB, B, C=LSB) আউটপুট: 8টি (D0–D7)

A B C সক্রিয় আউটপুট
0 0 0 D0
0 0 1 D1
0 1 0 D2
0 1 1 D3
1 0 0 D4
1 0 1 D5
1 1 0 D6
1 1 1 D7

মূল নিয়ম: ABC এর দশমিক মান = সক্রিয় আউটপুটের সাবস্ক্রিপ্ট

📊 লক্ষ্য করো: সারণিতে '1' গুলো কর্ণ বরাবর!

এবার ৩-টু-৮ ডিকোডারের সত্যক সারণি দেখব — এটা একটু বড় কিন্তু pattern টা ঠিক আগের মতোই। তিনটি ইনপুট, আটটি আউটপুট। সারণিটা দেখে একটা মজার জিনিস লক্ষ্য করো — '1' গুলো কোথায় কোথায় আছে? <emphasis level="strong">ঠিক কর্ণ বরাবর!</emphasis> প্রথম সারিতে D0 = 1, দ্বিতীয় সারিতে D1 = 1, তৃতীয় সারিতে D2 = 1 — এভাবে ডায়াগোনালে চলে যাচ্ছে। <break time="0.3s"/> প্যাটার্নটা সহজ — ABC এর দশমিক মান যত, সেই নম্বর আউটপুট 1 হবে। যেমন A=1, B=0, C=1 মানে বাইনারি এক-শূন্য-এক = দশমিক পাঁচ। তাই D5 = 1। <break time="0.4s"/> এটা এখন তোমরা নিজেই verify করো — ভিডিও একটু পজ করো আর দেখো পঞ্চম সারিতে A=1, B=0, C=0 — কোন আউটপুট 1? <break time="0.6s"/> D4 = 1, কারণ এক-শূন্য-শূন্য = চার। সঠিক? দারুণ! এই সারণিটা বুঝলে পরের স্লাইডে সমীকরণ নিজেই বের করতে পারবে।

৩-টু-৮ ডিকোডার: আউটপুট সমীকরণ ও লজিক সার্কিট

আউটপুট সমীকরণ (Minterm):
$$D_0 = \bar{A}.\bar{B}.\bar{C}, \quad D_1 = \bar{A}.\bar{B}.C$$
$$D_2 = \bar{A}.B.\bar{C}, \quad D_3 = \bar{A}.B.C$$
$$D_4 = A.\bar{B}.\bar{C}, \quad D_5 = A.\bar{B}.C$$
$$D_6 = A.B.\bar{C}, \quad D_7 = A.B.C$$

লজিক সার্কিট:
- 3টি NOT গেট: A→Ā, B→B̄, C→C̄
- 8টি ৩-ইনপুট AND গেট

মোট গেট: 8টি AND + 3টি NOT

নিয়ম:
- ইনপুট বিট 0 → NOT সংস্করণ ব্যবহার
- ইনপুট বিট 1 → সরাসরি ব্যবহার

৩-টু-৮ ডিকোডারের সমীকরণগুলো দেখো — এখানে প্রতিটি আউটপুটের জন্য একটি করে Minterm আছে। একটু নিয়মটা বলি — ইনপুট ABC দেখো। <emphasis level="strong">যে ইনপুটের মান 1, সেটা সরাসরি AND এ দাও। যে ইনপুটের মান 0, তার NOT নাও।</emphasis> <break time="0.3s"/> যেমন D5 এর কথা ভাবো — D5 সক্রিয় হয় A=1, B=0, C=1 এর সময়। A=1 তাই A সরাসরি, B=0 তাই B̄ ব্যবহার, C=1 তাই C সরাসরি। তাহলে D5 = A.B̄.C। <break time="0.3s"/> এই নিয়মটা মনে রাখলে যেকোনো ডিকোডারের যেকোনো আউটপুট সমীকরণ নিজেই বের করতে পারবে। মুখস্থ করতে হবে না — শুধু নিয়মটা জানতে হবে। লজিক সার্কিটে লাগবে মাত্র তিনটি NOT গেট আর আটটি তিন-ইনপুট AND গেট। কোনো OR গেট নেই। <break time="0.4s"/> তোমরা এখন নিজে একটু চ্যালেঞ্জ করো — D3 এর সমীকরণ কী? ভাবো... D3 সক্রিয় হয় A=0, B=1, C=1 এর সময়। তাহলে D3 = Ā.B.C। মিলিয়ে নাও!

এনকোডার ও ডিকোডার: পার্থক্য

বিষয় এনকোডার ডিকোডার
কাজ আনকোডেড → বাইনারি বাইনারি → আনকোডেড
ইনপুট $2^n$ টি $n$ টি
আউটপুট $n$ টি $2^n$ টি
প্রক্রিয়া সংকোচন বিস্তার
সক্রিয় ইনপুট এক সময়ে ১টি যেকোনো কম্বিনেশন
সক্রিয় আউটপুট সব পরিবর্তন হয় এক সময়ে ১টি
ব্যবহৃত গেট OR গেট AND + NOT গেট
উদাহরণ কিবোর্ড, ADC মেমোরি, ডিসপ্লে

সারকথা: এনকোডার সংকুচিত করে, ডিকোডার বিস্তৃত করে — এরা একে অপরের পরিপূরক

এখন আমরা এনকোডার আর ডিকোডারকে পাশাপাশি রেখে তুলনা করব। এই সারণিটা তোমার নোটবুকে টুকে রাখো। প্রতিটি বিষয়ে এরা কীভাবে বিপরীত দেখো। প্রথমত, কাজের দিক — এনকোডার আনকোডেড থেকে বাইনারিতে যায়, ডিকোডার বাইনারি থেকে আনকোডেডে ফেরে। <break time="0.3s"/> দ্বিতীয়ত, ইনপুট-আউটপুট সংখ্যা — এনকোডারে 2 এর n ঘাত ইনপুট থেকে n আউটপুট, ডিকোডারে n ইনপুট থেকে 2 এর n ঘাত আউটপুট। তৃতীয়ত, সক্রিয়তার দিক — এনকোডারে যেকোনো সময়ে একটি ইনপুট সক্রিয়, ডিকোডারে যেকোনো সময়ে একটি আউটপুট সক্রিয়। <break time="0.3s"/> চতুর্থত, গেটের ধরন — এনকোডার OR গেট ব্যবহার করে, ডিকোডার AND + NOT গেট ব্যবহার করে। <emphasis level="strong">মূল কথাটা মনে রাখো — এনকোডার সংকুচিত করে, ডিকোডার বিস্তৃত করে। এরা আসলে একে অপরের পরিপূরক — একটি ছাড়া অন্যটির পরিপূর্ণ ব্যবহার অসম্ভব।</emphasis>

এনকোডারের বাস্তব প্রয়োগ

১. কিবোর্ড এনকোডার:
- প্রতিটি কি → আলাদা ইনপুট লাইন
- 'A' চাপলে → ASCII বাইনারি 01000001

২. মাউস বোতাম:
- বাম/ডান ক্লিক → বাইনারি সংকেত CPU তে যায়

৩. টেলিফোন কিপ্যাড:
- ডায়াল করা নম্বর → ডিজিটাল সংকেত → নেটওয়ার্কে

৪. ADC (Analog-to-Digital Converter):
- মাইক্রোফোনের শব্দ তরঙ্গ (অ্যানালগ) → বাইনারি
- রেকর্ড করা গান, ভয়েস কল — সব ADC ব্যবহার করে

সারকথা: যেখানেই মানুষের ইনপুট → ডিজিটাল সিস্টেম, সেখানেই এনকোডার

এখন একটু মজার বিষয় দেখব — এনকোডার তোমার চারপাশে কোথায় কোথায় আছে। সবচেয়ে সহজ উদাহরণ হলো তোমার কিবোর্ড। প্রতিটি কি-এর নিচে একটি করে ইনপুট সুইচ আছে। তুমি 'A' চাপো, সেই সুইচ বন্ধ হয়, এনকোডার সার্কিট সেটাকে ASCII কোড শূন্য-এক-শূন্য-শূন্য-শূন্য-শূন্য-শূন্য-এক তে রূপান্তর করে CPU তে পাঠায়। <break time="0.3s"/> মাউসের বোতামও তাই — বাম বা ডান ক্লিক করলে সেটা বাইনারি কোডে CPU তে যায়। তোমার মোবাইলে যখন কারো নম্বরে কল দাও — সেই নম্বরগুলো এনকোডার দিয়ে ডিজিটাল সংকেতে পরিণত হয়ে নেটওয়ার্কে যায়। <break time="0.3s"/> আর ADC — Analog-to-Digital Converter — এটা একটি বিশেষ এনকোডার। তুমি যখন ভয়েস কল করো, তোমার গলার শব্দ যেটা একটি অ্যানালগ তরঙ্গ — ADC দিয়ে বাইনারি সংখ্যায় পরিণত হয়, তারপর পাঠানো হয়। <emphasis level="strong">Spotify তে গান শোনো? সেটাও মূলত ADC দিয়ে এনকোড করা বাইনারি ডেটা।</emphasis> তাহলে বোঝো — যেখানেই মানুষের ইনপুট ডিজিটাল সিস্টেমে ঢোকে, সেখানেই এনকোডার আছে!

ডিকোডারের বাস্তব প্রয়োগ

১. মেমোরি চিপ সিলেক্ট (Address Decoder):
- CPU বাইনারি অ্যাড্রেস পাঠায় (যেমন 010)
- ডিকোডার শুধু সেই মেমোরি সেল (#2) নির্বাচন করে

২. Seven Segment Display:
- বাইনারি কোড → ডিকোডার → সংখ্যা প্রদর্শন
- ডিজিটাল ঘড়ি, ক্যালকুলেটরে এই ডিকোডার থাকে

৩. মাল্টিপ্লেক্সার নিয়ন্ত্রণ:
- কোন ডেটা চ্যানেল নির্বাচন করতে হবে তা ডিকোডার ঠিক করে

৪. প্রিন্টার:
- কোন নজেল বা পিন সক্রিয় হবে ডিকোডার নির্ধারণ করে

সারকথা: যেখানেই ডিজিটাল সিস্টেম → নির্দিষ্ট একটি ডিভাইস নির্বাচন, সেখানেই ডিকোডার

এবার ডিকোডারের প্রয়োগ দেখি। সবচেয়ে গুরুত্বপূর্ণ ব্যবহার হলো <emphasis level="strong">মেমোরি অ্যাড্রেসিং।</emphasis> CPU যখন কোনো ডেটা পড়তে চায়, সে বলে 'আমাকে মেমোরির পাঁচ নম্বর লোকেশনে যেতে হবে।' সে বাইনারিতে এক-শূন্য-এক পাঠায়। ডিকোডার সেই কোড দেখে পাঁচ নম্বর মেমোরি সেল নির্বাচন করে — <emphasis level="strong">শুধু সেটাই সক্রিয় হয়, বাকি সব নিষ্ক্রিয়।</emphasis> এটা না থাকলে CPU কোনো নির্দিষ্ট মেমোরি সেলে পৌঁছাতেই পারত না! <break time="0.3s"/> আরেকটি মজার উদাহরণ — Seven Segment Display। ডিজিটাল ঘড়িতে বা ক্যালকুলেটরে যে সংখ্যা দেখো — সেটা তৈরি হয় সাতটি আলোর সেগমেন্ট দিয়ে। কোন কোন সেগমেন্ট জ্বলবে তা ঠিক করে ডিকোডার। বাইনারি শূন্য-শূন্য-এক-এক দেখে ডিকোডার সংশ্লিষ্ট সেগমেন্টগুলো জ্বালিয়ে '3' দেখায়। <break time="0.3s"/> তোমার প্রিন্টার যখন প্রিন্ট করে, প্রতিটি বিন্দু তৈরি হয় একটি পিন বা নজেল সক্রিয় হয়ে — সেটাও ডিকোডার নির্ধারণ করে। <emphasis level="strong">যেখানেই ডিজিটাল সিস্টেম থেকে নির্দিষ্ট একটি ডিভাইস বেছে নিতে হয় — সেখানেই ডিকোডার।</emphasis>

নিজেকে যাচাই করো! 🧠

চ্যালেঞ্জ ১ — এনকোডার:
একটি ৪-টু-২ এনকোডারে D2 ইনপুট সক্রিয় হলে আউটপুট A ও B কত?

উত্তর: D2 মানে দশমিক 2, বাইনারি 10A=1, B=0


চ্যালেঞ্জ ২ — ডিকোডার:
একটি ২-টু-৪ ডিকোডারে A=1, B=0 দিলে কোন আউটপুট সক্রিয় হবে?

উত্তর: AB=10 = দশমিক 2 → D2 সক্রিয়, কারণ $D_2 = A.\bar{B} = 1.1 = 1$


চ্যালেঞ্জ ৩ — সমীকরণ:
৩-টু-৮ ডিকোডারে D5 এর আউটপুট সমীকরণ লেখো।
(ইঙ্গিত: A=1, B=0, C=1 হলে D5 সক্রিয়)

উত্তর: $D_5 = A.\bar{B}.C$

এবার নিজেকে পরীক্ষা করার সময়! <emphasis level="strong">তিনটা চ্যালেঞ্জ আছে — ভিডিও পজ করো, নিজে চেষ্টা করো, তারপর উত্তর দেখো।</emphasis> <break time="0.4s"/> চ্যালেঞ্জ এক — ৪-টু-২ এনকোডারে D2 সক্রিয় হলে A ও B কত? মনে করো সত্যক সারণিটা — D2 মানে দশমিক দুই, আর দুই এর বাইনারি হলো এক-শূন্য। তাই A=1, B=0। পারলে? <break time="0.4s"/> চ্যালেঞ্জ দুই — ২-টু-৪ ডিকোডারে A=1, B=0 দিলে কোন আউটপুট? AB=10 মানে দশমিক দুই। তাই D2 সক্রিয়। কারণটাও বলো — D2 = A.B̄ = 1 × NOT(0) = 1 × 1 = 1। চমৎকার! <break time="0.4s"/> চ্যালেঞ্জ তিন — ৩-টু-৮ ডিকোডারে D5 এর সমীকরণ কী? ইঙ্গিত দিয়েছি — A=1, B=0, C=1। নিয়মটা মনে করো — 1 হলে সরাসরি, 0 হলে NOT নাও। A=1 তাই A, B=0 তাই B̄, C=1 তাই C। তাহলে <emphasis level="strong">D5 = A.B̄.C।</emphasis> <break time="0.3s"/> কতটা পারলে? তিনটাই পারলে দারুণ! একটাও না পারলে আবার আগের স্লাইডগুলো দেখো — তুমি পারবে, আমার বিশ্বাস আছে।

আজকের লেকচার: সারাংশ

বিষয় মূল কথা
এনকোডার $2^n$ ইনপুট → n আউটপুট, আনকোডেড → বাইনারি
এনকোডার গেট OR গেট
৪-টু-২ এনকোডার $A=D_2+D_3$, $B=D_1+D_3$ (২টি OR)
৮-টু-৩ এনকোডার $A=D_4+..+D_7$, $B=D_2+D_3+D_6+D_7$, $C=D_1+D_3+D_5+D_7$
ডিকোডার n ইনপুট → $2^n$ আউটপুট, বাইনারি → আনকোডেড
ডিকোডার গেট AND গেট + NOT গেট
২-টু-৪ ডিকোডার $D_0=\bar{A}\bar{B}$, $D_1=\bar{A}B$, $D_2=A\bar{B}$, $D_3=AB$
৩-টু-৮ ডিকোডার ৮টি Minterm, ৮ AND + ৩ NOT গেট
প্রয়োগ এনকোডার: কিবোর্ড/ADC ↔ ডিকোডার: মেমোরি/ডিসপ্লে

মুখ্য সূত্র:
এনকোডার: ইনপুট = $2^n$, আউটপুট = $n$
ডিকোডার: ইনপুট = $n$, আউটপুট = $2^n$

আজকে আমরা অনেক গুরুত্বপূর্ণ বিষয় শিখেছি। চলো একবার সংক্ষেপে দেখে নিই কী কী শিখলাম। <emphasis level="strong">এনকোডার মনে রাখার সহজ উপায় — অনেক থেকে কম — OR গেট।</emphasis> ডিকোডার মনে রাখার সহজ উপায় — কম থেকে অনেক — AND+NOT গেট। <break time="0.3s"/> ৪-টু-২ এনকোডারের দুটো সমীকরণ — A=D2+D3, B=D1+D3। ২-টু-৪ ডিকোডারের সমীকরণ — প্রতিটি আউটপুট একটি Minterm। ইনপুট বিট শূন্য হলে NOT নাও, এক হলে সরাসরি নাও। <break time="0.3s"/> এই দুটো সার্কিট digital electronics এর ভিত্তি। মুখ্য সূত্রটা মনে রাখো — এনকোডারে ইনপুট 2 এর n ঘাত আউটপুট n, ডিকোডারে ইনপুট n আউটপুট 2 এর n ঘাত। <break time="0.4s"/> <emphasis level="strong">তোমরা আজকে সত্যিই চমৎকার একটা বিষয় শিখলে।</emphasis> এটা বুঝতে পারলে ডিজিটাল ইলেকট্রনিক্সের অনেক জটিল বিষয়ও সহজ হয়ে যাবে। নিজের উপর বিশ্বাস রাখো — তোমরা এটা পারছো!

বাড়ির কাজ

১. এনকোডার:
(ক) ৪-টু-২ এনকোডারের ব্লক ডায়াগ্রাম ও সম্পূর্ণ সত্যক সারণি লেখো
(খ) ৮-টু-৩ এনকোডারে D6 সক্রিয় হলে আউটপুট A, B, C কত?

২. ডিকোডার:
(ক) ২-টু-৪ ডিকোডারের লজিক সার্কিট আঁকো (AND ও NOT গেট উল্লেখসহ)
(খ) কম্পিউটারের মেমোরিতে ডিকোডার কীভাবে কাজ করে তা নিজের ভাষায় লেখো

৩. তুলনামূলক প্রশ্ন:
এনকোডার ও ডিকোডার একই সিস্টেমে একসাথে কীভাবে ব্যবহার হতে পারে — একটি বাস্তব উদাহরণ দিয়ে ব্যাখ্যা করো

ইঙ্গিত (প্রশ্ন ৩): কিবোর্ডে 'A' চাপা থেকে মনিটরে 'A' দেখার পুরো পথ ভাবো — কোথায় এনকোডার? কোথায় ডিকোডার?

আজকের লেকচার এখানেই শেষ। তোমাদের জন্য কিছু বাড়ির কাজ আছে — এগুলো করলে আজকের শেখাটা মাথায় গেঁথে যাবে। প্রথম কাজে ৪-টু-২ এনকোডারের সত্যক সারণি আর ব্লক ডায়াগ্রাম লিখতে হবে। আর D6 সক্রিয় হলে ৮-টু-৩ এনকোডারের আউটপুট কত? মনে করো — D6 মানে দশমিক ছয়, ছয় এর বাইনারি কত? <break time="0.3s"/> দ্বিতীয় কাজে ২-টু-৪ ডিকোডারের লজিক সার্কিট আঁকতে হবে। NOT গেট আর AND গেটগুলো ঠিকঠাক সংযুক্ত করো। আর মেমোরি ডিকোডার নিজের ভাষায় লেখো — এটা তোমার বোঝার পরীক্ষা। <break time="0.3s"/> তৃতীয় কাজটা একটু চিন্তার — এনকোডার আর ডিকোডার একসাথে কোথায় ব্যবহার হয়? ইঙ্গিত দিই — তুমি কিবোর্ডে 'A' চাপো, মনিটরে 'A' দেখো। মাঝখানে কী হয়? কোথায় এনকোডার? কোথায় ডিকোডার? <break time="0.4s"/> এই প্রশ্নের উত্তর ভাবতে পারলে বুঝবে আজকের পুরো লেকচারটা সত্যিই বুঝেছো। <emphasis level="strong">কোর্সের Q&A সেকশনে তোমার উত্তর শেয়ার করো, আমি দেখব।</emphasis> শুভকামনা! আবার দেখা হবে পরের লেকচারে।

এনকোডার ও ডিকোডার: গঠন ও কার্যপদ্ধতি (Encoder & Decoder)

পড়তে প্রায় 25 মিনিট

কম্পিউটার বা ডিজিটাল ডিভাইসগুলো আমাদের দৈনন্দিন জীবনের অবিচ্ছেদ্য অংশ। কিন্তু সমস্যা হলো, আমরা যে ভাষায় কথা বলি বা লিখি (যেমন: বাংলা, ইংরেজি, দশমিক সংখ্যা), কম্পিউটার তা বোঝে না। কম্পিউটার কেবল বোঝে '০' এবং '১' বা বাইনারি সংকেত। তাহলে আমাদের দেওয়া কমান্ড বা ডেটা কম্পিউটার কীভাবে প্রসেস করে? আবার কম্পিউটারের প্রসেস করা ফলাফল আমরা কীভাবে বুঝতে পারি? এই যোগাযোগ সমস্যার সমাধান করে এনকোডারডিকোডার। এরা মূলত ডিজিটাল দুনিয়ার 'দোভাষী' বা Translator হিসেবে কাজ করে।

ডিজিটাল সিস্টেমে এনকোডার ও ডিকোডারের অবস্থান

এনকোডার (Encoder): মানুষের ভাষা যান্ত্রিক ভাষায় রূপান্তর

এনকোডার হলো একটি সমবায় লজিক সার্কিট (Combinational Logic Circuit) যা মানুষের বোধগম্য ভাষাকে কম্পিউটারের বোধগম্য যান্ত্রিক ভাষায় রূপান্তর করে। সহজ কথায়, আমরা যখন কিবোর্ডে কোনো বাটন প্রেস করি, তখন এনকোডার সেই সিগন্যালটিকে বাইনারি কোডে (0, 1) পরিণত করে সিপিইউ-তে পাঠায়।

সংজ্ঞা (Definition): এনকোডার এমন একটি লজিক বর্তনী যা মানুষের ব্যবহৃত বিভিন্ন বর্ণ, অংক বা চিহ্নকে (আলফানিউমেরিক বা ডেসিমেল) কম্পিউটারের গ্রহণযোগ্য কোডে (যেমন: বাইনারি, ASCII, BCD) রূপান্তর করে।

এনকোডারের গঠন ও ইনপুট-আউটপুট সম্পর্ক

এনকোডারের ইনপুট ও আউটপুট লাইনের মধ্যে একটি সুনির্দিষ্ট গাণিতিক সম্পর্ক রয়েছে। এটিই পরীক্ষায় এনকোডার চেনার প্রধান উপায়।

$$এনকোডারের\ ইনপুট = 2^n$$
$$এনকোডারের\ আউটপুট = n$$
এখানে $n$ হলো আউটপুট বিট সংখ্যা।

অর্থাৎ, ইনপুট লাইনের সংখ্যা যদি $2^n$ হয়, তবে আউটপুট লাইনের সংখ্যা হবে $n$ টি।
- যদি ইনপুট ৪টি ($2^2$) হয়, তবে আউটপুট হবে ২টি। (একে 4-to-2 Encoder বলে)
- যদি ইনপুট ৮টি ($2^3$) হয়, তবে আউটপুট হবে ৩টি। (একে 8-to-3 Encoder বলে)
- যদি ইনপুট ১৬টি ($2^4$) হয়, তবে আউটপুট হবে ৪টি।

গুরুত্বপূর্ণ বৈশিষ্ট্য:
- এনকোডারের যেকোনো মুহূর্তে কেবল একটি ইনপুট লাইন '1' বা 'High' হতে পারে, বাকি সব ইনপুট লাইন '0' বা 'Low' থাকে।
- এটি মূলত OR গেট (OR Gate) দিয়ে তৈরি হয়।

এনকোডার ও ডিকোডারের ব্লক ডায়াগ্রাম তুলনা

৮-টু-৩ এনকোডার (Octal to Binary Encoder)

পরীক্ষায় সবচেয়ে বেশি আসা এনকোডারটি হলো ৮-টু-৩ এনকোডার। যেহেতু অক্টাল সংখ্যা পদ্ধতিতে ৮টি অংক (০-৭) থাকে এবং একে ৩ বিট বাইনারি দিয়ে প্রকাশ করা যায়, তাই একে অক্টাল টু বাইনারি এনকোডারও বলা হয়।

সত্যক সারণি (Truth Table) তৈরি

ধরি, আমাদের ৮টি ইনপুট লাইন হলো $D_0, D_1, D_2, ..., D_7$ এবং ৩টি আউটপুট লাইন হলো $X, Y, Z$।

ইনপুট ($D_0 - D_7$) আউটপুট ($X, Y, Z$) ব্যাখ্যা
$D_0 = 1$ 0 0 0 অক্টাল ০ এর বাইনারি
$D_1 = 1$ 0 0 1 অক্টাল ১ এর বাইনারি
$D_2 = 1$ 0 1 0 অক্টাল ২ এর বাইনারি
$D_3 = 1$ 0 1 1 অক্টাল ৩ এর বাইনারি
$D_4 = 1$ 1 0 0 অক্টাল ৪ এর বাইনারি
$D_5 = 1$ 1 0 1 অক্টাল ৫ এর বাইনারি
$D_6 = 1$ 1 1 0 অক্টাল ৬ এর বাইনারি
$D_7 = 1$ 1 1 1 অক্টাল ৭ এর বাইনারি
লজিক ফাংশন বা সমীকরণ নির্ণয়

সত্যক সারণি থেকে আমরা দেখতে পাই, আউটপুট $X$ এর মান ১ হয় যখন $D_4, D_5, D_6$ অথবা $D_7$ এর যেকোনো একটি ইনপুট ১ হয়। সুতরাং:

$$X = D_4 + D_5 + D_6 + D_7$$
$$Y = D_2 + D_3 + D_6 + D_7$$
$$Z = D_1 + D_3 + D_5 + D_7$$

পরীক্ষার টিপস (Exam Tip): সার্কিট ডায়াগ্রাম আঁকার সময় ৩টি OR গেট আঁকবে। প্রথম OR গেটের আউটপুট হবে $X$, দ্বিতীয়টির $Y$ এবং তৃতীয়টির $Z$। ইনপুট লাইনগুলো সমীকরণ অনুযায়ী গেটগুলোতে সংযোগ দিবে। $D_0$ লাইনটি সাধারণত কোনো গেটের সাথে যুক্ত হয় না, কারণ $000$ আউটপুটের জন্য সব ইনপুট ০ থাকলেই চলে।

প্রায়োরিটি এনকোডার (Priority Encoder) কী?

সাধারণ এনকোডারের একটি সীমাবদ্ধতা হলো, যদি একসাথে একাধিক ইনপুট ১ হয়ে যায়, তবে আউটপুট ভুল আসতে পারে। এই সমস্যা সমাধানে প্রায়োরিটি এনকোডার ব্যবহার করা হয়, যা একাধিক ইনপুট সক্রিয় থাকলেও সর্বোচ্চ মানের ইনপুটটিকে অগ্রাধিকার দিয়ে সঠিক কোড তৈরি করে।


ডিকোডার (Decoder): যান্ত্রিক ভাষা মানুষের ভাষায় রূপান্তর

ডিকোডার হলো এনকোডারের ঠিক বিপরীত কাজ করা একটি লজিক সার্কিট। সিপিইউ যখন প্রসেসিং শেষ করে ফলাফল দেয়, তা থাকে বাইনারি ফরম্যাটে। ডিকোডার সেই দুর্বোধ্য বাইনারি কোডকে মানুষের বোধগম্য ভাষায় বা নির্দিষ্ট কোনো ফরম্যাটে (যেমন: দশমিক সংখ্যা, ডিসপ্লে সিগন্যাল) রূপান্তর করে।

সংজ্ঞা (Definition): ডিকোডার এমন একটি লজিক বর্তনী যা কম্পিউটারের যান্ত্রিক ভাষাকে (বাইনারি কোড) মানুষের বোধগম্য ভাষায় বা অন্য কোনো নির্দিষ্ট ফরম্যাটে রূপান্তর করে।

ডিকোডারের গঠন ও ইনপুট-আউটপুট সম্পর্ক

ডিকোডারের সম্পর্কটি এনকোডারের উল্টো।

$$ডিকোডারের\ ইনপুট = n$$
$$ডিকোডারের\ আউটপুট = 2^n$$

  • যদি ইনপুট ২টিতে ($n=2$) হয়, তবে আউটপুট হবে ৪টি ($2^2$)। (2-to-4 Decoder)
  • যদি ইনপুট ৩টিতে ($n=3$) হয়, তবে আউটপুট হবে ৮টি ($2^3$)। (3-to-8 Decoder)

গুরুত্বপূর্ণ পার্থক্য: এনকোডারে আমরা যোগের লজিক বা OR অপারেশন ব্যবহার করি। কিন্তু ডিকোডারে নির্দিষ্ট ইনপুট কম্বিনেশন শনাক্ত করার জন্য গুণের লজিক বা AND অপারেশন ব্যবহার করা হয়। ডিকোডারের প্রতিটি আউটপুট একটি মিনটার্ম (Minterm) নির্দেশ করে।

৩-টু-৮ ডিকোডার (Binary to Octal Decoder)

এটি ৩টি বাইনারি ইনপুট গ্রহণ করে এবং ৮টি আউটপুট লাইনের মধ্যে যেকোনো একটিকে সক্রিয় করে।

লজিক ফাংশন বা সমীকরণ

ধরি, ইনপুট $A, B, C$ এবং আউটপুট $D_0$ থেকে $D_7$।
প্রতিটি আউটপুট কেবল একটি নির্দিষ্ট ইনপুট কম্বিনেশনের জন্য ১ হবে। যেমন:
- $D_0$ বা প্রথম আউটপুট লাইনটি ১ হবে যখন ইনপুট $000$ (অর্থাৎ $A'B'C'$)।
- $D_5$ লাইনটি ১ হবে যখন ইনপুট $101$ (অর্থাৎ $AB'C$)।
- $D_7$ লাইনটি ১ হবে যখন ইনপুট $111$ (অর্থাৎ $ABC$)।

সুতরাং, ডিকোডারের লজিক সার্কিটটি মূলত ৮টি AND গেট এবং ৩টি NOT গেট (ইনপুটকে ইনভার্ট করার জন্য) দিয়ে তৈরি হয়।

উদাহরণ (Example): যদি ইনপুট লাইনে $101$ দেওয়া হয়, তবে ডিকোডারের ৩য় ও ৮ম আউটপুট লাইন ০ থাকবে, শুধুমাত্র ৬ষ্ঠ লাইনটি ($D_5$) জ্বলে উঠবে বা ১ হবে। এটিই নির্দেশ করে যে বাইনারি ১০১ এর মান অক্টাল বা ডেসিমেলে ৫।


এনকোডার ও ডিকোডারের তুলনা (পার্থক্য)

পরীক্ষায় 'পার্থক্য লিখ' বা 'তুলনামূলক আলোচনা' প্রশ্নের জন্য এই টেবিলটি খুবই গুরুত্বপূর্ণ।

বৈশিষ্ট্য এনকোডার (Encoder) ডিকোডার (Decoder)
কাজ মানুষের ভাষাকে যান্ত্রিক ভাষায় (বাইনারি) রূপান্তর করে। যান্ত্রিক ভাষাকে (বাইনারি) মানুষের ভাষায় রূপান্তর করে।
ইনপুট-আউটপুট ইনপুট $2^n$ টি, আউটপুট $n$ টি। ইনপুট $n$ টি, আউটপুট $2^n$ টি।
লজিক গেট প্রধানত OR গেট দিয়ে তৈরি। প্রধানত AND এবং NOT গেট দিয়ে তৈরি।
জটিলতা এর গঠন তুলনামূলক সহজ। এর গঠন এনকোডারের চেয়ে কিছুটা জটিল।
ব্যবহার কিবোর্ড, মাউস, টেলিফোন বাটন ইত্যাদিতে। মনিটর, প্রিন্টার, মেমোরি চিপ সিলেক্ট করতে।

ব্যবহারিক প্রয়োগ (Applications)

  1. এনকোডার:
    - আলফানিউমেরিক কোডিং: কম্পিউটার কিবোর্ডে যখন আমরা কোনো ‘A’ বা ‘B’ চাপি, তখন এনকোডার সেটিকে ASCII কোডে রূপান্তর করে সিপিইউতে পাঠায়।
    - পজিশনাল কন্ট্রোল: রোবোটিক্স বা রাডারে যান্ত্রিক অবস্থানকে ডিজিটাল সিগন্যালে রূপান্তর করতে।

  2. ডিকোডার:
    - ডিসপ্লে ইউনিট: ক্যালকুলেটর বা ডিজিটাল ঘড়ির পর্দায় যে সংখ্যা দেখি, তা সেভেন সেগমেন্ট ডিসপ্লে (Seven Segment Display) ডিকোডারের মাধ্যমে দেখানো হয়।
    - মেমোরি অ্যাড্রেসিং: কম্পিউটারের মেমোরির নির্দিষ্ট লোকেশন বা অ্যাড্রেস খুঁজে বের করতে ডিকোডার ব্যবহৃত হয়।


সৃজনশীল প্রশ্ন সমাধান টিপস (Exam Corner)

পরীক্ষার হলে উদ্দীপক (Stem) দেখে এনকোডার বা ডিকোডার চিনতে ভুল করা যাবে না।

কীভাবে চিনবে?
ব্লক ডায়াগ্রামের দিকে তাকাও:
- যদি বাম পাশে (ইনপুট) অনেকগুলো লাইন থাকে এবং ডান পাশে (আউটপুট) কম লাইন থাকে $\rightarrow$ তবে এটি এনকোডার
- যদি বাম পাশে (ইনপুট) কম লাইন থাকে এবং ডান পাশে (আউটপুট) অনেকগুলো লাইন থাকে $\rightarrow$ তবে এটি ডিকোডার
- তীর চিহ্নের দিক খেয়াল করবে। মানুষের কাছ থেকে মেশিনের দিকে গেলে এনকোডার, মেশিনের কাছ থেকে মানুষের দিকে আসলে ডিকোডার।


সংক্ষিপ্ত সারাংশ (Quick Revision)

একনজরে মনে রাখার বিষয়:
- এনকোডার: $2^n \to n$ | ইনপুট বেশি, আউটপুট কম | OR গেট নির্ভর | উদাহরণ: কিবোর্ড।
- ডিকোডার: $n \to 2^n$ | ইনপুট কম, আউটপুট বেশি | AND গেট নির্ভর | উদাহরণ: মনিটর।
- ৮-টু-৩ এনকোডারকে 'অক্টাল টু বাইনারি' কনভার্টার বলা হয়।
- ৩-টু-৮ ডিকোডারকে 'বাইনারি টু অক্টাল' কনভার্টার বলা হয়।

পরিভাষা (Glossary)

শব্দ ব্যাখ্যা
এনকোডার যান্ত্রিক ভাষায় রূপান্তরকারী বর্তনী।
ডিকোডার মানুষের ভাষায় রূপান্তরকারী বর্তনী।
মিনটার্ম (Minterm) বুলিয়ান অ্যালজেব্রায় AND অপারেশনের মাধ্যমে প্রাপ্ত গুণফল, যা ডিকোডারে ব্যবহৃত হয়।
ASCII American Standard Code for Information Interchange; কিবোর্ডের বর্ণকে কোড করার পদ্ধতি।
সেভেন সেগমেন্ট ৭টি আলাদা বাতি বা LED দিয়ে সংখ্যা প্রদর্শনের ডিসপ্লে।

অনুশীলনের প্রশ্ন

সৃজনশীল প্রশ্ন

সৃজনশীল প্রশ্ন ১

একটি বহুতল ভবনে লিফট ব্যবহারের জন্য প্রতিটি তলায় বোতাম রয়েছে। লিফটের ভেতর ৮টি বোতাম (০-৭) আছে। কোনো একটি বোতাম চাপলে লিফটের ডিসপ্লেতে সেই সংখ্যার সমতুল্য বাইনারি মান ৩টি লাইটের মাধ্যমে প্রদর্শিত হয়। অন্যদিকে, লিফটের কন্ট্রোল রুমে ৩টি তারের মাধ্যমে সংকেত পৌঁছায় এবং সেখান থেকে ৮টি নির্দেশক লাইটের একটি জ্বলে ওঠে যা লিফটের বর্তমান অবস্থান নির্দেশ করে।

ক) এনকোডার কী?
খ) ৪-টু-২ এনকোডারে ৪টি ইনপুট হলে আউটপুট ২টি কেন? বুঝিয়ে লিখ।
গ) লিফটের বোতাম চাপলে ডিসপ্লেতে সংকেত তৈরির সার্কিটটি বর্ণনা কর।
ঘ) কন্ট্রোল রুমের সার্কিটটি উদ্দীপকের প্রথম সার্কিটের বিপরীত - বিশ্লেষণ কর।

উত্তর

(ক) এনকোডার হলো এমন একটি সমবায় বর্তনী বা ডিজিটাল সার্কিট যা মানুষের বোধগম্য ভাষাকে কম্পিউটারের বোধগম্য ভাষায় (যান্ত্রিক ভাষায়) রূপান্তর করে।

(খ) এনকোডারের ইনপুট সংখ্যা $2^n$ হলে আউটপুট সংখ্যা হয় $n$। ৪-টু-২ এনকোডারের ক্ষেত্রে ইনপুট সংখ্যা ৪, যা $2^2$ আকারে লেখা যায়। এখানে $n=2$, তাই নিয়ম অনুযায়ী আউটপুট সংখ্যা হবে ২। অর্থাৎ, এই এনকোডারটি ৪টি ভিন্ন ইনপুট সংকেতকে ২টি বিটের মাধ্যমে বাইনারি কোডে রূপান্তর করে।

(গ) উদ্দীপকে লিফটের বোতাম চাপলে ডিসপ্লেতে সংকেত তৈরির সার্কিটটি হলো একটি ৮-টু-৩ এনকোডার (Octal to Binary Encoder)।
এখানে ৮টি বোতাম বা ইনপুট লাইন ($D_0$ থেকে $D_7$) আছে এবং ডিসপ্লেতে ৩টি লাইট বা আউটপুট লাইন ($X, Y, Z$) আছে। যখনই কোনো একটি বোতাম চাপা হয়, তখন এনকোডারটি সেই নির্দিষ্ট ইনপুট লাইনের সিগন্যালকে ৩-বিটের বাইনারি আউটপুটে রূপান্তর করে।
যেমন: ৫ নম্বর বোতাম চাপলে আউটপুট হবে ১০১।
এই সার্কিটের সত্যক সারণি ও লজিক গেইট (OR Gate) ব্যবহার করে এটি বাস্তবায়ন করা হয়, যেখানে প্রতিটি আউটপুট নির্দিষ্ট ইনপুটের যৌক্তিক যোগফল নির্দেশ করে।

(ঘ) উদ্দীপকের কন্ট্রোল রুমের সার্কিটটি হলো একটি ৩-টু-৮ ডিকোডার, যা প্রথম সার্কিট বা এনকোডারের ঠিক বিপরীত কাজ করে।
বিশ্লেষণ:
১. প্রথম সার্কিট (এনকোডার): এটি মানুষের ভাষা বা ডেসিমেল সংখ্যাকে (বোতামের ইনপুট) বাইনারি সংকেতে (ডিসপ্লের লাইট) রূপান্তর করে। এর ইনপুট ৮টি ($2^3$) এবং আউটপুট ৩টি।
২. কন্ট্রোল রুমের সার্কিট (ডিকোডার): এটি ৩টি তারের বাইনারি সংকেত গ্রহণ করে এবং তাকে ৮টি লাইনের একটিতে রূপান্তর করে (অর্থাৎ যান্ত্রিক ভাষাকে মানুষের বোধগম্য ভাষায় বা নির্দিষ্ট অবস্থানে রূপান্তর করে)। এর ইনপুট ৩টি এবং আউটপুট ৮টি ($2^3$)।
৩. এনকোডারে ইনপুট লাইনে সিগন্যাল দিলে আউটপুটে কোড তৈরি হয়, আর ডিকোডারে ইনপুটে কোড দিলে নির্দিষ্ট আউটপুট লাইন সক্রিয় হয়।
সুতরাং, গঠন ও কাজের দিক থেকে কন্ট্রোল রুমের সার্কিটটি (ডিকোডার) উদ্দীপকের প্রথম সার্কিটের (এনকোডার) সম্পূর্ণ বিপরীত।


সৃজনশীল প্রশ্ন ২

নিহাল তার কম্পিউটারের কিবোর্ডে 'A' কিতে চাপ দিল। এতে সিপিইউতে একটি বিশেষ সংকেত পৌঁছাল। তার বড় ভাই বললেন, "কিবোর্ডের প্রতিটি কি-এর জন্য একটি নির্দিষ্ট সার্কিট কাজ করে যা আলফানিউমেরিক বর্ণকে আসকি কোডে রূপান্তর করে।"

ক) ডিকোডার কী?
খ) এনকোডার ও ডিকোডারের মধ্যে ২টি পার্থক্য লিখ।
গ) উদ্দীপকে উল্লিখিত বর্তনীটির সত্যক সারণি ও লজিক চিত্র আঁক (৪-টু-২ এনকোডারের উদাহরণ দিয়ে)।
ঘ) উদ্দীপকের বর্তনীটির বিপরীত বর্তনী (ডিকোডার) ব্যবহার করে কীভাবে পূর্ণ যোগের কাজ (Full Adder) বাস্তবায়ন করা সম্ভব? বিশ্লেষণ কর।

উত্তর

(ক) ডিকোডার হলো এমন একটি সমবায় বর্তনী বা ডিজিটাল সার্কিট যা কম্পিউটারের যান্ত্রিক ভাষাকে (বাইনারি কোড) মানুষের বোধগম্য ভাষায় রূপান্তর করে।

(খ) এনকোডার ও ডিকোডারের পার্থক্য:
১. কাজ: এনকোডার মানুষের ভাষাকে যান্ত্রিক ভাষায় রূপান্তর করে; ডিকোডার যান্ত্রিক ভাষাকে মানুষের ভাষায় রূপান্তর করে।
২. ইনপুট-আউটপুট: এনকোডারে $2^n$ টি ইনপুট ও $n$ টি আউটপুট থাকে; ডিকোডারে $n$ টি ইনপুট ও $2^n$ টি আউটপুট থাকে।

(গ) উদ্দীপকে উল্লিখিত বর্তনীটি হলো একটি এনকোডার। নিচে একটি ৪-টু-২ এনকোডারের সত্যক সারণি ও লজিক চিত্র দেওয়া হলো:

সত্যক সারণি:
| ইনপুট ($D_0$) | ইনপুট ($D_1$) | ইনপুট ($D_2$) | ইনপুট ($D_3$) | আউটপুট ($X$) | আউটপুট ($Y$) |
|:---:|:---:|:---:|:---:|:---:|:---:|
| ১ | ০ | ০ | ০ | ০ | ০ |
| ০ | ১ | ০ | ০ | ০ | ১ |
| ০ | ০ | ১ | ০ | ১ | ০ |
| ০ | ০ | ০ | ১ | ১ | ১ |

লজিক চিত্র:
দুটি OR গেইট ব্যবহার করে এটি আঁকা হয়।
$X = D_2 + D_3$
$Y = D_1 + D_3$
(এখানে $D_0$ এর কোনো সংযোগ নেই কারণ আউটপুট ০০)।

(ঘ) উদ্দীপকের বর্তনীটির বিপরীত বর্তনী হলো ডিকোডার। একটি ৩-টু-৮ ডিকোডার ব্যবহার করে ফুল অ্যাডার (Full Adder) বাস্তবায়ন করা সম্ভব।
ফুল অ্যাডারের দুটি আউটপুট থাকে: সাম (Sum) এবং ক্যারি (Carry)।
৩-টু-৮ ডিকোডারের ৩টি ইনপুটকে ফুল অ্যাডারের ৩টি ইনপুট ($A, B, C_{in}$) হিসেবে ব্যবহার করা যায়। ডিকোডারের ৮টি আউটপুট ($0-7$) মিনটার্ম নির্দেশ করে।
- ফুল অ্যাডারের Sum এর সমীকরণ হলো $\Sigma(1, 2, 4, 7)$। তাই ডিকোডারের ১, ২, ৪ ও ৭ নং আউটপুটগুলোকে একটি OR গেইটে যুক্ত করলে Sum পাওয়া যাবে।
- ফুল অ্যাডারের Carry এর সমীকরণ হলো $\Sigma(3, 5, 6, 7)$। তাই ডিকোডারের ৩, ৫, ৬ ও ৭ নং আউটপুটগুলোকে একটি OR গেইটে যুক্ত করলে Carry পাওয়া যাবে।
এভাবে, ডিকোডার ও দুটি OR গেইট ব্যবহার করে ফুল অ্যাডার বাস্তবায়ন করা যায়।


সৃজনশীল প্রশ্ন ৩

নিচের চিত্রটি লক্ষ্য কর:

চিত্র

ক) লজিক গেইট কী?
খ) ২-টু-৪ ডিকোডারের আউটপুট সমীকরণ লিখ।
গ) উদ্দীপকের চিত্রটির সত্যক সারণি তৈরি কর।
ঘ) উদ্দীপকের চিত্রটি মেমোরি অ্যাড্রেসিং বা ডিসপ্লে ইউনিটে কীভাবে ব্যবহৃত হয়? বিশ্লেষণ কর।

উত্তর

(ক) লজিক গেইট হলো এক ধরণের ইলেকট্রনিক সার্কিট যা এক বা একাধিক ইনপুট গ্রহণ করে এবং যুক্তিভিত্তিক সংকেতের ওপর ভিত্তি করে একটি মাত্র আউটপুট প্রদান করে।

(খ) ২-টু-৪ ডিকোডারের ইনপুট $A$ ও $B$ হলে, ৪টি আউটপুট ($D_0, D_1, D_2, D_3$) এর সমীকরণ হবে:
$D_0 = A'B'$
$D_1 = A'B$
$D_2 = AB'$
$D_3 = AB$

(গ) উদ্দীপকের চিত্রটি একটি ৩-টু-৮ ডিকোডার। এর ৩টি ইনপুট ($A, B, C$) এবং ৮টি আউটপুট ($D_0$ থেকে $D_7$)। নিচে সত্যক সারণি দেওয়া হলো:

A B C D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1

(ঘ) উদ্দীপকের ৩-টু-৮ ডিকোডারটি মেমোরি অ্যাড্রেসিং ও ডিসপ্লে ইউনিটে গুরুত্বপূর্ণ ভূমিকা পালন করে।
মেমোরি অ্যাড্রেসিং: কম্পিউটারের মেমোরিতে অসংখ্য সেল থাকে। প্রসেসর যখন নির্দিষ্ট কোনো মেমোরি লোকেশন থেকে ডেটা পড়তে চায়, তখন সে অ্যাড্রেস বাসে বাইনারি সংকেত পাঠায়। ডিকোডার এই বাইনারি অ্যাড্রেসকে ডিকোড করে হাজার হাজার মেমোরি সেলের মধ্য থেকে নির্দিষ্ট একটি সেলকে সক্রিয় (Active) করে। উদাহরণস্বরূপ, ৩টি অ্যাড্রেস লাইন দিয়ে ৮টি মেমোরি লোকেশন নিয়ন্ত্রণ করা যায়।
ডিসপ্লে ইউনিট: সেভেন সেগমেন্ট ডিসপ্লে বা অন্যান্য ডিসপ্লে ডিভাইসে বাইনারি ডেটাকে পাঠযোগ্য সংখ্যায় রূপান্তর করতে ডিকোডার ব্যবহৃত হয়। যেমন, ক্যালকুলেটর বা ঘড়ির ডিসপ্লেতে প্রসেসর থেকে আসা বাইনারি মানকে ডিকোডার ডেসিমেল সংখ্যায় রূপান্তর করে দেখায়।
সুতরাং, জটিল ডিজিটাল সিস্টেমে নির্দিষ্ট অংশ নির্বাচন ও ডেটা প্রদর্শনে এই সার্কিটের গুরুত্ব অপরিসীম।

এমসিকিউ

১। এনকোডার কী?

ক) অ্যানালগ সংকেতকে ডিজিটাল সংকেতে রূপান্তর করার বর্তনী
খ) ডিজিটাল সংকেতকে অ্যানালগ সংকেতে রূপান্তর করার বর্তনী
গ) যান্ত্রিক ভাষাকে মানুষের বোধগম্য ভাষায় রূপান্তর করার বর্তনী
ঘ) মানুষের বোধগম্য ভাষাকে যান্ত্রিক ভাষায় রূপান্তর করার বর্তনী

সঠিক উত্তর: ঘ) মানুষের বোধগম্য ভাষাকে যান্ত্রিক ভাষায় রূপান্তর করার বর্তনী

ব্যাখ্যা: এনকোডার হলো এমন একটি সমবায় বর্তনী যা মানুষের ভাষা বা বিভিন্ন ইনপুট (যেমন: আলফানিউমেরিক বর্ণ, চিহ্ন) কে কম্পিউটারের বোধগম্য বাইনারি কোডে (যান্ত্রিক ভাষায়) রূপান্তর করে।


২। ৪-টু-২ এনকোডারে ইনপুট লাইনের সংখ্যা কত?

ক) ২
খ) ৪
গ) ৮
ঘ) ১৬

সঠিক উত্তর: খ) ৪

ব্যাখ্যা: ৪-টু-২ এনকোডারের নামের মধ্যেই ইনপুট ও আউটপুট সংখ্যা উল্লেখ থাকে। এখানে ৪টি ইনপুট এবং ২টি আউটপুট লাইন থাকে। সাধারণ সূত্র হলো $2^n$ টি ইনপুট ও $n$ টি আউটপুট।


৩। ৩-টু-৮ ডিকোডারের আউটপুট লাইন কয়টি?

ক) ৩
খ) ৪
গ) ৮
ঘ) ১৬

সঠিক উত্তর: গ) ৮

ব্যাখ্যা: ডিকোডারের ক্ষেত্রে $n$ টি ইনপুট থেকে $2^n$ টি আউটপুট পাওয়া যায়। ৩-টু-৮ ডিকোডারে ইনপুট সংখ্যা ৩ ($n=3$), তাই আউটপুট সংখ্যা হবে $2^3 = 8$।


৪। এনকোডারের ইনপুট $2^n$ হলে আউটপুট কত?

ক) $n$
খ) $2n$
গ) $n^2$
ঘ) $2^n$

সঠিক উত্তর: ক) $n$

ব্যাখ্যা: এনকোডারের ইনপুট ও আউটপুট সম্পর্কের সূত্র হলো: ইনপুট = $2^n$ এবং আউটপুট = $n$। অর্থাৎ, ইনপুট সংখ্যা আউটপুট সংখ্যার ২-এর ঘাত বা পাওয়ার হিসেবে থাকে।


৫। কিবোর্ডের বোতাম চাপলে কম্পিউটারের সিপিইউতে কোন সার্কিট সংকেত পাঠায়?

ক) অ্যাডার
খ) ডিকোডার
গ) এনকোডার
ঘ) ফ্লিপ-ফ্লপ

সঠিক উত্তর: গ) এনকোডার

ব্যাখ্যা: কিবোর্ড বা ইনপুট ডিভাইস থেকে দেওয়া ডেটাকে কম্পিউটারের প্রসেসরের বোধগম্য বাইনারি কোডে রূপান্তর করতে এনকোডার ব্যবহার করা হয়।


৬। ডিকোডারের কাজ কী?

ক) বাইনারি কোডকে এনালগ সংকেতে রূপান্তর করা
খ) কোডযুক্ত ডেটাকে আনকোড (Uncode) বা মানুষের ভাষায় রূপান্তর করা
গ) ডেসিমেল সংখ্যাকে বাইনারিতে রূপান্তর করা
ঘ) দুটি বাইনারি সংখ্যা যোগ করা

সঠিক উত্তর: খ) কোডযুক্ত ডেটাকে আনকোড (Uncode) বা মানুষের ভাষায় রূপান্তর করা

ব্যাখ্যা: ডিকোডার কম্পিউটারের যান্ত্রিক ভাষা বা বাইনারি কোডকে ডেসিমেল সংখ্যা বা মানুষের বোধগম্য ফরম্যাটে রূপান্তর করে ডিসপ্লে ইউনিটে পাঠায়।


৭। কোন বর্তনীটি ৩টি ইনপুট থেকে ৮টি আউটপুট প্রদান করে?

ক) এনকোডার
খ) ডিকোডার
গ) মাল্টিপ্লেক্সার
ঘ) কাউন্টার

সঠিক উত্তর: খ) ডিকোডার

ব্যাখ্যা: ৩টি ইনপুট থেকে ৮টি ($2^3$) আউটপুট পাওয়া যায় ৩-টু-৮ লাইন ডিকোডারে।


৮। এনকোডারে যেকোনো মুহূর্তে কয়টি ইনপুট ১ (Active) হতে পারে?

ক) সবগুলি
খ) যেকোনো দুটি
গ) মাত্র একটি
ঘ) কোনোটিই নয়

সঠিক উত্তর: গ) মাত্র একটি

ব্যাখ্যা: সাধারণ এনকোডারে যেকোনো মুহূর্তে কেবল একটি ইনপুট লাইন হাই (1) বা সক্রিয় থাকে। একাধিক ইনপুট একসাথে ১ হলে সাধারণ এনকোডার কাজ করে না; সেক্ষেত্রে প্রায়োরিটি এনকোডার লাগে।


৯। সত্যক সারণিতে ইনপুট ও আউটপুট লাইনের সংখ্যা যথাক্রমে ৮ ও ৩ হলে বর্তনীটি কী?

ক) ডিকোডার
খ) এনকোডার
গ) অ্যাডার
ঘ) রেজিস্টার

সঠিক উত্তর: খ) এনকোডার

ব্যাখ্যা: ৮টি ইনপুট ($2^3$) এবং ৩টি আউটপুট ($3$) হলো ৮-টু-৩ এনকোডারের বৈশিষ্ট্য।


১০। ২-টু-৪ ডিকোডারে ইনপুট A=1, B=0 হলে কোন আউটপুটটি ১ হবে? (ধরি আউটপুট $D_0, D_1, D_2, D_3$)

ক) $D_0$
খ) $D_1$
গ) $D_2$
ঘ) $D_3$

সঠিক উত্তর: গ) $D_2$

ব্যাখ্যা: ইনপুট $A=1, B=0$ মানে বাইনারি মান ১০, যা ডেসিমেলে ২। তাই $D_2$ আউটপুট লাইনটি সক্রিয় বা ১ হবে।


১১। এনকোডার ব্যবহৃত হয়—
i. ক্যালকুলেটরে
ii. ডিজিটাল ঘড়িতে
iii. কিবোর্ডে

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: খ) i ও iii

ব্যাখ্যা: ক্যালকুলেটর ও কিবোর্ডে ইনপুট দেওয়ার জন্য এনকোডার ব্যবহৃত হয়। ডিজিটাল ঘড়িতে মূলত ডিকোডার ব্যবহৃত হয় ডিসপ্লে দেখানোর জন্য (এনকোডার নয়)।


১২। ডিকোডার ব্যবহৃত হয়—
i. মেমোরি অ্যাড্রেসিংয়ে
ii. সেভেন সেগমেন্ট ডিসপ্লেতে
iii. ইনপুট ডিভাইসে

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: ডিকোডার মেমোরি লোকেশন নির্বাচন করতে এবং আউটপুট ডিসপ্লে (যেমন সেভেন সেগমেন্ট) চালাতে ব্যবহৃত হয়। ইনপুট ডিভাইসে এনকোডার ব্যবহৃত হয়।


১৩। এনকোডার তৈরিতে কোন লজিক গেইট বেশি ব্যবহৃত হয়?

ক) AND
খ) OR
গ) NOT
ঘ) NAND

সঠিক উত্তর: খ) OR

ব্যাখ্যা: এনকোডারের প্রতিটি আউটপুট সমীকরণ ইনপুটগুলোর যৌক্তিক যোগফল (Logical OR) হিসেবে প্রকাশ করা হয়, তাই OR গেইট ব্যবহৃত হয়।


১৪। প্রায়োরিটি এনকোডারের প্রধান বৈশিষ্ট্য কী?

ক) সব ইনপুট সমান গুরুত্ব পায়
খ) সর্বোচ্চ মানের ইনপুটটি অগ্রাধিকার পায়
গ) সর্বনিম্ন মানের ইনপুটটি অগ্রাধিকার পায়
ঘ) কোনো ইনপুটই গুরুত্ব পায় না

সঠিক উত্তর: খ) সর্বোচ্চ মানের ইনপুটটি অগ্রাধিকার পায়

ব্যাখ্যা: প্রায়োরিটি এনকোডারে একাধিক ইনপুট একসাথে সক্রিয় হলে, যার মান বা পজিশন ভ্যালু বেশি, তাকেই গ্রহণ করা হয় এবং তার কোড আউটপুটে পাঠানো হয়।


১৫। আলফানিউমেরিক কোডকে ASCII তে রূপান্তর করে কোনটি?

ক) ডিকোডার
খ) এনকোডার
গ) মডেম
ঘ) রাউটার

সঠিক উত্তর: খ) এনকোডার

ব্যাখ্যা: কিবোর্ডের আলফানিউমেরিক ইনপুটকে কম্পিউটারের ব্যবহারযোগ্য ASCII বা ইউনিকোডে রূপান্তর করা এনকোডারের কাজ।


উদ্দীপকটি পড়ে ১৬ ও ১৭ নং প্রশ্নের উত্তর দাও:
একটি ডিজিটাল বর্তনীতে ৩টি ইনপুট লাইন এবং ৮টি আউটপুট লাইন আছে। বর্তনীটির একটি এনাবল (Enable) পিন আছে।

১৬। উদ্দীপকের বর্তনীটি কী?

ক) এনকোডার
খ) ডিকোডার
গ) অ্যাডার
ঘ) মাল্টিপ্লেক্সার

সঠিক উত্তর: খ) ডিকোডার

ব্যাখ্যা: ৩টি ইনপুট ও ৮টি আউটপুট ($n$ to $2^n$) সম্পর্কটি ডিকোডারের নির্দেশক।


১৭। বর্তনীটির এনাবল পিন ০ (Zero) হলে কী ঘটবে? (Active High ধরে)

ক) বর্তনীটি স্বাভাবিক কাজ করবে
খ) সব আউটপুট ১ হবে
গ) বর্তনীটি নিষ্ক্রিয় থাকবে বা কাজ করবে না
ঘ) ইনপুট ও আউটপুট সমান হবে

সঠিক উত্তর: গ) বর্তনীটি নিষ্ক্রিয় থাকবে বা কাজ করবে না

ব্যাখ্যা: এনাবল পিন (Enable Pin) একটি চিপকে সক্রিয় বা নিষ্ক্রিয় করতে ব্যবহৃত হয়। যদি এটি অফ বা ০ থাকে, তবে ইনপুট যা-ই হোক না কেন, চিপটি কোনো কাজ করবে না।


১৮। ৫টি ইনপুট বিশিষ্ট এনকোডারের আউটপুট লাইন কয়টি হতে পারে?

ক) ২
খ) ৩
গ) ৫
ঘ) ৩২

সঠিক উত্তর: খ) ৩

ব্যাখ্যা: ৫টি ইনপুট থাকলে তা $2^2=4$ এর চেয়ে বেশি কিন্তু $2^3=8$ এর চেয়ে কম। তাই এটি ৮-টু-৩ এনকোডারের অংশ হিসেবে কাজ করবে এবং আউটপুট লাইন ৩টি লাগবে (কারণ ৫টি ভিন্ন অবস্থা বোঝাতে অন্তত ৩ বিট প্রয়োজন: $101$)।


১৯। BCD থেকে সেভেন সেগমেন্ট ডিসপ্লেতে রূপান্তরের জন্য কোনটি প্রয়োজন?

ক) এনকোডার
খ) ডিকোডার
গ) রেজিস্টার
ঘ) কাউন্টার

সঠিক উত্তর: খ) ডিকোডার

ব্যাখ্যা: BCD কোডকে সেভেন সেগমেন্ট ডিসপ্লের উপযোগী সংকেতে রূপান্তর করতে 'BCD to 7-Segment Decoder' ব্যবহৃত হয়।


২০। ১৬-টু-৪ এনকোডারের সর্বোচ্চ কতটি ইনপুট কম্বিনেশন হতে পারে?

ক) ৪
খ) ১৬
গ) ২৫৬
ঘ) ৬৫৫৩৬

সঠিক উত্তর: খ) ১৬

ব্যাখ্যা: ১৬-টু-৪ এনকোডারে ১৬টি ইনপুট লাইন থাকে। যেহেতু এটি এনকোডার, তাই প্রতিবার একটি মাত্র ইনপুট সক্রিয় হয়। সুতরাং ১৬টি ভিন্ন ভিন্ন ইনপুট বা কম্বিনেশন সম্ভব।


উদ্দীপকটি পড়ে ২১ ও ২২ নং প্রশ্নের উত্তর দাও:
রিফাত তার প্রজেক্টে এমন একটি সার্কিট ব্যবহার করল যা বাইনারি '101' ইনপুট দিলে ৫ নং লাইনটি হাই (High) করে।

২১। রিফাতের ব্যবহৃত সার্কিটটি কী?

ক) এনকোডার
খ) ডিকোডার
গ) হাফ অ্যাডার
ঘ) ফুল অ্যাডার

সঠিক উত্তর: খ) ডিকোডার

ব্যাখ্যা: বাইনারি ইনপুট (১০১) থেকে নির্দিষ্ট একটি আউটপুট লাইন (৫ নং) সক্রিয় করা ডিকোডারের কাজ।


২২। উদ্দীপকের সার্কিটটি দিয়ে বাস্তবায়ন করা সম্ভব—
i. মেমোরি ইন্টারফেসিং
ii. লজিক ফাংশন জেনারেশন
iii. এনালগ টু ডিজিটাল কনভার্শন

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: ডিকোডার দিয়ে মেমোরি ইন্টারফেসিং এবং বুলিয়ান লজিক ফাংশন তৈরি করা যায়। এনালগ টু ডিজিটাল কনভার্শন ডিকোডারের সরাসরি কাজ নয়।


২৩। ডিকোডারের ইনপুট $n=4$ হলে আউটপুট লাইন হবে—

ক) ৪
খ) ৮
গ) ১৬
ঘ) ৩২

সঠিক উত্তর: গ) ১৬

ব্যাখ্যা: ডিকোডারের আউটপুট = $2^n = 2^4 = 16$।


২৪। এনকোডারের ব্লক ডায়াগ্রামে থাকে—
i. ইনপুট লাইন
ii. আউটপুট লাইন
iii. সিলেকশন লাইন

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: সাধারণ এনকোডার ও ডিকোডারে শুধুমাত্র ইনপুট ও আউটপুট লাইন থাকে। সিলেকশন লাইন থাকে মাল্টিপ্লেক্সার ও ডিমাল্টিপ্লেক্সারে।


২৫। কোন সার্কিটটি ইনপুট সিগন্যালকে সংকুচিত (Compress) করে আউটপুট দেয়?

ক) ডিকোডার
খ) এনকোডার
গ) অ্যাডার
ঘ) লজিক গেইট

সঠিক উত্তর: খ) এনকোডার

ব্যাখ্যা: এনকোডার $2^n$ সংখ্যক ইনপুটকে মাত্র $n$ সংখ্যক আউটপুটে নামিয়ে আনে, অর্থাৎ এটি ডেটাকে সংকুচিত বা এনকোড করে।