यह एक व्यापक प्रश्न है जिसका आसान उत्तर नहीं है; यह फ़ायरफ़ॉक्स में एक वेबसाइट को प्रस्तुत करने के लिए तांबे के तारों के साथ-साथ इलेक्ट्रॉनों से एक लंबा रास्ता तय करता है। मैं आपको नीचे से ऊपर तक एक सिंहावलोकन देने का प्रयास करूँगा और आपको देखने के लिए सही चीज़ों की ओर इशारा करूँगा।
एन्कोडिंग संख्या
मूल प्रेरणा चीजों की गणना करना है, जैसा कि अंकगणित करने में है। पहली बात यह है कि संख्याओं का प्रतिनिधित्व कैसे करें। दशमलव या टर्नरी का उपयोग करते हुए कई दृष्टिकोण रहे हैं और मुझे लगता है कि यहां तक कि अष्टक प्रणाली भी है, लेकिन अंत में, बाइनरी जीत गई। अब हम जानते हैं कि हमें ऐसे उपकरणों का निर्माण करना होगा जो दो मूल्यों से निपटते हैं - चलो उन्हें और कहते हैं ।१01
ध्यान दें कि बाइनरी में संख्याओं को एनकोड करने के कई तरीके भी हैं। अपना पहला प्रोसेसर बनाने के बाद, आपको कुछ तरीकों से काम करने के फायदों का एहसास होता है। लोकप्रिय उदाहरण दो-पूरक और IEEE फ़्लोट हैं । शुरुआत के लिए, अपने आप को सादे प्राकृतिक संख्या तक सीमित रखें।
गेट्स
मान लें कि हम बाइनरी एन्कोडिंग का उपयोग करते हैं। इस बारे में सोचें कि आपने प्राथमिक विद्यालय में जोड़ना कैसे सीखा और द्विआधारी संख्याओं के लिए समान लिखें। जैसा कि यह पता चला है, बूलियन बीजगणित के निर्माण खंड पहले से ही आपके लिए हैं; लॉजिक गेट्स का उपयोग करके एक बुनियादी योजक (और अन्य अंकगणितीय कार्य) का निर्माण करना आसान है ।
इस तरह के द्वार का निर्माण कंप्यूटर विज्ञान के दायरे से बाहर है; इलेट्रिकल इंजीनियरिंग ने उदाहरण के लिए ट्यूब या ट्रांजिस्टर का उपयोग करके कई समाधान प्रदान किए हैं । इस पर प्रश्नों के लिए इलेक्ट्रिकल इंजीनियरिंग स्टैक एक्सचेंज का प्रमुख ।
घड़ी और राज्य
सभी गेट समान रूप से तेज़ नहीं होते हैं और गणना के सभी भागों में समान गेट नहीं होते हैं। इसलिए, हमें अतिरिक्त ध्यान रखना होगा कि व्यक्तिगत संचालन एक-दूसरे से आगे न बढ़ें। यह एक वैश्विक घड़ी का उपयोग करने के लिए उपयोगी साबित हुआ है ; गेटों के दिए गए नेटवर्क का परिणाम चक्र के अंत में आउटपुट तारों की स्थिति है (जो कि अपने व्यक्तिगत अंतिम राज्यों की ओर कैस्केड करते समय बेतहाशा बदल सकते हैं)।
इसका मतलब है कि एक चक्र के परिणाम अगले चक्र शुरू होने तक संग्रहीत किए जा सकते हैं, उदाहरण के लिए यदि आप छोरों को तार करते हैं। कई बुनियादी तत्व हैं जिनका उपयोग आप अलग-अलग प्रभाव के लिए कर सकते हैं, सभी गेटों से निर्मित होते हैं; कुछ फ्लिप-फ्लॉप कहलाते हैं । उन का उपयोग रजिस्टर बनाने के लिए भी किया जाता है , ऐसे तत्व जो आवश्यकतानुसार कई घड़ी चक्रों के लिए संख्याओं को संग्रहीत करते हैं।
आर्किटेक्चर और कमांड्स
अब आपके पास बनाने के लिए असंख्य डिज़ाइन विकल्प हैं। आपके प्रोसेसर क्या अंकगणित संचालन प्रदान करता है? आपके आदेश क्या दिखते हैं? यह MIPS वास्तुकला को देखने के लिए शैक्षिक हो सकता है, जिसके प्रारंभिक रूप अन्य डिजाइनों की तुलना में आसान हैं। योजनाओं पर एक नजर :
से मूल http://ube.ege.edu.tr/~erciyes/CENG311
अनिवार्य रूप से, यह लाने और आदेशों का एक समूह, ALU और नियंत्रण को हटाने वाला है । कमांड को सांकेतिक शब्दों में बदलना है, जो ALU ऑपरेशन को किस ऑपरेंड (जिस नंबर पर रजिस्टर किया गया है, उसके द्वारा) को कैसे प्रोग्राम काउंटरulate में हेरफेर करता है या कौन से / से मेमोरी³ में लोड / स्टोर करने के लिए रजिस्टर करता है।
आगे के विचार
अब तक आपके पास आधुनिक अर्थों में एक काम करने वाला प्रोसेसर है, यह मानते हुए कि आप एक मेमोरी का निर्माण कैसे करते हैं और इसे कमांड करने का एक तरीका है। एक आधुनिक मशीन के रास्ते में, कई विकल्प बनाने होंगे। यहाँ कुछ हैं:
वैकल्पिक
उपरोक्त बहुत अधिक प्रभावित है कि इतिहास कैसे निकला। अलग-अलग दिमाग वाली दुनिया में, कंप्यूटर अलग तरीके से काम कर सकते हैं। वास्तव में, गणना के बहुत सारे मॉडल हैं , जिनमें से कुछ के फायदे हैं जो उन्हें कई मामलों में वास्तविक मशीनों के लिए अमूर्त के रूप में उपयोगी बनाते हैं। हमारे दिमाग के काम करने के तरीके की नकल करने की कोशिशें भी हैं, जो कि तंत्रिका कंप्यूटिंग को सक्षम करने के लिए है , या अधिक सामान्यतः प्रकृति में मनाए जाने वाले समस्या-समाधान और सूचना-भंडारण रणनीतियों का फायदा उठाने के लिए है , सबसे प्रमुख रूप से डीएनए और क्वांटम कंप्यूटिंग।
तो शायद (उम्मीद है?) उपरोक्त जानकारी अब से ५० या १०० साल बाद सभी प्राचीन इतिहास है।
- आज हम कंप्यूटर के साथ जो भी फैंसी चीजें करते हैं, वे कई छोटे अंकगणितीय कार्यों में टूट जाती हैं, जिन्हें प्रोसेसर एक-एक करके निष्पादित करता है।
- यदि आपका मॉडल प्रोग्राम को नियंत्रण प्रवाह में हेरफेर करने की अनुमति देता है, तो यह मेमोरी एड्रेस होगा जो प्रोसेसर को अगला निर्देश प्राप्त करता है। आप उन मशीनों की भी कल्पना कर सकते हैं जो केवल एक टेप से निर्देशों का एक निश्चित सेट पढ़ते हैं। वास्तव में, प्रारंभिक कार्यान्वयन ने ऐसा किया। नो जंप का मतलब नो लूप्स; एक कार्यक्रम डेटा के आधार पर निर्देशों की एक पूरी तरह से अनियंत्रित / अनफोल्ड श्रृंखला थी। जाहिर है, कई इनपुट डेटा के लिए एक ही प्रोग्राम का उपयोग करने में सक्षम होना अधिक शक्तिशाली है।
- मान लिया कि आपके पास स्मृति है; आपका प्रोसेसर बिना ठीक काम करता है, लेकिन उसके बाद एक ही बार में इतने सारे मूल्यों से निपट सकता है। शुरुआती कंप्यूटरों ने टेपों से अपने सभी डेटा को पढ़ा और उन्हें रजिस्टरों में रखा। कोई स्मृति नहीं थी, अकेले लिखने योग्य, निरंतर भंडारण के रूप में हम आज इसे जानते हैं।