একটি মাইক্রোকন্ট্রোলারের গুণকের তুলনায় হার্ডওয়্যার বিভাগ কেন এত বেশি সময় নেয়? উদাহরণস্বরূপ, একটি ডিএসপিকের উপর, একটি বিভাগে 19 টি চক্র লাগে, যখন গুণনটি কেবল একটি ঘড়ি চক্র নেয়।
আমি উইকিপিডিয়ায় বিভাগ অ্যালগরিদম এবং বহুগুণিত অ্যালগরিদম সহ কয়েকটি টিউটোরিয়াল দিয়েছিলাম । এই আমার যুক্তি এখানে।
উইকিপিডিয়ায় পুনঃস্থাপনের সাথে ধীর বিভাজন পদ্ধতির মতো একটি বিভাগ অ্যালগরিদম হ'ল পুনরাবৃত্তির একটি অ্যালগরিদম। এর অর্থ হ'ল ধাপের (মধ্যবর্তী) ফলাফলগুলি k
ইনপুট হিসাবে পদক্ষেপে ব্যবহৃত হয় k+1
, যার অর্থ এই অ্যালগরিদমগুলিকে সমান্তরাল করা যায় না। সুতরাং, n
বিভাগটি সম্পূর্ণ করতে এটি কমপক্ষে চক্র গ্রহণ করে , যেখানে n
লভ্যাংশে বিট রয়েছে। 16-বিট লভ্যাংশের জন্য এটি কমপক্ষে 16 চক্রের সমান।
একটি গুণ অ্যালগরিদমের পুনরাবৃত্ত হওয়ার দরকার নেই, যার অর্থ এটি সমান্তরাল করা সম্ভব। যাইহোক, অনেকগুলি বহু গুণক অ্যালগরিদম রয়েছে এবং আমার কাছে কোনও সূত্র নেই যা মাইক্রোকন্ট্রোলাররা ব্যবহার করতে পারেন। একটি হার্ডওয়্যার / মাইক্রোকন্ট্রোলারে গুণের কাজ কীভাবে হয়?
আমি একটি দাদদা গুণক অ্যালগরিদম পেয়েছি , যা শেষ করতে কেবল একটি ঘড়ির চক্র লাগবে বলে মনে করা হচ্ছে। যাইহোক, আমি এখানে যা পাই না তা হ'ল দাদার অ্যালগরিদম তিনটি ধাপে এগিয়ে যায়, যেখানে প্রথম ধাপের ফলাফলটি দ্বিতীয় ধাপে ব্যবহৃত হয় etc. ইত্যাদি thisএ অনুসারে, এটি কমপক্ষে তিনটি ঘড়ি চক্র গ্রহণ করতে পারে।