আমাদের কম্পিউটারগুলিতে বিভাগ কীভাবে ঘটে?


17

ডিজিটাল কম্পিউটারগুলির মধ্যে বিভাগ কীভাবে ঘটে? এটির জন্য অ্যালগরিদম কী?

আমি গুগলে কঠোর অনুসন্ধান করেছি কিন্তু সন্তোষজনক ফলাফল পাইনি। অনুগ্রহ করে একটি নমুনার চিত্র সহ বিভাগ অ্যালগরিদমের জন্য খুব সুস্পষ্ট একটি অ্যালগরিদম / ফ্লোচার্ট সরবরাহ করুন


1
একটি ALU- এ @ প্রোগ্রাম-ও-স্টিভ বিভাগ একটি জটিল অপারেশন। আপনি একটি "সাধারণ" ফ্লোচার্ট পাবেন না।
মাজনকো

5
@ লিওন হেলার ওহ! এটি এটি বলে না যে এটি খাঁটি হার্ডওয়্যার প্রশ্ন
প্রোগ্রাম-ও-স্টিভ

2
@ লিওন হেলার আমি তা না হয় ...., যা ইলেকট্রনিক্স, শারীরিক কম্পিউটিং বিভাগ ... অন্তর্ভুক্ত
প্রোগ্রাম-O-স্টিভ

2
মাইক্রোকন্ট্রোলারগুলিতে বিভাগ সরাসরি এগিয়ে নেই। এটি করার দ্রুত উপায় এবং ধীর পদ্ধতি রয়েছে। ধীর উপায়গুলি বোঝা সহজ তবে দ্রুততর উপায়গুলি আধুনিক সিপিইউগুলিতে ব্যবহৃত হয় আপনি বিশেষত কোনটি সম্পর্কে জানতে চান? আপনি কি কেবল নীতিগুলি সম্পর্কে প্রাথমিক ধারণা বা আধুনিক সিপিইউগুলির বিশদ বিশ্লেষণ চান?
কনসালিক

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

উত্তর:


17

ডিজিটাল ডিজাইনে বিভাগ অ্যালগরিদমগুলিকে দুটি প্রধান বিভাগে ভাগ করা যায়। ধীর বিভাজন এবং দ্রুত বিভাগ।

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

ধীর বিভাগ

সহজ ধীর পদ্ধতিগুলি নিম্নলিখিত পদ্ধতিতে সমস্ত কাজ করে: অংকের থেকে ডিনোমিনিটারকে বিয়োগ করুন। প্রতিটি বিয়োগফলের ফলাফল হিসাবে পুনরাবৃত্তভাবে এটি করুন যতক্ষণ না বাকী অংশটি ডিনোমিনেটরের চেয়ে কম হয়। পুনরাবৃত্তির পরিমাণ হ'ল পূর্ণসংখ্যা ভাগ

উদাহরণ:

7/3:

  1. 73=4
  2. 43=1
  3. 1<3

সুতরাং উত্তর 1 এর বাকী 2 সহ উত্তর 2 এই উত্তরটি আরও কিছুটা প্রাসঙ্গিক করার জন্য এখানে কিছু ব্যাকগ্রাউন্ড দেওয়া আছে। Theণাত্মক যোগ করার মাধ্যমে বাইনারি বিয়োগফল সঞ্চালিত হয় যেমন: 7 - 3 = 7 + (-3)। এটির দুটিটির পরিপূরক ব্যবহার করে এটি সম্পন্ন হয়। প্রতিটি বাইনারি নম্বর পূর্ণ সংযোজনকারীদের একটি সিরিজ ব্যবহার করে যুক্ত করা হয়:

এখানে চিত্র বর্ণনা লিখুন

যেখানে প্রতিটি 1-বিট পূর্ণ সংযোজক নিম্নলিখিত হিসাবে বাস্তবায়িত হয়:

এখানে চিত্র বর্ণনা লিখুন

দ্রুত বিভাগ

বিভাগের ধীর পদ্ধতিটি বোঝা সহজ হলেও এর পুনরাবৃত্তি পুনরাবৃত্তি প্রয়োজন। বিভিন্ন "দ্রুত" অ্যালগরিদম রয়েছে তবে তারা সকলেই অনুমানের উপর নির্ভর করে।

গোল্ডশ্মিট পদ্ধতিটি বিবেচনা করুন:

Q=ND

এই পদ্ধতিটি নিম্নলিখিত হিসাবে কাজ করে:

  1. N এবং D কে ভগ্নাংশ F এর সাথে এমনভাবে গুণান যাতে D 1 এ যায়।
  2. ডি 1 এর নিকটবর্তী হওয়ার সাথে সাথে এন Q তে পৌঁছেছে

এই পদ্ধতিটি পুনরাবৃত্ত সংযোজনের মাধ্যমে বাইনারি গুণকে ব্যবহার করে যা আধুনিক এএমডি সিপিইউগুলিতেও ব্যবহৃত হয়।


1
'ধীর' পদ্ধতিতে পরিবর্তনের জন্য কিছু ফ্লোচার্টগুলি (হার্ডওয়্যার বিভাজন ছাড়াই মাইক্রোতে সমাবেশে প্রয়োগ করা হলেও এখনও সহায়ক) এটেলের এভিআর 200 অ্যাপনেট দেওয়া আছে ।
কেভিন ভার্মির

আপনি কি দয়া করে বিভাগের গোল্ডশ্মিডিট পদ্ধতিতে একটি চিত্র দিতে পারেন ? এছাড়াও এখানে প্রদত্ত ফ্লো চার্টটি ধীর বিভাজনের উদাহরণ?
প্রোগ্রাম-ও-স্টিভ

লভ্যাংশকে বামে বারবার স্থানান্তর করতে হবে এমন কোন পদ্ধতিটি কী?
প্রোগ্রাম-ও-স্টিভ

@ প্রোগ্রাম-ও-স্টিভ এখানে একটি দ্রুত চিত্রণ রয়েছে: 22/7 (পাই আনুমানিক) সন্ধান করুন। প্রথমে, শীর্ষ এবং নীচের অংশটি 0.1 দ্বারা গুণান: 2.2 / 0.7 আবার গুণমান, 1.3 ব্যবহার করে, প্রদান: 2.86 / 0.91 1.09 ব্যবহার করে: 3.1174 / 0.9919 1.008 দেয়: 3.1423393 / 0.9998352 চালিয়ে যান, আপনি শীঘ্রই ফাইনাল উত্তর 3.1428571 / এ পৌঁছবেন 1.000000 ...
অ্যালান ক্যাম্পবেল

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

4

ভাসমান পয়েন্ট বিভাগের জন্য হার্ডওয়্যার একটি যুক্তিযুক্ত এককের অংশ যা গুণও করে; একটি গুণক হার্ডওয়্যার মডিউল উপলব্ধ। ভাসমান পয়েন্ট সংখ্যাগুলি, এ এবং বি বলে, ভাগ করে (এ / বি গঠন করে) দ্বারা বিভক্ত

  1. ভাসমান পয়েন্ট সংখ্যাগুলিকে চিহ্ন (+1 বা -1), ম্যান্টিসা ("এ" এবং "বি") এবং (বাইনারি পূর্ণসংখ্যার ধরণের) এক্সপোশনগুলিকে বিভক্ত করা হচ্ছে
  2. উভয় লক্ষণ একই, অন্যথায় (-1) ফলাফলের চিহ্ন (+1)
  3. ফলাফলের সূচক গঠনের জন্য এক্সপোশনগুলি বিয়োগ করা হয় (বি এর এক্সপোজেন্ট থেকে বিয়োগকারককে বিয়োগ করে)
  4. ম্যান্টিসাস (সংখ্যার বাইনারি অঙ্কগুলি) হ'ল 1/2 এবং 1 এর মধ্যে একটি নির্দিষ্ট পয়েন্ট বাইনারি সংখ্যা; এর অর্থ হ'ল বাইনারি পয়েন্টের পরে প্রথম অঙ্কটি '1', তারপরে শূন্য এবং একগুলি ... প্রথম পদক্ষেপ হিসাবে, একটি সারণী ছয়টি বিটের ক্ষেত্রে পারস্পরিক সঠিক খুঁজে পেতে পারে (কেবলমাত্র 32 টি সম্ভাবনা রয়েছে, এটি একটি ছোট টেবিল)

  5. ab=areciprocal(b)*RআমিপিRএকটি()

  6. ==1+ +ε
    *(2-)=(1+ +ε)×(1-ε)=1-ε2
  7. অঙ্কটি, এখন ডিনোমিনেটর হ'ল '1' হ'ল এটি ফলাফলের ম্যান্টিসা এবং পূর্ববর্তী গণিত চিহ্ন এবং ঘাতকের সাথে মিলিত হতে পারে।
  8. আইইইই ভাসমান পয়েন্টটি কিছু ব্যাতিক্রমের অনুমতি দেয় (ডেনরমালাইজড নম্বর, এনএএন; এগুলি অন্যান্য যৌক্তিক ক্রিয়াকলাপ দ্বারা পরিচালনা করতে হয়।

মজার বিষয় হচ্ছে, পুরানো পেন্টিয়াম ডিভাইড বাগ (১৯৯৪ সালে খুব সংবাদযোগ্য) একটি মুদ্রণের ত্রুটির কারণে হয়েছিল যা ধাপের (4) ত্রুটিযুক্ত পারস্পরিক-সারণির মান তৈরি করে। একটি প্রাথমিক কাগজ, "প্যারালাল মাল্টপ্লায়ার ব্যবহারের একটি বিভাগ পদ্ধতি", ডোমেনিকো ফেরারি, আইইইই ট্রান্স। ইলেকট্রন। Comput। ইসি -16 / 224-228 (1967), পদ্ধতিটি বর্ণনা করে, যেমনটি "আইবিএম সিস্টেম / 360 মডেল 91: ভাসমান-পয়েন্ট এক্সিকিউশন ইউনিট" আইবিএম জে। রেস। দেব। 11 : 34-53 (1967)।


1

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

ডিনোমিনেটরের পারস্পরিক গণনা এতটা খারাপ নয়; এটি ক্রমাগত আনুমানিক সংশোধন করে সম্পন্ন করা হয়। G 1 / d এর জন্য আপনার অনুমান হতে দিন। উন্নত অনুমানের জন্য, জি '= জি (২-জিডি) ব্যবহার করুন। এটি চতুর্ভুজ রূপান্তরিত হয়, সুতরাং আপনি প্রতিটি উন্নতির উপর নির্ভুলতার অঙ্কগুলি দ্বিগুণ করেন।

উদাহরণ: 3.5 এর পারস্পরিক গণনা করুন।

আপনার প্রাথমিক অনুমান 0.3। আপনি 0.3 * 3.5 = 1.15 গণনা করুন। আপনার সমন্বিত অনুমান 0.3 * (2 - 1.15) = 0.285। ইতিমধ্যে বেশ কাছাকাছি! প্রক্রিয়াটি পুনরাবৃত্তি করুন, এবং আপনি 0.2857125 পাবেন এবং তৃতীয় চেষ্টাটি 0.2857142857 পেয়েছে।

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

মনে রাখবেন যে, গুণ এবং কোলমোগোরভের 1960 সালে তাঁর ছাত্র আনাতোলি করাতসুবার বিব্রতকর পরিস্থিতিতে যেমন আপনি কখনই জানেন না যে কোন দ্রুত বা আরও ভাল পদ্ধতি কখন পাওয়া যাবে। আপনার কৌতূহলকে কখনই আত্মসমর্পণ করবেন না।


-1

কম্পিউটারগুলি সংখ্যাবৃদ্ধির জন্য পুনরাবৃত্ত সংযোজন করে না - এটি সত্যই ধীর হবে। স্থিরভাবে, কিছু দ্রুত গুণক অ্যালগরিদম রয়েছে। দেখুন: http://en.wikedia.org/wiki/Karatsuba_algorithm


ইইএসই তে স্বাগতম কেবল লিঙ্ক-উত্তর উত্তর নিরুৎসাহিত করা হয়। লিঙ্কে তথ্য সংক্ষিপ্ত বিবরণ করুন।
নুল

তারা করে. টন সিপিইউতে এখনও একক চক্রের গুণক নেই এবং সফ্টওয়্যার বিকৃতকরণ ব্যবহার করে।
ব্যবহারকারী 3528438
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.