এটি একটি অত্যন্ত জটিল উত্তর সহ একটি সরল প্রশ্ন।
প্রথম বন্ধ, কিছু পটভূমি।
রিয়েল-ওয়ার্ল্ড ভিএলএসআই ডিজাইন একটি অত্যন্ত প্রযুক্তিগত ক্ষেত্র যা ট্রেড অফের ক্রমাগত পরিবর্তনশীল ভারসাম্য বৈশিষ্ট্যযুক্ত। একটি সার্কিট একটি উত্তর গণনা করতে যে সময় নেয় তা খুব কমই একমাত্র গুরুত্বপূর্ণ কারণ। পাওয়ার ড্র এবং শারীরিক ক্ষেত্র এছাড়াও রয়েছে, এমন একটি কারণের একটি গুচ্ছ যা প্রকাশ করে যে আপনি যে সার্কিটগুলি ডিজাইন করছেন সেটি আসলে অ্যানালগ (যেমন তারের প্রতিরোধের, পরজীবী ক্যাপাসিটেন্স)। এগুলি সমস্তই একটি বাস্তব সার্কিটের জন্য গুরুত্বপূর্ণ এবং কোন ডিজাইনটি চয়ন করা হয়েছে তা প্রভাবিত করতে পারে।
দ্বিতীয়ত, আপনাকে কোনও প্রকল্পের পুরো জীবনচক্রটি বিবেচনা করতে হবে। একটি সংযোজন যা কোনও ভিএলএসআই উপলব্ধির জন্য উপযুক্ত এটি কোনও এফপিজিএ উপলব্ধির জন্য উপযুক্ত নাও হতে পারে। যদি ডিজাইনটি কোনও এফপিজিএ পরীক্ষিত একটি পর্যায়ের মধ্য দিয়ে চলে যায় ... আপনি ছবিটি পান।
তৃতীয়ত, প্রতিটি সংযোজককে সমান করা হয় না। একটি সাধারণ সিপিইউতে, প্রচুর সংযোজনকারী ঝুলন্ত থাকে যা বিভিন্ন কাজ করে; সম্ভবত বেশ কয়েকটি পূর্ণসংখ্যক ALUs, একটি ভাসমান পয়েন্ট ম্যান্টিসা অ্যাডেয়ার, অ্যাড্রেয়ার যা ঠিকানা গণনা করে, এমন একটি অ্যাডার যা শাখার লক্ষ্যগুলি গণনা করে, ইত্যাদি। এটি আপনি আধুনিক গুণিত ইউনিটগুলিতে পাওয়া ক্যারি-সেভ সংযোজনগুলি গণনা করছে না। প্রত্যেকের নিজস্ব বিশেষত্ব এবং প্রতিবন্ধকতা রয়েছে।
ব্রাঞ্চ টার্গেট গণনা, উদাহরণস্বরূপ, সাধারণত একটি পূর্ণ শব্দের সাথে একটি সামান্য ধ্রুবক যুক্ত করা জড়িত থাকে, যা দুটি থেকে দুটি সম্পূর্ণ শব্দ একসাথে যুক্ত করে এমন একটি পৃথক সংযোজন নকশার পরামর্শ দেয়। একইভাবে, ফ্লোটিং পয়েন্ট অ্যাডিশনের জন্য একটি পোস্ট-সংযোজন বৃত্তাকার পদক্ষেপ দরকার যা একটি চক্রের চেয়ে কম সময় নিতে পারে, সুতরাং সংযোজনটি শেষ করতে আপনি বাকি চক্রটি চুরি করতে না পারার কোনও কারণ নেই।
শেষ অবধি, এবং সম্ভবত সবচেয়ে গুরুত্বপূর্ণ, বড় প্লেয়ারগুলি (উদাহরণস্বরূপ ইন্টেল, এএমডি, এনভিআইডিএ) স্বতন্ত্র কারণে নিম্ন-স্তরের বাস্তবায়ন বিশদ সম্পর্কে মোটামুটি শক্তভাবে লিপিবদ্ধ থাকে, যদি না তারা ভাবেন যে তারা কোনও কাগজ এবং এটির পেটেন্ট পেতে না পারে। তারপরেও, আপনি প্রায়শই নিশ্চিত হতে পারবেন না যে তারা রিভার্স ইঞ্জিনিয়ারিং ছাড়া আসলে কী করেছে।
এটি বলে যাওয়ার পরে, আমরা কয়েকটি জিনিস জানি।
আপনার প্রধান জিনিসটি বুঝতে হবে যে হ'ল বহনযোগ্য পদ্ধতিগুলি ব্লকগুলি তৈরি করছে এবং প্রয়োজনীয় পদ্ধতিগুলি তাদের মধ্যে প্রয়োজনীয় নয়। একটি সাদৃশ্য এখানে হতে পারে।
আপনি যদি অ্যালগরিদম ক্লাস সম্পর্কে চিন্তা করেন তবে আপনি সম্ভবত শিখিয়েছেন অ্যালগরিদমগুলি যেমন দ্রুত সাজানো, মার্জ করা সারণি, সন্নিবেশ সাজানো ইত্যাদি। বাস্তব বিশ্বে, বাছাই যদি একটি পারফরম্যান্স বাধা হয় তবে যে কোনও শালীন প্রকৌশলী এগুলিকে আদিম বিল্ডিং ব্লক হিসাবে ভাবেন যেখানে একটি "বাস্তব" সাজানো তৈরি করা যেতে পারে।
GNU C ++ স্ট্যান্ডার্ড লাইব্রেরি থেকে সাজানো অ্যালগরিদম, উদাহরণস্বরূপ, অন্তরগুলি পর্যাপ্ত পরিমাণে ছোট হয়ে গেলে সন্নিবেশ সারণি ব্যবহার করে দ্রুত সাজান ব্যবহার করে। তবে, কয়েক পাসের পরে যদি মনে হয় দ্রুত সাজানোর পার্টিশনটি প্যাথলজিকাল আচরণে আঘাত পেয়েছে, তবে এটি হিপ সাজানোর ক্ষেত্রে ফিরে আসে। একটি শিল্প-শক্তির সাজানোর জন্য এটি তিনটি পৃথক ধরণের অ্যালগোরিদম।
অ্যাডারের সার্কিটের ক্ষেত্রেও একই কথা। উদাহরণস্বরূপ, এটি জানা যায় যে পেন্টিয়াম 4 সংখ্যার ইউনিট হ্যান-কার্লসন অ্যাডারের ব্যবহার করেছিল, এটি কোগ-স্টোন এবং ব্রেন্ট-কুংয়ের মিশ্রণ। (হান-কার্লসন বিশেষ আকর্ষণীয়, কারণ এটি প্রচারের বিলম্ব এবং ডাই এরিয়া যা যথেষ্ট শক্তি-দক্ষতার মধ্যে ব্যবসায়ের এক "মিষ্টি স্পট"।) এটি বেশ কয়েকটি পদ্ধতির মিশ্রণটি ব্যবহার করার জন্য অর্থ প্রদান করে।
"খাঁটি" ক্যারি-লুকএহেড সংযোজনকারীরা এখনও সিন্থেসাইজড সার্কিটগুলিতে প্রচলিত আদর্শ (যেমন আপনি যদি ক্যাডেন্স বা সাইনোপিসিতে কোনও ভারিলোগ অপারেটরকে খাওয়ান), যখন হাতের ডিজাইনের কথা আসে, আধুনিক সুপার-সিপিইউগুলি তাদের সুপারক্যালার আউট- অফ-অর্ডার এক্সিকিউশন ইঞ্জিনগুলি তাদের পূর্ণসংখ্যার ইউনিটগুলির জন্য কিছুটা আলাদা ডিজাইনের দিকে এগিয়ে যাচ্ছে বলে মনে হচ্ছে।
অনুমানমূলক সংযোজনকারীরা এমন সার্কিট যা খুব কম প্রচারে দেরি করে তবে বেশিরভাগ সময় সঠিকভাবে কাজ করে (95% সময় সাধারণ হয়), এবং অনুমানমূলক অ্যাড্রেটারটি সঠিক ফলাফলটি ফিরিয়ে দেয় কিনা তা খুব সামান্য যুক্তি দিয়েই বলা সম্ভব। সুতরাং ধারণাটি একটি চক্রের মধ্যে সমান্তরালভাবে একটি অনুমানমূলক সংযোজন এবং বহনকারী-চেহারাযুক্ত সংযোজনের অর্ধেকটি করা। যদি অনুমানমূলক অ্যাড্রেটার সঠিক উত্তরটি ফেরত দেয় তবে নির্দেশটি সম্পন্ন হয়। অন্যথায়, পাইপলাইনটি স্টল করুন এবং সঠিক সংযোজনটির অর্ধেকটি করুন।
আপনি জানেন যে ধীর পথটি দুটি চক্র নেবে, ডিজাইনাররা সাধারণ ব্যবহারের জন্য খুব ধীর হলেও এমনকি আরও বেশি স্থান এবং শক্তি-দক্ষ পদ্ধতি ব্যবহার করতে পারে।