क्या पूरी तरह से ब्रेडबोर्ड और बुनियादी इलेक्ट्रॉनिक घटकों के साथ एक साधारण कंप्यूटर बनाना संभव है? क्या यह संभव है, उदाहरण के लिए इस तरह से एक वैज्ञानिक कैलकुलेटर का निर्माण?
क्या पूरी तरह से ब्रेडबोर्ड और बुनियादी इलेक्ट्रॉनिक घटकों के साथ एक साधारण कंप्यूटर बनाना संभव है? क्या यह संभव है, उदाहरण के लिए इस तरह से एक वैज्ञानिक कैलकुलेटर का निर्माण?
जवाबों:
मैं असहमत हूं कि ब्रेडबोर्ड पर एक माइक्रोकंट्रोलर रखने से ब्रेडबोर्ड पर कंप्यूटर बनाने की योग्यता होती है। I / O (जैसे कीबोर्ड और डिस्प्ले) को छोड़कर, एक माइक्रोकंट्रोलर अपने आप में एक पूर्ण कंप्यूटर है। बस इसे ब्रेडबोर्ड पर रखना और कुछ तारों को जोड़ना तुच्छ है और दस मिनट में किया जा सकता है।
जब ओपी ने पूछा, "क्या पूरी तरह से ब्रेडबोर्ड और बुनियादी इलेक्ट्रॉनिक घटकों के साथ एक साधारण कंप्यूटर बनाना संभव है?", बुनियादी इलेक्ट्रॉनिक घटकों द्वारा मुझे लगता है कि इसका मतलब कुछ इस तरह है:
अब यह बुनियादी घटकों से निर्मित ब्रेडबोर्ड (अच्छी तरह से, कई ब्रेडबोर्ड) पर एक कंप्यूटर है । इसका वर्णन यहाँ है । यह 74LS00 श्रृंखला के IC के एक दर्जन प्रकारों से बना है। (मुझे नहीं लगता कि हम ट्रांजिस्टर वापस जाना चाहते हैं, मूल PDP-8 एक छोटे रेफ्रिजरेटर का आकार था )।
जहां तक एक वैज्ञानिक कैलकुलेटर जाता है, यदि आपने ऊपर दिखाए गए एक सामान्य-उद्देश्य वाले कंप्यूटर का निर्माण किया है, तो इसे वैज्ञानिक कैलकुलेटर के रूप में क्रमादेशित किया जा सकता है। केवल लॉजिक आईसी (कोई कंप्यूटर) का उपयोग करके वैज्ञानिक कैलकुलेटर का निर्माण करना बेहद मुश्किल होगा; गणना के सभी निर्माताओं जैसे (तिवारी, एचपी आदि) ने बड़े पैमाने पर आईसी का इस्तेमाल किया । यहां एक घर-निर्मित कैलकुलेटर है जो प्रारंभिक 4-बिट कैलकुलेटर आईसी का उपयोग करता है।
मैं इस बात से सहमत हूँ कि यदि कोई कंप्यूटर को जल्दी से जल्दी और जल्दी से जल्दी चलाना चाहता है, तो एक माइक्रोकंट्रोलर का उपयोग करना है। अगर कोई वास्तव में यह समझना चाहता है कि कंप्यूटर आंतरिक रूप से कैसे काम करता है, तो बुनियादी आईसी में से एक का निर्माण सही रास्ता है।
यह केवल संभव नहीं है, मैंने वास्तव में यह किया है: https://www.vttoth.com/CMS/projects/47 देखें
यहाँ ब्रेडबोर्ड में से एक के पीछे वायरिंग क्या है:
बेशक यह सब इस बात पर निर्भर करता है कि कौन से घटक "बुनियादी" के रूप में योग्य हैं। मेरे मामले में, बुनियादी घटक 74 थे ... श्रृंखला टीटीएल चिप्स, उनमें से लगभग सौ। पूरी तरह से एक कंप्यूटर बनाने के लिए, कहते हैं, ट्रांजिस्टर ... यह बहुत अधिक भारी होगा।
इसके अलावा, मेरा 4-बिट कंप्यूटर वास्तव में पर्याप्त शक्तिशाली नहीं है जिसका उपयोग वैज्ञानिक कैलकुलेटर के रूप में किया जा सकता है, मुख्य रूप से स्मृति की सीमाओं (256 4-बिट nybbles) के कारण। हालांकि, पता स्थान का विस्तार करना बहुत मुश्किल नहीं है, शायद एक पेजिंग तंत्र का उपयोग करके, और 4096 नायबल्स (12-बिट पते) पहले से ही पर्याप्त हो सकते हैं, 65536 नायबल्स (16-बिट पते) सुनिश्चित करने के लिए।
हां यह संभव है, लेकिन आपको एक वैज्ञानिक कैलकुलेटर के साथ आने के लिए बस कुछ ब्रेडबोर्ड की तुलना में थोड़ी अधिक आवश्यकता होगी, बेशक आप एक बुनियादी घटक पर विचार करते हैं: चाहे आप एक ट्रांजिस्टर को एक बुनियादी घटक कहें, या एक फ्लिप-फ्लॉप , एक EEPROM या सिर्फ कुछ आप एक पुराने रेफ्रिजरेटर से मिलाप कर सकते हैं।
यहाँ कुछ अच्छे उत्तर हैं, लेकिन मैं सिर्फ एक बात बताना चाहूंगा जिसे लोग अक्सर नहीं मानते हैं। कंप्यूटिंग उपकरणों के इतिहास को देखते हुए, पेड़ की छाल और नाखूनों से कंप्यूटर बनाने में कठिनाई न तो सीपीयू है और न ही एएलयू। मुख्य समस्या स्मृति है। क्योंकि आपको काम करने के लिए पूरी संग्रहीत प्रोग्राम अवधारणा के लिए इसकी एक बड़ी राशि की आवश्यकता है। आप कुछ फ्लिप-फ्लॉप और NAND गेट से सीपीयू बना सकते हैं; विशिष्ट बाधाओं के साथ पावर इलेक्ट्रॉनिक्स अनुप्रयोग के लिए उदाहरण के लिए, मैंने एक बार एक माइक्रोप्रोसेसर डिजाइन किया था जो केवल 69 फ्लिप-फ्लॉप (4 16-बिट रजिस्टर, 4 झंडे और 1 राज्य रजिस्टर बिट का उपयोग करते हुए FETCH / EXECUTE) का उपयोग करता है। यह सिलिकॉन में लागू किया गया है और लोग इस पर चलने वाले सॉफ़्टवेयर लिखते हैं। यह सरल है और यह एक बिजली ट्रांजिस्टर के नाली संपर्क के आकार में फिट बैठता है। लेकिन किसी भी उपयोगी प्रोग्राम को स्टोर करने के लिए आवश्यक मेमोरी ज्यादा, ज्यादा बड़ी होती है।
शुरुआत में, स्मृति डिजाइन का शुरुआती बिंदु था। आप द्वि-स्थिर रिले का उपयोग कर सकते हैं जैसा कि उन्होंने शुरुआती टेलीफोन एक्सचेंजों में किया था। फ्लिप-फ्लॉप बनाने के लिए आप वैक्यूम ट्यूब या ट्रांजिस्टर का उपयोग कर सकते हैं; और सीपीयू के रजिस्टर आमतौर पर इस तरह से लागू किए गए थे। लेकिन कार्यक्रम और डेटा भंडारण के लिए, कागज टेप, चुंबकीय टेप, कताई डिस्क या कताई ड्रम का उपयोग किया गया था। यहां तक कि स्टील के तार पर ध्वनिक तरंगें जो इलेक्ट्रॉनिक्स द्वारा लगातार प्राप्त की जाती हैं और वापस ले ली जाती हैं। कुछ भी आप सोच सकते हैं कि उचित लागत के साथ उचित समय के लिए कुछ बिट्स पकड़ सकते हैं। अपोलो ऑर्बिटर और लूनर लैंडर कंप्यूटर ने कॉइल कोर यादों को रस्सियों के रूप में इस्तेमाल किया। इन सभी को अलग-अलग इंटरफ़ेस उपकरणों की आवश्यकता होती है और इस पर बहुत अधिक प्रभाव पड़ता है कि सीपीयू को उन प्रकार की यादों तक पहुंचने के लिए कैसा होना चाहिए। अर्धचालक मेमोरी केवल वास्तव में 1970 में दिखाई दी, आखिरकार उस तरह की जटिलता को खारिज करना। लेकिन फिर से, आधुनिक गतिशील RAMS उतना आसान नहीं है।
फिर कंप्यूटर के लिए इनपुट-आउटपुट इक्विपमेंट डिज़ाइन करने की अतिरिक्त अद्भुतता है। कुछ अनुप्रयोगों के लिए कुछ प्रकाश बल्ब ठीक हैं, लेकिन यदि आपको पाठ इनपुट / आउटपुट या कुछ और भी अधिक जटिल की आवश्यकता है, तो आप फिर से अधिक कठिनाइयों का सामना कर रहे हैं। पंच-कार्ड रीडर, प्रिंटर और पेपर टर्मिनल अपने दिनों में बहुत बड़ा व्यवसाय थे। 1978 के वीटी 100 टेक्स्ट मोड वीडियो टर्मिनल में आपके वैज्ञानिक कैलकुलेटर ब्रेडबोर्ड कंप्यूटर की तुलना में बहुत अधिक मेमोरी और प्रोसेसिंग पावर है।
यह संभव है, लेकिन जटिलता और आकार इस बात पर निर्भर करता है कि आप बुनियादी इलेक्ट्रॉनिक उपकरणों को क्या कहते हैं। एक ALU और सीक्वेंसर लॉजिक थोड़ा जटिल है, लेकिन उल्लेखनीय है। मेमोरी सरल है, लेकिन मूल पैटर्न को बहुत बड़ी संख्या में दोहराया जाना चाहिए (1000 बार सोचें)।
हार्डवेयर के अलावा आपको सॉफ्टवेयर की भी आवश्यकता होगी जो उस पर चलता है। एक मोटे अनुमान के रूप में, मामूली जटिल सीपीयू (क्लासिक 16-बिट निर्देश 8-बिट डेटा स्तर) के लिए आपका सॉफ़्टवेयर प्रयास आपके हार्डवेयर प्रयास के लिए तुलनीय होगा। (अधिक सरलीकृत सीपीयू के लिए आपको अधिक SW प्रयास की आवश्यकता होगी।) और आप उस SW को अपनी मशीन में कैसे लोड करेंगे?
बग शिकार (और हल करना) एक दिलचस्प उपक्रम होगा। मैं आपको वीएचडीएल में राइटिंग शुरू करने और सिम्युलेटर पर चलाने की सलाह दूंगा, जो चिप्स और तारों के एक समूह की तुलना में डिबग करना आसान होगा।
मेरे दो छात्रों ने ~ 1 वर्ष में कुछ बेसिक सॉफ्टवेयर (जीसीसी बैकएंड पोर्ट सहित) के साथ 16-बिट सीपीयू बनाया, जिसकी शुरुआत सिमुलेशन के लिए वीएचडीएल और सी कोड से हुई। ALU ने 74181 चिप्स का उपयोग किया, मेमोरी स्थिर रैम थी, और उन्होंने पीसी और उनके कंप्यूटर के बीच इंटरफेस के लिए एक एटमेगा का उपयोग किया। कंप्यूटर आंशिक रूप से सोल्डरलेस ब्रेडबॉर्ड्स पर और आंशिक रूप से PCBs (8 16 बिट रजिस्टरों) पर था। (ये दोनों औसत छात्र नहीं थे !)
हाँ यह संभव है। लेकिन आपको गणित करने के लिए एक माइक्रोकंट्रोलर की आवश्यकता होती है। यह एक उदाहरण परियोजना है। इसमें एवीआर माइक्रोकंट्रोलर और 16 × 2 एलसीडी डिस्प्ले का उपयोग किया गया है।