एकल प्रोसेसर में कई कोर जोड़ने से आधुनिक ऑपरेटिंग सिस्टम की मल्टीटास्किंग प्रकृति के कारण महत्वपूर्ण लाभ मिलते हैं। हालांकि, कुछ उद्देश्यों के लिए, उन्हें जोड़ने की लागत के सापेक्ष कितने कोर में सुधार होता है, इसकी एक ऊपरी व्यावहारिक सीमा होती है।
मल्टी-कोर प्रौद्योगिकी अग्रिम
मल्टी-कोर प्रोसेसर 2000 के दशक की शुरुआत से पर्सनल कंप्यूटर में उपलब्ध हैं। मल्टी-कोर डिज़ाइनों ने उनकी घड़ी की गति के संदर्भ में प्रोसेसर की भौतिक सीमाओं की सीमा तक पहुंचने की समस्या को संबोधित किया और उन्हें कितनी प्रभावी ढंग से ठंडा किया जा सकता है और अभी भी सटीकता बनाए रख सकता है।एकल प्रोसेसर चिप पर अतिरिक्त कोर में जाने से, निर्माताओं ने सीपीयू द्वारा नियंत्रित किए जा सकने वाले डेटा की मात्रा को प्रभावी ढंग से गुणा करके घड़ी की गति के साथ समस्याओं से बचा लिया।
जब वे मूल रूप से जारी किए गए थे, निर्माताओं ने एक सीपीयू में सिर्फ दो कोर की पेशकश की, लेकिन अब चार, छह और यहां तक कि 10 या अधिक के विकल्प हैं। कोर जोड़ने के अलावा, एक साथ मल्टीथ्रेडिंग प्रौद्योगिकियां-जैसे कि इंटेल का हाइपर-थ्रेडिंग-ऑपरेटिंग सिस्टम द्वारा देखे जाने वाले वर्चुअल कोर को दोगुना कर सकता है।
प्रक्रियाएं और सूत्र
एक प्रक्रिया एक विशिष्ट कार्य है, एक प्रोग्राम की तरह, कंप्यूटर पर चल रहा है। एक प्रक्रिया में एक या अधिक धागे होते हैं।
एक थ्रेड कंप्यूटर पर प्रोसेसर से गुजरने वाले प्रोग्राम से डेटा की एक एकल स्ट्रीम है। प्रत्येक एप्लिकेशन अपने स्वयं के एक या कई थ्रेड उत्पन्न करता है जो इस बात पर निर्भर करता है कि यह कैसे चल रहा है। मल्टीटास्किंग के बिना, सिंगल-कोर प्रोसेसर एक समय में केवल एक थ्रेड को संभाल सकता है, इसलिए सिस्टम डेटा को समवर्ती रूप से संसाधित करने के लिए थ्रेड्स के बीच तेजी से स्विच करता है।
कई कोर होने का लाभ यह है कि सिस्टम एक साथ एक से अधिक थ्रेड को हैंडल कर सकता है। प्रत्येक कोर डेटा की एक अलग स्ट्रीम को संभाल सकता है। यह आर्किटेक्चर समवर्ती अनुप्रयोगों को चलाने वाले सिस्टम के प्रदर्शन को बहुत बढ़ाता है। चूंकि सर्वर एक निश्चित समय में कई समवर्ती अनुप्रयोगों को चलाते हैं, प्रौद्योगिकी मूल रूप से उद्यम ग्राहक के लिए विकसित की गई थी - लेकिन जैसे-जैसे व्यक्तिगत कंप्यूटर अधिक जटिल होते गए और मल्टीटास्किंग में वृद्धि हुई, उन्हें भी अतिरिक्त कोर होने से लाभ हुआ।
हर प्रक्रिया, हालांकि, एक प्राथमिक धागे द्वारा नियंत्रित होती है जो केवल एक ही कोर पर कब्जा कर सकती है। इस प्रकार, गेम या वीडियो रेंडरर जैसे प्रोग्राम की सापेक्ष गति उस कोर की क्षमता तक सीमित होती है जो प्राथमिक थ्रेड खपत करता है। प्राथमिक धागा पूरी तरह से माध्यमिक धागे को अन्य कोर में सौंप सकता है - लेकिन जब आप कोर को दोगुना करते हैं तो कोई गेम दोगुना तेज़ नहीं होता है। इस प्रकार, किसी गेम के लिए एक कोर (प्राथमिक थ्रेड) को पूरी तरह से अधिकतम करना असामान्य नहीं है, लेकिन सेकेंडरी थ्रेड्स के लिए अन्य कोर का केवल आंशिक उपयोग देखें।कोर-डबलिंग की कोई मात्रा इस तथ्य के आसपास नहीं मिलती है कि प्राथमिक कोर आपके एप्लिकेशन के लिए एक दर लिमिटर है, और जो ऐप्स इस आर्किटेक्चर के प्रति संवेदनशील हैं, वे उन ऐप्स से बेहतर प्रदर्शन करेंगे जो नहीं हैं।
सॉफ्टवेयर निर्भरता
जबकि बहु-कोर प्रोसेसर की अवधारणा आकर्षक लगती है, इस तकनीक के लिए एक प्रमुख चेतावनी है। एकाधिक प्रोसेसर के वास्तविक लाभों का आनंद लेने के लिए, कंप्यूटर पर चलने वाले सॉफ़्टवेयर को मल्टीथ्रेडिंग का समर्थन करने के लिए लिखा जाना चाहिए। ऐसी सुविधा का समर्थन करने वाले सॉफ़्टवेयर के बिना, थ्रेड्स मुख्य रूप से एकल कोर के माध्यम से चलाए जाएंगे और इस प्रकार कंप्यूटर की समग्र दक्षता को कम कर देंगे। आखिरकार, अगर यह क्वाड-कोर प्रोसेसर में केवल एक कोर पर चल सकता है, तो इसे उच्च बेस क्लॉक स्पीड वाले दोहरे कोर प्रोसेसर पर चलाना वास्तव में तेज़ हो सकता है।
सभी प्रमुख वर्तमान ऑपरेटिंग सिस्टम मल्टीथ्रेडिंग क्षमता का समर्थन करते हैं। लेकिन मल्टीथ्रेडिंग को एप्लिकेशन सॉफ़्टवेयर में भी लिखा जाना चाहिए।उपभोक्ता सॉफ्टवेयर में मल्टीथ्रेडिंग के समर्थन में पिछले कुछ वर्षों में सुधार हुआ है लेकिन कई सरल कार्यक्रमों के लिए, सॉफ्टवेयर निर्माण की जटिलता के कारण मल्टीथ्रेडिंग समर्थन अभी भी लागू नहीं किया गया है। उदाहरण के लिए, एक मेल प्रोग्राम या वेब ब्राउजर को मल्टीथ्रेडिंग के लिए उतना बड़ा लाभ देखने की संभावना नहीं है, जितना कि एक ग्राफिक्स या वीडियो एडिटिंग प्रोग्राम, जहां कंप्यूटर जटिल गणनाओं को संसाधित करता है।
इस प्रवृत्ति को समझाने का एक अच्छा उदाहरण एक विशिष्ट कंप्यूटर गेम को देखना है। खेल में क्या हो रहा है यह प्रदर्शित करने के लिए अधिकांश खेलों में किसी प्रकार के प्रतिपादन इंजन की आवश्यकता होती है। इसके अलावा, कुछ प्रकार की कृत्रिम बुद्धि खेल में घटनाओं और पात्रों को नियंत्रित करती है। सिंगल-कोर के साथ, दोनों कार्य उनके बीच स्विच करके निष्पादित होते हैं। यह दृष्टिकोण कुशल नहीं है। यदि सिस्टम में कई प्रोसेसर होते हैं, तो रेंडरिंग और AI प्रत्येक एक अलग कोर पर चल सकते हैं-एक बहु-कोर प्रोसेसर के लिए एक आदर्श स्थिति।
क्या 8 > 4 > 2 है?
दो कोर से आगे जाना मिश्रित लाभ प्रस्तुत करता है, यह देखते हुए कि किसी दिए गए कंप्यूटर खरीदार के लिए उत्तर उस सॉफ़्टवेयर पर निर्भर करता है जिसका वह आमतौर पर उपयोग करता है।उदाहरण के लिए, कई क्लासिक गेम अभी भी दो और चार कोर के बीच थोड़ा प्रदर्शन अंतर प्रदान करते हैं। यहां तक कि आधुनिक गेम-जिनमें से कुछ को कथित तौर पर आठ कोर की आवश्यकता होती है या समर्थन करते हैं-उच्च बेस क्लॉक स्पीड वाली छह-कोर मशीन से बेहतर प्रदर्शन नहीं कर सकते हैं, यह देखते हुए कि प्राथमिक थ्रेड की प्रभावशीलता मल्टीथ्रेडेड प्रदर्शन की दक्षता को नियंत्रित करती है।
दूसरी ओर, एक वीडियो-एन्कोडिंग प्रोग्राम जो वीडियो को ट्रांसकोड करता है, उसे बड़े लाभ दिखाई देंगे क्योंकि अलग-अलग फ्रेम रेंडरिंग को अलग-अलग कोर में पास किया जा सकता है और फिर सॉफ्टवेयर द्वारा एक ही स्ट्रीम में मिलाया जा सकता है। इस प्रकार आठ कोर होने से चार होने से भी अधिक लाभ होगा। संक्षेप में, प्राथमिक धागे को तुलनात्मक रूप से समृद्ध संसाधनों की आवश्यकता नहीं होती है; इसके बजाय, यह बेटी के धागे को कड़ी मेहनत कर सकता है जो प्रोसेसर के कोर को अधिकतम करता है।
घड़ी की गति
सामान्य शब्दों में, ज्यादा क्लॉक स्पीड का मतलब तेज प्रोसेसर होगा।जब आप कई कोर के सापेक्ष गति पर विचार करते हैं तो घड़ी की गति अधिक अस्पष्ट हो जाती है क्योंकि प्रोसेसर अतिरिक्त कोर के लिए कई डेटा थ्रेड्स को क्रंच करते हैं लेकिन उनमें से प्रत्येक कोर थर्मल प्रतिबंधों के कारण कम गति पर चल रहा होगा।
उदाहरण के लिए, एक डुअल-कोर प्रोसेसर प्रत्येक प्रोसेसर के लिए 3.5 गीगाहर्ट्ज़ की बेस क्लॉक स्पीड का समर्थन कर सकता है जबकि क्वाड-कोर प्रोसेसर केवल 3.0 गीगाहर्ट्ज़ पर चल सकता है। उनमें से प्रत्येक पर केवल एक कोर को देखते हुए, डुअल-कोर प्रोसेसर क्वाड-कोर की तुलना में 14 प्रतिशत तेज है। इस प्रकार, यदि आपके पास ऐसा प्रोग्राम है जो केवल सिंगल-थ्रेडेड है, तो ड्यूल-कोर प्रोसेसर वास्तव में अधिक कुशल है। फिर से, यदि आपका सॉफ़्टवेयर सभी चार प्रोसेसर का उपयोग कर सकता है, तो क्वाड-कोर प्रोसेसर वास्तव में उस डुअल-कोर प्रोसेसर की तुलना में लगभग 70 प्रतिशत तेज होगा।
निष्कर्ष
अधिकांश भाग के लिए, एक उच्च कोर काउंट प्रोसेसर होना आम तौर पर बेहतर होता है यदि आपका सॉफ़्टवेयर और विशिष्ट उपयोग के मामले इसका समर्थन करते हैं। अधिकांश भाग के लिए, एक मूल कंप्यूटर उपयोगकर्ता के लिए एक डुअल-कोर या क्वाड-कोर प्रोसेसर पर्याप्त शक्ति से अधिक होगा।अधिकांश उपभोक्ताओं को चार प्रोसेसर कोर से आगे जाने से कोई ठोस लाभ नहीं दिखाई देगा क्योंकि बहुत कम गैर-विशिष्ट सॉफ़्टवेयर इसका लाभ उठाते हैं। हाई-कोर-काउंट प्रोसेसर के लिए सबसे अच्छा उपयोग मामला उन मशीनों से संबंधित है जो डेस्कटॉप वीडियो संपादन, हाई-एंड गेमिंग के कुछ रूपों, या जटिल विज्ञान और गणित कार्यक्रमों जैसे जटिल कार्य करती हैं।
इस बारे में हमारे विचार देखें कि मुझे पीसी की कितनी तेज़ आवश्यकता है? इस बात का बेहतर अंदाजा लगाने के लिए कि किस प्रकार का प्रोसेसर आपकी कंप्यूटिंग जरूरतों से सबसे अच्छा मेल खाता है।