गणितीय एवं तार्किक इकाई



कम्प्यूटिंग में, एक  अंकगणित ीय तर्क इकाई (एएलयू) एक  संयोजन तर्क   डिजिटल सर्किट  है जो  पूर्णांक   बाइनरी संख्या ओं पर अंकगणित और बिटवाइज संचालन करता है।   यह  फ्लोटिंग-पॉइंट यूनिट  (FPU) के विपरीत है, जो  तैरनेवाला स्थल  नंबरों पर काम करता है। यह कंप्यूटर, एफपीयू और ग्राफिक्स  सेंट्रल प्रोसेसिंग यूनिट जीपीयू) की केंद्रीय प्रसंस्करण इकाई (सीपीयू) सहित कई प्रकार के कंप्यूटिंग सर्किटों का एक मूलभूत निर्माण खंड है। ALU के लिए इनपुट वह डेटा होता है जिस पर संचालन किया जाता है, जिसे  ओपेरंड  कहा जाता है, और एक कोड जो किए जाने वाले ऑपरेशन को दर्शाता है; ALU का आउटपुट प्रदर्शन किए गए ऑपरेशन का परिणाम है। कई डिज़ाइनों में, ALU में स्थिति इनपुट या आउटपुट, या दोनों भी होते हैं, जो ALU और बाहरी  स्थिति रजिस्टर ों के बीच क्रमशः पिछले ऑपरेशन या वर्तमान ऑपरेशन के बारे में जानकारी देते हैं।

संकेत
ALU में विभिन्न प्रकार के इनपुट और आउटपुट नेट (इलेक्ट्रॉनिक्स)  होते हैं, जो ALU और बाहरी सर्किटरी के बीच  डिजिटल सिग्नल (इलेक्ट्रॉनिक्स)  को संप्रेषित करने के लिए उपयोग किए जाने वाले विद्युत कंडक्टर हैं। जब एक एएलयू काम कर रहा होता है, तो बाहरी सर्किट एएलयू इनपुट पर सिग्नल लागू करते हैं और जवाब में, एएलयू अपने आउटपुट के माध्यम से बाहरी सर्किटरी को सिग्नल पैदा करता है और बताता है।

डेटा
एक बेसिक ALU में तीन समानांतर डेटा बस (कंप्यूटिंग)  होती है जिसमें दो इनपुट ऑपरेंड (A और B) और एक परिणाम आउटपुट (Y) होता है। प्रत्येक डेटा बस संकेतों का एक समूह है जो एक बाइनरी पूर्णांक संख्या बताता है। आम तौर पर, ए, बी और वाई बस चौड़ाई (प्रत्येक बस में सिग्नल की संख्या) समान होती है और बाहरी सर्किटरी (उदाहरण के लिए, इनकैप्सुलेटिंग सीपीयू या अन्य प्रोसेसर) के मूल शब्द आकार से मेल खाती है।

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

आउटपुट
स्थिति आउटपुट विभिन्न व्यक्तिगत संकेत हैं जो वर्तमान एएलयू ऑपरेशन के परिणाम के बारे में पूरक जानकारी देते हैं। सामान्य-उद्देश्य वाले ALU में आमतौर पर स्थिति संकेत होते हैं जैसे:
 * कैरी-आउट, जो एक अतिरिक्त ऑपरेशन के परिणामस्वरूप कैरी (अंकगणित) बताता है, एक घटाव ऑपरेशन से उत्पन्न उधार, या बाइनरी शिफ्ट ऑपरेशन के परिणामस्वरूप अतिप्रवाह बिट।
 * शून्य, जो इंगित करता है कि Y के सभी बिट तर्क शून्य हैं।
 * ऋणात्मक, जो अंकगणितीय संक्रिया के परिणाम को इंगित करता है, ऋणात्मक है।
 * अंकगणित अतिप्रवाह, जो इंगित करता है कि अंकगणितीय ऑपरेशन का परिणाम Y की संख्यात्मक सीमा से अधिक हो गया है।
 * समता ध्वज, जो इंगित करता है कि वाई में बिट्स की एक सम या विषम संख्या तर्क एक है या नहीं।

प्रत्येक एएलयू ऑपरेशन के पूरा होने पर, स्थिति आउटपुट सिग्नल आमतौर पर बाहरी रजिस्टरों में संग्रहीत किए जाते हैं ताकि उन्हें भविष्य के एएलयू संचालन (उदाहरण के लिए, बहु-सटीक अंकगणित  लागू करने के लिए) या  शाखा (कंप्यूटर विज्ञान)  को नियंत्रित करने के लिए उपलब्ध कराया जा सके। स्टेटस आउटपुट को स्टोर करने वाले बिट रजिस्टरों के संग्रह को अक्सर सिंगल, मल्टी-बिट रजिस्टर के रूप में माना जाता है, जिसे स्टेटस रजिस्टर या कंडीशन कोड रजिस्टर कहा जाता है।

इनपुट
स्थिति इनपुट एक ऑपरेशन करते समय एएलयू को अतिरिक्त जानकारी उपलब्ध कराने की अनुमति देता है। आमतौर पर, यह एक एकल कैरी-इन बिट है जो पिछले ALU ऑपरेशन से संग्रहीत कैरी-आउट है।

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

सामान्य तौर पर, बाहरी सर्किटरी एक ALU को उसके इनपुट पर सिग्नल लगाकर नियंत्रित करती है। आमतौर पर, बाहरी सर्किटरी एएलयू ऑपरेशन को नियंत्रित करने के लिए अनुक्रमिक तर्क  को नियोजित करता है, जो कि एएलयू आउटपुट को सबसे खराब स्थिति में व्यवस्थित करने के लिए पर्याप्त समय सुनिश्चित करने के लिए पर्याप्त रूप से कम आवृत्ति के घड़ी सिग्नल द्वारा संचालित होता है।

उदाहरण के लिए, एक सीपीयू एएलयू के ऑपरेंड इनपुट के लिए अपने स्रोतों (जो आमतौर पर रजिस्टर होते हैं) से ऑपरेंड को रूट करके एक एएलयू एडिशन ऑपरेशन शुरू करता है, जबकि नियंत्रण विभाग  एक साथ एएलयू के ऑपोड इनपुट के लिए एक मान लागू करता है, इसे अतिरिक्त करने के लिए कॉन्फ़िगर करता है। साथ ही, सीपीयू एएलयू परिणाम आउटपुट को एक गंतव्य रजिस्टर में भी रूट करता है जो राशि प्राप्त करेगा। ALU के इनपुट सिग्नल, जिन्हें अगली घड़ी तक स्थिर रखा जाता है, को ALU और गंतव्य रजिस्टर के माध्यम से प्रचारित करने की अनुमति दी जाती है, जबकि CPU अगली घड़ी की प्रतीक्षा करता है। जब अगली घड़ी आती है, तो गंतव्य रजिस्टर ALU परिणाम संग्रहीत करता है और चूंकि ALU ऑपरेशन पूरा हो गया है, ALU इनपुट अगले ALU ऑपरेशन के लिए सेट किया जा सकता है।

कार्य
कई बुनियादी अंकगणितीय और बिटवाइज़ लॉजिक फ़ंक्शंस आमतौर पर ALU द्वारा समर्थित होते हैं। बुनियादी, सामान्य उद्देश्य वाले ALU में आमतौर पर इन कार्यों को उनके प्रदर्शनों की सूची में शामिल किया जाता है:

अंकगणितीय संचालन

 * बाइनरी नंबर#जोड़: ए और बी को जोड़ दिया जाता है और योग वाई और कैरी-आउट पर दिखाई देता है।
 * कैरी के साथ जोड़ें: ए, बी और कैरी-इन का योग है और योग वाई और कैरी-आउट में दिखाई देता है।
 * बाइनरी नंबर# घटाव: बी को ए (या इसके विपरीत) से घटाया जाता है और अंतर वाई और कैरी-आउट में दिखाई देता है। इस फ़ंक्शन के लिए, कैरी-आउट प्रभावी रूप से एक उधार संकेतक है। इस ऑपरेशन का उपयोग ए और बी के परिमाण की तुलना करने के लिए भी किया जा सकता है; ऐसे मामलों में वाई आउटपुट को प्रोसेसर द्वारा अनदेखा किया जा सकता है, जो केवल स्थिति बिट्स (विशेष रूप से शून्य और नकारात्मक) में रुचि रखता है जो ऑपरेशन के परिणामस्वरूप होता है।
 * उधार के साथ घटाना: B को उधार (कैरी-इन) के साथ A (या इसके विपरीत) से घटाया जाता है और अंतर Y और कैरी-आउट (उधार लेना) में दिखाई देता है।
 * दो का पूरक (नकारात्मक): ए (या बी) शून्य से घटाया जाता है और अंतर वाई पर दिखाई देता है।
 * वृद्धि: ए (या बी) एक से बढ़ जाता है और परिणामी मूल्य वाई पर दिखाई देता है।
 * कमी: ए (या बी) एक से कम हो जाता है और परिणामी मूल्य वाई पर दिखाई देता है।
 * पास से गुजरना: ए (या बी) के सभी बिट्स वाई पर असंशोधित दिखाई देते हैं। यह ऑपरेशन आम तौर पर ऑपरेंड की समानता निर्धारित करने के लिए प्रयोग किया जाता है या यह शून्य या नकारात्मक है, या ऑपरेंड को प्रोसेसर रजिस्टर में लोड करने के लिए उपयोग किया जाता है।

बिटवाइज़ लॉजिकल ऑपरेशंस

 * बिटवाइज़ ऑपरेशन#AND: A और B का बिटवाइज़ और Y पर दिखाई देता है।
 * बिटवाइज़ ऑपरेशन#OR: A और B का बिटवाइज़ OR Y पर दिखाई देता है।
 * बिटवाइज़ ऑपरेशन#XOR|Exclusive-OR: A और B का बिटवाइज़ XOR Y पर दिखाई देता है।
 * बिटवाइज़ ऑपरेशन#NOT|ऑन्स का पूरक: A (या B) के सभी बिट उल्टे हैं और Y पर दिखाई देते हैं।

बिट शिफ्ट ऑपरेशन
एएलयू शिफ्ट ऑपरेशंस ऑपरेंड ए (या बी) को बाएं या दाएं (ओपकोड के आधार पर) स्थानांतरित करने का कारण बनता है और स्थानांतरित ऑपरेंड वाई पर दिखाई देता है। साधारण एएलयू आमतौर पर ऑपरेंड को केवल एक बिट स्थिति से स्थानांतरित कर सकते हैं, जबकि अधिक जटिल एएलयू बैरल शिफ्टर ्स को नियोजित करते हैं उन्हें एक ऑपरेशन में बिट्स की मनमानी संख्या द्वारा ऑपरेंड को स्थानांतरित करने की अनुमति दें। सभी सिंगल-बिट शिफ्ट ऑपरेशंस में, ऑपरेंड से बाहर शिफ्ट किया गया बिट कैरी-आउट पर दिखाई देता है; ऑपरेंड में स्थानांतरित बिट का मान शिफ्ट के प्रकार पर निर्भर करता है।
 * बिटवाइज़ ऑपरेशन#अरिथमेटिक शिफ्ट: ऑपरेंड को दो के पूरक पूर्णांक के रूप में माना जाता है, जिसका अर्थ है कि सबसे महत्वपूर्ण बिट एक साइन बिट है और संरक्षित है।
 * बिटवाइज ऑपरेशन#लॉजिकल शिफ्ट: एक लॉजिक जीरो को ऑपरेंड में शिफ्ट किया जाता है। इसका उपयोग अहस्ताक्षरित पूर्णांकों को स्थानांतरित करने के लिए किया जाता है।
 * बिटवाइज़ ऑपरेशन#रोटेट: ऑपरेंड को बिट्स के सर्कुलर बफर के रूप में माना जाता है, इसलिए इसके कम से कम और सबसे महत्वपूर्ण बिट्स प्रभावी रूप से आसन्न होते हैं।
 * बिटवाइज़ ऑपरेशन# कैरी थ्रू रोटेट करें: कैरी बिट और ऑपरेंड को सामूहिक रूप से बिट्स के सर्कुलर बफर के रूप में माना जाता है।

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

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

अंकगणितीय संचालन (जैसे, जोड़, घटाव) में, एल्गोरिथ्म ऑपरेंड के LS टुकड़ों पर ALU ऑपरेशन को लागू करके शुरू होता है, जिससे LS आंशिक और कैरी आउट बिट दोनों का उत्पादन होता है। एल्गोरिथम आंशिक से निर्दिष्ट स्टोरेज को लिखता है, जबकि प्रोसेसर की स्टेट मशीन आमतौर पर कैरी आउट बिट को ALU स्टेटस रजिस्टर में स्टोर करती है। एल्गोरिथ्म तब प्रत्येक ऑपरेंड के संग्रह के अगले टुकड़े के लिए आगे बढ़ता है और पिछले एएलयू ऑपरेशन से संग्रहीत कैरी बिट के साथ इन टुकड़ों पर एक एएलयू ऑपरेशन को आमंत्रित करता है, इस प्रकार एक और (अधिक महत्वपूर्ण) आंशिक और एक कैरी आउट बिट का उत्पादन करता है। पहले की तरह, कैरी बिट को स्टेटस रजिस्टर में स्टोर किया जाता है और आंशिक को निर्दिष्ट स्टोरेज में लिखा जाता है। यह प्रक्रिया तब तक दोहराई जाती है जब तक कि सभी ऑपरेंड अंशों को संसाधित नहीं किया जाता है, जिसके परिणामस्वरूप भंडारण में आंशिक का एक पूरा संग्रह होता है, जिसमें बहु-सटीक अंकगणितीय परिणाम शामिल होता है।

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

बिटवाइज़ लॉजिकल ऑपरेशंस (जैसे, लॉजिकल एंड, लॉजिकल OR) में, ऑपरेंड अंशों को किसी भी मनमाने क्रम में संसाधित किया जा सकता है क्योंकि प्रत्येक आंशिक केवल संबंधित ऑपरेंड अंशों पर निर्भर करता है (पिछले ALU ऑपरेशन से संग्रहीत कैरी बिट को अनदेखा किया जाता है)।

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

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

उपरोक्त कार्यान्वयन सबसे तेज़ और सबसे महंगे से सबसे धीमे और सबसे कम खर्चीले में संक्रमण करते हैं। वर्गमूल की गणना सभी मामलों में की जाती है, लेकिन साधारण ALU वाले प्रोसेसर को गणना करने में अधिक समय लगेगा क्योंकि कई ALU संचालन किए जाने चाहिए।

कार्यान्वयन
एक ALU को आमतौर पर या तो एक स्टैंड-अलोन एकीकृत परिपथ  (IC) के रूप में लागू किया जाता है, जैसे कि 74181, या अधिक जटिल IC के हिस्से के रूप में। बाद के मामले में, एक एएलयू को आमतौर पर  वीएचडीएल,  Verilog  या कुछ अन्य  हार्डवेयर विवरण भाषा  में लिखे गए विवरण से संश्लेषित करके त्वरित किया जाता है। उदाहरण के लिए, निम्नलिखित वीएचडीएल कोड एक बहुत ही सरल  8 बिट  एएलयू का वर्णन करता है:

<वाक्यविन्यास हाइलाइट लैंग = वीएचडीएल> इकाई अलु is पोर्ट (- बाहरी सर्किटरी के लिए एलयू कनेक्शन:

ए: हस्ताक्षरित (7 से 0 तक); -- संकार्य ए बी: हस्ताक्षरित (7 से 0 तक); -- संकार्य बी ओपी: अहस्ताक्षरित में (2 से 0 तक); -- ओपकोड वाई: साइन आउट (7 डाउनटू 0)); -- ऑपरेशन परिणाम

अंत अलु;

अलु का वास्तुकला व्यवहार है शुरू करना

मामला ओपी है - ऑपोड को डीकोड करें और ऑपरेशन करें: जब 000 => वाई <= ए + बी; -- जोड़ें जब 001 => वाई <= ए - बी; -- घटाना जब 010 => वाई <= ए -1; -- कमी जब 011 => वाई <= ए + 1; -- वेतनवृद्धि जब 100 => वाई <= नहीं ए; -- 1 का पूरक जब 101 => वाई <= ए और बी; -- बिटवाइज़ AND जब 110 => वाई <= ए या बी; --बिटवाइज OR जब 111 => Y <= A xor B; --बिटवाइज XOR जब अन्य => वाई <= (अन्य => 'एक्स'); अंतिम मामला;

अंत व्यवहार; 

इतिहास
गणितज्ञ जॉन वॉन न्यूमैन  ने 1945 में  EDVAC  नामक एक नए कंप्यूटर की नींव पर एक रिपोर्ट में ALU अवधारणा का प्रस्ताव रखा। इलेक्ट्रॉनिक सर्किटरी की लागत, आकार और बिजली की खपत सूचना युग की प्रारंभिक अवस्था में अपेक्षाकृत अधिक थी। नतीजतन, सभी सीरियल कंप्यूटर  और कई शुरुआती कंप्यूटर, जैसे कि  पीडीपी-8  -8, में एक साधारण एएलयू था जो एक समय में एक डेटा बिट पर संचालित होता था, हालांकि वे अक्सर प्रोग्रामर के लिए एक व्यापक शब्द आकार प्रस्तुत करते थे। एक से अधिक असतत सिंगल-बिट ALU सर्किट वाले सबसे शुरुआती कंप्यूटरों में से एक 1948 का बवंडर I था, जिसने 16-बिट शब्दों पर काम करने में सक्षम बनाने के लिए ऐसी सोलह गणित इकाइयों को नियोजित किया था।

1967 में, फेयरचाइल्ड सेमीकंडक्टर  ने एक एकीकृत सर्किट, फेयरचाइल्ड 3800 के रूप में लागू किया गया पहला ALU पेश किया, जिसमें संचायक के साथ आठ-बिट ALU शामिल था। अन्य एकीकृत-सर्किट एएलयू जल्द ही उभरे, जिनमें चार-बिट एएलयू जैसे  एएमडी एम2900  और 74181। एक व्यापक शब्द आकार। ये उपकरण जल्दी ही लोकप्रिय हो गए और बिट-स्लाइस मिनीकंप्यूटर में व्यापक रूप से उपयोग किए गए।

1970 के दशक की शुरुआत में माइक्रोप्रोसेसर दिखाई देने लगे। भले ही ट्रांजिस्टर छोटे हो गए थे, लेकिन पूर्ण-शब्द-चौड़ाई वाले एएलयू के लिए अक्सर अपर्याप्त डाई स्पेस था और इसके परिणामस्वरूप, कुछ शुरुआती माइक्रोप्रोसेसरों ने एक संकीर्ण एएलयू को नियोजित किया जिसके लिए प्रति मशीन भाषा निर्देश में कई चक्रों की आवश्यकता होती थी। इसके उदाहरणों में लोकप्रिय Zilog Z80  शामिल है, जिसने चार-बिट ALU के साथ आठ-बिट परिवर्धन किया। समय के साथ, मूर के नियम का पालन करते हुए ट्रांजिस्टर ज्यामिति और सिकुड़ गई, और माइक्रोप्रोसेसरों पर व्यापक ALU का निर्माण संभव हो गया।

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

ALU को यांत्रिक कंप्यूटर, मैकेनिकल कंप्यूटर # इलेक्ट्रो-मैकेनिकल कंप्यूटर | इलेक्ट्रो-मैकेनिकल या  विद्युत सर्किट  सर्किट के रूप में महसूस किया जा सकता है  और, हाल के वर्षों में, जैविक ALU में अनुसंधान किया गया है  (जैसे,  एक्टिन -आधारित)।

यह भी देखें

 * योजक (इलेक्ट्रॉनिक्स)
 * पता पीढ़ी इकाई (AGU)
 * लोड-स्टोर यूनिट
 * बाइनरी गुणक
 * निष्पादन इकाई

इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची

 * बिटवाइज़ ऑपरेशन
 * ग्राफ़िक्स प्रोसेसिंग युनिट
 * विद्युत चालक
 * शब्द का आकार
 * ले जाना (अंकगणित)
 * प्रचार देरी
 * घड़ी संकेत
 * जानकारिक उम्र
 * बिट स्लाइसिंग