क्यों सीपीयू कोर सभी अलग-अलग लोगों के बजाय एक ही गति है?
यदि आपने कभी नए सीपीयू के लिए तुलनात्मक खरीदारी की है, तो आपने देखा होगा कि कोर सभी को अलग-अलग लोगों के संयोजन के बजाय गति लगती है। ऐसा क्यों है? आज के SuperUser Q & A पोस्ट में एक जिज्ञासु पाठक के प्रश्न का उत्तर है.
आज का प्रश्न और उत्तर सत्र सुपरयूज़र के सौजन्य से आता है-स्टैक एक्सचेंज का एक उपखंड, क्यू एंड ए वेब साइटों का एक समुदाय-संचालित समूह है।.
प्रश्न
सुपरयूजर रीडर जेमी जानना चाहता है कि सीपीयू कोर की सभी की गति अलग-अलग क्यों होती है:
सामान्य तौर पर, यदि आप एक नया कंप्यूटर खरीद रहे हैं, तो आप यह निर्धारित करेंगे कि कंप्यूटर के लिए अपेक्षित कार्यभार के आधार पर कौन सा प्रोसेसर खरीदना है। वीडियो गेम में प्रदर्शन एकल कोर गति द्वारा निर्धारित किया जाता है, जबकि वीडियो संपादन जैसे एप्लिकेशन कोर की संख्या से निर्धारित होते हैं। बाजार में जो उपलब्ध है, उसके संदर्भ में, सभी सीपीयू में मुख्य अंतर के साथ समान गति होती है, जो कि अधिक धागे या अधिक धार वाले होते हैं.
उदाहरण के लिए:
- इंटेल कोर i5-7600K, बेस फ्रीक्वेंसी 3.80 GHz, 4 कोर, 4 थ्रेड्स
- इंटेल कोर i7-7700K, बेस फ्रीक्वेंसी 4.20 गीगाहर्ट्ज़, 4 कोर, 8 थ्रेड्स
- AMD Ryzen 5 1600X, बेस फ्रीक्वेंसी 3.60 GHz, 6 कोर, 12 थ्रेड्स
- AMD Ryzen 7 1800X, बेस फ्रीक्वेंसी 3.60 GHz, 8 कोर, 16 थ्रेड्स
हम बढ़ते हुए कोर के इस पैटर्न को क्यों देखते हैं, फिर भी सभी कोर में समान गति होती है? अलग-अलग घड़ी की गति के साथ कोई संस्करण क्यों नहीं हैं? उदाहरण के लिए, दो "बड़े" कोर और छोटे कोर के बहुत सारे.
इसके बजाय, यह कहें कि 4.0 कोर हर्ट्ज पर चार कोर (यानी 4 × 4 गीगाहर्ट्ज़, 16 गीगाहर्ट्ज़ अधिकतम), कैसे एक सीपीयू के बारे में जो कि 4.0 गीगाहर्ट्ज़ पर चलने वाले दो कोर और 2.0 गीगाहर्ट्ज़ पर चलने वाले चार कोर (यानी 2 × 4.0 गीगाहर्ट्ज़) 4 × 2.0 हैं। GHz, 16 GHz अधिकतम)? क्या दूसरा विकल्प सिंगल थ्रेडेड वर्कलोड पर भी उतना ही अच्छा होगा, लेकिन मल्टी-थ्रेडेड वर्कलोड में यह बेहतर है?
मैं इसे एक सामान्य प्रश्न के रूप में पूछता हूं और विशेष रूप से ऊपर सूचीबद्ध सीपीयू के संबंध में या किसी एक विशिष्ट कार्यभार के बारे में नहीं। मैं सिर्फ इस बात के लिए उत्सुक हूं कि पैटर्न क्या है.
क्यों सीपीयू कोर सभी को अलग-अलग के बजाय एक ही गति है?
उत्तर
SuperUser योगदानकर्ता bwDraco का हमारे लिए जवाब है:
इसे विषम बहु-प्रसंस्करण (एचएमपी) के रूप में जाना जाता है और इसे मोबाइल उपकरणों द्वारा व्यापक रूप से अपनाया जाता है। एआरएम-आधारित उपकरणों में जो बड़े.लिटेल को लागू करते हैं, प्रोसेसर में अलग-अलग प्रदर्शन और पावर प्रोफाइल के साथ कोर होते हैं, यानी कुछ कोर तेजी से चलते हैं लेकिन बहुत सारी शक्ति (तेज वास्तुकला और / या ऊंची घड़ियां) खींचते हैं जबकि अन्य ऊर्जा-कुशल लेकिन धीमी गति से होते हैं ( धीमी वास्तुकला और / या कम घड़ियों)। यह उपयोगी है क्योंकि एक निश्चित बिंदु से पहले एक बार जब आप प्रदर्शन बढ़ाते हैं तो बिजली का उपयोग बहुत अधिक बढ़ जाता है। यहां विचार यह है कि जब आपको इसकी आवश्यकता हो तो प्रदर्शन प्राप्त करें और जब आप नहीं करते तब बैटरी जीवन.
डेस्कटॉप प्लेटफार्मों पर, बिजली की खपत बहुत कम है, इसलिए यह वास्तव में आवश्यक नहीं है। अधिकांश अनुप्रयोगों से अपेक्षा की जाती है कि प्रत्येक कोर में समान प्रदर्शन विशेषताएँ हों, और एचएमपी सिस्टम के लिए शेड्यूलिंग प्रक्रिया पारंपरिक सममित बहु-प्रोसेसिंग (एसएमपी) सिस्टम के लिए शेड्यूलिंग की तुलना में अधिक जटिल है (तकनीकी रूप से, विंडोज 10 में एचएमपी के लिए समर्थन है, लेकिन यह मुख्य रूप से मोबाइल के लिए अभिप्रेत है। उपकरण जो ARM big.LITTLE का उपयोग करते हैं).
इसके अलावा, अधिकांश डेस्कटॉप और लैपटॉप प्रोसेसर आज थर्मल या विद्युत रूप से उस बिंदु तक सीमित नहीं हैं जहां कुछ कोर को शॉर्ट बर्स्ट के लिए भी दूसरों की तुलना में तेजी से चलाने की आवश्यकता होती है। हमने मूल रूप से एक दीवार को मारा है कि हम कितनी तेजी से अलग-अलग कोर बना सकते हैं, इसलिए कुछ कोर को धीमे लोगों के साथ बदलने से शेष कोर तेजी से नहीं चल पाएंगे.
हालांकि कुछ डेस्कटॉप प्रोसेसर हैं जिनमें एक या दो कोर हैं जो दूसरों की तुलना में तेजी से चलने में सक्षम हैं, यह क्षमता वर्तमान में कुछ बहुत ही उच्च अंत इंटेल प्रोसेसर तक सीमित है (जिसे टर्बो बूस्ट मैक्स टेक्नोलॉजी 3.0 के रूप में जाना जाता है) और इसमें केवल एक मामूली लाभ शामिल है उन कोर के लिए प्रदर्शन जो तेजी से चल सकते हैं.
हालांकि, बड़े, तेज़ कोर और छोटे दोनों के साथ एक पारंपरिक x86 प्रोसेसर को डिजाइन करना निश्चित रूप से संभव है, भारी थ्रेड वाले वर्कलोड के लिए अनुकूलित करने के लिए धीमी कोर, यह प्रोसेसर डिजाइन में काफी जटिलता जोड़ देगा और अनुप्रयोगों को ठीक से समर्थन करने की संभावना नहीं है.
दो तेज़ केबी झील (7 वीं पीढ़ी) कोर और आठ धीमी गोल्डमोंट (एटम) कोर के साथ एक काल्पनिक प्रोसेसर लें। आपके पास कुल 10 कोर होंगे, और इस तरह के प्रोसेसर के लिए अनुकूलित भारी-थ्रेड वाले वर्कलोड को सामान्य क्वाड-कोर केबी लेक प्रोसेसर पर प्रदर्शन और दक्षता में लाभ दिखाई दे सकता है। हालाँकि, विभिन्न प्रकार के कोर में बेतहाशा अलग-अलग प्रदर्शन स्तर होते हैं, और धीमे कोर कुछ निर्देशों का समर्थन भी नहीं करते हैं, जो कि कोर कोर का समर्थन करते हैं, जैसे AVX (ARM एक ही निर्देश का समर्थन करने के लिए बड़े और LITTLE दोनों कोर की आवश्यकता के द्वारा इस मुद्दे से बचते हैं। ).
फिर से, अधिकांश विंडोज-आधारित बहु-थ्रेडेड अनुप्रयोग यह मानते हैं कि प्रत्येक कोर में समान या लगभग समान स्तर का प्रदर्शन होता है और समान निर्देशों को निष्पादित कर सकता है, इसलिए इस तरह की विषमता के परिणामस्वरूप कम-से-आदर्श प्रदर्शन हो सकता है, शायद यदि यह धीमे कोर द्वारा समर्थित नहीं निर्देशों का उपयोग करता है तो क्रैश। जबकि इंटेल उन्नत निर्देश समर्थन को जोड़ने के लिए धीमे कोर को संशोधित कर सकता है ताकि सभी कोर सभी निर्देशों को निष्पादित कर सकें, यह विषम प्रोसेसर के लिए सॉफ़्टवेयर समर्थन के साथ मुद्दों को हल नहीं करेगा।.
एप्लिकेशन डिज़ाइन के लिए एक अलग दृष्टिकोण, जो आप शायद अपने प्रश्न के बारे में सोच रहे हैं, के करीब है, अनुप्रयोगों के अत्यधिक समानांतर भागों के त्वरण के लिए GPU का उपयोग करेगा। यह OpenCL और CUDA जैसे API का उपयोग करके किया जा सकता है। सिंगल-चिप समाधान के लिए, एएमडी अपने एपीयू में GPU त्वरण के लिए हार्डवेयर समर्थन को बढ़ावा देता है, जो एक पारंपरिक सीपीयू और एक उच्च-प्रदर्शन एकीकृत GPU को एक ही चिप में शामिल करता है, जैसा कि विषम सिस्टम आर्किटेक्चर है, हालांकि इसने बहुत अधिक बदलाव नहीं देखा है कुछ विशेष अनुप्रयोगों के.
स्पष्टीकरण में कुछ जोड़ना है? टिप्पणियों में विचार व्यक्त करो। अन्य टेक-सेवी स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तर पढ़ना चाहते हैं? पूरी चर्चा धागा यहाँ देखें.
छवि क्रेडिट: मिर्को वाल्टरमैन (फ़्लिकर)