अधिकांश ALU कैसे बनाए जाते हैं, और क्या 'अपना निर्माण' करना संभव है?


11

मैं वास्तव में बहुत कम स्तर के कंप्यूटरों के बारे में जानने की कोशिश कर रहा हूं। मैं बहुत सारे होमब्रे पेज देख रहा हूं और इसमें काफी कुछ है। मैंने कॉलेज में इलेक्ट्रॉनिक इंजीनियरिंग में कक्षाएं लीं, लेकिन हम वास्तव में इस विषय पर सुपर गहराई में नहीं गए (यह कंप्यूटर विज्ञान था, इसलिए सबसे अधिक यह वास्तव में एल्गोरिदम और ऐसा था)।

वैसे भी, अधिकांश ALU कैसे बनाए जाते हैं? मुझे लगता है कि यह कंप्यूटर का एकमात्र हिस्सा नहीं है, लेकिन फिर भी यह एक महत्वपूर्ण हिस्सा है।

और क्या आप लॉजिक गेट्स (सीखने के उद्देश्यों के लिए) का उपयोग करके अपने स्वयं के ALU का निर्माण कर सकते हैं? मैं समझता हूं कि यह शायद उन अधिक जानकारों को बेवकूफ लगता है, लेकिन मैं सिर्फ समझने की कोशिश कर रहा हूं। (हेक, यहां तक ​​कि एक साधारण योजक एक स्वच्छ परियोजना होगी।) यदि हां, तो यह कैसे किया जाएगा? क्या कोई हार्डवेयर उदाहरण हैं? (मैंने Google के चारों ओर देखा है, लेकिन मुझे ऐसा कुछ भी नहीं मिला, जिसमें चीजों को समझाने वाला एक कदम-दर-चरण मार्गदर्शक हो)।


1
आप में रुचि हो सकती है इस
डीन

6
सीपीयू चिप टीम के अंदर से बोलते हुए, यदि आप कंप्यूटर और सीपीयू आर्किटेक्चर में रुचि रखते हैं, तो कैनोनिकल किताबें "कंप्यूटर संगठन और डिजाइन: हार्डवेयर / सॉफ्टवेयर इंटरफ़ेस" के बाद "कंप्यूटर आर्किटेक्चर: एक मात्रात्मक दृष्टिकोण" हैं। इन्हें क्रमशः "पैटरसन एंड हेनेसी" और "हेनेसी एंड पैटरसन" के रूप में जाना जाता है।
रोस रोजर्स

@ डीन - हाँ, रंग कोडित तार बहनों के लिए हैं! :-)
स्टीवनव

1994 में UT ऑस्टिन में EE360M में हमारी सेमेस्टर परियोजना XC3000-कुछ के साथ Xilinx डेमो बोर्ड पर लागू स्टैक-आधारित 4-बिट ALU थी, जिसका उपयोग 16-स्तरीय स्टैक के रूप में किया गया था, जिसने इसके शीर्ष मान को एक एलईडी 7-सेगमेंट डिस्प्ले में ले जाया था। , और एक XC4000- कुछ जो वास्तविक ALU था। अपने इनपुट और ऑपरेशन को डीआईपी स्विच पर सेट करें, एक बटन दबाएं और आप वहां जाएं। XC4k में 63 kHz से 8 मेगाहर्ट्ज तक कई आवृत्तियों के साथ एक आंतरिक थरथरानवाला था, और हमारा ग्रेड आंशिक रूप से इस बात पर आधारित था कि हमारा डिज़ाइन कितनी तेजी से जा सकता है और अभी भी काम कर सकता है।
माइक डेनिमोन

1
@ शुभम: एक बार जब मैंने देखा कि मुझे पता था कि मुझे Minecraft से दूर रहने की ज़रूरत है ... मुझे कुछ और नहीं करना होगा ... O_o
माइक DeSimone

जवाबों:


15

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

74xx लॉजिक सीरीज़ में 74LS181 , 4-बिट स्लाइस ALU शामिल है , जो चीजों को बहुत सरल करता है। बिट स्लाइस ALU का उपयोग अधिक जटिल ALU बनाने के लिए किया गया था (पढ़ें: लंबा शब्द लंबाई), लेकिन नई तकनीकों ने इस तरह के आईसी को अप्रचलित कर दिया है।
नोट: TTL (74xx) तर्क गेट्स के लिए उपयोग की जाने वाली एक तकनीक है। शायद ही कभी इस्तेमाल किया जाता है। इसके बाद लो-पावर स्कूटी: 74LSxx, सख्ती से टीटीएल का एक रूप भी बोल रहा था। आजकल दर्जनों लॉजिक परिवार हैं, सभी हाई-स्पीड CMOS (74HCxx, 74HCTxx, 74ACxx, ...) पर आधारित हैं।

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

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


5

आप अपने स्वयं के ALU का निर्माण कर सकते हैं, लेकिन असतत TTL चिप्स वाले पुराने कंप्यूटर भी इसके लिए कुछ एकीकरण का उपयोग करते हैं। उदाहरण के लिए, 74x181 चिप को देखें। यह एक ALU का 4 बिट टुकड़ा है, और प्रत्येक 4 बिट्स के लिए इनमें से एक चिप्स का उपयोग करके पूर्ण ALU को लागू करने के लिए कुछ TTL कंप्यूटरों में उपयोग किया गया था।


अज्ञानतावश ध्वनि करने के लिए क्षमा करें, लेकिन कैसे बिल्कुल TTL चिप्स तर्क फाटकों से अलग हैं? और TTL का उपयोग तर्क द्वार से पहले या बाद में किया गया था? या वे तर्क द्वारों से बने हैं: भ्रमित:

@ सौरोन - मैंने अपने जवाब में तर्क परिवारों पर एक नोट जोड़ा
४३ पर स्टीवनव

5

मैं एचडीएल दुनिया में सबसे पहले शुरू करूंगा। कुछ verilog लिखें, इसे अनुकरण करने के लिए verilator या icarus verilog का उपयोग करें। कोड को ऐसे लिखें कि वह असतत जैसा दिखता है, या, और नहीं गेट्स, तो यदि ऐसा है तो कुछ 74xx श्रृंखला भागों (पुनर्नवीनीकरण?) और ब्रेडबोर्ड को कुछ मिल जाए। या, वहाँ $ 50 प्लस या माइनस CPLD और FPGA बोर्ड हैं, जो हो सकते हैं और आप उन लोगों में से एक में एलयू डाल सकते हैं जो बाहर काम कर रहे हैं, यह देखने के लिए कि यह काम कर रहा है। मैं तर्क दूंगा कि एचडीएल शिक्षा वही है जो आप योजक की मूल बातें सीखते हैं, आदि और इनपुट और आउटपुट और ऑपरेशन को muxing करते हैं। लेकिन आप इसे हार्डवेयर में लेने से पहले पर्यावरण का उपयोग करने और देखने में आसान तरीके से कर सकते हैं। बहुत पसंद है कि लोग इसे आज कैसे करते हैं, डिजाइन करते हैं और फिर अनुकरण करते हैं।


1
पूर्ण रूप से। पहले अनुकरण करें। फिर अगर आपके पास हार्डवेयर है, तो एक FPGA सबसे व्यावहारिक है। इस कॉम्प्लेक्स के लिए 74xx TTL की वायरिंग करना एक बहुत बड़ा प्रोजेक्ट होगा, जिसे तब तक नहीं निपटाया जाना चाहिए, जब तक कि किसी डिज़ाइन के बारे में सोचा न जाए।
क्रिस स्ट्रैटन

5

किताबों के लिए मैं निश्चित रूप से "पैटरसन और हेनेसी" की दूसरी किताबें (IIRC) 3 हैं, 3 संस्करणों के रूप में प्रच्छन्न हैं, लेकिन वास्तव में पूरी तरह से अलग पुस्तकों में। यदि आप गंभीर हैं: उन सभी को प्राप्त करें।)

यदि आप अपने तरीके को बुनियादी ALU या यहां तक ​​कि सीपीयू डिजाइन में प्रयोग करना चाहते हैं: एक तर्क सिम्युलेटर के साथ प्रयोग करना शुरू करें। हमने अपनी कक्षाओं के लिए DigitalWorks का उपयोग किया, लेकिन मैं इसकी सिफारिश नहीं करूंगा। Logisim ( http://sourceforge.net/projects/circuit/ ) आशाजनक लगता है। आपको मास्टर करने की आवश्यकता है: एक पूर्ण-योजक, एक चयनकर्ता और गेट्स से एक किनारे-ट्रिगर फ्लिप फ्लॉप जैसे बुनियादी ब्लॉकों का निर्माण करें, फिर उन बिल्डिंग ब्लॉकों से रजिस्टरों, ALU, अनुक्रमण तर्क का निर्माण करें, जो एक सीपीयू के लिए सभी तरह से हैं। स्मृति के साथ। यह वास्तव में नहीं है कि निर्माण करने के लिए मुश्किल है चलो एक PIC (14-बिट कोर) सीपीयू के बराबर कहते हैं, एलईडी का एक गुच्छा संलग्न करें और इसे किट डिस्प्ले दिखाने के लिए प्रोग्राम करें।

उसके बाद एक 32-बिट कोर करने के लिए मजेदार होगा, जीसीसी को पोर्ट करें, इसे एक एफपीजीए में महसूस करें और इसमें लिनक्स चलाएं। लेकिन आप पहले नहीं होंगे ...


4

यह बिल्कुल भी बेवकूफी भरा सवाल नहीं है। विकिपीडिया पृष्ठ से पता चलता है एक 2-बिट ALU के लिए इस तरह के एक गेट स्तर के सर्किट। ALU IC आमतौर पर 'स्लाइस' में उपलब्ध होते थे - आमतौर पर 4-बिट्स, जिसे आप बड़ी बस चौड़ाई ( बिट-स्लाइसिंग देखें ) प्राप्त करने के लिए कैस्केड कर सकते थे ।

डेटापत्रक टेक्सास 74,181 4-bitslice ALU के लिए भी एक गेट स्तर योजनाबद्ध है।


4

सीपीयू की कहानी प्रति पैकेज सामान की बढ़ती मात्रा में से एक है।

शुरुआती सीपीयू हमेशा कुछ रिले या वैक्यूम ट्यूबों से निर्मित धारावाहिक ALU का उपयोग करते थे। इस परंपरा को आगे बढ़ाने के लिए सबसे पहले 1947 बवंडर था।

जल्द से जल्द ट्रांजिस्टर किए गए सीपीयू ने व्यक्तिगत ट्रांजिस्टर से सब कुछ बनाया।

अपोलो गाइडेंस कंप्यूटर (एजीएम), संभवत: एकीकृत परिपथों से निर्मित पहला कंप्यूटर था, जो मेमोरी के बाहर केवल एक तरह के आईसी का उपयोग करता था: 3-इनपुट NOR गेट्स। ALU और CPU के हर दूसरे हिस्से को पूरी तरह से बड़ी संख्या में NOR गेट IC से बनाया गया था। (बहुत तेज़) Cray 1 ने मेमोरी के बाहर केवल एक प्रकार के IC का उपयोग किया: एक अन्य प्रकार का NOR गेट।

जैसा कि लोगों को पता चला कि एक चिप पर अधिक ट्रांजिस्टर रटना कैसे होता है, बाद में सीपीयू ने ALU को लागू करने के लिए (अपेक्षाकृत) कम चिप्स का इस्तेमाल किया।

NOR कार्यान्वयन की तुलना में कई कम चिप्स का उपयोग करके एक ALU पूरी तरह से मल्टीप्लेक्सर्स ( "मल्टीप्लेक्सर्स: लॉजिक ऑफ़ न्यूजिक डिज़ाइन" ) से बनाया जा सकता है ।

डायटर म्यूलर ने 8-बिट ALU डिज़ाइन पोस्ट किया जिसमें दो 74181 चिप्स की तुलना में अधिक कार्यक्षमता है - 74181 सही शिफ्ट नहीं कर सकता है - और भी कम चिप्स से निर्मित: 14 जटिल TTL चिप्स: दो 74283 4-बिट योजक, कुछ 4: 1 mux, और कुछ 2: 1 mux।

कई ऐतिहासिक रूप से महत्वपूर्ण व्यावसायिक कंप्यूटरों की तरह, कई होम-ब्रुफ़ सीपीयू 74181 के कुछ संस्करण का उपयोग करते हैं, एक चिप पर पहला "पूर्ण" ALU।

उन CPUओं में से कई ने कुछ 74181 चिप्स में से 8-बिट ALU या 16-बिट (या दोनों) का निर्माण किया और कुछ 74182 चिप्स - प्रत्येक 74181 केवल 4-बिट-वाइड ऑपरेशन को हैंडल करता है। होमब्रे मशीनें आमतौर पर सबसे सरल संभव चीज़ का उपयोग करती हैं जो काम करेगी - एक रिपेल-कैरी योजक के रूप में, अगले के कैरी-इन में एक 74181 फीडिंग के लिए। 74181 चिप्स का उपयोग करने वाली वाणिज्यिक मशीनें आमतौर पर इसके अलावा और घटाव को काफी तेज बनाने के लिए 74182 लुक फॉरवर्ड कैरी जनरेटर का उपयोग करती हैं।

आज अधिकांश ALU कुछ चिप के अंदर छिपे हुए हैं - एक CPU का एक छोटा हिस्सा, कुछ अन्य प्रकार का ASIC, या CPLD या FPGA।

"सिंगल-चिप कंप्यूटर" उपलब्ध होने के बाद भी, कभी-कभी कोई GAL के बाहर 74181-संगत ALU का निर्माण करेगा , या ALU केवल सरल लॉजिक गेट्स, या यहां तक ​​कि व्यक्तिगत ट्रांजिस्टर या रिले का उपयोग करेगा, सीखने के उद्देश्यों के लिए।

लोगों ने किया है, इसलिए यह संभव होना चाहिए।

ALU डिजाइन और कार्यान्वयन की व्याख्या करने वाला एक कदम-दर-चरण गाइड वास्तव में एक अच्छा विचार है। कृपया माइक्रोप्रोसेस डिज़ाइन विकिबुक में एक लिखने में हमारी मदद करें, शायद "ALU" या "वायर रैप" खंड।



2

ऐतिहासिक रूप से, कुछ ALU कार्य विवेकाधिकार (हाँ, ट्रांजिस्टर और ऐसे) के साथ किया गया था, और कुछ गेट्स के साथ, और 4-बिट 'स्लाइस' चिप्स के साथ बहुत कुछ (TI का SN74181 एक शुरुआती था, और फेयरचाइल्ड 29F01 का दिन था)।
लेकिन आज, यह गेट-एरे या PLA लॉजिक डिस्क्रिप्शन लैंग्वेज में लॉजिक इक्वेशन के निर्माण की बात है। व्यावसायिक रूप से उपलब्ध प्रीबिल्ट मॉड्यूल हैं जो आपके डिजाइन में किसी भी चुने हुए छोटे तर्क इकाई को बंद कर देंगे, यह सब 'आईपी' (बौद्धिक संपदा) को लाइसेंस देने के लिए पैसा है।


1
जब प्रतिरोधक प्रतिरोधों के सापेक्ष सस्ते थे, तो बहुत सारे ट्रिक थे जो बहुत कम ट्रांजिस्टर काउंट के साथ एएलयू के निर्माण की अनुमति दे सकते थे (जैसे एक पूर्ण योजक प्रति चरण दो ट्रांजिस्टर का उपयोग करके)। इस तरह के सर्किट बिजली-भूखे थे और बहुत तेज़ नहीं थे, लेकिन जब ट्रांजिस्टर महंगे थे तो वे काफी लागत बचा सकते थे।
सुपरकैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.