ফ্লিপ-ফ্লপ ও রেজিস্টার

এইচএসসি আইসিটি অধ্যায় ৩: ফ্লিপ-ফ্লপ (SR, JK, D) এবং রেজিস্টার এর গঠন ও প্রকারভেদ। শিফট রেজিস্টার এবং এর ডেটা ট্রান্সফার পদ্ধতির বিস্তারিত ব্যাখ্যা।

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

ফ্লিপ-ফ্লপ ও রেজিস্টার

  1. ফ্লিপ-ফ্লপ ও রেজিস্টার
  2. কলিং বেল বনাম লাইট সুইচ: তফাৎটা কোথায়?
  3. ফ্লিপ-ফ্লপ (Flip-Flop) কী?
  4. SR ফ্লিপ-ফ্লপ (Set-Reset)
  5. JK ফ্লিপ-ফ্লপ (Universal)
  6. D ফ্লিপ-ফ্লপ (Data/Delay)
  7. রেজিস্টার (Register) কী?
  8. শিফট রেজিস্টারের প্রকারভেদ
  9. SISO এর কার্যপ্রণালী (সিরিয়াল ট্রান্সফার)
  10. প্যারালাল লোড রেজিস্টার (PIPO)
  11. সারাংশ ও বাড়ির কাজ

ফ্লিপ-ফ্লপ ও রেজিস্টার

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

১। ফ্লিপ-ফ্লপ কী এবং এটি কীভাবে মেমোরি হিসেবে কাজ করে তা ব্যাখ্যা করতে পারব।
২। SR, JK এবং D ফ্লিপ-ফ্লপের কার্যপ্রণালী বর্ণনা করতে পারব।
৩। রেজিস্টার ও এর প্রকারভেদ ব্যাখ্যা করতে পারব।
৪। শিফট রেজিস্টারের ডেটা স্থানান্তর প্রক্রিয়া বিশ্লেষণ করতে পারব।

স্বাগতম সবাইকে! আজকে আমরা আইসিটির একটি অত্যন্ত গুরুত্বপূর্ণ এবং মজার টপিক নিয়ে আলোচনা করব - ফ্লিপ-ফ্লপ ও রেজিস্টার। তোমরা কি কখনো ভেবেছ, কম্পিউটার বা ক্যালকুলেটর কীভাবে কোনো সংখ্যা মনে রাখে? আমরা যখন কি-বোর্ডে 'A' চাপি, সেটা প্রসেসর পর্যন্ত কীভাবে সংরক্ষিত থাকে? আজকের ক্লাসে আমরা সেই রহস্যই উন্মোচন করব। চলো দেখে নিই আজ আমরা কী কী শিখব।

কলিং বেল বনাম লাইট সুইচ: তফাৎটা কোথায়?

লজিক গেট (Logic Gate)
  • পুশ সুইচ বা কলিং বেলের মতো।
  • ইনপুট থাকলে আউটপুট থাকে, ইনপুট সরালে আউটপুট বন্ধ।
  • মেমোরি নেই (Combinational Circuit)।
ফ্লিপ-ফ্লপ (Flip-Flop)
  • লাইট সুইচের মতো।
  • একবার অন করলে অনই থাকে, অফ না করা পর্যন্ত।
  • মেমোরি আছে (Sequential Circuit)।
  • ১ বিট ডেটা (0 বা 1) মনে রাখতে পারে।

শুরুতেই একটা সহজ উদাহরণ দিই। আচ্ছা, তোমাদের বাসার কলিং বেল আর লাইটের সুইচের কথা ভাবো তো। কলিং বেলের সুইচ বা পুশ সুইচ যখন আমরা চাপি, তখন কারেন্ট পাস হয় এবং বেল বাজে। কিন্তু আঙুল সরিয়ে নিলেই বেল বন্ধ হয়ে যায়। অর্থাৎ, পুশ সুইচের কোনো 'মেমোরি' নেই, সে বেশিক্ষণ কিছু মনে রাখতে পারে না। অন্যদিকে, ঘরের লাইটের সুইচ একবার অন করলে সেটা অনই থাকে, যতক্ষণ না আমরা অফ করছি। অর্থাৎ, এর একটা 'স্টেট' বা অবস্থা ধরে রাখার ক্ষমতা আছে। ডিজিটাল ইলেকট্রনিক্সে লজিক গেটগুলো হলো ওই কলিং বেলের মতো, আর ফ্লিপ-ফ্লপ হলো লাইটের সুইচের মতো - যা ১ বিট তথ্য মনে রাখতে পারে।

ফ্লিপ-ফ্লপ (Flip-Flop) কী?

সংজ্ঞা

ফ্লিপ-ফ্লপ হলো এক ধরনের সিকোয়েন্সিয়াল লজিক সার্কিট (Sequential Logic Circuit) যা ১-বিট ডেটা (0 বা 1) সংরক্ষণ করতে পারে।

বৈশিষ্ট্য
  1. দুটি স্থিতিশীল অবস্থা (Stable State): ০ এবং ১।
  2. ইনপুট ও আউটপুট: এক বা একাধিক ইনপুট এবং দুটি আউটপুট (Q এবং Q̅) থাকে।
  3. ক্লক পালস (Clock Pulse): অবস্থা পরিবর্তনের জন্য ক্লক পালস বা ট্রিগার প্রয়োজন হয়।
  4. মেমোরি সেল: এটি কম্পিউটার মেমোরি বা রেজিস্টারের ক্ষুদ্রতম একক।

তাহলে ফ্লিপ-ফ্লপ বা Flip-Flop আসলে কী? সহজ কথায়, এটি এমন একটি ডিজিটাল সার্কিট যা ১ বিট ডেটা - অর্থাৎ ০ বা ১ - সংরক্ষণ করতে পারে। লজিক গেটের সাথে এর মূল পার্থক্য হলো মেমোরি। লজিক গেট ইনপুট পেলেই আউটপুট দেয়, আগের কথা মনে রাখে না। একে বলা হয় Combinational Circuit। কিন্তু ফ্লিপ-ফ্লপ বর্তমান ইনপুটের সাথে সাথে আগের আউটপুটের ওপরও নির্ভর করে। একে বলা হয় Sequential Circuit। আর এই কাজ করার জন্য ফ্লিপ-ফ্লপের একটি বিশেষ সিগন্যাল লাগে, যাকে আমরা বলি 'ক্লক পালস' (Clock Pulse)।

SR ফ্লিপ-ফ্লপ (Set-Reset)

গঠন: দুটি NAND বা NOR গেট দিয়ে তৈরি।

ইনপুট:
- S = Set (আউটপুট ১ করার জন্য)
- R = Reset (আউটপুট ০ করার জন্য)

সত্যক সারণি (Truth Table):
- $S=0, R=0 \rightarrow$ No Change (আগের অবস্থা)
- $S=1, R=0 \rightarrow$ Set (Output = 1)
- $S=0, R=1 \rightarrow$ Reset (Output = 0)
- $S=1, R=1 \rightarrow$ Invalid (অবৈধ অবস্থা)

সবচেয়ে মৌলিক ফ্লিপ-ফ্লপ হলো SR ফ্লিপ-ফ্লপ। S মানে Set এবং R মানে Reset। এই সার্কিটটি ন্যান্ড (NAND) বা নর (NOR) গেট দিয়ে তৈরি করা যায়। পাশের চিত্রটি লক্ষ্য করো। সত্যক সারণি বা Truth Table অনুযায়ী, যখন S=1 এবং R=0 হয়, তখন আউটপুট ১ হয় বা 'সেট' হয়। আবার যখন S=0 এবং R=1 হয়, তখন আউটপুট ০ হয় বা 'রিসেট' হয়। কিন্তু সমস্যা হলো, যদি S এবং R দুটোই ১ হয়, তখন সার্কিটটি কনফিউজড হয়ে যায়। একে বলা হয় 'Invalid' বা অবৈধ অবস্থা। এই সমস্যা সমাধানের জন্যই পরবর্তী ফ্লিপ-ফ্লপগুলোর জন্ম।

JK ফ্লিপ-ফ্লপ (Universal)

সমস্যা সমাধান: SR ফ্লিপ-ফ্লপের অবৈধ (Invalid) অবস্থার সমাধান করে।

কার্যপ্রণালী:
- $J=0, K=0 \rightarrow$ No Change
- $J=1, K=0 \rightarrow$ Set (1)
- $J=0, K=1 \rightarrow$ Reset (0)
- $J=1, K=1 \rightarrow$ Toggle (অবস্থা উল্টে যায়)

Toggle মোড:
আগের আউটপুট যদি ০ থাকে তবে ১ হবে, ১ থাকলে ০ হবে। এটি কাউন্টার সার্কিটে খুব গুরুত্বপূর্ণ।

SR ফ্লিপ-ফ্লপের ওই 'অবৈধ' অবস্থার সমস্যা সমাধান করতেই এল JK ফ্লিপ-ফ্লপ। বিজ্ঞানী জ্যাক কিলবি-র নামানুসারে এর নাম JK রাখা হয়েছে। এর কাজ অনেকটা SR-এর মতোই, কিন্তু পার্থক্য হলো - যখন J এবং K দুটো ইনপুটই ১ হয়, তখন এটি 'Invalid' না হয়ে 'Toggle' করে। টগল মানে হলো উল্টে যাওয়া - অর্থাৎ আগে যদি ০ থাকে তবে ১ হবে, আর ১ থাকলে ০ হবে। এই বিশেষ সুবিধার কারণে JK ফ্লিপ-ফ্লপকে অনেক সময় 'ইউনিভার্সাল' বা সর্বজনীন ফ্লিপ-ফ্লপ বলা হয়।

D ফ্লিপ-ফ্লপ (Data/Delay)

কেন ব্যবহার করি?
ডেটা স্টোর করার জন্য সবচেয়ে সহজ পদ্ধতি। এখানে ইনপুট মাত্র একটি।

গঠন:
SR বা JK এর ইনপুটকে একটি NOT গেট দিয়ে যুক্ত করে D বানানো হয়।

কাজ:
- $D = 1 \rightarrow Output = 1$
- $D = 0 \rightarrow Output = 0$
(ক্লক পালস পাওয়ার পর)

ব্যবহার: রেজিস্টার তৈরিতে এটি সবচেয়ে বেশি ব্যবহৃত হয়।

এবার আসি D ফ্লিপ-ফ্লপে। D মানে হলো Data বা Delay। এটি আসলে SR বা JK ফ্লিপ-ফ্লপেরই একটি সহজ রূপ। এখানে দুটি ইনপুটের বদলে একটি ইনপুট থাকে - D। ইনপুটে যা দেওয়া হয়, আউটপুটে ঠিক তাই পাওয়া যায়। অর্থাৎ D=1 হলে আউটপুট ১, D=0 হলে আউটপুট ০। তাহলে এর কাজ কী? এর কাজ হলো ক্লক পালস আসা পর্যন্ত ডেটাকে ধরে রাখা। রেজিস্টার তৈরিতে এই D ফ্লিপ-ফ্লপই সবচেয়ে বেশি ব্যবহৃত হয় কারণ এটি ডিজাইন করা খুব সহজ।

রেজিস্টার (Register) কী?

সংজ্ঞা:
কতগুলো ফ্লিপ-ফ্লপ এবং লজিক গেটের সমন্বয়ে গঠিত সার্কিট যা অস্থায়ীভাবে ডেটা সংরক্ষণ করে।

গঠন:
- n-বিট রেজিস্টার তৈরি করতে n-সংখ্যক ফ্লিপ-ফ্লপ লাগে।
- উদাহরণ: ৮-বিট রেজিস্টারে ৮টি ফ্লিপ-ফ্লপ থাকে।

ব্যবহার:
সিপিইউ (CPU) এর ভেতরে প্রসেসিং এর সময় ডেটা ধরে রাখতে (যেমন: Accumulator, Program Counter)।

আমরা এতক্ষণ ইট নিয়ে কথা বললাম, এবার দেওয়াল তৈরির পালা। ফ্লিপ-ফ্লপ যদি হয় একটি ইট, তবে রেজিস্টার হলো দেওয়াল। অর্থাৎ, কতগুলো ফ্লিপ-ফ্লপ পাশাপাশি সাজিয়ে রেজিস্টার তৈরি হয়। একটি ফ্লিপ-ফ্লপ ১ বিট মনে রাখতে পারে। তাহলে ৪ বিট ডেটা মনে রাখতে কয়টি ফ্লিপ-ফ্লপ লাগবে? ঠিক ধরেছ, ৪টি। ৮ বিটের জন্য ৮টি। সিপিইউ বা প্রসেসরের ভেতরে যে ছোট ছোট মেমোরি থাকে যেখানে প্রসেসিংয়ের সময় ডেটা রাখা হয়, সেগুলোই আসলে রেজিস্টার।

শিফট রেজিস্টারের প্রকারভেদ

রেজিস্টারের মধ্য দিয়ে ডেটা কীভাবে চলাচল করে তার ওপর ভিত্তি করে একে ৪ ভাগে ভাগ করা যায়। নামগুলো একটু খেয়াল করো, খুব সহজ। SISO (Serial In Serial Out) - অর্থাৎ পিপড়ার লাইনের মতো একজন একজন করে ঢুকবে এবং বের হবে। SIPO - একজন করে ঢুকবে কিন্তু বের হবে সবাই একসাথে। PISO - সবাই একসাথে ঢুকবে কিন্তু বের হবে একজন করে। আর PIPO (Parallel In Parallel Out) - সবাই একসাথে ঢুকবে এবং একসাথে বের হবে। পাশের চিত্রে তীর চিহ্নগুলো লক্ষ্য করলেই তোমরা ডেটার প্রবাহ বুঝতে পারবে।

SISO এর কার্যপ্রণালী (সিরিয়াল ট্রান্সফার)

কিভাবে কাজ করে?
- প্রতিটি ক্লক পালসে ডেটা এক ঘর করে ডানে সরে।
- একে Shift Right অপারেশন বলা হয়।

উদাহরণ:
৪ বিট ডেটা (১০১০) স্টোর করতে ৪টি ক্লক পালস লাগে।

ব্যবহার:
ডেটা কমিউনিকেশন লাইনে যেখানে একটি তার দিয়ে ডেটা পাঠানো হয়।

চলো SISO বা সিরিয়াল ইন সিরিয়াল আউট রেজিস্টার কীভাবে কাজ করে তা একটু গভীরে দেখি। মনে করো আমরা ৪ বিট ডেটা '১০১০' স্টোর করতে চাই। প্রথমে একটি ক্লক পালসে প্রথম বিটটি প্রথম ফ্লিপ-ফ্লপে ঢুকবে। পরের ক্লক পালসে সেটি ডানে সরে যাবে এবং নতুন একটি বিট ঢুকবে। এভাবে ৪টি বিট পুরোপুরি লোড হতে ৪টি ক্লক পালস লাগবে। এটি অনেকটা বালতি দিয়ে পানি পাস করার মতো - হাতবদল হয়ে ডেটা সামনে এগিয়ে যায়। একে 'Shift Right' অপারেশনও বলা হয়।

প্যারালাল লোড রেজিস্টার (PIPO)

বৈশিষ্ট্য:
- সব ফ্লিপ-ফ্লপে ডেটা একসাথে ইনপুট দেওয়া হয়।
- মাত্র ১টি ক্লক পালসেই সম্পূর্ণ ডেটা লোড হয়।

সুবিধা:
- শিফট রেজিস্টারের (SISO) চেয়ে অনেক দ্রুত।
- কম্পিউটারের প্রসেসরে এটি বেশি ব্যবহৃত হয়।

পার্থক্য:
SISO তে ৪ বিটের জন্য ৪টি পালস লাগে, কিন্তু PIPO তে ১টি পালস লাগে।

সবশেষে আসি প্যারালাল লোড রেজিস্টার বা PIPO-তে। আগের স্লাইডে আমরা দেখলাম সিরিয়াল পদ্ধতিতে ডেটা লোড হতে অনেক সময় লাগে। কিন্তু কম্পিউটারের প্রসেসরের তো এত সময় নেই! তাই সেখানে ব্যবহৃত হয় প্যারালাল লোড রেজিস্টার। এখানে সব ফ্লিপ-ফ্লপের ইনপুট একসাথে যুক্ত থাকে। ফলে একটিমাত্র ক্লক পালস দিলেই সব ডেটা একসাথে লোড হয়ে যায়। এটি অত্যন্ত দ্রুত কাজ করে এবং আমাদের কম্পিউটারের বাস সিস্টেমে (Bus System) এই পদ্ধতিই ব্যবহার করা হয়।

সারাংশ ও বাড়ির কাজ

আজকের ক্লাসের সারসংক্ষেপ:
১. ফ্লিপ-ফ্লপ ১ বিট মেমোরি হিসেবে কাজ করে।
২. SR এর সমস্যা দূর করতে JK ফ্লিপ-ফ্লপ ব্যবহার হয়।
৩. রেজিস্টার হলো ফ্লিপ-ফ্লপের সমষ্টি।
৪. প্যারালাল রেজিস্টার সিরিয়ালের চেয়ে দ্রুত।

বাড়ির কাজ:
১. ৪-বিট বাফার রেজিস্টারের চিত্র অঙ্কন করো।
২. JK ফ্লিপ-ফ্লপকে কেন 'সর্বজনীন' বলা যেতে পারে? চিন্তা করো।

আজকের লেকচারটি আমরা এখানেই শেষ করছি। চলো একটু রিভাইজ দেই আমরা কী শিখলাম। আমরা জানলাম ফ্লিপ-ফ্লপ হলো মেমোরির একক, SR এর সীমাবদ্ধতা দূর করতে JK ফ্লিপ-ফ্লপ ব্যবহার হয়, এবং অনেকগুলো ফ্লিপ-ফ্লপ মিলে তৈরি হয় রেজিস্টার। তোমাদের জন্য ছোট্ট দুটি বাড়ির কাজ থাকছে - ৪-বিট বাফার রেজিস্টারের চিত্রটি নিজে আঁকার চেষ্টা করবে এবং JK ফ্লিপ-ফ্লপের টগল মোড কেন গুরুত্বপূর্ণ তা নিয়ে একটু ভাববে। কোনো প্রশ্ন থাকলে অবশ্যই জানাবে। ধন্যবাদ সবাইকে!

লেকচার ১৪: ফ্লিপ-ফ্লপ ও রেজিস্টার – ডিজিটাল মেমোরির ভিত্তি

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

ডিজিটাল ইলেকট্রনিক্সের জগতে তথ্যের স্থায়িত্ব বা মেমোরি একটি অত্যন্ত গুরুত্বপূর্ণ ধারণা। আমরা দৈনন্দিন জীবনে যে কলিং বেল বা লাইট সুইচ ব্যবহার করি, সেগুলোর কার্যপ্রণালীর দিকে তাকালে বিষয়টি সহজে বোঝা যায়। কলিং বেলের সুইচ যতক্ষণ চেপে রাখা হয়, ততক্ষণই শব্দ হয়—ছেড়ে দিলে শব্দ বন্ধ হয়ে যায়। এর কোনো মেমোরি নেই। কিন্তু লাইট সুইচ একবার অন করলে আলো জ্বলে থাকে, আবার অফ না করা পর্যন্ত সেটি অন অবস্থাতেই থাকে। অর্থাৎ, লাইট সুইচের "অবস্থা মনে রাখার" ক্ষমতা বা মেমোরি আছে।

ডিজিটাল লজিক সার্কিটেও এই মেমোরি তৈরির মৌলিক একক হলো ফ্লিপ-ফ্লপ (Flip-Flop)। ফ্লিপ-ফ্লপ এবং রেজিস্টার আধুনিক কম্পিউটার, স্মার্টফোন এবং মেমোরি কার্ডের মূল ভিত্তি। এই পাঠে আমরা ফ্লিপ-ফ্লপ, এর প্রকারভেদ, কার্যপ্রণালী এবং রেজিস্টার সম্পর্কে বিস্তারিত জানব যা এইচএসসি পরীক্ষার জন্য অত্যন্ত গুরুত্বপূর্ণ।

কম্বিনেশনাল ও সিকোয়েন্সিয়াল সার্কিট

ডিজিটাল সার্কিট প্রধানত দুই ধরণের হয়: কম্বিনেশনাল (Combinational) এবং সিকোয়েন্সিয়াল (Sequential)। ফ্লিপ-ফ্লপ হলো সিকোয়েন্সিয়াল সার্কিটের উদাহরণ।

পার্থক্য (Difference): কম্বিনেশনাল বনাম সিকোয়েন্সিয়াল সার্কিট
নিচের সারণিটি পরীক্ষার জন্য খুবই গুরুত্বপূর্ণ ("খ" নং প্রশ্নের জন্য):

বৈশিষ্ট্য কম্বিনেশনাল সার্কিট সিকোয়েন্সিয়াল সার্কিট
মেমোরি এতে কোনো মেমোরি উপাদান থাকে না। এতে মেমোরি উপাদান (যেমন: ফ্লিপ-ফ্লপ) থাকে।
আউটপুট আউটপুট শুধুমাত্র বর্তমান ইনপুটের ওপর নির্ভর করে। আউটপুট বর্তমান ইনপুট এবং পূর্বের সংরক্ষিত অবস্থার (Present State) ওপর নির্ভর করে।
ফিডব্যাক ইনপুট থেকে আউটপুটে কোনো ফিডব্যাক পাথ থাকে না। আউটপুট থেকে ইনপুটে ফিডব্যাক পাথ থাকে।
ক্লক পালস ক্লক পালস (Clock Pulse) প্রয়োজন হয় না। সিনক্রোনাইজেশনের জন্য ক্লক পালস প্রয়োজন হয়।
উদাহরণ অ্যাডার, ডিকোডার, এনকোডার, মাল্টিপ্লেক্সার। ফ্লিপ-ফ্লপ, রেজিস্টার, কাউন্টার।

ফ্লিপ-ফ্লপ (Flip-Flop): গঠন ও কার্যপ্রণালী

ফ্লিপ-ফ্লপ হলো ডিজিটাল মেমোরির মৌলিক একক। এটি লজিক গেট দিয়ে তৈরি এমন একটি সার্কিট যা ১-বিট তথ্য (0 বা 1) সংরক্ষণ করতে পারে।

সংজ্ঞা (Definition): ফ্লিপ-ফ্লপ হলো এক ধরণের ল্যাচ (Latch) বা বাইস্টেবল মাল্টিভাইব্রেটর (Bistable Multivibrator) যা দুটি স্থিতিশীল অবস্থায় (0 বা 1) থাকতে পারে এবং ইনপুট সিগন্যালের পরিবর্তনের সাথে সাথে এর অবস্থা পরিবর্তন করতে পারে।

ক্লক পালস (Clock Pulse)

সিকোয়েন্সিয়াল সার্কিটে ফ্লিপ-ফ্লপ কখন কাজ করবে তা নির্ধারণ করার জন্য একটি নিয়ন্ত্রণকারী সিগন্যাল ব্যবহার করা হয়, যাকে ক্লক পালস বলে।
* পজিটিভ এজ ট্রিগারিং: যখন ক্লক সিগন্যাল 0 থেকে 1-এ ওঠে, তখন ফ্লিপ-ফ্লপ কাজ করে।
* নেগেটিভ এজ ট্রিগারিং: যখন ক্লক সিগন্যাল 1 থেকে 0-তে নামে, তখন ফ্লিপ-ফ্লপ কাজ করে।

বিভিন্ন প্রকার ফ্লিপ-ফ্লপ: SR এবং D

ফ্লিপ-ফ্লপ প্রধানত ৪ প্রকার: SR, D, JK, এবং T। এই অংশে আমরা SR এবং D নিয়ে আলোচনা করব।

SR and D Flip-Flop Block Diagram

১. SR (Set-Reset) ফ্লিপ-ফ্লপ

এটি সবচেয়ে সরল ফ্লিপ-ফ্লপ। এর দুটি ইনপুট থাকে: S (Set) এবং R (Reset)
* S = 1, R = 0: আউটপুট (Q) 1 হয়। একে Set অবস্থা বলে।
* S = 0, R = 1: আউটপুট (Q) 0 হয়। একে Reset অবস্থা বলে।
* S = 0, R = 0: আউটপুটের কোনো পরিবর্তন হয় না (No Change/Memory)।
* S = 1, R = 1: এটি একটি অবৈধ (Invalid) অবস্থা কারণ একই সময়ে আউটপুট 0 এবং 1 হতে পারে না।

SR ফ্লিপ-ফ্লপের সত্যক সারণি (Truth Table):

ক্লক (CLK) S R পরবর্তী অবস্থা (Qn+1) মন্তব্য
Qn অপরিবর্তিত (No Change)
রিসেট (Reset)
সেট (Set)
? অবৈধ (Invalid)
২. D (Data বা Delay) ফ্লিপ-ফ্লপ

SR ফ্লিপ-ফ্লপের অবৈধ অবস্থার সমস্যা এবং দুটি ইনপুটের জটিলতা এড়ানোর জন্য D ফ্লিপ-ফ্লপ ব্যবহার করা হয়। এখানে S এবং R ইনপুটের মাঝে একটি NOT গেট যুক্ত করে একটি মাত্র ইনপুট D তৈরি করা হয়।
* D = 1 হলে আউটপুট 1 হয়।
* D = 0 হলে আউটপুট 0 হয়।

একে স্বচ্ছ ল্যাচ (Transparent Latch) বা বাফার বলা হয় কারণ ইনপুট যা দেওয়া হয়, আউটপুটে তাই পাওয়া যায় (পরবর্তী ক্লক পালসে)।

পরীক্ষার টিপস (Exam Tip):
যদি পরীক্ষায় প্রশ্ন আসে—"কোন ফ্লিপ-ফ্লপটি বাফার মেমোরি হিসেবে ব্যবহৃত হয়?"—উত্তর হবে D ফ্লিপ-ফ্লপ। কারণ এটি ডেটাকে কোনো পরিবর্তন ছাড়াই সংরক্ষণ করে রাখে।

JK এবং T ফ্লিপ-ফ্লপ: সমস্যার সমাধান

SR ফ্লিপ-ফ্লপের প্রধান সমস্যা হলো S=1, R=1 অবস্থায় এটি কাজ করে না। এই সমস্যা সমাধানের জন্য JK ফ্লিপ-ফ্লপ তৈরি করা হয়েছে।

৩. JK ফ্লিপ-ফ্লপ

JK ফ্লিপ-ফ্লপে J এবং K ইনপুট ব্যবহার করা হয়। এটি SR ফ্লিপ-ফ্লপের মতোই কাজ করে, তবে পার্থক্য হলো—যখন J=1 এবং K=1 হয়, তখন এটি টগল (Toggle) করে।

টগল (Toggle): টগল অর্থ হলো বর্তমান অবস্থার বিপরীত অবস্থায় যাওয়া। অর্থাৎ, আউটপুট যদি 0 থাকে তবে তা 1 হবে, আর 1 থাকলে 0 হবে।

JK ফ্লিপ-ফ্লপের সত্যক সারণি:

ক্লক J K পরবর্তী অবস্থা (Qn+1) মন্তব্য
Qn অপরিবর্তিত (No Change)
রিসেট (Reset)
সেট (Set)
n (Bar) টগল (Toggle)
৪. T (Toggle) ফ্লিপ-ফ্লপ

এটি JK ফ্লিপ-ফ্লপের একটি সহজ সংস্করণ যেখানে J এবং K ইনপুটকে একসাথে যুক্ত করে একটি ইনপুট T তৈরি করা হয়।
* T = 0 হলে, আউটপুট অপরিবর্তিত থাকে (No Change)।
* T = 1 হলে, আউটপুট টগল করে (0 হলে 1, 1 হলে 0 হয়)।

T ফ্লিপ-ফ্লপ মূলত বাইনারি কাউন্টার (Counter) সার্কিট তৈরিতে ব্যবহৃত হয়।

রেজিস্টার (Register): ডেটা স্টোরেজ

ফ্লিপ-ফ্লপ মাত্র ১-বিট ডেটা সংরক্ষণ করতে পারে। কিন্তু কম্পিউটারে আমরা সাধারণত ৮, ১৬, ৩২ বা ৬৪ বিট ডেটা নিয়ে কাজ করি। একাধিক বিট সংরক্ষণের জন্য একাধিক ফ্লিপ-ফ্লপ একসাথে ব্যবহার করা হয়, একেই রেজিস্টার বলে।

সংজ্ঞা (Definition): রেজিস্টার হলো একগুচ্ছ ফ্লিপ-ফ্লপ এবং লজিক গেটের সমন্বয়ে গঠিত একটি উচ্চগতির মেমোরি সার্কিট, যা বাইনারি ডেটা অস্থায়ীভাবে সংরক্ষণ এবং প্রক্রিয়াকরণ করতে পারে। n-বিট ডেটা সংরক্ষণের জন্য n-সংখ্যক ফ্লিপ-ফ্লপ প্রয়োজন।

উদাহরণ (Example):
একটি ৮-বিট রেজিস্টার তৈরি করতে ৮টি ফ্লিপ-ফ্লপ প্রয়োজন। এটি সাধারণত প্রসেসরের (CPU) ভেতরে থাকে এবং খুব দ্রুতগতির ডেটা আদান-প্রদানে (যেমন: ক্যালকুলেটরে যোগ করার সময় হাতে রাখা সংখ্যাটি মনে রাখতে) ব্যবহৃত হয়।

শিফট রেজিস্টার: প্রকারভেদ ও ব্যবহার

যে রেজিস্টার শুধুমাত্র ডেটা সংরক্ষণই করে না, বরং ক্লক পালসের সাথে সাথে ডেটাকে ডানে বা বামে সরাতে (Shift) পারে, তাকে শিফট রেজিস্টার বলে। ডেটা ইনপুট এবং আউটপুট নেওয়ার পদ্ধতির ওপর ভিত্তি করে এটি ৪ প্রকার:

Shift Register Types Diagram

  1. SISO (Serial In Serial Out): ডেটা সিরিয়ালি (একটির পর একটি) প্রবেশ করে এবং সিরিয়ালি বের হয়। এটি ধীরগতির কিন্তু কম তার লাগে।
  2. SIPO (Serial In Parallel Out): ডেটা সিরিয়ালি প্রবেশ করে কিন্তু সব বিট একসাথে (প্যারালালি) আউটপুট হিসেবে পাওয়া যায়।
  3. PISO (Parallel In Serial Out): ডেটা একসাথে সব ফ্লিপ-ফ্লপে লোড হয় কিন্তু বের হওয়ার সময় এক বিট করে বের হয়।
  4. PIPO (Parallel In Parallel Out): ডেটা একসাথে প্রবেশ করে এবং একসাথে বের হয়। এটি সবচেয়ে দ্রুতগতির রেজিস্টার।

শিফট রেজিস্টারের ব্যবহার ও গাণিতিক গুরুত্ব:
- ডেটা ট্রান্সফার: এক ডিভাইস থেকে অন্য ডিভাইসে ডেটা পাঠাতে।
- গুণ ও ভাগ: শিফট রেজিস্টার ব্যবহার করে বাইনারি গুণ ও ভাগ খুব সহজে করা যায়।
- Left Shift: বাইনারি সংখ্যাকে ১ ঘর বামে সরালে সংখ্যাটি ২ গুণ হয়।
- Right Shift: বাইনারি সংখ্যাকে ১ ঘর ডানে সরালে সংখ্যাটি ২ দিয়ে ভাগ হয়।
- ডিলে লাইন: সিগন্যাল পাঠাতে নির্দিষ্ট সময় দেরি করানোর জন্য (Time Delay) ব্যবহৃত হয়।

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

পরীক্ষার আগের রাতে যা দেখে যাবে:
- ফ্লিপ-ফ্লপ: ১ বিট মেমোরি সেল। প্রকারভেদ: SR, D, JK, T।
- SR সমস্যা: 1,1 ইনপুটে Invalid বা অনির্ণেয় অবস্থা তৈরি হয়।
- JK সমাধান: 1,1 ইনপুটে Toggle (বিপরীত) হয়।
- রেজিস্টার: n-বিট ডেটার জন্য n-টি ফ্লিপ-ফ্লপ লাগে।
- বাফার রেজিস্টার: শুধু ডেটা ধরে রাখে (সাধারণত D ফ্লিপ-ফ্লপ দিয়ে তৈরি)।
- শিফট রেজিস্টার: ডেটা সরাতে পারে এবং গুণ/ভাগ করতে পারে।

পরিভাষা (Glossary)

পরিভাষা অর্থ ও ব্যাখ্যা
Sequential Circuit এমন সার্কিট যার আউটপুট বর্তমান ইনপুট এবং মেমোরিতে থাকা পূর্বের অবস্থার ওপর নির্ভর করে।
Clock Pulse একটি পিরিয়ডিক সিগন্যাল যা ফ্লিপ-ফ্লপের কাজ নিয়ন্ত্রণ বা ট্রিগার করে।
Toggle সুইচের মতো অবস্থা পরিবর্তন করা (On থেকে Off বা Off থেকে On)।
Latch ফ্লিপ-ফ্লপের মতো মেমোরি এলিমেন্ট, তবে এতে সাধারণত ক্লক পালস থাকে না (লেভেল ট্রিগারড)।
Buffer যা ইনপুট সিগন্যালকে কোনো পরিবর্তন ছাড়াই আউটপুটে প্রদান বা সংরক্ষণ করে।

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

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

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

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

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

উত্তর

(ক) ফ্লিপ-ফ্লপ হলো এক ধরণের ডিজিটাল ইলেকট্রনিক সার্কিট যা ১ বিট তথ্য সংরক্ষণ করতে পারে এবং ক্লক পালসের ওপর ভিত্তি করে আউটপুট প্রদান করে।

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

(গ) উদ্দীপকে উল্লিখিত মেমোরির ক্ষুদ্রতম এককটি হলো ফ্লিপ-ফ্লপ। নিচে SR (Set-Reset) ফ্লিপ-ফ্লপ-এর কার্যপ্রণালী ব্যাখ্যা করা হলো:

SR ফ্লিপ-ফ্লপে দুটি ইনপুট থাকে: S (Set) এবং R (Reset)। এর দুটি আউটপুট থাকে: Q এবং Q' (Q bar)।
কার্যপ্রণালী:
১. যখন S=0, R=0: ফ্লিপ-ফ্লপের আউটপুট অপরিবর্তিত থাকে (No Change)। অর্থাৎ আগের অবস্থায় যা ছিল তাই থাকে।
২. যখন S=0, R=1: আউটপুট Q=0 হয় (Reset অবস্থা)।
৩. যখন S=1, R=0: আউটপুট Q=1 হয় (Set অবস্থা)।
৪. যখন S=1, R=1: এটি একটি অসংজ্ঞায়িত বা নিষিদ্ধ অবস্থা (Invalid State), কারণ একই সময়ে সেট ও রিসেট হতে পারে না।

এই বৈশিষ্ট্যের কারণেই এটি ১ বিট তথ্য (0 বা 1) মেমোরি হিসেবে ধরে রাখতে পারে।

(ঘ) উদ্দীপকে একাধিক ফ্লিপ-ফ্লপ যুক্ত করে তৈরি যে বড় মেমোরির কথা বলা হয়েছে তা হলো রেজিস্টার। ৪-বিট শিফট রেজিস্টার (SISO - Serial In Serial Out বা SIPO) ডেটা বাম থেকে ডানে (Right Shift) সরাতে পারে।

কার্যপ্রণালী:
১. একটি ৪-বিট শিফট রেজিস্টারে ৪টি ডি-ফ্লিপ-ফ্লপ (D-Flip-Flop) শ্রেণীবদ্ধভাবে যুক্ত থাকে।
২. প্রতিটি ফ্লিপ-ফ্লপের আউটপুট (Q) পরবর্তী ফ্লিপ-ফ্লপের ইনপুট (D) হিসেবে যুক্ত থাকে। সকল ফ্লিপ-ফ্লপে একই সাথে ক্লক পালস (Clock Pulse) দেওয়া হয়।
৩. ধরলাম শুরুতে রেজিস্টারে তথ্য আছে 0000। আমরা 1011 ইনপুট দিতে চাই।
- ১ম ক্লক পালস: ইনপুটে ১ দেওয়া হলো। ১ম ফ্লিপ-ফ্লপ ১ গ্রহণ করবে। বাকিরা আগের ভ্যালু শিফট করবে। রেজিস্টার হবে: 1000
- ২য় ক্লক পালস: ইনপুটে ০ দেওয়া হলো। আগের ১ ডানে সরে ২য় ঘরে যাবে, ১ম ঘরে ০ আসবে। রেজিস্টার হবে: 0100
- ৩য় ক্লক পালস: ইনপুটে ১ দেওয়া হলো। সব ১ ঘর ডানে সরবে। রেজিস্টার হবে: 1010
- ৪র্থ ক্লক পালস: ইনপুটে ১ দেওয়া হলো। সব ১ ঘর ডানে সরবে। রেজিস্টার হবে: 1101 (যদি LSB আগে ঢোকে) অথবা 1011 (ক্রম অনুযায়ী)।

এভাবে ক্লক পালসের সাথে সাথে বিটগুলো বাম থেকে ডানে সরে যায়, যাকে শিফটিং বলা হয়। কম্পিউটারের ডেটা ট্রান্সমিশন ও প্রসেসিংয়ে এই পদ্ধতি অত্যন্ত গুরুত্বপূর্ণ।


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

আইসিটি ক্লাসে শিক্ষক বললেন, "কম্পিউটারের সিপিইউ (CPU) যখন গাণিতিক কাজ করে, তখন ডেটাগুলো প্রসেসরের ভেতরেই অতি দ্রুতগতির একটি অস্থায়ী মেমোরিতে জমা থাকে। এই মেমোরিগুলো ফ্লিপ-ফ্লপ দিয়ে তৈরি।" তিনি আরও বললেন, "কিছু রেজিস্টার একবারে সব বিট গ্রহণ করতে পারে, আবার কিছু রেজিস্টার ধাপে ধাপে বিট গ্রহণ করে।"

ক) রেজিস্টার কী?
খ) প্যারালাল লোড রেজিস্টার দ্রুত কাজ করে কেন?
গ) উদ্দীপকে উল্লিখিত মেমোরিটির গঠনশৈলী ব্যাখ্যা কর।
ঘ) উদ্দীপকের আলোকে সিরিয়াল ইন-প্যারালাল আউট (SIPO) এবং প্যারালাল ইন-সিরিয়াল আউট (PISO) রেজিস্টারের ব্যবহারিক দিকের তুলনামূলক বিশ্লেষণ কর।

উত্তর

(ক) রেজিস্টার হলো একগুচ্ছ ফ্লিপ-ফ্লপ এবং লজিক গেটের সমন্বয়ে গঠিত দ্রুতগতির অস্থায়ী মেমোরি যা প্রসেসরের অভ্যন্তরে ডেটা প্রসেসিংয়ের সময় মধ্যবর্তী ফলাফল ও নির্দেশ সংরক্ষণ করে।

(খ) প্যারালাল লোড রেজিস্টারে ডেটা ইনপুট দেওয়ার জন্য প্রতিটি ফ্লিপ-ফ্লপে পৃথক ইনপুট লাইন থাকে। ফলে একটিমাত্র ক্লক পালস (Clock Pulse) প্রয়োগ করলেই সকল বিট একসাথে (simultaneously) রেজিস্টারে লোড বা জমা হতে পারে। সিরিয়াল লোডের মতো একে বিট বাই বিট অপেক্ষা করতে হয় না বলে এটি অনেক দ্রুত কাজ করে।

(গ) উদ্দীপকে উল্লিখিত মেমোরিটি হলো 'রেজিস্টার'। এন-বিট (n-bit) রেজিস্টার তৈরি করতে এন-সংখ্যক ফ্লিপ-ফ্লপ প্রয়োজন হয়। সাধারণত D ফ্লিপ-ফ্লপ ব্যবহার করে রেজিস্টার তৈরি করা সহজ।

গঠন:
১. ফ্লিপ-ফ্লপ সংযোগ: একটি ৪-বিট রেজিস্টারের জন্য ৪টি D ফ্লিপ-ফ্লপ পাশাপাশি থাকে। প্রতিটি ফ্লিপ-ফ্লপ ১ বিট তথ্য সংরক্ষণ করে।
২. ক্লক পালস: সকল ফ্লিপ-ফ্লপের ক্লক ইনপুট একটি সাধারণ ক্লক লাইনের সাথে যুক্ত থাকে, যাতে সবাই একসাথে কাজ করে (প্যারালাল অপারেশনের ক্ষেত্রে) অথবা চেইন আকারে থাকে (শিফট রেজিস্টারের ক্ষেত্রে)।
৩. ইনপুট/আউটপুট: প্যারালাল রেজিস্টারের ক্ষেত্রে প্রতিটি ফ্লিপ-ফ্লপের নিজস্ব ইনপুট ও আউটপুট লাইন থাকে। শিফট রেজিস্টারে একটার আউটপুট অন্যটার ইনপুটে যায়।
৪. Clear/Reset: সব ফ্লিপ-ফ্লপকে একসাথে মুছে ফেলার জন্য একটি 'Clear' লাইন যুক্ত থাকে।

এই কাঠামোর মাধ্যমে রেজিস্টার প্রসেসরের ভেতরে ডেটা হোল্ড করে রাখে এবং গাণিতিক কাজের সময় বাফার হিসেবে কাজ করে।

(ঘ) উদ্দীপকের আলোকে SIPO (Serial In - Parallel Out) এবং PISO (Parallel In - Serial Out) রেজিস্টারের তুলনা নিচে দেওয়া হলো:

১. ডেটা ইনপুট পদ্ধতি:
- SIPO: এতে ডেটা সিরিয়ালি বা এক বিট করে করে ইনপুট দেওয়া হয়। ৪ বিট ডেটার জন্য ৪টি ক্লক পালস লাগে।
- PISO: এতে ডেটা প্যারালালি বা সব বিট একসাথে ইনপুট দেওয়া হয়। ১টি ক্লক পালসেই ডেটা লোড হয়।

২. ডেটা আউটপুট পদ্ধতি:
- SIPO: আউটপুট প্যারালালি বা সব বিট একসাথে পাওয়া যায়।
- PISO: আউটপুট সিরিয়ালি বা এক বিট করে করে বের হয়।

৩. ব্যবহারিক ক্ষেত্র:
- SIPO: এটি সাধারণত ডেটা কমিউনিকেশনে ব্যবহৃত হয় যেখানে রিসিভার এক তারের মাধ্যমে আসা সিরিয়াল ডেটাকে প্যারালাল ডেটায় রূপান্তর করে কম্পিউটারে প্রসেস করে (যেমন: মডেম থেকে কম্পিউটারে ডেটা আসা)।
- PISO: এটি ট্রান্সমিটারে ব্যবহৃত হয় যেখানে কম্পিউটার থেকে আসা প্যারালাল ডেটাকে সিরিয়াল ডেটায় রূপান্তর করে এক তারের মাধ্যমে পাঠানো হয় (যেমন: কম্পিউটার থেকে মডেমে ডেটা পাঠানো)।

সিদ্ধান্ত: গতির দিক থেকে PISO ইনপুটে দ্রুত কিন্তু আউটপুটে ধীর, অন্যদিকে SIPO ইনপুটে ধীর কিন্তু আউটপুটে দ্রুত। কমিউনিকেশন সিস্টেমে কনভার্টার হিসেবে উভয়ের গুরুত্ব অপরিসীম।


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

নিচের চিত্রটি লক্ষ্য কর এবং প্রশ্নগুলোর উত্তর দাও:

চিত্র: [D Flip-Flop] --> [D Flip-Flop] --> [D Flip-Flop]
(চিত্রের বর্ণনা: তিনটি ডি-ফ্লিপ-ফ্লপ পরপর যুক্ত, যেখানে ক্লক পালস একসাথে দেওয়া হচ্ছে এবং প্রথমটির আউটপুট দ্বিতীয়টির ইনপুটে যাচ্ছে।)

ক) কাউন্টার কী?
খ) অ্যাসিনক্রোনাস ও সিনক্রোনাস কাউন্টারের মধ্যে পার্থক্য লিখ।
গ) উদ্দীপকের চিত্রটি কোন ধরণের রেজিস্টার নির্দেশ করে? ব্যাখ্যা কর।
ঘ) উদ্দীপকের সার্কিটটি যদি 'কাউন্টার' হিসেবে কাজ করত, তবে তার সাথে রেজিস্টারের কাজের মৌলিক পার্থক্য কী হতো? বিশ্লেষণ কর।

উত্তর

(ক) কাউন্টার হলো একটি সিকোয়েন্সিয়াল সার্কিট যা ইনপুট ক্লক পালসের সংখ্যা গণনা করতে পারে এবং একটি নির্দিষ্ট সিকোয়েন্সে আউটপুট প্রদান করে।

(খ) অ্যাসিনক্রোনাস (Ripple) কাউন্টারে ক্লক পালস শুধুমাত্র প্রথম ফ্লিপ-ফ্লপে দেওয়া হয় এবং পরবর্তী ফ্লিপ-ফ্লপগুলো আগের ফ্লিপ-ফ্লপের আউটপুট দ্বারা ট্রিগার হয়। ফলে গতি ধীর হয়। অন্যদিকে, সিনক্রোনাস কাউন্টারে সকল ফ্লিপ-ফ্লপে একই সাথে সরাসরি ক্লক পালস দেওয়া হয়, ফলে এটি দ্রুতগতির হয়।

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

(ঘ) উদ্দীপকের সার্কিটটি বর্তমানে রেজিস্টার হিসেবে কাজ করছে, কিন্তু যদি এটি কাউন্টার হতো তবে মৌলিক পার্থক্যগুলো নিম্নরূপ হতো:

  1. উদ্দেশ্য: রেজিস্টারের মূল কাজ হলো ডেটা সংরক্ষণ করা বা স্থানানস্তর করা (Shift)। কিন্তু কাউন্টারের কাজ হলো ক্লক পালসের সংখ্যা গণনা করা (Count)।
  2. ইনপুট সংযোগ: রেজিস্টারে (শিফট) এক ফ্লিপ-ফ্লপের আউটপুট (Q) পরেরটির ইনপুট (D) হিসেবে সরাসরি যুক্ত থাকে ডেটা পার করার জন্য। কাউন্টারে (বিশেষ করে রিপল কাউন্টারে) এক ফ্লিপ-ফ্লপের আউটপুট পরেরটির 'ক্লক' হিসেবে কাজ করে অথবা ফিডব্যাক লুপের মাধ্যমে নির্দিষ্ট সিকোয়েন্স তৈরি করে (যেমন টগল মোডে T বা JK ফ্লিপ-ফ্লপ ব্যবহার করে)।
  3. ডেটা ধরণ: রেজিস্টারে আমরা যে ডেটা ইনপুট দিই, সেটাই সংরক্ষিত থাকে। কাউন্টারে কোনো ডেটা ইনপুট দেওয়া হয় না, বরং এটি ক্লক পালস পেলেই নিজে থেকে পূর্বনির্ধারিত বাইনারি মান (যেমন 00, 01, 10...) পরিবর্তন করে।

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

এমসিকিউ

১। মেমোরি ডিভাইসের ক্ষুদ্রতম একক কোনটি?

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

সঠিক উত্তর: খ) ফ্লিপ-ফ্লপ
ব্যাখ্যা: ফ্লিপ-ফ্লপ হলো ডিজিটাল মেমোরির মৌলিক একক যা ১ বিট তথ্য (0 বা 1) সংরক্ষণ করতে পারে। রেজিস্টার একাধিক ফ্লিপ-ফ্লপ দিয়ে তৈরি হয়।


২। ফ্লিপ-ফ্লপে কত বিট তথ্য জমা রাখা যায়?

ক) ১ বিট
খ) ২ বিট
গ) ৪ বিট
ঘ) ৮ বিট

সঠিক উত্তর: ক) ১ বিট
ব্যাখ্যা: প্রতিটি ফ্লিপ-ফ্লপ শুধুমাত্র একটি বিট (0 বা 1) ধারণ করতে সক্ষম। একাধিক বিট রাখার জন্য রেজিস্টার ব্যবহার করা হয়।


৩। SR ফ্লিপ-ফ্লপে S=1, R=1 হলে কী ঘটবে?

ক) No Change
খ) Set
গ) Reset
ঘ) Invalid

সঠিক উত্তর: ঘ) Invalid
ব্যাখ্যা: SR ফ্লিপ-ফ্লপে যখন S=1 এবং R=1 হয়, তখন আউটপুট অসংজ্ঞায়িত বা নিষিদ্ধ অবস্থায় (Race Condition) চলে যায়। এটি এই ফ্লিপ-ফ্লপের একটি সীমাবদ্ধতা।


৪। কোন ফ্লিপ-ফ্লপকে "Data Flip-Flop" বা "Delay Flip-Flop" বলা হয়?

ক) SR Flip-Flop
খ) JK Flip-Flop
গ) D Flip-Flop
ঘ) T Flip-Flop

সঠিক উত্তর: গ) D Flip-Flop
ব্যাখ্যা: D ফ্লিপ-ফ্লপে যা ইনপুট দেওয়া হয়, পরবর্তী ক্লক পালসে আউটপুট হিসেবে ঠিক তাই পাওয়া যায়। এটি ডেটা ট্রান্সফার বা ডিলে তৈরিতে ব্যবহৃত হয়।


৫। টগল (Toggle) মোড কোন ফ্লিপ-ফ্লপের বৈশিষ্ট্য?

ক) D Flip-Flop
খ) SR Flip-Flop
গ) T Flip-Flop
ঘ) Master-Slave Flip-Flop

সঠিক উত্তর: গ) T Flip-Flop
ব্যাখ্যা: T (Toggle) ফ্লিপ-ফ্লপে ইনপুট ১ হলে প্রতি ক্লক পালসে আউটপুট তার আগের অবস্থার বিপরীত (Toggle) হয়। অর্থাৎ 0 থাকলে 1, এবং 1 থাকলে 0 হয়।


৬। JK ফ্লিপ-ফ্লপে J=1, K=1 হলে আউটপুট কী হবে?

ক) পূর্বের অবস্থা বজায় থাকবে
খ) আউটপুট টগল করবে
গ) সেট হবে
ঘ) রিসেট হবে

সঠিক উত্তর: খ) আউটপুট টগল করবে
ব্যাখ্যা: JK ফ্লিপ-ফ্লপে J=1 এবং K=1 হলে এটি T ফ্লিপ-ফ্লপের মতো কাজ করে, অর্থাৎ আউটপুট প্রতি ক্লক পালসে টগল করে (0->1, 1->0)।


৭। রেজিস্টার তৈরিতে প্রধানত কী ব্যবহৃত হয়?

ক) লজিক গেট
খ) ফ্লিপ-ফ্লপ
গ) ক্যাপাসিটর
ঘ) ডায়োড

সঠিক উত্তর: খ) ফ্লিপ-ফ্লপ
ব্যাখ্যা: রেজিস্টার হলো একগুচ্ছ ফ্লিপ-ফ্লপের সমষ্টি। প্রতিটি ফ্লিপ-ফ্লপ ১ বিট করে তথ্য সংরক্ষণ করে এবং একসাথে একটি শব্দ বা বাইট গঠন করে।


৮। ৮-বিট রেজিস্টারে কয়টি ফ্লিপ-ফ্লপ থাকে?

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

সঠিক উত্তর: খ) ৮টি
ব্যাখ্যা: ১টি ফ্লিপ-ফ্লপ ১ বিট তথ্য রাখে। তাই ৮-বিট ডেটা রাখার জন্য ৮টি ফ্লিপ-ফ্লপ প্রয়োজন।


৯। পজিটিভ এজ ট্রিগারিং (Positive Edge Triggering) কখন কাজ করে?

ক) ক্লক পালস 0 থেকে 1 হওয়ার সময়
খ) ক্লক পালস 1 থেকে 0 হওয়ার সময়
গ) ক্লক পালস ১ থাকার সময়
ঘ) ক্লক পালস ০ থাকার সময়

সঠিক উত্তর: ক) ক্লক পালস 0 থেকে 1 হওয়ার সময়
ব্যাখ্যা: এজ ট্রিগারিং ক্লক পালসের পরিবর্তনের মুহূর্তে কাজ করে। লো (0) থেকে হাই (1) হওয়ার মুহূর্তকে পজিটিভ এজ বা রাইজিং এজ বলা হয়।


১০। কাউন্টার কী ধরণের সার্কিট?

ক) কম্বিনেশনাল
খ) সিকোয়েন্সিয়াল
গ) এনালগ
ঘ) হাইব্রিড

সঠিক উত্তর: খ) সিকোয়েন্সিয়াল
ব্যাখ্যা: কাউন্টারে মেমোরি উপাদান (ফ্লিপ-ফ্লপ) থাকে এবং এর বর্তমান আউটপুট পূর্বের আউটপুটের ওপর নির্ভর করে, তাই এটি একটি সিকোয়েন্সিয়াল সার্কিট।


১১। শিফট রেজিস্টারের কাজ কী?

ক) ডেটা প্রসেস করা
খ) ডেটা সরানো বা শিফট করা
গ) ডেটা এনকোড করা
ঘ) ডেটা ডিকোড করা

সঠিক উত্তর: খ) ডেটা সরানো বা শিফট করা
ব্যাখ্যা: শিফট রেজিস্টার ক্লক পালসের সাথে সাথে বিটগুলোকে বামে বা ডানে এক স্থান করে সরাতে পারে। এটি সিরিয়াল ডেটা ট্রান্সমিশনে ব্যবহৃত হয়।


১২। প্যারালাল ইন-সিরিয়াল আউট (PISO) রেজিস্টার কোথায় ব্যবহৃত হয়?

ক) ডেটা স্টোরেজে
খ) মাল্টিপ্লেক্সারে
গ) ডেটা ট্রান্সমিশনে (প্রেরক প্রান্তে)
ঘ) ডেটা রিসেপশনে (গ্রাহক প্রান্তে)

সঠিক উত্তর: গ) ডেটা ট্রান্সমিশনে (প্রেরক প্রান্তে)
ব্যাখ্যা: কম্পিউটারের ভেতরের প্যারালাল ডেটাকে সিরিয়াল লাইনে পাঠানোর জন্য PISO রেজিস্টার ব্যবহৃত হয়। এটি ট্রান্সমিটার বা প্রেরক প্রান্তে থাকে।


১৩। নিচের কোনটি ভোলাটাইল মেমোরি হিসেবে কাজ করে?

ক) ফ্লিপ-ফ্লপ ও রেজিস্টার
খ) রম (ROM)
গ) হার্ড ডিস্ক
ঘ) সিডি রম

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


১৪। n-বিট বাইনারি কাউন্টার কত পর্যন্ত গুনতে পারে?

ক) 2ⁿ
খ) 2ⁿ - 1
গ) 2n
ঘ) n²

সঠিক উত্তর: খ) 2ⁿ - 1
ব্যাখ্যা: একটি n-বিট কাউন্টার 0 থেকে শুরু করে সর্বোচ্চ (2ⁿ - 1) পর্যন্ত গুনতে পারে। মোট স্টেটের সংখ্যা 2ⁿ।


১৫। D ফ্লিপ-ফ্লপ তৈরি করতে কোন ফ্লিপ-ফ্লপ ব্যবহার করা সহজ?

ক) JK Flip-Flop
খ) T Flip-Flop
গ) SR Flip-Flop
ঘ) Master-Slave Flip-Flop

সঠিক উত্তর: গ) SR Flip-Flop
ব্যাখ্যা: SR ফ্লিপ-ফ্লপের S এবং R ইনপুটের মাঝে একটি NOT গেট যুক্ত করে সহজেই D ফ্লিপ-ফ্লপ তৈরি করা যায়।


১৬। রেজিস্টারের ব্যবহার হলো—
i. সিপিইউ-এর অভ্যন্তরীণ মেমোরি হিসেবে
ii. ডেটা প্রসেসিংয়ে বাফার হিসেবে
iii. দীর্ঘস্থায়ী স্টোরেজ হিসেবে

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

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

সঠিক উত্তর: ক) i ও ii
ব্যাখ্যা: রেজিস্টার সিপিইউ-এর অতি দ্রুতগতির অস্থায়ী মেমোরি এবং বাফার হিসেবে কাজ করে। এটি দীর্ঘস্থায়ী বা পার্মানেন্ট স্টোরেজ (যেমন হার্ডডিস্ক) নয়।


১৭। কাউন্টার ব্যবহৃত হয়—
i. সময় পরিমাপে (ডিজিটাল ঘড়ি)
ii. ফ্রিকোয়েন্সি ডিভাইডার হিসেবে
iii. ডেটা এনক্রিপশনে

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

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

সঠিক উত্তর: ক) i ও ii
ব্যাখ্যা: কাউন্টার পালস গুনে সময় পরিমাপ করে এবং ইনপুট ফ্রিকোয়েন্সিকে ভাগ করে আউটপুট দেয়। এনক্রিপশনে সরাসরি কাউন্টার ব্যবহৃত হয় না।


১৮। অ্যাসিনক্রোনাস বা রিপল কাউন্টারের অসুবিধা হলো—
i. গঠন জটিল
ii. গতি ধীর (Slow Speed)
iii. সব ফ্লিপ-ফ্লপ একসাথে ট্রিগার হয় না

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

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

সঠিক উত্তর: গ) ii ও iii
ব্যাখ্যা: রিপল কাউন্টারে একটি ফ্লিপ-ফ্লপের আউটপুট পরেরটির ক্লক হিসেবে কাজ করে। এই ধাপে ধাপে (Ripple) সিগন্যাল যাওয়ার কারণে ডিলে বা দেরি হয়, ফলে গতি কমে যায়।


নিচের উদ্দীপকটি পড় এবং ১৯ ও ২০ নং প্রশ্নের উত্তর দাও:
শিক্ষক ক্লাসে একটি ৪-বিট রেজিস্টারের চিত্র আঁকলেন যেখানে ডেটা বাম দিক থেকে এক বিট করে প্রবেশ করছে এবং ডান দিক দিয়ে এক বিট করে বের হচ্ছে।

১৯। উদ্দীপকের রেজিস্টারটি কোন ধরণের?

ক) SISO
খ) SIPO
গ) PISO
ঘ) PIPO

সঠিক উত্তর: ক) SISO
ব্যাখ্যা: বাম দিক থেকে এক বিট করে প্রবেশ (Serial In) এবং ডান দিক দিয়ে এক বিট করে বের হওয়া (Serial Out) নির্দেশ করে এটি Serial In - Serial Out (SISO) রেজিস্টার।


২০। উদ্দীপকের রেজিস্টারটিতে ৪-বিট ডেটা সম্পূর্ণ লোড করতে কয়টি ক্লক পালস লাগবে?

ক) ১টি
খ) ২টি
গ) ৪টি
ঘ) ৮টি

সঠিক উত্তর: গ) ৪টি
ব্যাখ্যা: সিরিয়াল ইনপুটে প্রতি বিট লোড করার জন্য ১টি করে ক্লক পালস লাগে। তাই ৪ বিটের জন্য ৪টি পালস প্রয়োজন।


২১। মাস্টার-স্লেভ (Master-Slave) ফ্লিপ-ফ্লপ ব্যবহার করা হয় কেন?

ক) টগল সমস্যা দূর করতে
খ) রেস অ্যারাউন্ড (Race Around) কন্ডিশন দূর করতে
গ) গতি বাড়াতে
ঘ) মেমোরি বাড়াতে

সঠিক উত্তর: খ) রেস অ্যারাউন্ড (Race Around) কন্ডিশন দূর করতে
ব্যাখ্যা: JK ফ্লিপ-ফ্লপে টগল মোডে হাই ক্লক পালসের সময় আউটপুট বারবার পরিবর্তিত হতে থাকে (Race Around)। মাস্টার-স্লেভ কনফিগারেশন এই সমস্যা সমাধান করে।


২২। মেমোরি অ্যাড্রেস রেজিস্টার (MAR) কোথায় থাকে?

ক) হার্ডডিস্কে
খ) রমে
গ) সিপিইউ-তে
ঘ) মাদারবোর্ডে

সঠিক উত্তর: গ) সিপিইউ-তে
ব্যাখ্যা: মেমোরি অ্যাড্রেস রেজিস্টার (MAR) হলো সিপিইউ-এর একটি বিশেষ রেজিস্টার যা পরবর্তী রিড/রাইট অপারেশনের মেমোরি ঠিকানা ধারণ করে।


২৩। ফ্লিপ-ফ্লপের ইনপুট এবং বর্তমান অবস্থার ওপর ভিত্তি করে পরবর্তী অবস্থা নির্ধারণের সারণিকে কী বলে?

ক) সত্যক সারণি
খ) এক্সাইটেশন টেবিল
গ) স্টেট টেবিল
ঘ) কার্নো ম্যাপ

সঠিক উত্তর: গ) স্টেট টেবিল
ব্যাখ্যা: সিকোয়েন্সিয়াল সার্কিটে বর্তমান স্টেট এবং ইনপুট থেকে নেক্সট স্টেট বের করার সারণিকে স্টেট টেবিল (State Table) বা ক্যারেক্টারিস্টিক টেবিল বলা হয়।


২৪। বাফার রেজিস্টারের কাজ কী?

ক) ডেটা শিফট করা
খ) সাময়িকভাবে ডেটা ধরে রাখা
গ) ডেটা ইনভার্ট করা
ঘ) ডেটা ডিলিট করা

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


২৫। ইউনিভার্সাল শিফট রেজিস্টার কোনটি করতে পারে?

ক) শুধুমাত্র বামে শিফট
খ) শুধুমাত্র ডানে শিফট
গ) ডানে ও বামে শিফট এবং প্যারালাল লোড
ঘ) শুধুমাত্র সিরিয়াল লোড

সঠিক উত্তর: গ) ডানে ও বামে শিফট এবং প্যারালাল লোড
ব্যাখ্যা: ইউনিভার্সাল শিফট রেজিস্টার সব ধরণের কাজ (Shift Left, Shift Right, Parallel Load) করতে সক্ষম। এটি অত্যন্ত বহুমুখী।