संगणक वास्तुकला: Difference between revisions

From Vigyanwiki
Line 29: Line 29:
*'''पिन वास्तुकला''': ये हार्डवेयर के वे कार्य हैं, जो एक [[ माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]] को हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, उदाहरण के लिए, एक्स [[ 86 |86]] पिन ए20एम, एफईआरआर/आईजीएनएनई या फ्लश। साथ ही ये ऐसे संदेश भी होते हैं, जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी कैश को खाली किया जा सके। पिन वास्तुकला कार्य, आईएसए कार्यों की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। इसके लिए शब्द "वास्तुकला" उचित है, क्योंकि कार्यों को विस्तृत विधि बदल जाने पर भी संगत सिस्टम के लिए प्रदान किया जाना चाहिए।
*'''पिन वास्तुकला''': ये हार्डवेयर के वे कार्य हैं, जो एक [[ माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]] को हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, उदाहरण के लिए, एक्स [[ 86 |86]] पिन ए20एम, एफईआरआर/आईजीएनएनई या फ्लश। साथ ही ये ऐसे संदेश भी होते हैं, जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी कैश को खाली किया जा सके। पिन वास्तुकला कार्य, आईएसए कार्यों की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। इसके लिए शब्द "वास्तुकला" उचित है, क्योंकि कार्यों को विस्तृत विधि बदल जाने पर भी संगत सिस्टम के लिए प्रदान किया जाना चाहिए।


== भूमिकाएं ==
== भूमिकाएँ ==


=== परिभाषा ===
=== परिभाषा ===
कंप्यूटर आर्किटेक्चर का संबंध कंप्यूटर सिस्टम के प्रदर्शन, दक्षता, लागत और विश्वसनीयता को संतुलित करने से है। इन प्रतिस्पर्धी कारकों के संतुलन को स्पष्ट करने के लिए निर्देश सेट आर्किटेक्चर के मामले का उपयोग किया जा सकता है। अधिक जटिल निर्देश सेट प्रोग्रामर को अधिक स्थान कुशल प्रोग्राम लिखने में सक्षम बनाता है, क्योंकि एक ही निर्देश कुछ उच्च-स्तरीय अमूर्तता (जैसे x86 लूप निर्देश) को एन्कोड कर सकता है।<ref>{{cite book |last1=Null |first1=Linda |title=The Essentials of Computer Organization and Architecture |date=2019 |publisher=Jones & Bartlett Learning |location=Burlington, MA |isbn=9781284123036 |page=280 |edition=5th}}</ref> हालांकि, लंबे और अधिक जटिल निर्देश प्रोसेसर को डीकोड करने में अधिक समय लेते हैं और प्रभावी ढंग से लागू करने के लिए अधिक महंगा हो सकता है। बड़े निर्देश सेट से बढ़ी हुई जटिलता भी अविश्वसनीयता के लिए अधिक जगह बनाती है जब निर्देश अप्रत्याशित तरीके से इंटरैक्ट करते हैं।
कंप्यूटर वास्तुकला, कंप्यूटर सिस्टम के प्रदर्शन, दक्षता, लागत और विश्वसनीयता के संतुलन से सम्बंधित है। इन प्रतिस्पर्धी कारकों के संतुलन को स्पष्ट करने के लिए निर्देश सेट वास्तुकला के मुद्दे का उपयोग किया जा सकता है। अधिक जटिल निर्देश सेट, प्रोग्रामकर्ता को अधिक स्थान कुशल प्रोग्राम लिखने में सक्षम बनाता है, क्योंकि एक ही निर्देश एक्स86 लूप निर्देश जैसे कुछ उच्च-स्तरीय पृथक्करण (जैसे) को एन्कोड कर सकता है।<ref>{{cite book |last1=Null |first1=Linda |title=The Essentials of Computer Organization and Architecture |date=2019 |publisher=Jones & Bartlett Learning |location=Burlington, MA |isbn=9781284123036 |page=280 |edition=5th}}</ref> हालांकि, लंबे और अधिक जटिल निर्देश, प्रोसेसर को डीकोड करने में अधिक समय लेते हैं और प्रभावी ढंग से प्रयुक्त करने के लिए अधिक महंगे हो सकते हैं। जब निर्देश अप्रत्याशित तरीके से परस्पर प्रभावित करते हैं, तो बड़े निर्देश सेट से बढ़ी हुई जटिलता भी अविश्वसनीयता के लिए अधिक स्थान बनाती है।
 
कार्यान्वयन में एकीकृत सर्किट डिजाइन, पैकेजिंग, बिजली और शीतलन शामिल है। डिज़ाइन के अनुकूलन के लिए कंपाइलर, ऑपरेटिंग सिस्टम से लेकर लॉजिक डिज़ाइन और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।<ref>{{Cite web|url=https://www.cis.upenn.edu/~milom/cis501-Fall11/lectures/00_intro.pdf|title=What is computer architecture?|last=Martin|first=Milo|website=UPENN|access-date=11 May 2017}}</ref>
 


एकीकृत परिपथ संरचना, पैकेजिंग, विद्युत और शीतलन आदि क्रियायें इसके कार्यान्वयन में सम्मिलित है। संरचना के अनुकूलन के लिए संकलक (कंपाइलर), तार्किक संरचना के लिए ऑपरेटिंग सिस्टम और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।<ref>{{Cite web|url=https://www.cis.upenn.edu/~milom/cis501-Fall11/lectures/00_intro.pdf|title=What is computer architecture?|last=Martin|first=Milo|website=UPENN|access-date=11 May 2017}}</ref>
=== निर्देश सेट वास्तुकला ===
=== निर्देश सेट वास्तुकला ===
{{Main|Instruction set architecture}}
{{Main|Instruction set architecture}}
{{Unreferenced section|date=March 2018}}
{{Unreferenced section|date=March 2018}}
एक निर्देश सेट आर्किटेक्चर (आईएसए) कंप्यूटर के सॉफ्टवेयर और हार्डवेयर के बीच इंटरफेस है और इसे मशीन के प्रोग्रामर के दृष्टिकोण के रूप में भी देखा जा सकता है। कंप्यूटर उच्च-स्तरीय प्रोग्रामिंग भाषाओं जैसे जावा, सी ++, या उपयोग की जाने वाली अधिकांश प्रोग्रामिंग भाषाओं को नहीं समझते हैं। एक प्रोसेसर केवल कुछ संख्यात्मक फैशन में एन्कोड किए गए निर्देशों को समझता है, आमतौर पर [[ बाइनरी अंक प्रणाली ]] के रूप में। सॉफ्टवेयर टूल, जैसे कि कंपाइलर, उन उच्च स्तरीय भाषाओं को निर्देशों में अनुवाद करते हैं जिन्हें प्रोसेसर समझ सकता है।
एक निर्देश सेट वास्तुकला, कंप्यूटर के सॉफ्टवेयर और हार्डवेयर के बीच का इंटरफेस है, और इसे मशीन के प्रोग्रामर के दृष्टिकोण के रूप में भी देखा जा सकता है। कंप्यूटर उच्च-स्तरीय प्रोग्रामिंग भाषाओं जैसे जावा, सी ++ या उपयोग की जाने वाली अधिकांश प्रोग्रामिंग भाषाओं को नहीं समझते हैं। एक प्रोसेसर, सामान्यतः [[ बाइनरी अंक प्रणाली |द्विआधारी अंक प्रणाली]] जैसे केवल कुछ संख्यात्मक विधान में एन्कोड किए गए निर्देशों को समझ सकता है। सॉफ्टवेयर यन्त्र, कंपाइलर, प्रोसेसर द्वारा समझी जा सकने वाली उच्च स्तरीय भाषाओं का निर्देशों में अनुवाद करते है।


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


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


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


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


=== कंप्यूटर संगठन ===
=== कंप्यूटर संगठन ===

Revision as of 11:52, 28 September 2022

यूनिप्रोसेसर सीपीयू के साथ एक बुनियादी कंप्यूटर का ब्लॉक आरेख। काली रेखाएँ डेटा प्रवाह को दर्शाती हैं, जबकि लाल रेखाएँ नियंत्रण प्रवाह को दर्शाती हैं। तीर प्रवाह की दिशा का संकेत देते हैं।

कम्प्यूटर वास्तुकला (कम्प्यूटर आर्किटेक्चर), कम्प्यूटर अभियांत्रिकी में कम्प्यूटर सिस्टम की कार्यक्षमता, संगठन और कार्यान्वयन का वर्णन करने वाले नियमों और विधियों का एक समूह है। एक सिस्टम की वास्तुकला, उसके अलग-अलग निर्दिष्ट घटकों और उनके अंतर्संबंधों के संदर्भ में इसकी संरचना को संदर्भित करने का कार्य करती है।[1]

वास्तुकला की कुछ परिभाषायें, किसी विशेष कार्यान्वयन के रूप में परिभाषित करने के स्थान पर, इसे कंप्यूटर की क्षमताओं और प्रोग्रामिंग मॉडल का वर्णन करने के रूप में परिभाषित करती हैं।[2] अन्य परिभाषाओं के आधार पर, कंप्यूटर वास्तुकला निर्देश समूह वास्तुकला संरचना, सूक्ष्म वास्तुकला संरचना, तर्क संरचना और कार्यान्वयन आदि को सम्मिलित करती है।[3]

इतिहास

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

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

इसके बाद, एक स्ट्रेच रचनाकार ब्रूक्स ने प्लानिंग ए कंप्यूटर सिस्टम: प्रोजेक्ट स्ट्रेच नामक पुस्तक का अध्याय 2 प्रारंभ किया, जिसमें कहा गया था, कि "कंप्यूटर वास्तुकला भी, अन्य वास्तुकलाओं की तरह ही एक संरचना के उपयोगकर्ता की आवश्यकताओं को निर्धारित करने और फिर उन्हें आर्थिक और तकनीकी प्रतिबंधों के भीतर उन आवश्यकताओं को यथासंभव प्रभावी ढंग से पूरा करते हुए संरचित करने की कला है।"[9]

ब्रूक्स ने आईबीएम सिस्टम/360 (अब आईबीएम ज़ेड-श्रृंखला) कंप्यूटर की लाइन विकसित करने में मदद की, जिसमें "वास्तुकला" एक संज्ञा बन गया जो "उपयोगकर्ता की आवश्यकताओं को जानना" को परिभाषित करता है।[10] कंप्यूटर उपयोगकर्ता बाद में इस शब्द का प्रयोग बहुत कम स्पष्ट तरीकों से करने लगे।[10]

प्रारंभिक कंप्यूटर वास्तुकला को कागज पर संरचित किया गया था और फिर सीधे अंतिम हार्डवेयर रूप में बनाया गया था।[11] कंप्यूटर वास्तुकला के मूलरूप को बाद में भौतिक रूप से एक ट्रांजिस्टर-ट्रांजिस्टर तार्किक (टीटीएल) कंप्यूटर के रूप में बनाया गया था - जैसे कि 6800 और PA-RISC के मूलरूप, फिर इनका परीक्षण किया गया, और अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले ट्वीक किया गया। नई कंप्यूटर वास्तुकलायें 1990 के दशक तक सामान्यतः "निर्मित" थीं, और इनका कंप्यूटर वास्तुकला सिम्युलेटर में किसी अन्य कंप्यूटर वास्तुकला के अंदर या एफपीजीए के अंदर एक सॉफ्ट माइक्रोप्रोसेसर के रूप में या दोनों के लिए अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले परीक्षण और ट्वीक किया जाता था।[12]

उपश्रेणियाँ

कंप्यूटर वास्तुकला के विषय में तीन मुख्य उपश्रेणियाँ हैं:[13]

कंप्यूटर वास्तुकला में अन्य प्रौद्योगिकियाँ भी हैं। इंटेल जैसी बड़ी कंपनियों में निम्नलिखित तकनीकों का उपयोग किया जाता है, और वर्ष 2002 में यह अनुमान लगाया गया था[13] कि इनकी गणना सभी कंप्यूटर वास्तुकलाओं के 1% के लिए की जाती है:

  • मैक्रोआर्किटेक्चर: वास्तुकला परतें सूक्ष्म-वास्तुकला की तुलना में अधिक सारगर्भित हैं।
  • एकत्रण निर्देश सेट वास्तुकला: एक स्मार्ट एकत्रक अलग-अलग कार्यान्वयन के लिए यंत्रों के समूह के लिए सामान्य एकत्रण भाषा को थोड़ा अलग यांत्रिक भाषा में परिवर्तित कर सकता है।
  • प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर: यह उच्च-स्तरीय भाषा उपकरण जैसे कि संकलक प्रोग्रामर्स के लिए एक सुसंगत इंटरफ़ेस या अनुबंध को परिभाषित कर सकता है, जो अंतर्निहित आईएसए, यूआईएसए और माइक्रोआर्किटेक्चर के बीच अंतर को अमूर्त करते हैं। उदाहरण के लिए, सी (प्रोग्रामिंग भाषा), सी ++ , या जावा (प्रोग्रामिंग भाषा) मानक विभिन्न प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर को परिभाषित करते हैं।
  • माइक्रोकोड: माइक्रोकोड एक ऐसा सॉफ्टवेयर है जो एक चिप पर संचालित होने के लिए निर्देशों का अनुवाद करता है। यह हार्डवेयर के चारों ओर एक आवरण की तरह कार्य करता है, जो हार्डवेयर के निर्देश सेट इंटरफ़ेस का पसंदीदा संस्करण प्रस्तुत करता है। यह निर्देश अनुवाद सुविधा चिप रचनाकारों को लचीले विकल्प प्रदान करती है: उदा 1. चिप का एक नया उन्नत संस्करण पुराने चिप संस्करण के समान सटीक निर्देश सेट को प्रस्तुत करने के लिए माइक्रोकोड का उपयोग कर सकता है, इसलिए निर्देश सेट को लक्षित करने वाले सभी सॉफ़्टवेयर बिना किसी बदलाव के नए चिप पर चल सकते हैं। उदा. 2. माइक्रोकोड एक ही अंतर्निहित चिप के लिए विभिन्न प्रकार के निर्देश सेट प्रस्तुत कर सकता है, जिससे यह व्यापक प्रकार के सॉफ़्टवेयर को संचालित करने की अनुमति प्रदान करता है।
  • उपयोगकर्ता निर्देश सेट वास्तुकला (यूआइएसए): यह पावरपीसी आरआईएससी (RISC) प्रोसेसर द्वारा प्रदान किए गए आरआईएससी सीपीयू निर्देशों के तीन उपसमूहों में से एक को संदर्भित करता है। यूआईएसए उपसमूह आरआईएससी निर्देश, एप्लिकेशन विकासकों के लिए रुचिकर हैं। अन्य दो उपसमुच्चय आभासी वातावरण वास्तुकला निर्देश (वीईए) और संचालित वातावरण वास्तुकला (ओईए) हैं, जिनमें से वीईए का उपयोग आभासीकरण सिस्टम विकासकों द्वारा और ओईए का उपयोग संचालन सिस्टम विकासकों द्वारा किया जाता है।[15]
  • पिन वास्तुकला: ये हार्डवेयर के वे कार्य हैं, जो एक माइक्रोप्रोसेसर को हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, उदाहरण के लिए, एक्स 86 पिन ए20एम, एफईआरआर/आईजीएनएनई या फ्लश। साथ ही ये ऐसे संदेश भी होते हैं, जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी कैश को खाली किया जा सके। पिन वास्तुकला कार्य, आईएसए कार्यों की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। इसके लिए शब्द "वास्तुकला" उचित है, क्योंकि कार्यों को विस्तृत विधि बदल जाने पर भी संगत सिस्टम के लिए प्रदान किया जाना चाहिए।

भूमिकाएँ

परिभाषा

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

एकीकृत परिपथ संरचना, पैकेजिंग, विद्युत और शीतलन आदि क्रियायें इसके कार्यान्वयन में सम्मिलित है। संरचना के अनुकूलन के लिए संकलक (कंपाइलर), तार्किक संरचना के लिए ऑपरेटिंग सिस्टम और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।[17]

निर्देश सेट वास्तुकला

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

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

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

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

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

कंप्यूटर संगठन

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

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

कार्यान्वयन

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

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

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

डिजाइन लक्ष्य

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

सबसे आम योजना एक गहन शक्ति विश्लेषण करती है और यह पता लगाती है कि पर्याप्त प्रदर्शन को बनाए रखते हुए बिजली की खपत को कैसे कम रखा जाए।

प्रदर्शन

आधुनिक कंप्यूटर प्रदर्शन को अक्सर निर्देश प्रति चक्र (आईपीसी) में वर्णित किया जाता है, जो किसी भी घड़ी आवृत्ति पर वास्तुकला की दक्षता को मापता है; तेज आईपीसी दर का मतलब है कि कंप्यूटर तेज है। पुराने कंप्यूटरों में आईपीसी की संख्या 0.1 जितनी कम थी जबकि आधुनिक प्रोसेसर आसानी से 1 के करीब पहुंच जाते हैं। सुपरस्केलर प्रोसेसर प्रति घड़ी चक्र में कई निर्देशों को निष्पादित करके तीन से पांच आईपीसी तक पहुंच सकते हैं।[citation needed] मशीन-भाषा के निर्देशों की गणना करना भ्रामक होगा क्योंकि वे अलग-अलग आईएसए में अलग-अलग मात्रा में काम कर सकते हैं। मानक माप में निर्देश आईएसए के मशीन-भाषा निर्देशों की गिनती नहीं है, बल्कि माप की एक इकाई है, जो आमतौर पर वैक्स कंप्यूटर आर्किटेक्चर की गति पर आधारित होती है।

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

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

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

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

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

शक्ति दक्षता

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

आधुनिक सर्किट में प्रति ट्रांजिस्टर कम शक्ति की आवश्यकता होती है क्योंकि प्रति चिप ट्रांजिस्टर की संख्या बढ़ती है।[18] ऐसा इसलिए है क्योंकि प्रत्येक ट्रांजिस्टर जिसे एक नई चिप में लगाया जाता है, उसे अपनी बिजली की आपूर्ति की आवश्यकता होती है और इसे बिजली देने के लिए नए रास्ते बनाने की आवश्यकता होती है। हालाँकि प्रति चिप ट्रांजिस्टर की संख्या धीमी गति से बढ़ने लगी है। इसलिए, एक चिप में अधिक से अधिक ट्रांजिस्टर फिट करने से अधिक महत्वपूर्ण नहीं होने पर, बिजली दक्षता उतनी ही महत्वपूर्ण होने लगी है। हाल के प्रोसेसर डिजाइनों ने इस जोर को दिखाया है क्योंकि वे एक चिप में अधिक से अधिक ट्रांजिस्टर को रटने के बजाय बिजली दक्षता पर अधिक ध्यान केंद्रित करते हैं।[19] एम्बेडेड कंप्यूटरों की दुनिया में, थ्रूपुट और लेटेंसी के बाद बिजली दक्षता लंबे समय से एक महत्वपूर्ण लक्ष्य रहा है।

बाजार की मांग में बदलाव

बिजली कटौती में सुधार की तुलना में पिछले कुछ वर्षों में घड़ी की आवृत्ति में वृद्धि धीमी गति से बढ़ी है। यह मूर के कानून के अंत और लंबे बैटरी जीवन की मांग और मोबाइल प्रौद्योगिकी के आकार में कमी से प्रेरित है। उच्च घड़ी दरों से बिजली की खपत और लघुकरण पर ध्यान केंद्रित करने में यह परिवर्तन बिजली की खपत में उल्लेखनीय कमी से दिखाया जा सकता है, जितना कि 50%, जो इंटेल द्वारा हैसवेल (माइक्रोआर्किटेक्चर) के रिलीज में रिपोर्ट किया गया था; जहां उन्होंने अपने बिजली खपत बेंचमार्क को 30 से 40 वाट से घटाकर 10-20 वाट कर दिया।[20] इसकी तुलना में 3 गीगाहर्ट्ज़ से 4 गीगाहर्ट्ज़ तक की प्रोसेसिंग स्पीड में वृद्धि (2002 से 2006)[21] यह देखा जा सकता है कि अनुसंधान और विकास में ध्यान घड़ी की आवृत्ति से हट रहा है और कम बिजली की खपत और कम जगह लेने की ओर बढ़ रहा है।

यह भी देखें


संदर्भ

  1. Dragoni, Nicole (n.d.). "Introduction to peer to peer computing" (PDF). DTU Compute – Department of Applied Mathematics and Computer Science. Lyngby, Denmark.
  2. Clements, Alan. Principles of Computer Hardware (Fourth ed.). p. 1. Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.
  3. Hennessy, John; Patterson, David. Computer Architecture: A Quantitative Approach (Fifth ed.). p. 11. This task has many aspects, including instruction set design, functional organization, logic design, and implementation.
  4. Williams, F. C.; Kilburn, T. (25 September 1948), "Electronic Digital Computers", Nature, 162 (4117): 487, Bibcode:1948Natur.162..487W, doi:10.1038/162487a0, S2CID 4110351, archived from the original on 6 April 2009, retrieved 2009-04-10
  5. Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
  6. Neumann, John (1945). First Draft of a Report on the EDVAC. p. 9.
  7. Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.
  8. Johnson, Lyle (1960). "A Description of Stretch" (PDF). p. 1. Retrieved 7 October 2017.
  9. Buchholz, Werner (1962). Planning a Computer System. p. 5.
  10. Hellige, Hans Dieter (2004). "Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "system of organs" zum Schichtmodell des Designraums". Geschichten der Informatik: Visionen, Paradigmen, Leitmotive. pp. 411–472.
  11. ACE underwent seven paper designs in one year, before a prototype was initiated in 1948. [B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]
  12. Schmalz, M.S. "Organization of Computer Systems". UF CISE. Retrieved 11 May 2017.
  13. 13.0 13.1 John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach (Third ed.). Morgan Kaufmann Publishers.
  14. Laplante, Phillip A. (2001). Dictionary of Computer Science, Engineering, and Technology. CRC Press. pp. 94–95. ISBN 0-8493-2691-5.
  15. Frey, Brad (2005-02-24). "PowerPC Architecture Book, Version 2.02". IBM Corporation.
  16. Null, Linda (2019). The Essentials of Computer Organization and Architecture (5th ed.). Burlington, MA: Jones & Bartlett Learning. p. 280. ISBN 9781284123036.
  17. Martin, Milo. "What is computer architecture?" (PDF). UPENN. Retrieved 11 May 2017.
  18. "Integrated circuits and fabrication" (PDF). Retrieved 8 May 2017.
  19. "Exynos 9 Series (8895)". Samsung. Retrieved 8 May 2017.
  20. "Measuring Processor Power TDP vs ACP" (PDF). Intel. April 2011. Retrieved 5 May 2017.
  21. "History of Processor Performance" (PDF). cs.columbia.edu. 24 April 2012. Retrieved 5 May 2017.


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

  • सेंट्रल प्रोसेसिंग यूनिट
  • शब्द का आकार
  • सभा की भाषा
  • सी++
  • उच्च स्तरीय प्रोग्रामिंग भाषा
  • एम्यूलेटर
  • फ्लोरप्लान (माइक्रोइलेक्ट्रॉनिक्स)
  • प्रति चक्र निर्देश
  • कार्यात्मक इकाई

स्रोत


बाहरी संबंध