অন্যান্য গাণিতিক ক্রিয়াকলাপগুলির চেয়ে বিভাগ কেন এত জটিল?


39

আমি সম্প্রতি এমন একটি মামলার মুখোমুখি হয়েছি যেখানে আমার একটি চিপের উপর পূর্ণসংখ্যা বিভাগের অপারেশন দরকার ছিল যার একটির অভাব ছিল (এআরএম কর্টেক্স-এ 8)। কেন এটি হতে হবে তা নিয়ে গবেষণার চেষ্টা করার সময় আমি জানতে পেরেছি যে সাধারণ বিভাগে কোনও পূর্ণসংখ্যার (বা স্থির-বিন্দু) স্থাপত্যে সংযোজন, বিয়োগ বা গুণনের চেয়ে আরও অনেক বেশি চক্র লাগে। কেন এই ক্ষেত্রে? এটি কি অন্য কিছুর মতো একটি দ্বি-স্তর এবং-OR যুক্তি দিয়ে উপস্থাপনযোগ্য নয়?

উত্তর:


34

বিভাগ একটি পুনরাবৃত্ত অ্যালগরিদম যেখানে ভাগফল থেকে ফলাফল অবশ্যই ইউক্লিডিয়ান পরিমাপ ব্যবহার করে অবশিষ্টাংশে স্থানান্তর করতে হবে, দেখুন 2 ; অন্যদিকে, গুণগুলি বিট ম্যানিপুলেশন ট্রিকগুলির একটি (নির্দিষ্ট) সিরিজে হ্রাস করা যেতে পারে।


2
এটি ব্যবহৃত হত যে গুণ এবং বিভাগ উভয়ই ধীর গতিতে কাজ করে। আজকালকার গুণটি কিছুটা দ্রুত (তবে সংযোজন / বিয়োগের তুলনায় কিছুটা ধীর) তবে বিভাগগুলি এখনও অন্যদের তুলনায় ধীর। আমি বিশ্বাস করি যে নিউটন-র‌্যাফসন এখনও বেশিরভাগের দ্বারা সংখ্যার প্রতিদান দেওয়ার জন্য অভ্যন্তরীণভাবে ব্যবহৃত হয়।
জেএম

12
(অফ-টপিক: "বিপরীত ক্রিয়াকলাপগুলি সাধারণত শক্ত হয় Just সহজ।)
জেএম

1
ঠিক আছে, আমি এই বলে ক্যাপচার করব যে ঘনক্ষেতটি কৃমির আলাদা ক্যান; তবে কমপক্ষে এক-মাত্রিক ক্ষেত্রে, চতুর্ভুজটি পার্থক্যের চেয়ে সহজ।
জেএম

1
যাই হোক না কেন, বিপরীতগুলি সর্বদা জোড়ায় আসে। আপনি কেন একজনকে "অপারেশন" এবং অন্যটিকে "বিপরীত" বলবেন?
ডেভিড কেচসন

2
পুনরাবৃত্তি বা বিপরীত উভয়ই এটি শক্ত করে না। বিভাগের কঠোরতাটি এই সত্য থেকে আসে যে আপনাকে ইউক্লিডিয়ান পরিমাপ ব্যবহার করে ফলাফলটি ভাগফল থেকে বাকী অংশে স্থানান্তর করতে হবে। দেখুন বিভাজন এলগরিদম উপপাদ্য

20

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

আমি সন্দেহ করি যে একই কৌশলগুলি এই ক্রিয়াকলাপগুলিকে একটি চক্রের দিকে নামিয়ে আনা সম্ভব করতে পারে (থ্রুটপুট, বিলম্ব না হলে) তবে আপনার পক্ষে বিশাল সন্ধানের টেবিলের প্রয়োজন হতে পারে এবং এটি করার জন্য সম্ভবত সিলিকন রিয়েল-এস্টেটের বৃহত অঞ্চলগুলি সম্ভব হয় are ।

কেন এটি সম্ভব হবে না?

সিপিইউ ডিজাইনে অনেক ট্রেড অফ করা আছে। কার্যকারিতা, জটিলতা (ট্রানজিস্টরের সংখ্যা), গতি এবং বিদ্যুৎ খরচ সবই আন্তঃসম্পর্কিত এবং নকশাকালীন গৃহীত সিদ্ধান্তগুলি কার্য সম্পাদনে বিশাল প্রভাব ফেলতে পারে।

একটি আধুনিক প্রসেসরের সম্ভবত একটি মূল ভাসমান পয়েন্ট ইউনিট থাকতে পারে যা সিলিকনে পর্যাপ্ত ট্রানজিস্টরকে একক চক্রের ভাসমান পয়েন্ট বিভাগ সঞ্চালনের জন্য উত্সর্গ করে , তবে এই ট্রানজিস্টরের দক্ষ ব্যবহারের সম্ভাবনা কম।

এক দশক আগে ভাসমান বিন্দুটি পুনরাবৃত্তি থেকে অ-পুনরাবৃত্তিতে রূপান্তর করে। আজকাল, একক চক্র সংখ্যাবৃদ্ধি এবং এমনকি মাল্টিপ্লাই-জমা মোবাইল প্রসেসর এমনকি খুবই সাধারণ।

এটি ট্রানজিস্টর বাজেটের কার্যকর ব্যবহারে ওঠার আগে বহুগুণ, বিভাগের মতো, প্রায়শই পুনরাবৃত্ত পদ্ধতি দ্বারা সঞ্চালিত হয়। তারপরে, ডেডিকেটেড ডিএসপি প্রসেসরগুলি তাদের সিলিকনগুলির বেশিরভাগই একটি একক দ্রুত গুণিতক জমা (এমএসি) ইউনিটে উত্সর্গ করতে পারে । একটি কোর 2ডুও সিপিইউতে 3 এর একটি ফ্লোটিং পয়েন্ট মাল্টিপল লেটেন্সি রয়েছে (পাইপলাইনটি 3 টি চক্রটি প্রবেশের পরে বেরিয়ে আসে) তবে একবারে একবারে 3 টি গুণক হতে পারে যার ফলস্বরূপ এটি একক-চক্রের মধ্য দিয়ে যায়, এর মধ্যে এটি এসএসই 2 ইউনিট পারে একক চক্রে একাধিক এফপি গুণিত করে।

সিলিকনের বিশাল অঞ্চলগুলি একটি একক-চক্র বিভাজন ইউনিটে উত্সর্গ করার পরিবর্তে, আধুনিক সিপিইউ'র একাধিক ইউনিট রয়েছে, যার প্রতিটি সমান্তরালে অপারেশন করতে পারে, তবে তাদের নিজস্ব নির্দিষ্ট পরিস্থিতির জন্য অনুকূলিত। বস্তুত, একবার আপনি বিবেচনা SIMD যেমন নির্দেশাবলী সঙ্গে SSE বা সিপিইউ ইন্টিগ্রেটেড গ্রাফিক্স এর স্যান্ডী সেতু বা পরে CPU- র এর, হতে পারে অনেক আপনার CPU- র এই ধরনের ফ্লোটিং পয়েন্ট ডিভাইড ইউনিট।

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


আমার জ্ঞান অনুসারে, কোনও চিপগুলিতে ভাসমান পয়েন্টের জন্য একক-চক্র বিভাজনে বিলম্ব নেই। উদাহরণস্বরূপ, ইন্টেল, এএমডি এবং ভিআইএ সিপিইউগুলির জন্য অ্যাগনার ফগের নির্দেশ সারণীগুলি ডিআইভিপিএস (এসএসই প্যাকড ভাসমান-পয়েন্ট বিভাজন) 10-14 চক্র হিসাবে তালিকাভুক্ত করে। আমি একক-চক্র বিভাজন নির্দেশাবলী সহ কোনও হার্ডওয়্যার পাই না, তবে আমি ভুল প্রমাণ করতে রাজি হব। যতদূর আমি বলতে পারি এটি সাধারণ নয়।
বিল বার্থ

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

1
আমি মনে করি ডিএসপিরা যে পরিসীমাটিতে সঠিক সেগুলি সীমাবদ্ধ করে এটি করেন। বর্গমূলের জন্য + + অন্তরঙ্গকরণের জন্য এটি একই কৌশল।
ম্যাট নিপলি

1
যদিও এই ধরণের বিভাগের বিলম্বিতাটি হবে তা আমি নিশ্চিত নই । 4 গিগাহার্জ-এ, এন চক্রের মধ্যে লুক-আপ টেবিলটিতে একটি রাউন্ড ট্রিপ করা তীব্রভাবে উল্লিখিত টেবিলের সম্ভাব্য আকারকে সীমিত করে তোলে (উদাহরণস্বরূপ, এল 1 ক্যাশে প্রতিটি 32 কে স্থির হয়ে গেছে)। 3 ডি যেতে এটি বাড়িয়ে তুলতে সহায়তা করবে (তবে চ্যালেঞ্জিং ক্র্ট। কুলিং)। আধুনিক 4GHz / 5GHz সিপিইউগুলির জন্য কী বিলম্বতা পৌঁছতে পারে তা সম্পর্কে আপনার কি ধারণা আছে?
ম্যাথিউ এম।

1
ডিভিপস / ডিভিডিপি বনাম মাল্পস / মালপড ল্যাটেন্সি এবং থ্রুপুট সংখ্যার জন্য ভাসমান পয়েন্ট বিভাগ বনাম ভাসমান পয়েন্ট গুণফল দেখুন । আমি অগ্নার ফগের নির্দেশাবলী টেবিলগুলি থেকে ডেটা নিয়েছি এবং এটি ডিভ এবং মুল থ্রুপুট এবং ল্যাটেন্সির uarches জুড়ে একটি সংক্ষিপ্ত আকারে ফর্ম্যাট করেছি, একক বনাম ডাবল এবং বিভিন্ন সিমডি ভেক্টর প্রস্থের জন্য। (ইন্টেল চিপসগুলিতে সাধারণত একটি সিমডি বিভাজক থাকে যা অন্য ভেক্টর ALUs এর অর্ধেক প্রস্থের হয়))
পিটার কর্ডেস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.