একটি কম্পিউটার প্রোগ্রাম কার্যকর করার জন্য, এটির জন্য কম্পিউটারের একাধিক উপাদানগুলির সিঙ্ক্রোনাস কাজ করা প্রয়োজন। উদাহরণ স্বরূপ, প্রসেসর - I / O ডিভাইসগুলিতে এবং মেমরি থেকে ইনফরমেশন এবং ডেটা স্থানান্তর করার জন্য প্রয়োজনীয় নিয়ন্ত্রণ তথ্য, ঠিকানা ... ইত্যাদি, বাস সরবরাহ করা। প্রসেসর, মেমরি এবং I / O ডিভাইসের মধ্যে যেভাবে তথ্য স্থানান্তর পরিচালিত হয় সিস্টেমটির আকর্ষণীয় বিষয়টি। সাধারণত, প্রসেসরগুলি গন্তব্যস্থলে ডেটা সংরক্ষণের স্থানান্তর শুরু করা থেকে শুরু করে ডেটা স্থানান্তর করার সমস্ত প্রক্রিয়া নিয়ন্ত্রণ করে। এটি প্রসেসরের উপর লোড যুক্ত করে এবং বেশিরভাগ সময় এটি আদর্শ অবস্থায় থাকে, ফলে সিস্টেমের দক্ষতা হ্রাস পায়। আই / ও ডিভাইস এবং মেমরির মধ্যে ডেটা স্থানান্তর দ্রুত করার জন্য, ডিএমএ নিয়ামক স্টেশন মাস্টার হিসাবে কাজ করে। ডিএমএ নিয়ামক প্রসেসরের ন্যূনতম হস্তক্ষেপের সাথে ডেটা স্থানান্তর করে।
ডিএমএ কন্ট্রোলার কী?
ডিএমএ শব্দটি সরাসরি মেমরি অ্যাক্সেসকে বোঝায়। সরাসরি মেমরি অ্যাক্সেসের জন্য ব্যবহৃত হার্ডওয়্যার ডিভাইসকে ডিএমএ নিয়ামক বলা হয়। ডিএমএ নিয়ামক একটি নিয়ন্ত্রণ ইউনিট , I / O ডিভাইসের অংশ ইন্টারফেস সার্কিট , যা প্রসেসরের ন্যূনতম হস্তক্ষেপের সাথে I / O ডিভাইস এবং প্রধান মেমরির মধ্যে ডেটাগুলির ব্লক স্থানান্তর করতে পারে।
কম্পিউটার আর্কিটেকচারে ডিএমএ কন্ট্রোলার ডায়াগ্রাম
ডিএমএ নিয়ামক বাস এবং ইনপুট আউটপুট ডিভাইসের মধ্যে একটি ইন্টারফেস সরবরাহ করে। যদিও এটি প্রসেসরের হস্তক্ষেপ ছাড়াই ডেটা স্থানান্তর করে, এটি প্রসেসরের দ্বারা নিয়ন্ত্রিত হয়। প্রসেসর শুরু ঠিকানা, ডেটা ব্লকে শব্দের সংখ্যা এবং ডেটা স্থানান্তরের দিক প্রেরণ করে ডিএমএ নিয়ামককে সূচনা করে i I / O ডিভাইস থেকে মেমরি পর্যন্ত বা প্রধান মেমরি থেকে I / O ডিভাইসগুলি। একাধিক বাহ্যিক ডিভাইস ডিএমএ নিয়ামকের সাথে সংযুক্ত হতে পারে।
কম্পিউটার আর্কিটেকচারে ডিএমএ
ডিএমএ কন্ট্রোলারে অ্যাড্রেস ইউনিট থাকে, ঠিকানা উত্পন্ন করার জন্য এবং স্থানান্তর করার জন্য I / O ডিভাইস নির্বাচন করে। এটিতে স্থানান্তরিত ব্লকের সংখ্যা গণনা রাখার জন্য এবং ডেটা স্থানান্তরয়ের নির্দেশকে নির্দেশ করার জন্য নিয়ন্ত্রণ ইউনিট এবং ডেটা গণনাও রয়েছে। স্থানান্তর সমাপ্ত হলে, ডিএমএ একটি বাধা বাড়াতে প্রসেসরকে অবহিত করে। ডিএমএ নিয়ামকের সাধারণ ব্লক ডায়াগ্রামটি নীচের চিত্রটিতে দেখানো হয়েছে।
ডিএমএ কন্ট্রোলারের সাধারণ ব্লক ডায়াগ্রাম
ডিএমএ কন্ট্রোলারের কাজ
ডিএমএ নিয়ন্ত্রণকারীকে ডেটা স্থানান্তর করতে প্রসেসরের সাথে বাসটি ভাগ করতে হয়। যে ডিভাইসটি একটি নির্দিষ্ট সময়ে বাসটিকে ধরে রাখে তাকে বাস মাস্টার বলে। যখন I / O ডিভাইস থেকে মেমরি বা ভাইস শ্লোকে স্থানান্তর করতে হয়, প্রসেসর বর্তমান প্রোগ্রামটির ক্রিয়াকলাপ বন্ধ করে দেয়, ইনক্রিমেন্টগুলি কার্যক্রম কাউন্টার, স্ট্যাকের মাধ্যমে ডেটা সরায় তারপরে ঠিকানা বাসের মাধ্যমে ডিএমএ নিয়ন্ত্রণকারীকে একটি ডিএমএ নির্বাচন সিগন্যাল প্রেরণ করে।
যদি ডিএমএ নিয়ামক বিনামূল্যে থাকে, তবে এটি প্রসেসরের কাছ থেকে বাসের অনুরোধের সিগন্যাল বাড়িয়ে বাসের নিয়ন্ত্রণের আবেদন করে। প্রসেসর বাস অনুদানের সিগন্যাল বাড়িয়ে নিয়ামককে বাসটি দেয়, এখন ডিএমএ নিয়ামক হলেন বাসের মাস্টার। প্রসেসর ডিএমএ নিয়ামককে মেমরিের ঠিকানাগুলি, স্থানান্তরিত করার জন্য ডেটার সংখ্যাগুলির সংখ্যা এবং ডেটা স্থানান্তরের দিকনির্দেশ দিয়ে প্রবর্তন করে। ডিএমএ নিয়ন্ত্রণকারীকে ডেটা ট্রান্সফার টাস্ক দেওয়ার পরে, তথ্য স্থানান্তর সমাপ্ত না হওয়া পর্যন্ত আদর্শভাবে অপেক্ষা করার পরিবর্তে, প্রসেসর স্ট্যাক থেকে নির্দেশাবলী পুনরুদ্ধার করে প্রোগ্রামটির কার্য সম্পাদন পুনরায় শুরু করে।
কম্পিউটারে ডেটা স্থানান্তর ডিএমএ নিয়ামক দ্বারা
ডিএমএ নিয়ন্ত্রকের এখন বাসের পুরো নিয়ন্ত্রণ রয়েছে এবং সিপিইউ থেকে স্বতন্ত্র মেমরি এবং আই / ও ডিভাইসের সাথে সরাসরি যোগাযোগ করতে পারে can এটি প্রসেসরের প্রাপ্ত নিয়ন্ত্রণ নির্দেশাবলী অনুযায়ী ডেটা স্থানান্তর করে। ডেটা স্থানান্তর শেষ হওয়ার পরে, এটি বাসের অনুরোধ সংকেতটি অক্ষম করে এবং সিপিইউ বাস অনুদান সংকেতকে অক্ষম করে যার ফলে সিপিইউতে বাসের নিয়ন্ত্রণ চলে।
যখন কোনও আই / ও ডিভাইস স্থানান্তর শুরু করতে চায় তখন এটি ডিএমএ নিয়ন্ত্রণকারীকে একটি ডিএমএ অনুরোধ সংকেত প্রেরণ করে, যার জন্য নিয়ামকটি এটি মুক্ত কিনা তা স্বীকার করে। তারপরে কন্ট্রোলার বাসের জন্য প্রসেসরের অনুরোধ করে, বাসের অনুরোধ সংকেতটি বাড়িয়ে তোলে। বাস অনুদানের সিগন্যাল পাওয়ার পরে এটি ডিভাইস থেকে ডেটা স্থানান্তর করে। এন চ্যানেলযুক্ত ডিএমএ নিয়ামকের জন্য এন সংখ্যক বাহ্যিক ডিভাইস সংযুক্ত হতে পারে।
ডিএমএ তিনটি মোডে ডেটা স্থানান্তর করে যা নিম্নলিখিতগুলি অন্তর্ভুক্ত করে।
প্রতি) বিস্ফোরিত মোড : এই মোডে ডিএমএ পুরো ডেটা ট্রান্সফার শেষ করেই সিপিইউতে বাসগুলি হস্তান্তর করে। এদিকে, সিপিইউর যদি বাসের প্রয়োজন হয় তবে এটি আদর্শ থাকতে হবে এবং ডেটা স্থানান্তরের জন্য অপেক্ষা করতে হবে।
খ) চক্র চুরি মোড : এই মোডে, ডিএমএ প্রতিটি বাইট স্থানান্তর করার পরে সিপিইউতে বাসের নিয়ন্ত্রণ দেয়। এটি নিয়মিতভাবে বাস নিয়ন্ত্রণের জন্য একটি অনুরোধ জারি করে, একটি বাইট স্থানান্তর করে এবং বাসটি ফেরত দেয়। এই সিপিইউ দ্বারা উচ্চ অগ্রাধিকারের কোনও কাজের জন্য যদি বাসের দরকার হয় তবে বেশি দিন অপেক্ষা করতে হবে না।
গ) স্বচ্ছ মোড: এখানে, ডিএমএ কেবলমাত্র সিপিইউ নির্দেশনা সম্পাদন করে যখন বাস ব্যবহারের প্রয়োজন হয় না তখন ডেটা স্থানান্তর করে।
8237 ডিএমএ নিয়ামক
- চ্যানেলের সংখ্যা বাড়ানোর নমনীয়তার সাথে 8237 টিতে 4 টি আই / ও চ্যানেল রয়েছে।
- প্রতিটি চ্যানেল স্বতন্ত্রভাবে প্রোগ্রাম করা যেতে পারে এবং এতে একটি 64k ঠিকানা এবং ডেটা ক্ষমতা রয়েছে।
- টাইমিং কন্ট্রোল ব্লক, প্রোগ্রাম কমান্ড কন্ট্রোল ব্লক, অগ্রাধিকার এনকোডার ব্লক 8237A এর তিনটি প্রধান ব্লক।
- অভ্যন্তরীণ সময়সীমা এবং বাহ্যিক নিয়ন্ত্রণ সংকেতগুলি সময় নিয়ন্ত্রণ নিয়ন্ত্রণ দ্বারা চালিত হয়।
- ডিএমএতে মাইক্রোপ্রসেসরের দেওয়া বিভিন্ন কমান্ড প্রোগ্রাম কমান্ড কন্ট্রোল ব্লক দ্বারা ডিকোড করা হয়।
- কোন চ্যানেলকে সর্বোচ্চ অগ্রাধিকার দিতে হবে তা অগ্রাধিকার দ্বারা সিদ্ধান্ত নেওয়া হয় এনকোডার ব্লক ।
8237A এর 27 টি অভ্যন্তরীণ নিবন্ধ রয়েছে।
8237A দুটি চক্র পরিচালনা করে- আদর্শ চক্র এবং সক্রিয় চক্র, যেখানে প্রতিটি চক্রের প্রতিটি ঘড়ির সময়কালে গঠিত 7 টি পৃথক রাজ্য থাকে।
S0- প্রথম রাষ্ট্র, যেখানে নিয়ামক বাসের জন্য অনুরোধ করেছে এবং প্রসেসরের কাছ থেকে স্বীকৃতির জন্য অপেক্ষা করছে।
এস 1, এস 2, এস 3, এস 4 কে 8237A এর কার্যক্ষম রাষ্ট্রগুলি বলা হয় যেখানে তথ্যের প্রকৃত স্থানান্তর হয়। অপেক্ষারত রাষ্ট্রগুলির জন্য আরও সময় প্রয়োজন হলে এই রাজ্যের মধ্যে এসডাব্লু যুক্ত করা হয়।
মেমরির জন্য- মেমোরি স্থানান্তর মেমরি থেকে পড়ুন এবং মেমরি থেকে লিখন থেকে মেমোরি স্থানান্তর করতে হয়। একক স্থানান্তরের জন্য আটটি রাজ্যের প্রয়োজন। সাবস্ক্রিপস এস 11, এস 12, এস 13, এস 14 সহ প্রথম চারটি রাজ্য রিড-টু মেমরি স্থানান্তর করে এবং পরের চারটি এস 21, এস 22, এস 23, এস 24 রাইট টু মেমরি স্থানান্তরের জন্য।
যখন কোনও চ্যানেল পরিষেবাটির জন্য অনুরোধ না করে এবং এসআই স্থিতি সম্পাদন করে তখন ডিএমএ আদর্শ রাজ্যে চলে যায়। এসআই হ'ল একটি নিষ্ক্রিয় রাষ্ট্র যেখানে কোনও অনুরোধ না পাওয়া পর্যন্ত ডিএমএ নিষ্ক্রিয় থাকে। এই রাজ্যে, ডিএমএ প্রোগ্রামের অবস্থায় রয়েছে যেখানে প্রসেসর ডিএমএ প্রোগ্রাম করতে পারে।
যখন ডিএমএ আদর্শ অবস্থায় থাকে এবং এর পরে আর কোনও চ্যানেল অনুরোধ না পায়, তখন এটি প্রসেসরের কাছে এইচআরকিউ সিগন্যাল দেয় এবং সক্রিয় অবস্থায় প্রবেশ করে যেখানে এটি বার্স মোড, চক্র চুরি মোড বা স্বচ্ছ মোডের মাধ্যমে ডেটা স্থানান্তর শুরু করতে পারে।
8237 পিন ডায়াগ্রাম
8257 ডিএমএ নিয়ামক
যখন একক ইন্টেল 8212 আই / ও পোর্ট ডিভাইসটি যুক্ত হয়, 8257 ডিএমএ নিয়ামক একটি সম্পূর্ণ 4 চ্যানেল গঠন করে ডিএমএ নিয়ামক । একটি স্থানান্তর অনুরোধ পাওয়ার পরে 8257 নিয়ামক-
- প্রসেসর থেকে সিস্টেম বাসের উপর নিয়ন্ত্রণ অর্জন করে।
- সর্বোচ্চ অগ্রাধিকার চ্যানেলের সাথে সংযুক্ত পেরিফেরিয়াল স্বীকৃত।
- মেমরি ঠিকানার সর্বনিম্ন উল্লেখযোগ্য বিটগুলি সিস্টেম বাসের অ্যাড্রেস লাইন A0-A7 এর উপরে সরানো হয়।
- সবচেয়ে উল্লেখযোগ্য 8 বিট মেমরি ঠিকানা ঠিকানা লাইনের মাধ্যমে 8212 I / O পোর্টে চালিত হয়।
- পেরিফেরাল এবং সম্বোধনকৃত মেমরি অবস্থানের মধ্যে ডেটা স্থানান্তর করার জন্য উপযুক্ত নিয়ন্ত্রণ সংকেত উত্পন্ন করে।
- নির্দিষ্ট সংখ্যক বাইট স্থানান্তরিত হলে, নিয়ামক টার্মিনাল গণনা (টিসি) আউটপুট সক্রিয় করে স্থানান্তরের সিপিইউ শেষকে অবহিত করে।
প্রতিটি চ্যানেলের জন্য 8257 এ দুটি থাকে 16-বিট নিবন্ধ - 1) ডিএমএ ঠিকানা রেজিস্টার এবং 2) টার্মিনাল গণনা নিবন্ধ, যা চ্যানেল সক্ষম করার আগে শুরু করা উচিত। অ্যাক্সেস করার জন্য প্রথম মেমরি অবস্থানের ঠিকানাটি ডিএমএ ঠিকানা রেজিস্টারে লোড করা হয়। টার্মিনাল গণনা রেজিষ্টারে লোড হওয়া নিম্নের অর্ডার 14 বিটগুলি টার্মিনাল কাউন্ট আউটপুট সক্রিয় হওয়ার আগে ডিএমএ চক্র বিয়োগের এক নম্বর নির্দেশ করে। কোনও চ্যানেলের জন্য ক্রিয়াকলাপের ধরণটি টার্মিনাল গণনা নিবন্ধের সবচেয়ে উল্লেখযোগ্য দুটি বিট দ্বারা নির্দেশিত।
8257 পিন ডায়াগ্রাম
ডিএমএ কন্ট্রোলারের সুবিধা এবং অসুবিধা
ডিএমএ নিয়ন্ত্রকের সুবিধাগুলি এবং অসুবিধাগুলিগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে।
সুবিধাদি
- ডিএমএ সিপিইউতে জড়িত থাকার বিষয়টি মেমোরি অপারেশনগুলিকে গতিময় করে তোলে।
- সিপিইউতে কাজের ওভারলোড হ্রাস পায়।
- প্রতিটি স্থানান্তরের জন্য, কেবল কয়েকটি সংখ্যক ঘড়ির চক্র প্রয়োজন
অসুবিধা
- যখন ডিএমএ ডেটা স্থানান্তরের জন্য ব্যবহৃত হয় তখন ক্যাশে সমন্বয় সমস্যা দেখা যায়।
- সিস্টেমের দাম বাড়ায়।
ডিএমএ ( ডাইরেক্ট মেমোরি অ্যাক্সেস ) কন্ট্রোলার গ্রাফিক্স কার্ড, নেটওয়ার্ক কার্ড, সাউন্ড কার্ড ইত্যাদিতে ব্যবহৃত হচ্ছে ... মাল্টি-কোর প্রসেসরে ইন্টার-চিপ স্থানান্তর করার জন্য ডিএমএও ব্যবহৃত হয়। এর তিনটি মোডের একটিতে কাজ করে, ডিএমএ প্রসেসরের বোঝা যথেষ্ট পরিমাণে হ্রাস করতে পারে। ডিএমএর কোন মোডে আপনি কাজ করেছেন? আপনি যে মোডটিকে বিবেচনা করছেন তা কোনটি বেশি কার্যকর?