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