यह बहुत ही जटिल उत्तर के साथ एक सीधा सवाल है।
सबसे पहले, कुछ पृष्ठभूमि।
रियल-वर्ल्ड वीएलएसआई डिज़ाइन एक अत्यंत तकनीकी क्षेत्र है जिसमें ट्रेडऑफ़ के लगातार बदलते संतुलन की सुविधा है। एक जवाब की गणना करने के लिए सर्किट जो समय लेता है वह शायद ही कभी एकमात्र महत्वपूर्ण कारक है। पावर ड्रॉ और भौतिक क्षेत्र भी है, साथ ही कारकों का एक समूह है जो यह बताता है कि आपके द्वारा डिजाइन किए गए सर्किट वास्तव में एनालॉग हैं (उदाहरण के तार प्रतिरोध, परजीवी समाई)। ये सभी एक वास्तविक सर्किट में महत्वपूर्ण हैं और यह प्रभावित कर सकता है कि कौन सा डिज़ाइन चुना गया है।
दूसरे, आपको एक परियोजना के पूरे जीवन-चक्र पर विचार करना होगा। एक योजक जो वीएलएसआई अहसास के लिए उपयुक्त है, एक एफपीजीए अहसास के लिए उपयुक्त नहीं हो सकता है। यदि डिजाइन एक FPGA पर परीक्षण किए जा रहे चरण से गुजरने वाला है ... तो आपको तस्वीर मिल जाएगी।
तीसरा, प्रत्येक योजक को समान नहीं बनाया जाता है। एक विशिष्ट सीपीयू पर, बहुत सारे योजक लटकाए जाते हैं, जो अलग-अलग कार्य करते हैं; वहाँ शायद कई पूर्णांक ALUs हैं, एक अस्थायी बिंदु mantissa योजक, एक योजक जो पता गणना करता है, एक योजक जो शाखा लक्ष्यों की गणना करता है, और इसी तरह। यह कैरी-सेव एडर्स की गिनती नहीं है जो आपको आधुनिक गुणन इकाइयों में मिलते हैं। प्रत्येक की अपनी ख़ासियतें और अड़चनें हैं।
उदाहरण के लिए, शाखा लक्ष्य गणना में आम तौर पर एक पूर्ण शब्द के साथ एक छोटा सा स्थिरांक शामिल होता है, जो एक से एक अलग योजक डिजाइन का सुझाव देता है, जो एक साथ दो पूर्ण जोड़ देता है। इसी तरह, फ्लोटिंग पॉइंट एडिशन के लिए एक पोस्ट-अतिरिक्त राउंडिंग चरण की आवश्यकता होती है, जो एक चक्र से कम हो सकता है, इसलिए ऐसा कोई कारण नहीं है कि आप अतिरिक्त चक्र को समाप्त करने के लिए बाकी चोरी नहीं कर सके।
अंत में, और शायद सबसे महत्वपूर्ण बात यह है कि बड़े खिलाड़ी (जैसे इंटेल, एएमडी, एनवीआईडीआईए) स्पष्ट कारणों के लिए निम्न-स्तरीय कार्यान्वयन विवरण के बारे में काफी तंग हैं, जब तक कि उन्हें नहीं लगता कि वे एक पेपर और / या पेटेंट प्राप्त कर सकते हैं। फिर भी, आप अक्सर यह सुनिश्चित नहीं कर सकते कि उन्होंने वास्तव में रिवर्स-इंजीनियरिंग के बिना क्या किया।
कहा कि, कुछ चीजें हैं जो हम जानते हैं।
आपको महसूस करने के लिए महत्वपूर्ण बात यह है कि कैरी-लुकहेड विधियां ब्लॉक का निर्माण कर रही हैं, और जरूरी नहीं कि वे अपने आप में विधियां हों। एक सादृश्य यहाँ क्रम में हो सकता है।
यदि आप एल्गोरिदम कक्षाओं के बारे में सोचते हैं, तो आपने संभवतः त्वरित क्रमबद्धता, मर्ज सॉर्ट, सम्मिलन सॉर्ट, और इसी तरह के एल्गोरिदम को सॉर्ट करना सीखा। वास्तविक दुनिया में, यदि छंटनी एक प्रदर्शन अड़चन है, तो कोई भी सभ्य इंजीनियर इन्हें आदिम भवन ब्लॉकों के रूप में सोचेगा जहां से एक "वास्तविक" प्रकार का निर्माण किया जा सकता है।
जीएनयू सी ++ मानक पुस्तकालय से सॉर्ट एल्गोरिथ्म, उदाहरण के लिए, त्वरित सॉर्ट का उपयोग करता है, जब अंतराल काफी छोटा हो जाता है। हालांकि, अगर कुछ पास होने के बाद ऐसा लगता है कि त्वरित प्रकार के विभाजन ने पैथोलॉजिकल व्यवहार को प्रभावित किया है, तो यह वापस छंटनी करने के लिए गिरता है। यह एक औद्योगिक ताकत बनाने के लिए तीन अलग-अलग प्रकार के एल्गोरिदम हैं।
योजक सर्किट का भी यही हाल है। यह ज्ञात है, उदाहरण के लिए, पेंटियम 4 पूर्णांक इकाई ने हान-कार्लसन योजक का उपयोग किया, जो कोगे-स्टोन और ब्रेंट-कुंग का मिश्रण है। (हान-कार्लसन विशेष रूप से दिलचस्प है, क्योंकि यह प्रसार में देरी और डाई क्षेत्र के बीच व्यापार में एक "मीठा स्थान" है, जो काफी शक्ति-कुशल भी है।) यह अक्सर कई तरीकों के मिश्रण का उपयोग करने के लिए भुगतान करता है।
"प्योर" कैरी-लुकहेड योजक संश्लेषित सर्किट में अभी भी बहुत आदर्श हैं (उदाहरण के लिए यदि आप एक वेरिलॉग + + "ऑपरेटर को ताल या सिनोप्सिस को खिलाते हैं), जब यह हाथ से डिजाइन की बात आती है, तो उनके सुपरस्क्लेयर से आधुनिक उच्च-स्तरीय सीपीयू- ऑर्डर-ऑर्डर निष्पादन इंजन अपनी पूर्णांक इकाइयों के लिए थोड़े अलग डिज़ाइन की ओर बढ़ रहे हैं।
सट्टा योजक ऐसे सर्किट होते हैं जिनमें बहुत कम प्रसार विलंब होता है, लेकिन केवल कुछ समय (95% समय विशिष्ट है) सही ढंग से काम करते हैं, और यह बहुत कम तर्क के साथ बताना संभव है कि सट्टा लगाने वाला सही परिणाम देता है या नहीं। तो यह विचार एक चक्र में एक जोड़-घटाव जोड़ के एक सट्टा जोड़ और आधा करने के लिए है। यदि सट्टा लगाने वाले ने सही उत्तर दिया, तो निर्देश किया जाता है। अन्यथा, पाइपलाइन को रोकें और सटीक जोड़ के दूसरे आधे हिस्से को करें।
क्योंकि आप जानते हैं कि धीमी गति से दो चक्र लगेंगे, डिजाइनर अधिक स्थान और शक्ति-कुशल पद्धति का उपयोग कर सकते हैं, भले ही यह सामान्य उपयोग के लिए बहुत धीमा हो।