बेस कंप्यूटर का कमांड सिस्टम। कंप्यूटर कमांड की प्रणाली और डेटा तक पहुँचने के तरीके

कंप्यूटर आर्किटेक्चर का एक महत्वपूर्ण घटक कमांड सिस्टम है। कंप्यूटर की बड़ी संख्या के बावजूद, निम्नतम ("मशीन") स्तर पर, उनमें बहुत कुछ समान है। किसी भी कंप्यूटर के कमांड सिस्टम में आवश्यक रूप से सूचना प्रसंस्करण कमांड के निम्नलिखित समूह होते हैं।

1. डेटा ट्रांसफर कमांड (जनगणना), जानकारी को एक स्थान से दूसरे स्थान पर कॉपी करना।

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

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

4. बायनेरी कोड को बायीं ओर और दायीं ओर शिफ्ट करना। आदेशों के इस समूह के महत्व को साबित करने के लिए, एक कॉलम में गुणन नियम को याद करने के लिए पर्याप्त है: प्रत्येक बाद के उत्पाद को ऐसी योजना में एक अंक के बाईं ओर शिफ्ट के साथ लिखा जाता है। कुछ विशेष मामलों में, सामान्य रूप से गुणा और भाग को एक शिफ्ट द्वारा प्रतिस्थापित किया जा सकता है (याद रखें कि शून्य को दाईं ओर जोड़कर या हटाकर, यानी वास्तव में एक दशमलव संख्या को स्थानांतरित करके, आप इसे 10 गुना बढ़ा या घटा सकते हैं)।

5. बाहरी उपकरणों के साथ आदान-प्रदान के लिए सूचना के इनपुट और आउटपुट के लिए आदेश। कुछ कंप्यूटरों में, बाहरी डिवाइस विशेष सर्विस मेमोरी एड्रेस होते हैं, इसलिए इनपुट और आउटपुट को सेंसस कमांड का उपयोग करके किया जाता है।

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

जैसे-जैसे प्रोसेसर डिवाइस की जटिलता बढ़ती है, नियंत्रण बिट्स की स्थिति का विश्लेषण करने और उन पर कार्य करने वाले निर्देशों की संख्या भी बढ़ जाती है। यहां, उदाहरण के लिए, हम प्रोसेसर ऑपरेशन मोड के बिट्स और बाहरी उपकरणों से इंटरप्ट मैकेनिज्म को नियंत्रित करने के लिए बिट्स को नाम दे सकते हैं।


हाल ही में, निर्देश सेट में एक महत्वपूर्ण भूमिका एक डेटा प्रारूप से दूसरे में परिवर्तित करने के निर्देशों द्वारा निभाई जाती है (उदाहरण के लिए, 8-बिट से 16-बिट, आदि), जो विभिन्न प्रकार के डेटा के प्रसंस्करण को काफी सरल करता है, लेकिन सिद्धांत रूप में कई सरल आदेशों के अनुक्रम द्वारा प्रतिस्थापित किया जा सकता है।

निर्देश प्रणाली को ध्यान में रखते हुए, इसके निर्माण में दो आधुनिक परस्पर प्रतिस्पर्धी दिशाओं का उल्लेख नहीं करना असंभव है: एक कंप्यूटर जिसमें निर्देशों का एक पूरा सेट CISC (कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटर) और एक सीमित सेट के साथ - RISC (रिड्यूस्ड इंस्ट्रक्शन सेट कंप्यूटर)। विभाजन इस तथ्य के कारण उत्पन्न हुआ कि अधिकांश समय कंप्यूटर को अपने निर्देश सेट के एक छोटे से हिस्से को निष्पादित करना पड़ता है, जबकि बाकी का उपयोग छिटपुट रूप से किया जाता है (एक लोकप्रिय लेख में इसे मजाक में निम्नलिखित दृश्य सादृश्य के रूप में तैयार किया गया था: "20 आबादी का% 80% बीयर पीते हैं")। इस प्रकार, यदि आप संचालन के सेट को सबसे सरल और सबसे छोटे तक सीमित करते हैं, लेकिन ध्यान से उन्हें अनुकूलित करते हैं, तो आपको काफी कुशल और तेज़ RISC मशीन मिल जाएगी। सच है, आपको "त्याग दिए गए" आदेशों के सॉफ़्टवेयर कार्यान्वयन की आवश्यकता से गति के लिए भुगतान करना होगा, लेकिन अक्सर यह कीमत उचित होती है: उदाहरण के लिए, वैज्ञानिक गणना या कंप्यूटर ग्राफिक्स के लिए, प्रोग्रामिंग समस्याओं की तुलना में गति बहुत अधिक महत्वपूर्ण है। अधिक विस्तार से, आधुनिक माइक्रोप्रोसेसरों की निर्देश प्रणाली से संबंधित मुद्दों पर इस अध्याय में बाद में चर्चा की जाएगी।

संक्षेप में, हम एक बार फिर इस बात पर जोर देते हैं कि कंप्यूटर के तेजी से विकास के दौरान निर्देशों के मूल सेट में बहुत कम बदलाव आया है। इसी समय, स्मृति में सूचना के स्थान का पता निर्दिष्ट करने के तरीकों में महत्वपूर्ण परिवर्तन हुए हैं और विशेष ध्यान देने योग्य हैं।

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

ऑपरेशन कोड की कल्पना कमांड सिस्टम की सामान्य सूची में कुछ सशर्त संख्या के रूप में की जा सकती है। मूल रूप से, यह सूची कुछ आंतरिक पैटर्न के अनुसार बनाई गई है, हालांकि वे हमेशा स्पष्ट नहीं होते हैं।

पता भाग में बहुत अधिक विविधता है और इसे और अधिक विस्तार से माना जाना चाहिए।

सबसे पहले, हम ध्यान दें कि निर्देश एक-, दो- और तीन-पते हो सकते हैं, जो उनमें भाग लेने वाले ऑपरेंड की संख्या पर निर्भर करता है।

पहले कंप्यूटरों में सबसे सरल और सहज ज्ञान युक्त तीन-पता कमांड सिस्टम था। उदाहरण के लिए: मेमोरी एड्रेस A1 और A2 से नंबर लें, उन्हें जोड़ें और योग को एड्रेस A3 में डालें। यदि ऑपरेशन के लिए कम संख्या में पतों की आवश्यकता होती है, तो अतिरिक्त पते का उपयोग नहीं किया जाता था। मान लीजिए, जनगणना ऑपरेशन में, केवल स्रोत और सूचना प्राप्त करने वाले A1 और A3 की कोशिकाओं को इंगित किया गया था, और A2 की सामग्री का कोई अर्थ नहीं था।

थ्री-एड्रेस कमांड को समझना आसान था और उपयोग में सुविधाजनक था, लेकिन रैम की वृद्धि के साथ, इसकी लंबाई निषेधात्मक हो गई। दरअसल, निर्देश की लंबाई तीन पतों की लंबाई और ऑपरेशन कोड का योग है। यह निम्नानुसार है, उदाहरण के लिए, 1024 कोशिकाओं की एक मामूली रैम के लिए, एक निर्देश के पता भाग को लिखने के लिए केवल 3 * 10 = 30 बिट्स की आवश्यकता होती है, जो तकनीकी कार्यान्वयन के लिए बहुत सुविधाजनक नहीं है। इसलिए, दो-पता वाली मशीनें दिखाई दीं, निर्देश की लंबाई जिसमें परिणाम रिकॉर्ड के पते को हटाकर कम किया गया था। ऐसे कंप्यूटरों में, ऑपरेशन का परिणाम एक विशेष रजिस्टर (योजक) में रहता था और बाद की गणनाओं में उपयोग के लिए उपयुक्त था। कुछ मशीनों में, एक ऑपरेंड के बजाय परिणाम लिखा गया था।

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

सेल A1 की सामग्री को योजक में निकालें;

A2 से संख्या के साथ योजक जोड़ें;

परिणाम को योजक से A3 में लिखें।

ऐसा लग सकता है कि एक यूनिकास्ट मशीन को तीन-पता मशीन के रूप में एक समस्या को हल करने के लिए तीन गुना अधिक कमांड की आवश्यकता होगी। वास्तव में, हमेशा ऐसा नहीं होता है। अभिव्यक्ति A5 = (A1 + A2) * 33 / A4 की गणना करने के लिए अपने स्वयं के कार्यक्रम की योजना बनाने का प्रयास करें और आप पाएंगे कि आपको कुल तीन तीन-पता आदेशों और पांच एकल-पता निर्देशों की आवश्यकता है। इस प्रकार, यूनिकास्ट मशीन कुछ मायनों में और भी अधिक कुशल है, क्योंकि यह अनावश्यक रूप से स्मृति में मध्यवर्ती परिणाम नहीं लिखता है।

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

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

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

वर्णित पता संशोधन तंत्र ने चक्रीय कार्यक्रमों के लेखन को बहुत सरल बना दिया है, जैसे कि लगातार रैम कोशिकाओं का योग खोजना, व्यक्तिगत मेमोरी अनुभागों की प्रतिलिपि बनाना आदि।

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

मशीन शब्द का आकार, जाहिरा तौर पर, संसाधित की जा रही जानकारी के स्वरूपों के आधार पर चुना गया था, न कि किसी भी उपकरण की क्षमता के संबंध में। इसकी पुष्टि करने के लिए, हम ईसी परिवार के विशिष्ट तीसरी पीढ़ी के कंप्यूटरों के बारे में कुछ तथ्य प्रस्तुत करते हैं। EC-1022 मॉडल की अंकगणितीय-तार्किक इकाई में 16 बाइनरी अंक थे, EC-1033 में 32 अंक थे और EC-1050 में 64 अंक थे। उसी समय, "ईसी -1022" और "ईसी -1033" में रैम तक एक पहुंच के लिए 4 बाइट्स का चयन किया गया था, "ईसी -1050" में - 8 बाइट्स (और "ईसी -1045" - 16 में) बाइट्स)। इस प्रकार, संख्याओं की विविधता इंगित करती है कि 32 बिट (4 बाइट्स) कुछ तकनीकी रूप से आवंटित जानकारी की मात्रा नहीं थी।

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

परीक्षण प्रश्न

1. कंप्यूटर आर्किटेक्चर क्या है? एक परिभाषा तैयार करें और इसे समझें।

2. कंप्यूटर आर्किटेक्चर और आर्किटेक्चर की सामान्य अवधारणा के बीच एक सादृश्य बनाएं। क्या आम है और क्या अंतर है?

3. "आंतरिक कंप्यूटर उपकरण" की अवधारणाओं में क्या सामान्य है और क्या अंतर है

और "कंप्यूटर वास्तुकला"?

4. कंप्यूटर का परिवार क्या है? उदाहरण दो।

5. स्पष्ट करें कि सॉफ्टवेयर संगतता का सिद्धांत क्या है। बॉटम-अप संगतता क्या है (जिन परिवारों को आप जानते हैं उनमें से किसी एक के उदाहरण के साथ समझाएं)?

6. क्या "वास्तुकला" की अवधारणा से संबंधित निम्नलिखित तथ्य हैं:

क) क्या कंप्यूटर गतिशील (या स्थिर) रैम चिप्स का उपयोग करता है?

b) क्या कंप्यूटर में विस्तारित मेमोरी है?

c) क्या कंप्यूटर में एक सामान्य बस है (नहीं है), जिसके माध्यम से उसके उपकरणों के बीच सूचना प्रसारित की जाती है?

d) INTEL 80386 प्रोसेसर में, INTEL 80286 की तुलना में कमांड सिस्टम में कुछ नए जोड़े गए हैं?

ई) क्या नए कंप्यूटर मॉडल की मेमोरी क्षमता दोगुनी कर दी गई है?

7. वॉन न्यूमैन वास्तुकला के मुख्य सिद्धांतों की सूची बनाएं और उनकी सामग्री की व्याख्या करें।

8. कंप्यूटर में बाइनरी सिस्टम के व्यापक उपयोग का क्या कारण है?

9. क्या यह संभव है। एकल मेमोरी सेल की सामग्री को देखते हुए, यह निर्धारित करें कि इसमें कौन सी जानकारी संग्रहीत है: संख्या, कमांड, प्रतीक?

10. कंप्यूटर के मुख्य घटक क्या हैं?

11. प्रोग्राम काउंटर क्या है और यह क्या भूमिका निभाता है?

12. एक राजमार्ग (बस) क्या है?

13. कंप्यूटर की रीढ़ की हड्डी की संरचना के क्या लाभ हैं?

14. एक बाहरी उपकरण नियंत्रक क्या है और यह सूचना विनिमय की प्रक्रिया में क्या भूमिका निभाता है?

15. कंप्यूटर में वीडियो मेमोरी क्या भूमिका निभाती है?

ए) टेक्स्ट मोड (प्रत्येक में 80 वर्णों की 24 पंक्तियाँ);

बी) 640x200 पिक्सल के स्क्रीन आकार के साथ ग्राफिक ब्लैक एंड व्हाइट मोड;

सी) एक ही स्क्रीन आकार के साथ 16-रंग मोड।

17. डीएमए मोड क्या है?

18 मशीन कमांड के प्राथमिक घटक का नाम क्या है? कमांड निष्पादन की गति क्या निर्धारित कर सकती है?

19. मशीन कमांड के निष्पादन में मुख्य चरणों का वर्णन करें। विशेष ध्यान

कार्यक्रम काउंटर की भूमिका पर ध्यान दें।

20. कमांड पाइपलाइनिंग क्या है और इसके क्या फायदे हैं?

21. किसी भी कंप्यूटर के कमांड सिस्टम में शामिल मुख्य ऑपरेशन क्या हैं?

इनमें से प्रत्येक समूह का संक्षेप में वर्णन कीजिए।

22. बताएं कि कम (अपूर्ण) कंप्यूटर का निर्माण क्यों संभव है

कमांड सेट और यह क्या देता है।

23. कंप्यूटर टीम में कौन से भाग होते हैं? उनके उद्देश्य का संक्षेप में वर्णन कीजिए।

24. वन-, टू- और थ्री-एड्रेस कमांड में क्या अंतर है?

25. RAM पता क्या है?

26. कई के साथ काम करने के लिए आप एक ही कमांड का उपयोग कैसे कर सकते हैं

लगातार कोशिकाएं?

27. पिछली दो की तुलना में तीसरी पीढ़ी के कंप्यूटर के मेमोरी डिवाइस में अंतर निर्दिष्ट करें।

कंप्यूटर आर्किटेक्चर का एक महत्वपूर्ण घटक कमांड सिस्टम है, इसलिए हम इस मुद्दे पर आगे विचार करेंगे।

नीचे टीम अगले चरण को करने के लिए प्रोसेसर के लिए आवश्यक बाइनरी कोड के रूप में प्रस्तुत जानकारी की समग्रता को समझें।

कमांड कोड में, जानकारी रखने के लिए कुछ अंक (फ़ील्ड) आवंटित किए जाते हैं:

ऑपरेशन के प्रकार के बारे में,

RAM कोशिकाओं के पते जिनमें संसाधित डेटा संग्रहीत किया जाता है,

मेमोरी सेल के पते जहां ऑपरेशन का परिणाम लिखा जाएगा।

एक पूर्व-व्यवस्थित फ़ील्ड संरचना जो कंप्यूटर को कमांड कोड के घटक भागों को पहचानने की अनुमति देती है, कहलाती है कमांड प्रारूप .

कमांड फॉर्मेट के उदाहरण चित्र 5 में दिखाए गए हैं।

चित्र 5

कमांड कोड का मुख्य तत्व ऑपरेशन कोड (COP) है, जो यह निर्धारित करता है कि इस कमांड पर कौन सी क्रियाएं की जाएंगी। इसके अंतर्गत प्रारूप के N उच्च-क्रम अंक आवंटित किए जाते हैं।

शेष अंकों में ए 1 और ए 2 - ऑपरेंड के पते, ए 3 - परिणाम का पता होता है।

एड्रेसिंग मेथड में बदलाव होने पर कमांड फॉर्मेट में फील्ड्स का वितरण बदल सकता है।

कमांड की लंबाई एड्रेस फील्ड की संख्या पर निर्भर करती है। पतों की संख्या के अनुसार, कमांड को अनड्रेस्ड में विभाजित किया जाता है; एक-, दो-, तीन-पता।

याद रखें कि कमांड कोड में उस डेटा के बारे में जानकारी होती है जिस पर कुछ ऑपरेशन करने की आवश्यकता होती है। इन आंकड़ों को ऑपरेंड कहा जाता है। आमतौर पर, ऑपरेंड कंप्यूटर की मुख्य या रजिस्टर मेमोरी में समाहित होते हैं। जिस तरह से ऑपरेंड को मेमोरी में देखा जाता है वह निर्देश के प्रारूप को भी निर्धारित करता है।

मेमोरी में ऑपरेंड खोजने के 2 अलग-अलग सिद्धांत हैं: साहचर्य और पता:

- सहयोगी खोज (मेमोरी सेल की सामग्री द्वारा खोजें) में कमांड द्वारा निर्दिष्ट सहयोगी विशेषता वाले कोड की पहचान करने के लिए सभी मेमोरी सेल की सामग्री को देखना शामिल है।

- पता खोज मानता है कि ऑपरेंड निर्देश के पता फ़ील्ड में निर्दिष्ट पते पर स्थित है।

संकार्य के निष्पादन पते और निर्देश के पता कोड के बीच अंतर करें।

संकार्य निष्पादन पतामेमोरी सेल की संख्या का बाइनरी कोड कहलाता है जिसके द्वारा ऑपरेंड लिखा या पढ़ा जाएगा।

कमांड एड्रेस कोडकमांड के एड्रेस फील्ड में बाइनरी कोड कहलाता है, जिसकी मदद से ऑपरेंड का इफेक्टिव एड्रेस बनाना जरूरी होता है। एक कंप्यूटर में, पता कोड और निष्पादन पता मेल नहीं खाता है, इसलिए एड्रेसिंग विधि को निर्देश के एड्रेस कोड से निष्पादन पता उत्पन्न करने के लिए एक विधि के रूप में परिभाषित किया जा सकता है।

ऑपरेंड को संबोधित करने के तरीकों के विवरण में इन अवधारणाओं का आगे उपयोग किया जाएगा।

मेमोरी में ऑपरेंड की खोज के प्रकार के आधार पर ऑपरेंड एड्रेसिंग विधियों को वर्गीकृत किया जाता है:

1) आदेश में पता जानकारी की उपस्थिति से:

-स्पष्ट संबोधन। इस पद्धति के साथ, निर्देश कोड में एक ऑपरेंड पता फ़ील्ड होता है;



- निहित संबोधन। इस पद्धति के साथ, निर्देश में कोई पता फ़ील्ड नहीं है, और ऑपरेंड का पता opcode द्वारा निहित है। उदाहरण के लिए, गंतव्य रिसीवर के पते को कमांड से बाहर रखा जा सकता है, यह समझा जाता है कि परिणाम दूसरे ऑपरेंड के स्थान पर लिखा गया है।

2) रैम तक पहुंच की आवृत्ति के अनुसार:

- सीधे संबोधित।डायरेक्ट एड्रेसिंग के साथ, ऑपरेंड सीधे निर्देश के एड्रेस फील्ड (चित्र 6) में स्थित होता है।

चित्र 6

- सीधे संबोधित।डायरेक्ट एड्रेसिंग के साथ, ऑपरेंड को इंस्ट्रक्शन फील्ड में एड्रेस कोड द्वारा एक्सेस किया जाता है। इस मामले में, निष्पादन पता निर्देश कोड के पते के साथ मेल खाता है। इसे निम्न आकृति (चित्र 7) द्वारा स्पष्ट किया जा सकता है।

चित्र 7

- अप्रत्यक्ष संबोधन।इनडायरेक्ट एड्रेसिंग के साथ, इंस्ट्रक्शन कोड मेमोरी लोकेशन के पते को इंगित करता है जहां ऑपरेंड स्वयं स्थित नहीं है, लेकिन इसका पता, जिसे पॉइंटर कहा जाता है। इसे निम्न आकृति (चित्र 8) द्वारा स्पष्ट किया जा सकता है।

चित्र 7

3) मेमोरी सेल एड्रेस बनाने की विधि के अनुसार:

- पूर्ण संबोधनयह माना जाता है कि मेमोरी सेल के पते का बाइनरी कोड पूरी तरह से या तो निर्देश के पता क्षेत्र से या अप्रत्यक्ष पते के मामले में किसी अन्य सेल से निकाला जा सकता है।

- रिलेटिव एड्रेसिंगमान लें कि ऑपरेंड का बाइनरी कोड कई घटकों से बनता है:

बी - आधार कोड;

मैं - सूचकांक कोड;

सी - ऑफसेट कोड।

इन घटकों का उपयोग विभिन्न संयोजनों में किया जाता है।

रिश्तेदार पते के प्रकार:



चित्र 9

ऑपरेंड का पता बनाने के लिए रजिस्टर मेमोरी का उपयोग किया जाता है।

सरणी में i- संकार्य के पते को ऑपरेंड सरणी के प्रारंभिक पते के योग के रूप में परिभाषित किया जाता है, जो ऑफ़सेट S द्वारा दिया जाता है, और सूचकांक i, जो एक रजिस्टर मेमोरी रजिस्टर में लिखा जाता है, जिसे इंडेक्स रजिस्टर कहा जाता है।

इंडेक्स एआई के एड्रेस फील्ड द्वारा कमांड में इंडेक्स रजिस्टर का पता निर्दिष्ट किया जाता है।

प्रत्येक i-वें चक्र में, सूचकांक रजिस्टर की सामग्री को एक स्थिर मान से बदल दिया जाता है, आमतौर पर 1.

सरणियों वाले कार्यक्रमों के लिए जिन्हें सरणी तत्वों पर समान प्रकार के संचालन की आवश्यकता होती है, इस प्रकार के पते का उपयोग करना सुविधाजनक होता है

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

3) स्टैक एड्रेसिंग. आधुनिक कंप्यूटरों में स्टैक मेमोरी का व्यापक रूप से उपयोग किया जाता है। हालाँकि स्टैक पते का पता निर्देश में नहीं है, यह नियंत्रण योजना (चित्र 9) द्वारा बनता है:

चित्र 9

रिकॉर्ड पढ़ने के लिए केवल एक रजिस्टर उपलब्ध है - स्टैक का शीर्ष।

इस एड्रेसिंग विधि का उपयोग, विशेष रूप से, प्रोग्राम इंटरप्ट सिस्टम द्वारा सबरूटीन को कॉल करते समय किया जाता है।

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

चित्र 10

उदाहरण। सी में लिखे गए सबरूटीन को कॉल करना।

C भाषा में सबरूटीन्स को फंक्शन कहा जाता है। एक फ़ंक्शन में तर्क और स्थानीय चर हो सकते हैं, यानी वे चर जो केवल फ़ंक्शन के निष्पादन के दौरान मौजूद होते हैं। मान लीजिए कि फ़ंक्शन पूर्णांक प्रकार के दो इनपुट तर्क x और y पर निर्भर करता है और पूर्णांक प्रकार के तीन स्थानीय चर a, b और c का भी उपयोग करता है। फ़ंक्शन एक पूर्णांक मान देता है।

सबरूटीन:

मुख्य कार्यक्रम:

उदाहरण के लिए, प्रोग्राम में एक निश्चित स्थान पर, फ़ंक्शन f को तर्कों के साथ x = 2, y = 3 कहा जाता है। कॉलिंग प्रोग्राम फ़ंक्शन f के तर्क x और y के वास्तविक मानों को स्टैक पर धकेलता है, जिसमें स्टैक के शीर्ष पर फ़ंक्शन का पहला तर्क, और उसके नीचे दूसरा तर्क। जब कोई फ़ंक्शन कॉल निर्देश निष्पादित किया जाता है, तो रिटर्न पता भी स्टैक के शीर्ष पर रखा जाता है। फ़ंक्शन f की शुरुआत में, स्टैक इस तरह दिखता है:

निष्पादन से पहले, फ़ंक्शन f को अपने स्थानीय चर a, b, c के लिए स्टैक पर मेमोरी क्षेत्र को कैप्चर करना चाहिए।

प्राप्य मशीन क्रियाओं का सेट इसका बनाता है कमांड सिस्टम .

कंप्यूटर की बड़ी संख्या के बावजूद, निम्नतम ("मशीन") स्तर पर, उनमें बहुत कुछ समान है।

किसी भी कंप्यूटर के कमांड सिस्टम में आवश्यक रूप से सूचना प्रसंस्करण कमांड के निम्नलिखित समूह होते हैं:

1. डेटा ट्रांसफर कमांड (जनगणना), जानकारी को एक स्थान से दूसरे स्थान पर कॉपी करना।

प्रोसेसर रजिस्टरों के बीच आदान-प्रदान,

प्रोसेसर और रैम,

प्रोसेसर और परिधीय।

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

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

4. बायनेरी कोड को बायीं ओर और दायीं ओर शिफ्ट करना। आदेशों के इस समूह के महत्व को साबित करने के लिए, एक कॉलम में गुणन नियम को याद करने के लिए पर्याप्त है: प्रत्येक बाद के उत्पाद को ऐसी योजना में एक अंक के बाईं ओर शिफ्ट के साथ लिखा जाता है। कुछ विशेष मामलों में, सामान्य रूप से गुणा और भाग को एक शिफ्ट द्वारा प्रतिस्थापित किया जा सकता है (याद रखें कि शून्य को दाईं ओर जोड़कर या हटाकर, यानी वास्तव में एक दशमलव संख्या को स्थानांतरित करके, आप इसे 10 गुना बढ़ा या घटा सकते हैं)।

5. बाहरी उपकरणों के साथ आदान-प्रदान के लिए सूचना के इनपुट और आउटपुट के लिए आदेश। कुछ कंप्यूटरों में, बाहरी डिवाइस विशेष सर्विस मेमोरी एड्रेस होते हैं, इसलिए इनपुट और आउटपुट को सेंसस कमांड का उपयोग करके किया जाता है।

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

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

कंप्यूटर का मुख्य चक्र

यह खंड कंप्यूटर में कमांड निष्पादित करते समय क्रियाओं के अनुक्रम पर संक्षेप में चर्चा करता है। यह तर्क दिया जा सकता है कि ऑपरेटिंग चक्र आम तौर पर सभी वॉन न्यूमैन मशीनों के लिए समान होता है।

कंप्यूटर कमांड की प्रणाली और डेटा तक पहुँचने के तरीके

कंप्यूटर आर्किटेक्चर का एक महत्वपूर्ण घटक कमांड सिस्टम है। कंप्यूटर की बड़ी संख्या के बावजूद, निम्नतम ("मशीन") स्तर पर, उनमें बहुत कुछ समान है। किसी भी कंप्यूटर के कमांड सिस्टम में आवश्यक रूप से सूचना प्रसंस्करण कमांड के निम्नलिखित समूह होते हैं।

  • 1. डेटा ट्रांसफर कमांड (जनगणना), जानकारी को एक स्थान से दूसरे स्थान पर कॉपी करना।
  • 2. अंकगणितीय संचालन, जिसके लिए वास्तव में कंप्यूटर प्रौद्योगिकी का नाम है। बेशक, आधुनिक कंप्यूटर में कम्प्यूटेशनल क्रियाओं का हिस्सा काफी कम हो गया है, लेकिन वे अभी भी कार्यक्रमों में महत्वपूर्ण भूमिका निभाते हैं। ध्यान दें कि बुनियादी अंकगणितीय संचालन में आमतौर पर जोड़ और घटाव शामिल होते हैं (बाद में, अंत में, अक्सर एक तरह से या किसी अन्य को भी घटाया जाता है)। गुणा और भाग के लिए, उन्हें विशेष कार्यक्रमों के अनुसार कई कंप्यूटरों में किया जाता है।
  • 3. तार्किक संचालन जो कंप्यूटर को संसाधित की जा रही जानकारी का विश्लेषण करने की अनुमति देता है। सबसे सरल उदाहरण तुलना, साथ ही प्रसिद्ध तार्किक संचालन और, या, नहीं (उलटा) हैं। इसके अलावा, कोड के अलग-अलग बिट्स का विश्लेषण, उनके रीसेट और इंस्टॉलेशन को अक्सर उनमें जोड़ा जाता है।
  • 4. बायनेरी कोड को बायीं ओर और दायीं ओर शिफ्ट करना। आदेशों के इस समूह के महत्व को साबित करने के लिए, एक कॉलम में गुणन नियम को याद करने के लिए पर्याप्त है: प्रत्येक बाद के उत्पाद को ऐसी योजना में एक अंक के बाईं ओर शिफ्ट के साथ लिखा जाता है। कुछ विशेष मामलों में, सामान्य रूप से गुणा और भाग को एक शिफ्ट द्वारा प्रतिस्थापित किया जा सकता है (याद रखें कि शून्य को दाईं ओर जोड़कर या हटाकर, यानी वास्तव में एक दशमलव संख्या को स्थानांतरित करके, आप इसे 10 गुना बढ़ा या घटा सकते हैं)।
  • 5. बाहरी उपकरणों के साथ आदान-प्रदान के लिए सूचना के इनपुट और आउटपुट के लिए आदेश। कुछ कंप्यूटरों में, बाहरी डिवाइस विशेष सर्विस मेमोरी एड्रेस होते हैं, इसलिए इनपुट और आउटपुट को सेंसस कमांड का उपयोग करके किया जाता है।
  • 6. नियंत्रण आदेश जो गैर-रेखीय एल्गोरिदम को लागू करते हैं। सबसे पहले, इसमें सशर्त और बिना शर्त कूद, साथ ही एक सबरूटीन तक पहुंचने के निर्देश (वापसी के साथ कूदना) शामिल होना चाहिए। कुछ कंप्यूटरों में चक्रों को व्यवस्थित करने के लिए विशेष आदेश होते हैं, लेकिन यह आवश्यक नहीं है: एक चक्र को सशर्त और बिना शर्त कूद के एक या दूसरे संयोजन में कम किया जा सकता है। अक्सर, कमांड के एक ही समूह में प्रोसेसर को नियंत्रित करने के लिए कुछ ऑपरेशन शामिल होते हैं - जैसे "स्टॉप" या एनओपी ("नो ऑपरेशन")। कभी-कभी उन्हें एक विशेष समूह में अलग कर दिया जाता है।

जैसे-जैसे प्रोसेसर डिवाइस की जटिलता बढ़ती है, वैसे-वैसे उन पर काम करने वाले निर्देशों की संख्या भी बढ़ती है। यहां, उदाहरण के लिए, हम प्रोसेसर ऑपरेशन मोड के बिट्स और बाहरी उपकरणों से इंटरप्ट मैकेनिज्म को नियंत्रित करने के लिए बिट्स को नाम दे सकते हैं।

हाल ही में, निर्देश सेट में एक महत्वपूर्ण भूमिका एक डेटा प्रारूप से दूसरे में परिवर्तित करने के निर्देशों द्वारा निभाई जाती है (उदाहरण के लिए, 8-बिट से 16-बिट, आदि), जो विभिन्न प्रकार के डेटा के प्रसंस्करण को काफी सरल करता है, लेकिन सिद्धांत रूप में कई सरल आदेशों के अनुक्रम द्वारा प्रतिस्थापित किया जा सकता है।

निर्देश प्रणाली को ध्यान में रखते हुए, इसके निर्माण में दो आधुनिक परस्पर प्रतिस्पर्धी दिशाओं का उल्लेख करने में विफल नहीं हो सकता है: एक कंप्यूटर जिसमें निर्देशों का पूरा सेट सीआईएससी (कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटर) और एक सीमित सेट के साथ - आरआईएससी (रिड्यूस्ड इंस्ट्रक्शन सेट कंप्यूटर)। विभाजन इस तथ्य के कारण उत्पन्न हुआ कि अधिकांश समय कंप्यूटर को अपने निर्देश सेट के एक छोटे से हिस्से को निष्पादित करना पड़ता है, जबकि बाकी का उपयोग छिटपुट रूप से किया जाता है (एक लोकप्रिय लेख में इसे मजाक में निम्नलिखित दृश्य सादृश्य के रूप में तैयार किया गया है: "20 आबादी का% 80% बीयर पीते हैं")। इस प्रकार, यदि आप संचालन के सेट को सबसे सरल और सबसे छोटे तक सीमित करते हैं, लेकिन ध्यान से उन्हें अनुकूलित करते हैं, तो आपको काफी कुशल और तेज़ RISC मशीन मिल जाएगी। सच है, आपको "त्याग दिए गए" आदेशों के सॉफ़्टवेयर कार्यान्वयन की आवश्यकता से गति के लिए भुगतान करना होगा, लेकिन अक्सर यह कीमत उचित होती है: उदाहरण के लिए, वैज्ञानिक गणना या कंप्यूटर ग्राफिक्स के लिए, प्रोग्रामिंग समस्याओं की तुलना में गति बहुत अधिक महत्वपूर्ण है। अधिक विस्तार से, आधुनिक माइक्रोप्रोसेसरों की निर्देश प्रणाली से संबंधित मुद्दों पर इस अध्याय में बाद में चर्चा की जाएगी।

संक्षेप में, हम एक बार फिर इस बात पर जोर देते हैं कि कंप्यूटर के तेजी से विकास के दौरान निर्देशों के मूल सेट में बहुत कम बदलाव आया है। इसी समय, स्मृति में सूचना के स्थान का पता निर्दिष्ट करने के तरीकों में महत्वपूर्ण परिवर्तन हुए हैं और विशेष ध्यान देने योग्य हैं।

कंप्यूटर का मुख्य चक्र

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

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

प्रत्येक कमांड को निष्पादित करते समय, कंप्यूटर कुछ मानक क्रियाएं करता है:

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

फिर, सभी मामलों में, स्टॉप कमांड या एक रुकावट की घटना को छोड़कर (नीचे पैराग्राफ 3.5 में देखें), सभी वर्णित क्रियाओं को चक्रीय रूप से दोहराया जाता है।

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

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

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

सूचना के स्थान का पता निर्दिष्ट करने के तरीके

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

ऑपरेशन कोड की कल्पना कमांड सिस्टम की सामान्य सूची में कुछ सशर्त संख्या के रूप में की जा सकती है। मूल रूप से, यह सूची कुछ आंतरिक पैटर्न के अनुसार बनाई गई है, हालांकि वे हमेशा स्पष्ट नहीं होते हैं।

पता भाग में बहुत अधिक विविधता है और इसे और अधिक विस्तार से माना जाना चाहिए।

सबसे पहले, हम ध्यान दें कि निर्देश एक-, दो- और तीन-पते हो सकते हैं, जो उनमें भाग लेने वाले ऑपरेंड की संख्या पर निर्भर करता है।

पहले कंप्यूटरों में सबसे सरल और सहज ज्ञान युक्त तीन-पता कमांड सिस्टम था। उदाहरण के लिए: मेमोरी एड्रेस A1 और A2 से नंबर लें, उन्हें जोड़ें और योग को एड्रेस A3 में डालें। यदि ऑपरेशन के लिए कम संख्या में पतों की आवश्यकता होती है, तो अतिरिक्त पते का उपयोग नहीं किया जाता था। मान लीजिए, जनगणना ऑपरेशन में, केवल स्रोत और सूचना प्राप्त करने वाले A1 और A3 की कोशिकाओं को इंगित किया गया था, और A2 की सामग्री का कोई अर्थ नहीं था।

थ्री-एड्रेस कमांड को समझना आसान था और उपयोग में सुविधाजनक था, लेकिन रैम की वृद्धि के साथ, इसकी लंबाई निषेधात्मक हो गई। दरअसल, निर्देश की लंबाई तीन पतों की लंबाई और ऑपरेशन कोड का योग है। यह निम्नानुसार है, उदाहरण के लिए, 1024 कोशिकाओं की एक मामूली रैम के लिए, एक निर्देश के पता भाग को लिखने के लिए केवल 3 * 10 = 30 बिट्स की आवश्यकता होती है, जो तकनीकी कार्यान्वयन के लिए बहुत सुविधाजनक नहीं है। इसलिए, दो-पता वाली मशीनें दिखाई दीं, निर्देश की लंबाई जिसमें परिणाम रिकॉर्ड के पते को हटाकर कम किया गया था। ऐसे कंप्यूटरों में, ऑपरेशन का परिणाम एक विशेष रजिस्टर (योजक) में रहता था और बाद की गणनाओं में उपयोग के लिए उपयुक्त था। कुछ मशीनों में, एक ऑपरेंड के बजाय परिणाम लिखा गया था।

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

  • * सेल A1 की सामग्री को योजक में निकालें;
  • * A2 से संख्या के साथ योजक जोड़ें;
  • * परिणाम को योजक से A3 में लिखें।

ऐसा लग सकता है कि एक यूनिकास्ट मशीन को तीन-पता मशीन के रूप में एक समस्या को हल करने के लिए तीन गुना अधिक कमांड की आवश्यकता होगी। वास्तव में, हमेशा ऐसा नहीं होता है। अभिव्यक्ति A5 = (A1 + A2) * 33 / A4 की गणना करने के लिए अपने स्वयं के कार्यक्रम की योजना बनाने का प्रयास करें और आप पाएंगे कि आपको कुल तीन तीन-पता आदेशों और पांच एकल-पता निर्देशों की आवश्यकता है। इस प्रकार, यूनिकास्ट मशीन कुछ मायनों में और भी अधिक कुशल है, क्योंकि यह अनावश्यक रूप से स्मृति में मध्यवर्ती परिणाम नहीं लिखता है।

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

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

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

वर्णित पता संशोधन तंत्र ने चक्रीय कार्यक्रमों के लेखन को बहुत सरल बना दिया है, जैसे कि लगातार रैम कोशिकाओं का योग खोजना, व्यक्तिगत मेमोरी अनुभागों की प्रतिलिपि बनाना आदि।

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

मशीन शब्द का आकार, जाहिरा तौर पर, संसाधित की जा रही जानकारी के स्वरूपों के आधार पर चुना गया था, न कि किसी भी उपकरण की क्षमता के संबंध में। इसकी पुष्टि करने के लिए, हम ईसी परिवार के विशिष्ट तीसरी पीढ़ी के कंप्यूटरों के बारे में कुछ तथ्य प्रस्तुत करते हैं। मॉडल "ईसी -1022" की अंकगणितीय-तार्किक इकाई में 16 बाइनरी अंक, "ईसी -1033" - 32 अंक, और "ईसी -1050" - 64 अंक थे। उसी समय, "ईसी -1022" और "ईसी -1033" में रैम तक एक पहुंच के लिए 4 बाइट्स का चयन किया गया था, "ईसी -1050" में - 8 बाइट्स (और "ईसी -1045" - 16 में) बाइट्स)। इस प्रकार, संख्याओं की विविधता इंगित करती है कि 32 बिट (4 बाइट्स) कुछ तकनीकी रूप से आवंटित जानकारी की मात्रा नहीं थी।

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

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

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

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

कंप्यूटर में होना चाहिए:

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

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

संचालन का सिद्धांत:

  • · बाहरी उपकरण का उपयोग करके, कंप्यूटर की मेमोरी में एक प्रोग्राम दर्ज किया जाता है।
  • · कंट्रोल डिवाइस मेमोरी सेल की सामग्री को पढ़ता है जहां प्रोग्राम का पहला निर्देश (कमांड) स्थित होता है और इसके निष्पादन को व्यवस्थित करता है। आदेश सेट कर सकते हैं:
    • ओ तार्किक या अंकगणितीय संचालन करना;
    • o अंकगणित या तार्किक संचालन करने के लिए स्मृति से डेटा पढ़ना;
    • स्मृति में परिणाम रिकॉर्ड करना;
    • o बाहरी डिवाइस से मेमोरी में डेटा का इनपुट;
    • o मेमोरी से बाहरी डिवाइस में डेटा आउटपुट।
  • · कंट्रोल यूनिट अभी निष्पादित कमांड के तुरंत बाद मेमोरी लोकेशन से कमांड को निष्पादित करना शुरू कर देता है। हालाँकि, इस आदेश को नियंत्रण हस्तांतरण (कूद) निर्देशों के साथ बदला जा सकता है। ये कमांड कंट्रोल डिवाइस को इंगित करते हैं कि इसे प्रोग्राम को निष्पादित करना जारी रखने की आवश्यकता है, जो एक अलग मेमोरी लोकेशन में निहित निर्देश से शुरू होता है।
  • · प्रोग्राम के निष्पादन के परिणाम कंप्यूटर के बाहरी उपकरण पर प्रदर्शित होते हैं।
  • · बाहरी डिवाइस से सिग्नल के लिए कंप्यूटर स्टैंडबाय मोड में चला जाता है।

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

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

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

वर्तमान में, एक पारंपरिक पर्सनल कंप्यूटर एक जटिल है जिसमें निम्न शामिल हैं:

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

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

न्यूमैन आर्किटेक्चर प्रोग्राम बाइनरी

जॉन वॉन न्यूमैन

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

निर्देश रजिस्टर, निर्देश काउंटर और संचायक कंप्यूटर के एक ब्लॉक के मुख्य तत्व हैं - "मेमोरी"। ये रजिस्टर या मेमोरी सेल होते हैं, जिनकी क्षमता बाइनरी अंकों में एक मशीन शब्द की लंबाई के बराबर होती है। निर्देश रजिस्टर उस निर्देश को संग्रहीत करता है जिसे कंप्यूटर को वर्तमान के बाद निष्पादित करना चाहिए, और अगले निर्देश का पता प्रोग्राम काउंटर में संग्रहीत किया जाता है। ड्राइव प्रोसेसिंग के लिए डेटा स्टोर करता है या प्रोसेसिंग के बाद डेटा प्राप्त करता है।

अंकगणितीय-तार्किक इकाई कमांड में निर्दिष्ट डेटा पर निर्दिष्ट अंकगणितीय या तार्किक संचालन करती है।

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

बस रजिस्टर और ALU को मेमोरी और I/O डिवाइस से जोड़ती है। एकल बस संरचना में, बस से जुड़ा प्रत्येक उपकरण बस को अन्य उपकरणों के साथ साझा करता है और इसलिए बस पर सूचना भेजने या किसी अन्य डिवाइस से जानकारी प्राप्त करने के लिए एक निश्चित समय आवंटित किया जाता है। यह बस समय बहुसंकेतन एक हार्डवेयर बस नियंत्रण सर्किट द्वारा किया जाता है और कंप्यूटर की नियंत्रण इकाई द्वारा सिंक्रनाइज़ किया जाता है।

नियंत्रण इकाई कंप्यूटर की अन्य सभी इकाइयों के नियंत्रण और तुल्यकालन के मुख्य कार्य करती है। कम्प्यूटिंग सिस्टम आमतौर पर सीरियल डिजिटल सर्किट होते हैं जो पूरे सिस्टम में प्रसारित एक मानक घड़ी सिग्नल द्वारा सिंक्रनाइज़ होते हैं।

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

पीसी वास्तुकला। कंप्यूटर संचालन के मूल सिद्धांत।

कंप्यूटर एक इलेक्ट्रॉनिक उपकरण है जो सूचना प्राप्त करने, संग्रहीत करने, परिवर्तित करने और जारी करने के लिए प्रोग्राम द्वारा निर्दिष्ट क्रियाओं के अनुक्रम को स्वचालित रूप से करने में सक्षम है।

एक कंप्यूटिंग सिस्टम की वास्तुकला को इसके निर्माण के सबसे सामान्य सिद्धांतों, संचालन के सिद्धांतों, इंटरकनेक्शन और मुख्य कार्यात्मक इकाइयों की बातचीत, मेमोरी संगठन और कमांड की एक प्रणाली के रूप में समझा जाता है। कंप्यूटर साइंस कोर्स में मेमोरी ऑर्गनाइजेशन और कमांड सिस्टम के मुद्दों पर विचार नहीं किया जाता है।

कंप्यूटर वास्तुकला के निर्माण के लिए शास्त्रीय सिद्धांत 1964 में जॉन वॉन न्यूमैन, जी। गोल्डस्टिग और ए। बर्क्स के काम में प्रस्तावित किए गए थे और उन्हें "वॉन न्यूमैन सिद्धांत" के रूप में जाना जाता है।

ये सिद्धांत हैं:

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

किसी भी कंप्यूटर के हिस्से के रूप में, निम्नलिखित कार्यात्मक ब्लॉकों को प्रतिष्ठित किया जा सकता है:

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

पहले कंप्यूटर वॉन न्यूमैन संरचना के अनुसार बनाए गए थे, जिन्हें निम्नानुसार दर्शाया जा सकता है: (मोटी रेखाएं सूचना लिंक इंगित करती हैं, पतली रेखाएं नियंत्रण संकेतों को इंगित करती हैं)

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

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

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

पीसी की संरचना को निम्नानुसार दर्शाया जा सकता है:

यहां सीपीयू सेंट्रल प्रोसेसिंग यूनिट है; एक नियंत्रण इकाई और एक अंकगणितीय तर्क इकाई शामिल है। सीपीयू सभी कंप्यूटर उपकरणों के संचालन को नियंत्रित करता है और सभी डेटा प्रोसेसिंग ऑपरेशन करता है।

रैम - रैंडम एक्सेस मेमोरी (रैंडम एक्सेस मेमोरी); वर्तमान में संसाधित किए जा रहे प्रोग्राम और डेटा को संग्रहीत करता है। जब बिजली बंद हो जाती है, तो रैम की सामग्री खो जाती है।

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

VU - बाहरी उपकरण, जिनमें से हैं:

  • o इनपुट डिवाइस (जैसे कि कीबोर्ड);
  • o आउटपुट डिवाइस (जैसे प्रिंटर)
  • o संचार उपकरण (उदा. मॉडम)
  • o पढ़ने/लिखने और भंडारण उपकरण (जैसे फ्लॉपी ड्राइव और फ्लैश ड्राइव)

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

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

इसके अलावा, बाहरी उपकरणों को नियंत्रित करने के लिए विशेष कार्यक्रमों - ड्राइवरों - की आवश्यकता होती है।

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

एक प्रोसेसर की अवधारणा की एक परिभाषा परिचय में दी गई थी।

प्रोसेसर - प्रोग्राम नियंत्रण के सिद्धांत के आधार पर सूचना प्रवाह के तार्किक और अंकगणितीय प्रसंस्करण के लिए डिज़ाइन किए गए कंप्यूटर की एक कार्यात्मक इकाई।

प्रोसेसर आदेशों द्वारा निर्धारित क्रियाओं को नमूना, जाँच और क्रमिक रूप से निष्पादित करके प्रोग्राम (रैम में रखा गया) निष्पादित करने का कार्य करता है। दूसरे तरीके से: प्रोसेसर प्रोग्राम के अनुसार एन्कोडेड जानकारी पर कमांड द्वारा निर्धारित कार्य करता है।

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

1) इंटरप्ट सिस्टम;

2) नए स्मृति स्तर;

3) स्मृति सुरक्षा का अर्थ है;

4) विशेष प्रकार के अनुक्रमण का उपयोग, सूचना को संबोधित करना;

5) कमांड, शाखाओं, एक्सचेंजों की भविष्यवाणी आदि की कैश मेमोरी;

6) कंप्यूटिंग प्रक्रिया के प्रबंधन के लिए विशेष प्रक्रियाएं

ये सभी सबसिस्टम और डिवाइस आंशिक रूप से या पूरी तरह से प्रोसेसर में शामिल होते हैं। प्रोसेसर में मुख्य नई संरचनात्मक घटना SRAM है।

इसलिए, आज प्रोसेसर के पास एक अधिक विकसित संरचना है, जो एक निश्चित अर्थ में वॉन न्यूमैन मशीन की संरचना को दोहराती है।

लेकिन हम प्रोसेसर के संगठन में नई दिशाओं को नहीं छूएंगे। ये पूरी तरह से माइक्रोप्रोसेसर कोर्स में शामिल होंगे।

3.1. कंप्यूटर कमांड सिस्टम।

कंप्यूटर कमांड सिस्टम कमांड की संरचना और प्रारूपों के साथ-साथ कमांड और एड्रेसिंग विधियों की सूची (सूची) द्वारा निर्धारित किया जाता है।

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

चूंकि, अंत में, कमांड को किसी तरह कंप्यूटर में दर्ज किया जाता है और इसके द्वारा माना जाता है, तब कमांड का अंतिम रूप एक डिजिटल कोड है।

क्रमश, कार्यक्रम का अंतिम रूपकंप्यूटर ऑपरेशन (एक प्रोग्राम को विशेष रूप से औपचारिक सूचना प्रसंस्करण एल्गोरिदम के रूप में परिभाषित किया जा सकता है) एन्कोडेड निर्देशों में एक प्रोग्राम है।

3.1.1. कमांड संरचना और प्रारूप।

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

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

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

और वास्तव में, ऐसे चार-पता आदेश मौजूद हैं। इस तरह के "प्रारूप" के साथ टीमों ने "शुरू" किया। लेकिन टीम में पते कम या ज्यादा हो सकते हैं!

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

कंप्यूटर आर्किटेक्चर का एक महत्वपूर्ण घटक कमांड सिस्टम है। कंप्यूटर की बड़ी संख्या के बावजूद, निम्नतम ("मशीन") स्तर पर, उनमें बहुत कुछ समान है। किसी भी कंप्यूटर के कमांड सिस्टम में आवश्यक रूप से सूचना प्रसंस्करण कमांड के निम्नलिखित समूह होते हैं।

1. डेटा ट्रांसफर कमांड (जनगणना)जो सूचनाओं को एक स्थान से दूसरे स्थान पर कॉपी करता है।

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

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

4. परिवर्तनबाइनरी कोड बाएँ और दाएँ। आदेशों के इस समूह के महत्व को साबित करने के लिए, एक कॉलम में गुणन नियम को याद करने के लिए पर्याप्त है: प्रत्येक बाद के उत्पाद को ऐसी योजना में एक अंक के बाईं ओर शिफ्ट के साथ लिखा जाता है। कुछ विशेष मामलों में, सामान्य रूप से गुणा और भाग को एक शिफ्ट द्वारा प्रतिस्थापित किया जा सकता है (याद रखें कि शून्य को दाईं ओर जोड़कर या हटाकर, यानी वास्तव में किसी संख्या को स्थानांतरित करके, आप इसे 10 गुना बढ़ा या घटा सकते हैं)।

5. इनपुट और आउटपुट कमांडबाहरी उपकरणों के साथ आदान-प्रदान करने के लिए जानकारी। कुछ कंप्यूटरों में, बाहरी डिवाइस विशेष सर्विस मेमोरी एड्रेस होते हैं, इसलिए इनपुट और आउटपुट को सेंसस कमांड का उपयोग करके किया जाता है।

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

अक्सर, कमांड के एक ही समूह में प्रोसेसर को नियंत्रित करने के लिए ऑपरेशन शामिल होते हैं जैसे स्टॉप या एनओपी - कोई ऑपरेशन नहीं। कभी-कभी उन्हें एक विशेष समूह में अलग कर दिया जाता है। जैसे-जैसे प्रोसेसर डिवाइस की जटिलता बढ़ती है, ऐसे निर्देशों की संख्या बढ़ती जाती है।

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

ऑपरेशन कोड की कल्पना कमांड सिस्टम की सामान्य सूची में कुछ सशर्त संख्या के रूप में की जा सकती है। मूल रूप से, यह सूची कुछ आंतरिक पैटर्न के अनुसार बनाई गई है, हालांकि वे हमेशा स्पष्ट नहीं होते हैं।

पता भाग में बहुत अधिक विविधता है और इसे और अधिक विस्तार से माना जाना चाहिए।

सबसे पहले, हम ध्यान दें कि आदेश हो सकते हैं एक-, दो- और तीन-पतासंभावित ऑपरेंड की संख्या के आधार पर।

पहले कंप्यूटरों में सबसे सरल और सहज ज्ञान युक्त तीन-पता कमांड सिस्टम था। उदाहरण के लिए: मेमोरी एड्रेस A1 और A2 से नंबर लें, उन्हें जोड़ें और योग को एड्रेस A3 में रखें। यदि ऑपरेशन के लिए कम संख्या में पतों की आवश्यकता होती है, तो अतिरिक्त पते का उपयोग नहीं किया जाता था। मान लीजिए, जनगणना ऑपरेशन में, केवल स्रोत और सूचना प्राप्त करने वाले A1 और A3 की कोशिकाओं को इंगित किया गया था, और A2 की सामग्री का कोई अर्थ नहीं था।

थ्री-एड्रेस कमांड को समझना आसान था और उपयोग में सुविधाजनक था, लेकिन रैम की वृद्धि के साथ, इसकी लंबाई निषेधात्मक हो गई। दरअसल, इस तरह के निर्देश की लंबाई तीन पतों की लंबाई और ऑपरेशन कोड का योग है। यह निम्नानुसार है, उदाहरण के लिए, 1024 कोशिकाओं की एक मामूली रैम के लिए, पता भाग लिखने के लिए केवल 3 * 10 = 30 बिट्स की आवश्यकता होती है, जो तकनीकी कार्यान्वयन के लिए बहुत सुविधाजनक नहीं है। इसलिए, दो-पता वाली मशीनें दिखाई दीं, निर्देश की लंबाई जिसमें परिणाम रिकॉर्ड के पते को हटाकर कम किया गया था। ऐसे कंप्यूटरों में ऑपरेशन का परिणाम एक विशेष रजिस्टर में रहता है ( योजक) और बाद की गणनाओं में उपयोग के लिए उपयुक्त था। कुछ मशीनों में, एक ऑपरेंड के बजाय परिणाम लिखा गया था।

कमांड के और सरलीकरण से यूनिकास्ट मशीनों का निर्माण हुआ। एक विशिष्ट सरल उदाहरण पर ऐसे कंप्यूटर के कमांड सिस्टम पर विचार करें। मान लें कि RAM पतों A1 और A2 में संग्रहीत संख्याओं को जोड़ना आवश्यक है, और योग को A3 में डाल दें। इस समस्या को हल करने के लिए, एक यूनिकास्ट मशीन को तीन कमांड निष्पादित करने की आवश्यकता होगी:

  1. सेल A1 की सामग्री को योजक में निकालें;
  2. A2 से संख्या के साथ योजक जोड़ें;
  3. परिणाम को योजक से A3 में लिखें।

ऐसा लग सकता है कि एक यूनिकास्ट मशीन को तीन-पता मशीन के रूप में एक समस्या को हल करने के लिए तीन गुना अधिक कमांड की आवश्यकता होगी। वास्तव में, हमेशा ऐसा नहीं होता है। व्यंजक Y=(X1+X2)*X3/X4 की गणना करने के लिए अपने स्वयं के कार्यक्रम की योजना बनाने का प्रयास करें और आपको यह जानकर आश्चर्य होगा कि आपको 3 तीन-पता आदेशों और केवल 5 यूनिकास्ट की आवश्यकता है। इस प्रकार, एक यूनिकास्ट मशीन कुछ अधिक कुशल है, क्योंकि यह मध्यवर्ती परिणामों की स्मृति में अनावश्यक लेखन नहीं करता है।

पूर्णता के लिए, स्मृति को व्यवस्थित करने के एक विशेष तरीके का उपयोग करके गैर-पता (शून्य-पता) मशीन को लागू करने की संभावना के बारे में कहा जाना चाहिए - ढेर. ऐसी मशीन के सिद्धांतों को समझने के लिए कुछ काफी विस्तृत स्पष्टीकरण की आवश्यकता होगी; उसी समय, एड्रेसलेस कंप्यूटर अब व्यावहारिक रूप से उपयोग नहीं किए जाते हैं। इसलिए, हम इस तथ्य का उल्लेख करने के लिए खुद को सीमित करते हैं कि इस तरह से व्यवस्थित एक कमांड सिस्टम "B3-21" और "B3-34" प्रकार और इसी तरह के कुछ प्रोग्राम योग्य माइक्रोकैलकुलेटरों को रेखांकित करता है।

© ईए एरेमिन, 1997
किताब से:
एरेमिन ई.ए. आधुनिक कंप्यूटर कैसे काम करता है। - पर्म: पब्लिशिंग हाउस PRIPIT, 1997. 176 पी।

अगर आपको कोई त्रुटि मिलती है, तो कृपया टेक्स्ट का एक टुकड़ा चुनें और Ctrl+Enter दबाएं।