দীর্ঘ এবং সংক্ষিপ্তটি হ'ল ডিএমএ সিপিইউকে তার স্থানীয় গতিতে কার্যকরভাবে আচরণ করতে দেয়, যখন পেরিফেরালগুলি কার্যকরভাবে তাদের স্থানীয় গতিতে আচরণ করতে পারে। উদাহরণে বেশিরভাগ সংখ্যা গঠিত made
একটি এডিসি থেকে পর্যায়ক্রমে ডেটা সংগ্রহ করতে দুটি বিকল্পের তুলনা করা যাক:
- আপনি এডিসিকে একটি বিঘ্নের অংশ হিসাবে নির্ধারণ করতে পারেন (পর্যায়ক্রমে বা অন্যথায়)
- আপনি একটি বাফার তৈরি করতে পারেন, এবং ডিএমএকে ADC রিডিংগুলি বাফারে স্থানান্তর করতে বলতে পারেন।
আসুন এডিসি থেকে র্যামে 1000 টি নমুনা স্থানান্তর করুন।
বিকল্প 1 ব্যবহার করে: প্রতিটি নমুনার জন্য আছে
- 12 চক্র বিঘ্নিত প্রবেশ করে ব্যয় করা হয়
- অ্যাডিসি পড়ুন
- র্যামে স্টোর
- বাধা ছাড়তে 12 টি চক্র ব্যয় করা হয়
আসুন ভান করুন এই বিঘ্নিত ফাংশনটি 76 টি নির্দেশনা, পুরো রুটিনটি 100 টি নির্দেশনা দীর্ঘ, একক চক্রের সম্পাদন (সর্বোত্তম কেস) ধরে নিয়ে। তার মানে বিকল্প 1 সিপিইউ সময় নির্বাহের 100,000 চক্র ব্যয় করবে।
বিকল্প 2: ডিএমএ এডিসির 1000 নমুনা সংগ্রহ করতে কনফিগার করা হয়েছে। ধরা যাক এডিসির একটি টাইমার কাউন্টার থেকে একটি হার্ডওয়্যার ট্রিগার রয়েছে।
- এডিসি এবং ডিএমএ 1000 টি নমুনা ডেটা রামে স্থানান্তর করে
- ডিএমএ আপনার সিপিইউকে 1000 টি নমুনার পরে বাধা দেয়
- 12 চক্র বিঘ্নিত প্রবেশ করে ব্যয় করা হয়
- কোডটি ঘটে (আসুন বলি এটি ডিএমএকে র্যামের ওভাররাইট করতে বলে)
- বাধা ছাড়তে 12 টি চক্র ব্যয় করা হয়
পুরো বাধা ভঙ্গ করা (প্রবেশ এবং প্রস্থান ওভারহেড সহ) 100 টি একক-চক্র নির্দেশাবলী instructions ডিএমএ ব্যবহার করে আপনি একই 1000 টি নমুনা সংরক্ষণ করতে 100 টি চক্র ব্যয় করেন।
এখন, প্রতিবার ডিএমএ বাসে প্রবেশ করলে হ্যাঁ, সিপিইউ এবং ডিএমএর মধ্যে কোনও বিরোধ হতে পারে। সিপিইউ এমনকি ডিএমএ শেষ হওয়ার অপেক্ষা করতে বাধ্য হতে পারে। তবে ডিএমএ শেষ হওয়ার অপেক্ষার বিষয়টি সিপিকে লকিংয়ের চেয়ে এডিসি সার্ভিসিংয়ের চেয়ে অনেক কম। যদি সিপিইউ কোর ঘড়িটি 2x বাস ঘড়ি হয়, তবে সিপিইউ ডিএমএ শেষ হওয়ার অপেক্ষায় কয়েকটি কোর চক্র নষ্ট করতে পারে। এর অর্থ হ'ল স্থানান্তরটির কার্যকর কার্যকর সময়কাল 1000 (ধরে নেওয়া সিপিইউ কখনই অপেক্ষা করে না) এবং 9000 চক্রের মধ্যে থাকে। এখনও 10,000,000 চক্রের চেয়ে ভাল।