संगणक वास्तुकला
alt=|right|512x512px|यूनिप्रोसेसर सीपीयू के साथ एक बुनियादी कंप्यूटर का ब्लॉक आरेख। काली रेखाएँ डेटा प्रवाह को, जबकि लाल रेखाएँ नियंत्रण प्रवाह को दर्शाती हैं। तीर प्रवाह की दिशा का संकेत देते हैं। कम्प्यूटर वास्तुकला (कम्प्यूटर आर्किटेक्चर), कम्प्यूटर अभियांत्रिकी में कम्प्यूटर सिस्टम की कार्यक्षमता, संगठन और कार्यान्वयन का वर्णन करने वाले नियमों और विधियों का एक समूह है। एक सिस्टम की वास्तुकला, उस प्रणाली के अलग-अलग निर्दिष्ट घटकों और उनके अंतर्संबंधों के संदर्भ में इसकी संरचना को संदर्भित करने का कार्य करती है।[1]
वास्तुकला की कुछ परिभाषायें, किसी विशेष कार्यान्वयन के रूप में परिभाषित करने के स्थान पर, इसे कंप्यूटर की क्षमताओं और प्रोग्रामिंग मॉडल का वर्णन करने के रूप में परिभाषित करती हैं।[2] अन्य परिभाषाओं के आधार पर, कंप्यूटर वास्तुकला निर्देश समूह वास्तुकला संरचना, सूक्ष्म वास्तुकला संरचना, तर्क संरचना और कार्यान्वयन आदि को सम्मिलित करती है।[3]
इतिहास
पहला प्रलेखित कंप्यूटर आर्किटेक्चर विश्लेषणात्मक इंजन का वर्णन करते हुए चार्ल्स बैबेज और एडा लवलेस के बीच पत्राचार में था। 1936 में ज़ेड1 (कंप्यूटर) का निर्माण करते समय, कोनराड ज़ुसे ने अपनी भविष्य की परियोजनाओं के लिए दो पेटेंट आवेदनों में वर्णित किया कि मशीन निर्देशों को डेटा के लिए उपयोग किए जाने वाले एक ही भंडारण में संग्रहीत किया जा सकता है, अर्थात, स्टोर-प्रोग्राम कंप्यूटर।[4][5] दो अन्य प्रारंभिक और महत्वपूर्ण उदाहरण हैं:
- जॉन वॉन न्यूमैन का 1945 का पेपर, ईडीवीएसी पर एक रिपोर्ट का पहला मसौदा, जिसमें तार्किक तत्वों के एक संगठन का वर्णन किया गया था;[6] और
- स्वचालित कंप्यूटिंग इंजन के लिए एलन ट्यूरिंग का अधिक विस्तृत प्रस्तावित इलेक्ट्रॉनिक कैलकुलेटर, 1945 भी और जिसमें जॉन वॉन न्यूमैन के पेपर का हवाला दिया गया था।[7]
कंप्यूटर साहित्य में "आर्किटेक्चर" शब्द का पता 1959 में आईबीएम के मुख्य अनुसंधान केंद्र में मशीन संगठन विभाग के सदस्यों, लाइल आर। जॉनसन और फ्रेडरिक पी। ब्रूक्स, जूनियर के काम से लगाया जा सकता है। जॉनसन को एक मालिकाना लिखने का अवसर मिला था। स्ट्रेच के बारे में अनुसंधान संचार, लॉस एलामोस नेशनल लेबोरेटरी के लिए आईबीएम द्वारा विकसित सुपर कंप्यूटर (उस समय लॉस एलामोस साइंटिफिक लेबोरेटरी के रूप में जाना जाता था)। शानदार ढंग से अलंकृत कंप्यूटर पर चर्चा के लिए विस्तार के स्तर का वर्णन करने के लिए, उन्होंने नोट किया कि प्रारूपों, निर्देश प्रकार, हार्डवेयर पैरामीटर और गति वृद्धि का उनका विवरण "सिस्टम आर्किटेक्चर" के स्तर पर था, एक शब्द जो "मशीन संगठन" से अधिक उपयोगी लग रहा था। "[8]
इसके बाद, एक स्ट्रेच डिजाइनर, ब्रूक्स ने प्लानिंग ए कंप्यूटर सिस्टम: प्रोजेक्ट स्ट्रेच नामक पुस्तक का अध्याय 2 खोला, जिसमें कहा गया था, "कंप्यूटर आर्किटेक्चर, अन्य आर्किटेक्चर की तरह, एक संरचना के उपयोगकर्ता की जरूरतों को निर्धारित करने और फिर डिजाइन करने की कला है। आर्थिक और तकनीकी बाधाओं के भीतर उन जरूरतों को यथासंभव प्रभावी ढंग से पूरा करें।"[9]
ब्रूक्स ने आईबीएम सिस्टम/360 (जिसे अब आईबीएम zSeries कहा जाता है) कंप्यूटर की लाइन विकसित करने में मदद की, जिसमें "आर्किटेक्चर" एक संज्ञा बन गया जो "उपयोगकर्ता को क्या जानने की जरूरत है" को परिभाषित करता है। [10] बाद में, कंप्यूटर उपयोगकर्ता इस शब्द का प्रयोग बहुत कम स्पष्ट तरीकों से करने लगे।[10]
प्रारंभिक कंप्यूटर आर्किटेक्चर को कागज पर डिजाइन किया गया था और फिर सीधे अंतिम हार्डवेयर रूप में बनाया गया था।[11] बाद में, कंप्यूटर आर्किटेक्चर प्रोटोटाइप को भौतिक रूप से एक ट्रांजिस्टर-ट्रांजिस्टर लॉजिक (TTL) कंप्यूटर के रूप में बनाया गया था - जैसे कि 6800 के प्रोटोटाइप और PA-RISC परीक्षण किया गया, और अंतिम हार्डवेयर फॉर्म के लिए प्रतिबद्ध होने से पहले ट्वीक किया गया। 1990 के दशक तक, नए कंप्यूटर आर्किटेक्चर को आम तौर पर "निर्मित", परीक्षण किया जाता है, और एक कंप्यूटर वास्तुकला सिम्युलेटर में कुछ अन्य कंप्यूटर आर्किटेक्चर के अंदर बदल दिया जाता है; या एक FPGA के अंदर एक सॉफ्ट माइक्रोप्रोसेसर के रूप में; या दोनों—अंतिम हार्डवेयर फॉर्म के लिए प्रतिबद्ध होने से पहले।[12]
उपश्रेणियाँ
कंप्यूटर वास्तुकला के अनुशासन में तीन मुख्य उपश्रेणियाँ हैं:[13]
- इंस्ट्रक्शन सेट आर्किटेक्चर (आईएसए): मशीन कोड को परिभाषित करता है जिसे एक कंप्यूटर प्रोसेसर पढ़ता है और साथ ही शब्द आकार, एड्रेसिंग मोड , प्रोसेसर रजिस्टर और डेटा प्रकार पर कार्य करता है।
- माइक्रोआर्किटेक्चर: कंप्यूटर संगठन के रूप में भी जाना जाता है, यह बताता है कि एक विशेष केंद्रीय प्रसंस्करण इकाई आईएसए को कैसे लागू करेगी।[14] उदाहरण के लिए, कंप्यूटर के CPU कैश का आकार एक ऐसा मुद्दा है जिसका आम तौर पर ISA से कोई लेना-देना नहीं है।
- सिस्टम डिजाइन : एक कंप्यूटिंग सिस्टम के भीतर अन्य सभी हार्डवेयर घटक शामिल हैं, जैसे सीपीयू कैश अलावा डेटा प्रोसेसिंग (जैसे, प्रत्यक्ष मेमोरी एक्सेस ), वर्चुअलाइजेशन और बहु ।
कंप्यूटर आर्किटेक्चर में अन्य प्रौद्योगिकियां हैं। निम्नलिखित तकनीकों का उपयोग इंटेल जैसी बड़ी कंपनियों में किया जाता है, और इसका अनुमान 2002 में लगाया गया था[13] सभी कंप्यूटर आर्किटेक्चर का 1% गिनने के लिए:
- मैक्रोआर्किटेक्चर: माइक्रोआर्किटेक्चर की तुलना में वास्तु परत ्स अधिक अमूर्त
- असेंबली निर्देश सेट आर्किटेक्चर: एक स्मार्ट असेंबलर अलग-अलग कार्यान्वयन के लिए मशीनों के समूह के लिए एक अमूर्त असेंबली भाषा को थोड़ा अलग मशीन भाषा में परिवर्तित कर सकता है।
- प्रोग्रामर -दृश्यमान मैक्रोआर्किटेक्चर: उच्च-स्तरीय भाषा उपकरण जैसे कि संकलक प्रोग्रामर्स के लिए एक सुसंगत इंटरफ़ेस या अनुबंध को परिभाषित कर सकते हैं, जो अंतर्निहित आईएसए, यूआईएसए और माइक्रोआर्किटेक्चर के बीच अंतर को अमूर्त करते हैं। उदाहरण के लिए, सी (प्रोग्रामिंग भाषा) , सी ++, या जावा (प्रोग्रामिंग भाषा) मानक विभिन्न प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर को परिभाषित करते हैं।
- माइक्रोकोड : माइक्रोकोड एक सॉफ्टवेयर है जो चिप पर चलने के लिए निर्देशों का अनुवाद करता है। यह हार्डवेयर के चारों ओर एक आवरण की तरह कार्य करता है, जो हार्डवेयर के निर्देश सेट इंटरफ़ेस का पसंदीदा संस्करण प्रस्तुत करता है। यह निर्देश अनुवाद सुविधा चिप डिजाइनरों को लचीले विकल्प देती है: उदा। 1. चिप का एक नया उन्नत संस्करण पुराने चिप संस्करण के समान सटीक निर्देश सेट को प्रस्तुत करने के लिए माइक्रोकोड का उपयोग कर सकता है, इसलिए निर्देश सेट को लक्षित करने वाले सभी सॉफ़्टवेयर बिना किसी बदलाव के नए चिप पर चलेंगे। उदा. 2. माइक्रोकोड एक ही अंतर्निहित चिप के लिए विभिन्न प्रकार के निर्देश सेट प्रस्तुत कर सकता है, जिससे यह व्यापक प्रकार के सॉफ़्टवेयर को चलाने की अनुमति देता है।
- यूआईएसए: यूजर इंस्ट्रक्शन सेट आर्किटेक्चर, पावरपीसी जोखिम प्रोसेसर द्वारा प्रदान किए गए आरआईएससी सीपीयू निर्देशों के तीन सबसेट में से एक को संदर्भित करता है। यूआईएसए सबसेट, वे आरआईएससी निर्देश हैं जो एप्लिकेशन डेवलपर्स के लिए रुचिकर हैं। अन्य दो उपसमुच्चय VEA (वर्चुअल एनवायरनमेंट आर्किटेक्चर) निर्देश हैं जिनका उपयोग वर्चुअलाइजेशन सिस्टम डेवलपर्स द्वारा किया जाता है, और OEA (ऑपरेटिंग एनवायरनमेंट आर्किटेक्चर) ऑपरेशन सिस्टम डेवलपर्स द्वारा उपयोग किया जाता है।[15]
- पिन आर्किटेक्चर: हार्डवेयर फ़ंक्शंस जो एक माइक्रोप्रोसेसर को एक हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, जैसे, x86 पिन A20M, FERR/IGNNE या FLUSH। साथ ही, संदेश जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी सीपीयू कैश को अमान्य (खाली) किया जा सके। पिन आर्किटेक्चर फ़ंक्शंस ISA फ़ंक्शंस की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। आर्किटेक्चर शब्द फिट बैठता है, क्योंकि संगत सिस्टम के लिए फ़ंक्शंस प्रदान किए जाने चाहिए, भले ही विस्तृत विधि बदल जाए।
भूमिकाएं
परिभाषा
कंप्यूटर आर्किटेक्चर का संबंध कंप्यूटर सिस्टम के प्रदर्शन, दक्षता, लागत और विश्वसनीयता को संतुलित करने से है। इन प्रतिस्पर्धी कारकों के संतुलन को स्पष्ट करने के लिए निर्देश सेट आर्किटेक्चर के मामले का उपयोग किया जा सकता है। अधिक जटिल निर्देश सेट प्रोग्रामर को अधिक स्थान कुशल प्रोग्राम लिखने में सक्षम बनाता है, क्योंकि एक ही निर्देश कुछ उच्च-स्तरीय अमूर्तता (जैसे x86 लूप निर्देश) को एन्कोड कर सकता है।[16] हालांकि, लंबे और अधिक जटिल निर्देश प्रोसेसर को डीकोड करने में अधिक समय लेते हैं और प्रभावी ढंग से लागू करने के लिए अधिक महंगा हो सकता है। बड़े निर्देश सेट से बढ़ी हुई जटिलता भी अविश्वसनीयता के लिए अधिक जगह बनाती है जब निर्देश अप्रत्याशित तरीके से इंटरैक्ट करते हैं।
कार्यान्वयन में एकीकृत सर्किट डिजाइन, पैकेजिंग, बिजली और शीतलन शामिल है। डिज़ाइन के अनुकूलन के लिए कंपाइलर, ऑपरेटिंग सिस्टम से लेकर लॉजिक डिज़ाइन और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।[17]
निर्देश सेट वास्तुकला
This section does not cite any sources. (March 2018) (Learn how and when to remove this template message) |
एक निर्देश सेट आर्किटेक्चर (आईएसए) कंप्यूटर के सॉफ्टवेयर और हार्डवेयर के बीच इंटरफेस है और इसे मशीन के प्रोग्रामर के दृष्टिकोण के रूप में भी देखा जा सकता है। कंप्यूटर उच्च-स्तरीय प्रोग्रामिंग भाषाओं जैसे जावा, सी ++, या उपयोग की जाने वाली अधिकांश प्रोग्रामिंग भाषाओं को नहीं समझते हैं। एक प्रोसेसर केवल कुछ संख्यात्मक फैशन में एन्कोड किए गए निर्देशों को समझता है, आमतौर पर बाइनरी अंक प्रणाली के रूप में। सॉफ्टवेयर टूल, जैसे कि कंपाइलर, उन उच्च स्तरीय भाषाओं को निर्देशों में अनुवाद करते हैं जिन्हें प्रोसेसर समझ सकता है।
निर्देशों के अलावा, आईएसए कंप्यूटर में उन वस्तुओं को परिभाषित करता है जो एक प्रोग्राम के लिए उपलब्ध हैं- जैसे, डेटा प्रकार, प्रोसेसर रजिस्टर, एड्रेसिंग मोड और मेमोरी। निर्देश इन उपलब्ध वस्तुओं को रजिस्टर इंडेक्स (या नाम) और मेमोरी एड्रेसिंग मोड के साथ ढूंढते हैं।
कंप्यूटर के आईएसए को आमतौर पर एक छोटे निर्देश मैनुअल में वर्णित किया जाता है, जो बताता है कि निर्देश कैसे एन्कोड किए जाते हैं। साथ ही, यह निर्देशों के लिए संक्षिप्त (अस्पष्ट) स्मरक नामों को परिभाषित कर सकता है। नामों को एक सॉफ्टवेयर डेवलपमेंट टूल द्वारा पहचाना जा सकता है जिसे असेंबलर (कंप्यूटर प्रोग्रामिंग) कहा जाता है। एक असेंबलर एक कंप्यूटर प्रोग्राम है जो आईएसए के मानव-पठनीय रूप को कंप्यूटर-पठनीय रूप में अनुवादित करता है। disassembler भी व्यापक रूप से उपलब्ध हैं, आमतौर पर डिबगर ्स और सॉफ्टवेयर प्रोग्राम में बाइनरी कंप्यूटर प्रोग्राम में खराबी को अलग करने और ठीक करने के लिए।
आईएसए गुणवत्ता और पूर्णता में भिन्न हैं। एक अच्छा आईएसए प्रोग्रामर सुविधा (कोड को समझना कितना आसान है), कोड का आकार (किसी विशिष्ट क्रिया को करने के लिए कितना कोड आवश्यक है), निर्देशों की व्याख्या करने के लिए कंप्यूटर की लागत (अधिक जटिलता का अर्थ है अधिक हार्डवेयर की आवश्यकता है) निर्देशों को डीकोड और निष्पादित करें), और कंप्यूटर की गति (अधिक जटिल डिकोडिंग हार्डवेयर के साथ डिकोड करने में अधिक समय लगता है)। मेमोरी संगठन परिभाषित करता है कि निर्देश मेमोरी के साथ कैसे इंटरैक्ट करते हैं, और मेमोरी स्वयं के साथ कैसे इंटरैक्ट करती है।
डिज़ाइन एमुलेटर के दौरान, एमुलेटर प्रस्तावित निर्देश सेट में लिखे गए प्रोग्राम चला सकते हैं। आधुनिक अनुकरणकर्ता यह निर्धारित करने के लिए आकार, लागत और गति को माप सकते हैं कि कोई विशेष आईएसए अपने लक्ष्यों को पूरा कर रहा है या नहीं।
कंप्यूटर संगठन
कंप्यूटर संगठन प्रदर्शन-आधारित उत्पादों को अनुकूलित करने में मदद करता है। उदाहरण के लिए, सॉफ्टवेयर इंजीनियरों को प्रोसेसर की प्रोसेसिंग पावर जानने की जरूरत है। उन्हें न्यूनतम कीमत पर सबसे अधिक प्रदर्शन प्राप्त करने के लिए सॉफ़्टवेयर को अनुकूलित करने की आवश्यकता हो सकती है। इसके लिए कंप्यूटर के संगठन के काफी विस्तृत विश्लेषण की आवश्यकता हो सकती है। उदाहरण के लिए, एक एसडी कार्ड में, डिजाइनरों को कार्ड की व्यवस्था करने की आवश्यकता हो सकती है ताकि सबसे अधिक डेटा को सबसे तेज़ संभव तरीके से संसाधित किया जा सके।
कंप्यूटर संगठन किसी विशेष परियोजना के लिए प्रोसेसर के चयन की योजना बनाने में भी मदद करता है। मल्टीमीडिया प्रोजेक्ट्स को बहुत तेज़ डेटा एक्सेस की आवश्यकता हो सकती है, जबकि वर्चुअल मशीनों को तेज़ इंटरप्ट की आवश्यकता हो सकती है। कभी-कभी कुछ कार्यों के लिए अतिरिक्त घटकों की भी आवश्यकता होती है। उदाहरण के लिए, वर्चुअल मशीन चलाने में सक्षम कंप्यूटर को अप्रत्यक्ष स्मृति हार्डवेयर की आवश्यकता होती है ताकि विभिन्न वर्चुअल कंप्यूटरों की मेमोरी को अलग रखा जा सके। कंप्यूटर संगठन और सुविधाएँ भी बिजली की खपत और प्रोसेसर की लागत को प्रभावित करती हैं।
कार्यान्वयन
एक बार एक निर्देश सेट और माइक्रो-आर्किटेक्चर डिजाइन किए जाने के बाद, एक व्यावहारिक मशीन विकसित की जानी चाहिए। इस डिजाइन प्रक्रिया को कार्यान्वयन कहा जाता है। कार्यान्वयन को आमतौर पर वास्तुशिल्प डिजाइन नहीं माना जाता है, बल्कि हार्डवेयर इंजीनियरिंग डिजाइन प्रक्रिया माना जाता है। कार्यान्वयन को आगे कई चरणों में तोड़ा जा सकता है:
- 'लॉजिक इंप्लीमेंटेशन' लॉजिक गेट | लॉजिक-गेट स्तर पर आवश्यक सर्किट को डिजाइन करता है।
- 'सर्किट कार्यान्वयन' बुनियादी तत्वों (जैसे, गेट्स, बहुसंकेतक ्स, फ्लिप-फ्लॉप (इलेक्ट्रॉनिक्स) ) के साथ-साथ कुछ बड़े ब्लॉक (अंकगणितीय तर्क इकाई , कैशे आदि) के ट्रांजिस्टर -स्तरीय डिज़ाइन करता है जिन्हें लॉजिक पर लागू किया जा सकता है। -गेट स्तर, या यहां तक कि भौतिक स्तर पर भी अगर डिजाइन इसके लिए कहता है।
- 'भौतिक कार्यान्वयन' भौतिक परिपथों को खींचता है। विभिन्न सर्किट घटकों को एक चिप फ्लोरप्लान (माइक्रोइलेक्ट्रॉनिक) या एक बोर्ड पर रखा जाता है और उन्हें जोड़ने वाले तार बनाए जाते हैं।
- 'डिजाइन सत्यापन' कंप्यूटर को समग्र रूप से यह देखने के लिए परीक्षण करता है कि क्या यह सभी स्थितियों और सभी समयों में काम करता है। एक बार जब डिज़ाइन सत्यापन प्रक्रिया शुरू हो जाती है, तो तर्क स्तर पर डिज़ाइन का परीक्षण लॉजिक एमुलेटर का उपयोग करके किया जाता है। हालांकि, यथार्थवादी परीक्षण चलाने के लिए यह आमतौर पर बहुत धीमा होता है। इसलिए, पहले परीक्षण के आधार पर सुधार करने के बाद, फील्ड-प्रोग्रामेबल गेट-एरेज़ (FPGA s) का उपयोग करके प्रोटोटाइप का निर्माण किया जाता है। अधिकांश हॉबी प्रोजेक्ट इस स्तर पर रुक जाते हैं। अंतिम चरण प्रोटोटाइप एकीकृत सर्किट का परीक्षण करना है, जिसके लिए कई रीडिज़ाइन की आवश्यकता हो सकती है।
केंद्रीय प्रसंस्करण इकाइयों के लिए, संपूर्ण कार्यान्वयन प्रक्रिया को अलग तरीके से व्यवस्थित किया जाता है और इसे अक्सर सीपीयू डिजाइन के रूप में संदर्भित किया जाता है।
डिजाइन लक्ष्य
कंप्यूटर सिस्टम का सटीक रूप बाधाओं और लक्ष्यों पर निर्भर करता है। कंप्यूटर आर्किटेक्चर आमतौर पर मानकों, शक्ति बनाम प्रदर्शन, लागत, स्मृति क्षमता, विलंबता (इंजीनियरिंग) का व्यापार करते हैं (विलंबता एक नोड से स्रोत तक जाने के लिए जानकारी के लिए लगने वाला समय है) और थ्रूपुट। कभी-कभी अन्य विचार, जैसे कि सुविधाएँ, आकार, वजन, विश्वसनीयता और विस्तारशीलता भी कारक होते हैं।
सबसे आम योजना एक गहन शक्ति विश्लेषण करती है और यह पता लगाती है कि पर्याप्त प्रदर्शन को बनाए रखते हुए बिजली की खपत को कैसे कम रखा जाए।
प्रदर्शन
आधुनिक कंप्यूटर प्रदर्शन को अक्सर निर्देश प्रति चक्र (आईपीसी) में वर्णित किया जाता है, जो किसी भी घड़ी आवृत्ति पर वास्तुकला की दक्षता को मापता है; तेज आईपीसी दर का मतलब है कि कंप्यूटर तेज है। पुराने कंप्यूटरों में आईपीसी की संख्या 0.1 जितनी कम थी जबकि आधुनिक प्रोसेसर आसानी से 1 के करीब पहुंच जाते हैं। सुपरस्केलर प्रोसेसर प्रति घड़ी चक्र में कई निर्देशों को निष्पादित करके तीन से पांच आईपीसी तक पहुंच सकते हैं।[citation needed] मशीन-भाषा के निर्देशों की गणना करना भ्रामक होगा क्योंकि वे अलग-अलग आईएसए में अलग-अलग मात्रा में काम कर सकते हैं। मानक माप में निर्देश आईएसए के मशीन-भाषा निर्देशों की गिनती नहीं है, बल्कि माप की एक इकाई है, जो आमतौर पर वैक्स कंप्यूटर आर्किटेक्चर की गति पर आधारित होती है।
बहुत से लोग कंप्यूटर की गति को घड़ी की दर (आमतौर पर मेगाहर्ट्ज या गीगाहर्ट्ज में) से मापते थे। यह सीपीयू की मुख्य घड़ी के प्रति सेकंड के चक्र को संदर्भित करता है। हालांकि, यह मीट्रिक कुछ हद तक भ्रामक है, क्योंकि उच्च घड़ी दर वाली मशीन के पास अधिक प्रदर्शन नहीं हो सकता है। नतीजतन, निर्माता प्रदर्शन के एक उपाय के रूप में घड़ी की गति से दूर चले गए हैं।
अन्य कारक गति को प्रभावित करते हैं, जैसे कि कार्यात्मक इकाइयों का मिश्रण, कंप्यूटर बस की गति, उपलब्ध मेमोरी और कार्यक्रमों में निर्देशों का प्रकार और क्रम।
गति के दो मुख्य प्रकार हैं: विलंबता और थ्रूपुट। विलंबता एक प्रक्रिया की शुरुआत और उसके पूरा होने के बीच का समय है। थ्रूपुट प्रति यूनिट समय में किए गए कार्य की मात्रा है। इंटरप्ट विलंबता एक इलेक्ट्रॉनिक घटना के लिए सिस्टम की गारंटीकृत अधिकतम प्रतिक्रिया समय है (जैसे जब डिस्क ड्राइव कुछ डेटा को स्थानांतरित करना समाप्त कर देता है)।
प्रदर्शन डिज़ाइन विकल्पों की एक बहुत विस्तृत श्रृंखला से प्रभावित होता है - उदाहरण के लिए, एक प्रोसेसर पाइपलाइन (कंप्यूटिंग) आमतौर पर विलंबता को बदतर बनाता है, लेकिन थ्रूपुट को बेहतर बनाता है। मशीनरी को नियंत्रित करने वाले कंप्यूटरों को आमतौर पर कम इंटरप्ट लेटेंसी की आवश्यकता होती है। ये कंप्यूटर रीयल-टाइम कंप्यूटिंग | रीयल-टाइम वातावरण में काम करते हैं और यदि कोई ऑपरेशन निर्दिष्ट समय में पूरा नहीं होता है तो विफल हो जाते हैं। उदाहरण के लिए, कंप्यूटर नियंत्रित एंटी-लॉक ब्रेक को ब्रेक पेडल को महसूस होने के बाद अनुमानित और सीमित समय अवधि के भीतर ब्रेक लगाना शुरू कर देना चाहिए अन्यथा ब्रेक की विफलता हो जाएगी।
बेंचमार्क (कंप्यूटिंग) इन सभी कारकों को ध्यान में रखते हुए एक कंप्यूटर को परीक्षण कार्यक्रमों की एक श्रृंखला के माध्यम से चलाने में लगने वाले समय को मापता है। हालांकि बेंचमार्किंग ताकत दिखाती है, लेकिन ऐसा नहीं होना चाहिए कि आप कंप्यूटर कैसे चुनते हैं। अक्सर मापी गई मशीनें अलग-अलग मापों पर विभाजित हो जाती हैं। उदाहरण के लिए, एक सिस्टम वैज्ञानिक अनुप्रयोगों को जल्दी से संभाल सकता है, जबकि दूसरा वीडियो गेम को अधिक सुचारू रूप से प्रस्तुत कर सकता है। इसके अलावा, डिज़ाइनर हार्डवेयर या सॉफ़्टवेयर के माध्यम से अपने उत्पादों में विशेष सुविधाओं को लक्षित और जोड़ सकते हैं, जो एक विशिष्ट बेंचमार्क को जल्दी से निष्पादित करने की अनुमति देते हैं लेकिन सामान्य कार्यों के समान लाभ प्रदान नहीं करते हैं।
शक्ति दक्षता
आधुनिक कंप्यूटरों में शक्ति दक्षता एक और महत्वपूर्ण माप है। एक उच्च शक्ति दक्षता को अक्सर कम गति या उच्च लागत के लिए कारोबार किया जा सकता है। कंप्यूटर आर्किटेक्चर में बिजली की खपत का जिक्र करते समय सामान्य माप एमआईपीएस/डब्ल्यू (प्रति सेकंड प्रति वाट लाखों निर्देश) है।
आधुनिक सर्किट में प्रति ट्रांजिस्टर कम शक्ति की आवश्यकता होती है क्योंकि प्रति चिप ट्रांजिस्टर की संख्या बढ़ती है।[18] ऐसा इसलिए है क्योंकि प्रत्येक ट्रांजिस्टर जिसे एक नई चिप में लगाया जाता है, उसे अपनी बिजली की आपूर्ति की आवश्यकता होती है और इसे बिजली देने के लिए नए रास्ते बनाने की आवश्यकता होती है। हालाँकि प्रति चिप ट्रांजिस्टर की संख्या धीमी गति से बढ़ने लगी है। इसलिए, एक चिप में अधिक से अधिक ट्रांजिस्टर फिट करने से अधिक महत्वपूर्ण नहीं होने पर, बिजली दक्षता उतनी ही महत्वपूर्ण होने लगी है। हाल के प्रोसेसर डिजाइनों ने इस जोर को दिखाया है क्योंकि वे एक चिप में अधिक से अधिक ट्रांजिस्टर को रटने के बजाय बिजली दक्षता पर अधिक ध्यान केंद्रित करते हैं।[19] एम्बेडेड कंप्यूटरों की दुनिया में, थ्रूपुट और लेटेंसी के बाद बिजली दक्षता लंबे समय से एक महत्वपूर्ण लक्ष्य रहा है।
बाजार की मांग में बदलाव
बिजली कटौती में सुधार की तुलना में पिछले कुछ वर्षों में घड़ी की आवृत्ति में वृद्धि धीमी गति से बढ़ी है। यह मूर के कानून के अंत और लंबे बैटरी जीवन की मांग और मोबाइल प्रौद्योगिकी के आकार में कमी से प्रेरित है। उच्च घड़ी दरों से बिजली की खपत और लघुकरण पर ध्यान केंद्रित करने में यह परिवर्तन बिजली की खपत में उल्लेखनीय कमी से दिखाया जा सकता है, जितना कि 50%, जो इंटेल द्वारा हैसवेल (माइक्रोआर्किटेक्चर) के रिलीज में रिपोर्ट किया गया था; जहां उन्होंने अपने बिजली खपत बेंचमार्क को 30 से 40 वाट से घटाकर 10-20 वाट कर दिया।[20] इसकी तुलना में 3 गीगाहर्ट्ज़ से 4 गीगाहर्ट्ज़ तक की प्रोसेसिंग स्पीड में वृद्धि (2002 से 2006)[21] यह देखा जा सकता है कि अनुसंधान और विकास में ध्यान घड़ी की आवृत्ति से हट रहा है और कम बिजली की खपत और कम जगह लेने की ओर बढ़ रहा है।
यह भी देखें
- Comparison of CPU architectures
- Computer hardware
- CPU design
- Floating point
- Harvard architecture (Modified)
- Dataflow architecture
- Transport triggered architecture
- Reconfigurable computing
- Influence of the IBM PC on the personal computer market
- Orthogonal instruction set
- Software architecture
- von Neumann architecture
- Flynn's taxonomy
संदर्भ
- ↑ Dragoni, Nicole (n.d.). "Introduction to peer to peer computing" (PDF). DTU Compute – Department of Applied Mathematics and Computer Science. Lyngby, Denmark.
- ↑ 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.
- ↑ 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.
- ↑ 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
- ↑ Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
- ↑ Neumann, John (1945). First Draft of a Report on the EDVAC. p. 9.
- ↑ Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.
- ↑ Johnson, Lyle (1960). "A Description of Stretch" (PDF). p. 1. Retrieved 7 October 2017.
- ↑ Buchholz, Werner (1962). Planning a Computer System. p. 5.
- ↑ 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.
- ↑ 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]
- ↑ Schmalz, M.S. "Organization of Computer Systems". UF CISE. Retrieved 11 May 2017.
- ↑ 13.0 13.1 John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach (Third ed.). Morgan Kaufmann Publishers.
- ↑ Laplante, Phillip A. (2001). Dictionary of Computer Science, Engineering, and Technology. CRC Press. pp. 94–95. ISBN 0-8493-2691-5.
- ↑ Frey, Brad (2005-02-24). "PowerPC Architecture Book, Version 2.02". IBM Corporation.
- ↑ Null, Linda (2019). The Essentials of Computer Organization and Architecture (5th ed.). Burlington, MA: Jones & Bartlett Learning. p. 280. ISBN 9781284123036.
- ↑ Martin, Milo. "What is computer architecture?" (PDF). UPENN. Retrieved 11 May 2017.
- ↑ "Integrated circuits and fabrication" (PDF). Retrieved 8 May 2017.
- ↑ "Exynos 9 Series (8895)". Samsung. Retrieved 8 May 2017.
- ↑ "Measuring Processor Power TDP vs ACP" (PDF). Intel. April 2011. Retrieved 5 May 2017.
- ↑ "History of Processor Performance" (PDF). cs.columbia.edu. 24 April 2012. Retrieved 5 May 2017.
इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची
- सेंट्रल प्रोसेसिंग यूनिट
- शब्द का आकार
- सभा की भाषा
- सी++
- उच्च स्तरीय प्रोग्रामिंग भाषा
- एम्यूलेटर
- फ्लोरप्लान (माइक्रोइलेक्ट्रॉनिक्स)
- प्रति चक्र निर्देश
- कार्यात्मक इकाई
स्रोत
- John L. Hennessy and David Patterson (2006). Computer Architecture: A Quantitative Approach (Fourth ed.). Morgan Kaufmann. ISBN 978-0-12-370490-0.
- रॉबर्ट एस. बार्टन|बार्टन, रॉबर्ट एस., कंप्यूटर का कार्यात्मक डिजाइन, एसीएम 4(9): 405 (1961) का संचार।
- बार्टन, रॉबर्ट एस., डिजिटल कंप्यूटर के कार्यात्मक डिजाइन के लिए एक नया दृष्टिकोण, पश्चिमी संयुक्त कंप्यूटर सम्मेलन की कार्यवाही, मई 1961, पीपी 393–396। बरोज बरोज़ बड़े सिस्टम कंप्यूटर के डिजाइन के बारे में।
- गॉर्डन बेल|बेल, सी. गॉर्डन; और एलन नेवेल | नेवेल, एलन (1971)। कंप्यूटर संरचनाएं: रीडिंग और उदाहरण , मैकग्रा-हिल।
- गेरिट ब्लाउव|ब्लाउव, जीए, और फ्रेड ब्रूक्स|ब्रूक्स, एफपी, जूनियर, सिस्टम की संरचना भाग I- तार्किक संरचना की रूपरेखा, आईबीएम सिस्टम्स जर्नल, वॉल्यूम। 3, नहीं। 2, पीपी. 119-135, 1964.
- Tanenbaum, Andrew S. (1979). Structured Computer Organization. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 0-13-148521-0.
बाहरी संबंध
- ISCA: Proceedings of the International Symposium on Computer Architecture
- Micro: IEEE/ACM International Symposium on Microarchitecture
- HPCA: International Symposium on High Performance Computer Architecture
- ASPLOS: International Conference on Architectural Support for Programming Languages and Operating Systems
- ACM Transactions on Architecture and Code Optimization
- IEEE Transactions on Computers
- The von Neumann Architecture of Computer Systems