योजक (इलेक्ट्रॉनिक्स)

एक योजक, या गर्मी, एक डिजिटल सर्किट है जो संख्याओं को जोड़ने का कार्य करता है। कई कंप्यूटरों और अन्य प्रकार के माइक्रोप्रोसेसरों में अंकगणितीय तर्क इकाइयों (एएलयू) में योजक का उपयोग किया जाता है। उनका उपयोग प्रोसेसर के अन्य भागों में भी किया जाता है, जहां उनका उपयोग पता स्थान, डेटाबेस सूचकांक, वृद्धि और कमी ऑपरेटरों और इसी तरह के ऑपरेशन की गणना के लिए किया जाता है।

हालांकि कई संख्याओं के प्रतिनिधित्व के लिए योजक का निर्माण किया जा सकता है, जैसे बाइनरी-कोडित दशमलव या अतिरिक्त -3, सबसे आम योजक बाइनरी संख्याों पर काम करते हैं। ऐसे मामलों में जहां दो के पूरक या एक के पूरक का उपयोग नकारात्मक संख्याओं का प्रतिनिधित्व करने के लिए किया जा रहा है, एक योजक को एक योजक-घटाव में संशोधित करना तुच्छ है। अन्य हस्ताक्षरित संख्या अभ्यावेदन के लिए मूल योजक के आसपास अधिक तर्क की आवश्यकता होती है।

आधा योजक
आधा योजक दो एकल बाइनरी अंक ए और बी जोड़ता है। इसके दो आउटपुट हैं, योग (S) और कैरी (C)। कैरी सिग्नल एक बहु-अंकीय जोड़ के अगले अंक में एक पूर्णांक अतिप्रवाह का प्रतिनिधित्व करता है। योग का मूल्य है. सबसे सरल आधा योजक डिजाइन, दाईं ओर चित्रित, एस के लिए एक एक्सओआर गेट और सी के लिए एक और गेट शामिल करता है। योग के लिए बूलियन तर्क (इस मामले में एस) होगा जबकि कैरी के लिए (सी) एबी होगा। अपने कैरी आउटपुट को संयोजित करने के लिए एक OR गेट के अतिरिक्त के साथ, पूर्ण योजक बनाने के लिए दो आधे योजकों को जोड़ा जा सकता है। आधा योजक दो इनपुट बिट्स जोड़ता है और एक कैरी और योग उत्पन्न करता है, जो एक आधे योजक के दो आउटपुट हैं। हाफ ऐडर के इनपुट वेरिएबल (कंप्यूटर साइंस) को ऑगेंड और एडेंड बिट कहा जाता है। आउटपुट चर योग और कैरी हैं। आधे योजक के लिए सत्य तालिका है:


 * {| class="wikitable" style="text-align:center"

! colspan="2"| Inputs || colspan="2"| Outputs
 * - style="background:#def; text-align:center;"
 * A || B || C || S
 * - style="background:#dfd; text-align:center;"
 * 0 || 0 || 0 || 0
 * - style="background:#dfd; text-align:center;"
 * 0 || 1 || 0 || 1
 * - style="background:#dfd; text-align:center;"
 * 1 || 0 || 0 || 1
 * - style="background:#dfd; text-align:center;"
 * 1 || 1 || 1 || 0
 * }
 * }

पूर्ण योजक






एक पूर्ण योजक बाइनरी नंबर जोड़ता है और मूल्यों के साथ-साथ बाहर भी ले जाता है। एक-बिट पूर्ण-योजक तीन एक-बिट संख्या जोड़ता है, जिसे अक्सर A, B, और C के रूप में लिखा जाता है।in; ए और बी ऑपरेंड हैं, और सीin पिछले कम-महत्वपूर्ण चरण से थोड़ा सा लिया गया है। पूर्ण योजक आमतौर पर योजकों के कैस्केड में एक घटक होता है, जो 8, 16, 32, आदि बिट बाइनरी संख्याओं को जोड़ता है। सर्किट दो-बिट आउटपुट उत्पन्न करता है। आउटपुट कैरी और योग आमतौर पर सिग्नल सी द्वारा दर्शाया जाता हैout और S, जहाँ योग बराबर है 2Cout + S.

एक पूर्ण योजक को कई अलग-अलग तरीकों से कार्यान्वित किया जा सकता है जैसे कस्टम ट्रांजिस्टर-स्तरीय सर्किट या अन्य गेट्स से बना। एक उदाहरण कार्यान्वयन के साथ है तथा.

इस कार्यान्वयन में, परिणामी तर्क को बदले बिना कैरी-आउट आउटपुट से पहले अंतिम OR गेट को XOR गेट से बदला जा सकता है। ऐसा इसलिए है क्योंकि जब A और B दोनों 1 हैं, तो पद (A ⊕ B) हमेशा 0 होता है, और इसलिए (Cin ⋅ (A ⊕ B)) केवल 0 हो सकता है। इस प्रकार, अंतिम OR गेट के इनपुट कभी भी दोनों 1 नहीं हो सकते (यह एकमात्र संयोजन है जिसके लिए OR और XOR आउटपुट भिन्न होते हैं)।

केवल दो प्रकार के फाटकों का उपयोग करना सुविधाजनक है यदि सरल एकीकृत सर्किट चिप्स का उपयोग करके सर्किट को कार्यान्वित किया जा रहा है जिसमें प्रति चिप केवल एक गेट प्रकार होता है। A और B को एक आधे योजक के इनपुट से जोड़कर दो आधे योजकों से एक पूर्ण योजक का निर्माण भी किया जा सकता है, फिर इसके योग-आउटपुट S को दूसरे आधे योजक और C के इनपुट में से एक के रूप में लिया जा सकता है।in इसके अन्य इनपुट के रूप में, और अंत में दो आधे योजकों से कैरी आउटपुट एक OR गेट से जुड़े होते हैं। दूसरे आधे योजक से योग-आउटपुट पूर्ण योजक का अंतिम योग आउटपुट (S) है और OR गेट से आउटपुट अंतिम कैरी आउटपुट (C) हैout). एक पूर्ण योजक का महत्वपूर्ण पथ दोनों एक्सओआर द्वारों के माध्यम से चलता है और योग बिट एस पर समाप्त होता है। यह मानते हुए कि एक XOR गेट को पूरा होने में 1 देरी लगती है, पूर्ण योजक के महत्वपूर्ण पथ द्वारा लगाए गए विलंब के बराबर है
 * $$T_\text{FA} = 2 \cdot T_\text{XOR} = 2 D.$$

एक कैरी का महत्वपूर्ण पथ ऐडर में एक XOR गेट से और कैरी-ब्लॉक में 2 गेट (AND और OR) से होकर गुजरता है और इसलिए, यदि AND या OR गेट को पूरा करने में 1 देरी होती है, तो इसमें देरी होती है
 * $$T_\text{c} = T_\text{XOR} + T_\text{AND} + T_\text{OR} = D + D + D = 3D.$$

नौ नंद द्वारों का उपयोग करके एक पूर्ण योजक लागू किया जा सकता है। पूर्ण योजक के लिए सत्य तालिका है:


 * {| class="wikitable" style="text-align:center"

!colspan="3"| Inputs || colspan="2"| Outputs एक पूर्ण योजक के सभी इनपुटों को उलटने से इसके सभी आउटपुट भी उलट जाते हैं, जिसका उपयोग तेज़ रिपल-कैरी योजकों के डिज़ाइन में किया जा सकता है, क्योंकि कैरी को पलटने की कोई आवश्यकता नहीं है।
 * - style="background:#def; text-align:center;"
 * - style="background:#def; text-align:center;"
 * A || B || Cin || Cout || S
 * - style="background:#dfd; text-align:center;"
 * 0 || 0 || 0 || 0 || 0
 * - style="background:#dfd; text-align:center;"
 * 0 || 0 || 1 || 0 || 1
 * - style="background:#dfd; text-align:center;"
 * 0 || 1 || 0 || 0 || 1
 * - style="background:#dfd; text-align:center;"
 * 0 || 1 || 1 || 1 || 0
 * - style="background:#dfd; text-align:center;"
 * 1 || 0 || 0 || 0 || 1
 * - style="background:#dfd; text-align:center;"
 * 1 || 0 || 1 || 1 || 0
 * - style="background:#dfd; text-align:center;"
 * 1 || 1 || 0 || 1 || 0
 * - style="background:#dfd; text-align:center;"
 * 1 || 1 || 1 || 1 || 1
 * }
 * }

तरंग-वाहक योजक
एन-बिट संख्याओं को जोड़ने के लिए कई पूर्ण योजकों का उपयोग करके तार्किक सर्किट बनाना संभव है। प्रत्येक पूर्ण योजक एक C इनपुट करता हैin, जो कि सीout पिछले योजक का। इस तरह के योजक को रिपल-कैरी योजक (RCA) कहा जाता है, क्योंकि प्रत्येक बिट रिपल्स को अगले पूर्ण योजक तक ले जाता है। ध्यान दें कि पहले (और केवल पहले) पूर्ण योजक को आधे योजक द्वारा प्रतिस्थापित किया जा सकता है (यह मानते हुए कि Cin = 0). पिछले योजक (Cout n-1) का आउटपुट अगले योजक (Cin) के इनपुट के रूप में पारित हुआ।

रिपल-कैरी योजक का लेआउट सरल है, जो तेजी से डिजाइन समय की अनुमति देता है; हालाँकि, रिपल-कैरी योजक अपेक्षाकृत धीमा है, क्योंकि प्रत्येक पूर्ण योजक को पिछले पूर्ण योजक से गणना करने के लिए कैरी बिट की प्रतीक्षा करनी चाहिए। पूर्ण योजक सर्किट के निरीक्षण से गेट विलंब की आसानी से गणना की जा सकती है। प्रत्येक पूर्ण योजक को तर्क के तीन स्तरों की आवश्यकता होती है। 32-बिट रिपल-कैरी योजक में, 32 पूर्ण योजक होते हैं, इसलिए महत्वपूर्ण पथ (सबसे खराब स्थिति) विलंब 3 है (इनपुट से पहले योजक में ले जाने के लिए) + 31 × 2 (बाद के योजक में प्रसार के लिए) = 65 गेट देरी। एन-बिट कैर्री-रिपल योजक के लिए सबसे खराब स्थिति देरी के लिए सामान्य समीकरण, योग और कैरी बिट्स दोनों के लिए लेखांकन है
 * $$T_\text{CRA}(n) = T_\text{HA} + (n-1) \cdot T_\text{c} + T_\text{s} = T_\text{FA} + (n-1) \cdot T_c = 3 D + (n-1) \cdot 2 D = (2n+1) \cdot D.$$

बारी-बारी से ले जाने वाली ध्रुवीयता और अनुकूलित AND-OR-इनवर्ट गेट वाला डिज़ाइन लगभग दोगुना तेज़ हो सकता है।

कैरी-लुकहेड योजक
संगणना समय को कम करने के लिए, इंजीनियरों ने कैरी-लुकहेड योजक (सीएलए) का उपयोग करके दो बाइनरी नंबर जोड़ने के लिए तेज़ तरीके तैयार किए। वे प्रत्येक बिट स्थिति के लिए दो सिग्नल (पी और जी) बनाकर काम करते हैं, इस पर आधारित है कि एक कम महत्वपूर्ण बिट स्थिति (कम से कम एक इनपुट 1 है) से प्रचारित किया जाता है, उस बिट स्थिति में उत्पन्न होता है (दोनों इनपुट 1 हैं) ), या उस बिट स्थिति में मारे गए (दोनों इनपुट 0 हैं)। ज्यादातर मामलों में, P केवल आधे योजक का योग आउटपुट है और G उसी योजक का आउटपुट है। पी और जी उत्पन्न होने के बाद, प्रत्येक बिट स्थिति के लिए वहन किया जाता है। कुछ उन्नत कैरी-लुकहेड आर्किटेक्चर मैनचेस्टर कैरी चेन, ब्रेंट-कुंग योजक (बीकेए) हैं, और कोग-स्टोन योजक (केएसए)।

कुछ अन्य मल्टी-बिट योजक आर्किटेक्चर योजक को ब्लॉक में तोड़ते हैं। संगणना समय का अनुकूलन करने के लिए सर्किट के प्रसार विलंब के आधार पर इन ब्लॉकों की लंबाई को बदलना संभव है। इन ब्लॉक आधारित योजकों में कैरी-स्किप योजक | कैरी-स्किप (या कैरी-बायपास) योजक शामिल है जो प्रत्येक बिट के बजाय प्रत्येक ब्लॉक के लिए पी और जी मान निर्धारित करेगा, और कैरी-सेलेक्ट ऐडर जो योग और कैरी को पूर्व-उत्पन्न करता है ब्लॉक में संभावित कैरी इनपुट (0 या 1) के लिए मान, मल्टीप्लेक्सर्स का उपयोग करके उचित परिणाम का चयन करने के लिए जब कैरी बिट ज्ञात हो।

एकाधिक कैरी-लुकहेड योजकों को मिलाकर, और भी बड़े योजक बनाए जा सकते हैं। बड़े योजक बनाने के लिए इसका उपयोग कई स्तरों पर किया जा सकता है। उदाहरण के लिए, निम्न योजक एक 64-बिट योजक है जो चार 16-बिट सीएलए का उपयोग करता है जिसमें दो स्तरों के अग्रदर्शी वाहक इकाई हैं।

अन्य योजक डिज़ाइनों में कैरी-सिलेक्ट योजक, सशर्त योग योजक, कैरी-स्किप योजक और कैरी-पूर्ण योजक शामिल हैं।

कैरी-सेव एडर्स
यदि एक जोड़ने वाला सर्किट तीन या अधिक संख्याओं के योग की गणना करना है, तो कैरी परिणाम का प्रचार न करना फायदेमंद हो सकता है। इसके बजाय, तीन-इनपुट योजक का उपयोग किया जाता है, जिससे दो परिणाम उत्पन्न होते हैं: एक योग और एक कैरी। कैरी सिग्नल के प्रसार की प्रतीक्षा किए बिना योग और कैरी को बाद के 3-नंबर योजक के दो इनपुट में फीड किया जा सकता है। जोड़ के सभी चरणों के बाद, हालांकि, एक पारंपरिक योजक (जैसे रिपल-कैरी या लुकहेड) का उपयोग अंतिम योग को संयोजित करने और परिणाम ले जाने के लिए किया जाना चाहिए।

3:2 कम्प्रेसर
एक पूर्ण योजक को 3:2 हानिकारक कंप्रेसर के रूप में देखा जा सकता है: यह तीन एक-बिट इनपुट का योग करता है और परिणाम को एक दो-बिट संख्या के रूप में लौटाता है; अर्थात्, यह 8 इनपुट मानों को 4 आउटपुट मानों में मैप करता है। इस प्रकार, उदाहरण के लिए, 101 के एक बाइनरी इनपुट के परिणामस्वरूप आउटपुट होता है 1 + 0 + 1 = 10 (दशमलव संख्या 2)। कैरी-आउट परिणाम के बिट एक का प्रतिनिधित्व करता है, जबकि योग बिट शून्य का प्रतिनिधित्व करता है। इसी तरह, एक आधा योजक को 2: 2 हानिपूर्ण कंप्रेसर के रूप में इस्तेमाल किया जा सकता है, चार संभावित इनपुट को तीन संभावित आउटपुट में संपीड़ित कर सकता है।

ऐसे कंप्रेशर्स का उपयोग तीन या अधिक योगों के योग को गति देने के लिए किया जा सकता है। यदि जोड़ बिल्कुल तीन हैं, तो लेआउट को कैरी-सेव योजक के रूप में जाना जाता है। यदि जोड़ चार या अधिक हैं, तो कंप्रेशर्स की एक से अधिक परत आवश्यक है, और सर्किट के लिए विभिन्न संभावित डिज़ाइन हैं: सबसे आम दद्दा ट्री और वालेस का पेड़ हैं। इस तरह के सर्किट का उपयोग बाइनरी गुणक में सबसे अधिक किया जाता है, यही वजह है कि इन सर्किट को दद्दा और वालेस गुणक के रूप में भी जाना जाता है।

क्वांटम योजक
केवल टोफोली गेट और सीएनओटी क्वांटम लॉजिक गेट्स का उपयोग करके, क्वांटम फुल- और हाफ-एडर्स का उत्पादन संभव है।  शास्त्रीय प्रतिवर्ती संगणना में समान सर्किट भी लागू किए जा सकते हैं, क्योंकि सीएनओटी और टॉफोली दोनों शास्त्रीय तर्क द्वार भी हैं।

चूंकि क्वांटम फूरियर रूपांतरण में कम सर्किट जटिलता होती है, इसलिए इसे कुशलता से संख्याओं को जोड़ने के लिए भी इस्तेमाल किया जा सकता है।

एनालॉग योजक
जैसे बाइनरी एडर्स में, दो इनपुट धाराओं के संयोजन से प्रभावी रूप से उन धाराओं को एक साथ जोड़ा जाता है। हार्डवेयर की बाधाओं के भीतर, गैर-बाइनरी सिग्नल (अर्थात 2 से अधिक आधार वाले) को योग की गणना करने के लिए एक साथ जोड़ा जा सकता है। एक योग प्रवर्धक के रूप में भी जाना जाता है, इस तकनीक का उपयोग अतिरिक्त सर्किट में ट्रांजिस्टर की संख्या को कम करने के लिए किया जा सकता है।

यह भी देखें

 * बाइनरी गुणक
 * घटाव
 * इलेक्ट्रॉनिक मिक्सर - एनालॉग सिग्नल जोड़ने के लिए

इस पेज में लापता आंतरिक लिंक की सूची

 * ऋणात्मक संख्या
 * अंकगणितीय तर्क इकाइयाँ
 * संख्या प्रतिनिधित्व
 * हस्ताक्षरित संख्या प्रतिनिधित्व
 * संगणक
 * तथा द्वार
 * या द्वार
 * चर (कंप्यूटर विज्ञान)
 * ट्रुथ टेबल
 * एकीकृत परिपथ
 * AND-या-उलटा
 * प्रचार देरी
 * प्रतिवर्ती गणना
 * लॉजिक गेट
 * subtractor

बाहरी संबंध

 * Hardware algorithms for arithmetic modules, includes description of several adder layouts with figures.
 * 8-bit Full Adder and Subtractor, a demonstration of an interactive Full Adder built in JavaScript solely for learning purposes.
 * Interactive Full Adder Simulation (requires Java), Interactive Full Adder circuit constructed with Teahlab's online circuit simulator.
 * Interactive Half Adder Simulation (requires Java), Half Adder circuit built  with Teahlab's circuit simulator.
 * 4-bit Full Adder Simulation built in Verilog, and the accompanying Ripple Carry Full Adder Video Tutorial