हमारे पास सभी कोर के साथ एक ही गति पर सीपीयू क्यों हैं और विभिन्न गति के संयोजन नहीं हैं?


79

सामान्य तौर पर यदि आप एक नया कंप्यूटर खरीद रहे हैं तो आप यह निर्धारित करेंगे कि आपका अपेक्षित कार्यभार क्या होगा, कौन सा प्रोसेसर खरीदना है। खेलों में प्रदर्शन एकल कोर गति द्वारा निर्धारित किया जाता है, जबकि वीडियो संपादन जैसे एप्लिकेशन कोर की संख्या से निर्धारित होते हैं।

बाजार पर जो उपलब्ध है, उसके संदर्भ में - सभी सीपीयू में मुख्य अंतर के समान गति होती है, जिसमें अधिक धागे या अधिक कोर होते हैं।

उदाहरण के लिए:

  • इंटेल कोर 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 GHz (यानी 4x4 GHz ~ 16 गीगाहर्ट्ज़ अधिकतम) के बारे में कहें, CPU के बारे में क्या है जिसमें दो कोर 4.0 GHz पर चल रहे हैं और 2 GHz (यानी 2x4.0 GHz) पर चार कोर चल रहे हैं + 4x2.0 गीगाहर्ट्ज़ ~ 16 गीगाहर्ट्ज़ अधिकतम)। क्या दूसरा विकल्प सिंगल थ्रेडेड वर्कलोड में समान रूप से अच्छा नहीं होगा, लेकिन बहु-थ्रेडेड वर्कलोड में संभवतः बेहतर होगा?

मैं इस प्रश्न को एक सामान्य बिंदु के रूप में पूछता हूं - विशेष रूप से उन सीपीयू के बारे में नहीं जिन्हें मैंने ऊपर सूचीबद्ध किया है, या किसी विशिष्ट एक विशिष्ट कार्यभार के बारे में। मैं सिर्फ इस बात के लिए उत्सुक हूं कि पैटर्न ऐसा क्यों है।


15
तेज और धीमी गति के कोर के साथ कई मोबाइल हैं, और लगभग सभी आधुनिक मल्टी कोर सर्वर पर सीपीयू कोर स्पीड क्लॉक लोड के आधार पर स्वतंत्र है, कुछ उपयोग नहीं किए जाने पर कोर भी स्विच करते हैं। एक सामान्य प्रयोजन के कंप्यूटर पर जहां आप ऊर्जा की बचत के लिए डिज़ाइन नहीं करते हैं, हालांकि केवल दो प्रकार के कोर (सीपीयू और जीपीयू) हैं, जो प्लेटफ़ॉर्म को अधिक लचीला बनाता है।
निकालता है

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

33
आपके द्वारा बताए गए तरीके से घड़ी की गति को यथोचित नहीं कहा जा सकता है। 4 Ghz पर चलने वाले चार कोर होने का मतलब यह नहीं है कि आपके पास 16 GHz का "कुल" है, और न ही इसका मतलब है कि इस 16 Ghz को 2 Ghz पर चलने वाले 8 प्रोसेसर में विभाजित किया जा सकता है या 1 GHz पर चलने वाले 16 प्रोसेसर।
बॉब जार्विस

16
प्रश्न का आधार केवल गलत है। आधुनिक सीपीयू अलग-अलग गति से कोर को चलाने में पूरी तरह से सक्षम हैं
phuclv

जवाबों:


85

इसे विषम बहुविध ( HMP ) के रूप में जाना जाता है और इसे मोबाइल उपकरणों द्वारा व्यापक रूप से अपनाया जाता है। एआरएम आधारित उपकरणों जो लागू में big.LITTLE , प्रोसेसर अलग प्रदर्शन और बिजली की प्रोफाइल के साथ कोर में शामिल है, जैसे कुछ कोर तेजी से लेकिन सत्ता के बहुत सारे (तेज वास्तुकला और / या उच्च घड़ियों) आकर्षित चला जबकि दूसरों को ऊर्जा कुशल लेकिन धीमी गति से (हैं धीमी वास्तुकला और / या कम घड़ियों)। यह उपयोगी है क्योंकि जब आप एक निश्चित बिंदु से आगे निकल जाते हैं तो शक्ति का उपयोग असमान रूप से बढ़ जाता है। यहाँ विचार यह है कि जब आपको इसकी आवश्यकता हो तो प्रदर्शन प्राप्त करें और जब आप ऐसा न करें तो जीवन को बेहतर बनाएं।

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

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

हालांकि कुछ डेस्कटॉप प्रोसेसर हैं जिनमें एक या दो कोर हैं जो दूसरों की तुलना में तेजी से चलने में सक्षम हैं, यह क्षमता वर्तमान में कुछ बहुत ही उच्च अंत इंटेल प्रोसेसर तक सीमित है (टर्बो बूस्ट मैक्स टेक्नोलॉजी 3.0 के रूप में) और केवल प्रदर्शन में मामूली लाभ शामिल है उन कोर के लिए जो तेजी से चल सकते हैं।


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

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

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

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


1
विंडोज में पहले से ही 'ऐप्स', 'बैकग्राउंड प्रोसेस' और 'विंडोज प्रोसेस' की धारणा है। तो यह एक हार्डवेयर स्तर तक विस्तारित नहीं होता है?
जेमी

2
@ जैमी एक "पृष्ठभूमि" प्रक्रिया में छोटे समय के स्लाइस मिलते हैं और बाधित होने की संभावना अधिक होती है। विंडोज 10 कुछ हद तक, एचएमपी सिस्टम के लिए खाता है, हालांकि अभी तक इस बारे में अधिक जानकारी नहीं है कि कैसे।
बॉब

इसलिए मुझे लगता है कि एडिट करने के बाद @bwDraco ने मेरे लिए इसका बहुत उत्तर दिया है। यदि कोई 'मिश्रित' प्रोसेसर होता है तो वह उसी अनुदेश सेट का आसानी से समर्थन कर सकता है यदि वह इस तरह से बनाया गया हो, तो हमें सही कोर चुनने के लिए किसी प्रकार के अनुसूचक की आवश्यकता होगी। मैं सोच रहा हूं कि वास्तव में जो एप्लिकेशन बहुत सारे छोटे कोर में जाने से लाभान्वित होते हैं वे शायद बहुत सारे और बहुत से वास्तव में छोटे कोर में जाने से भी अधिक लाभान्वित होंगे। इस प्रकार हमारे पास GPU त्वरण है।
जेमी

3
ध्यान दें कि GPU का मामला 10 छोटे और धीमे कोर के लिए 2 बड़े कोर का व्यापार नहीं कर रहा है, बल्कि 1024 छोटे और धीमे कोर के लिए 2 बड़े कोर के व्यापार के बराबर (बहुत मोटा) है। बड़े पैमाने पर समानांतर, न केवल थोड़ा अधिक समानांतर।
Yakk

4
इंटेल शायद बहुत अधिक अतिरिक्त सिलिकॉन के बिना AVX2 निर्देशों को चलाने के लिए गोल्डमोंट कोर प्राप्त कर सकता है (धीरे-धीरे, 128 बी ऑप्स के जोड़े को डिकोड करके)। नाइट लैंडिंग (Xeon Phi) में AVX512 के साथ सिल्वरमोंट आधारित कोर हैं, इसलिए ऐसा नहीं है कि सिल्वरमोंट को संशोधित करना असंभव है। केएनएल वेक्टर निर्देशों के लिए आउट-ऑफ-ऑर्डर निष्पादन जोड़ता है, जबकि सामान्य सिल्वर / गोल्डमोंट केवल पूर्णांक के लिए OOO करता है, इसलिए वे संभवतः KNL की तुलना में गोल्डमोंट के करीब डिजाइन करना चाहते हैं। वैसे भी, insn सेट एक वास्तविक समस्या नहीं है। यह ओएस सपोर्ट और छोटा लाभ है जो कम-पावर कोर पर डाई-एरिया खर्च करने की वास्तविक बाधाएं हैं।
पीटर कॉर्डेस

68

आप जो पूछ रहे हैं, वह यह है कि असममित मल्टीप्रोसेसिंग के बजाय सममित मल्टीप्रोसेसिंग का उपयोग कर वर्तमान सिस्टम क्यों हैं ।

पुराने दिनों में एसिमेट्रिक मल्टीप्रोसेसिंग का उपयोग किया जाता था, जब एक कंप्यूटर विशाल और कई इकाइयों पर रखा जाता था।

आधुनिक सीपीयू को एक इकाई के रूप में, एक डाई में डाला जाता है, जहां विभिन्न प्रकार के सीपीयू को मिश्रित नहीं करना बहुत सरल है, क्योंकि वे सभी एक ही बस और रैम को साझा करते हैं।

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

उदाहरण के लिए, सैंडी ब्रिज और आइवी ब्रिज कोर एक ही समय में अलग-अलग गति से नहीं चल सकते क्योंकि एल 3 कैश बस कोर के समान गति से चलती है, इसलिए सिंक्रनाइज़ेशन समस्याओं को रोकने के लिए उन सभी को या तो उस गति से चलाना होगा या पार्क किया जा सकता है / बंद (लिंक: इंटेल का सैंडी ब्रिज आर्किटेक्चर उजागर )। (स्काईलेक के लिए नीचे टिप्पणी में भी सत्यापित है।)

[संपादित करें] कुछ लोगों ने मेरे उत्तर को गलत बताते हुए कहा कि सीपीयू को मिलाना असंभव है। उनके लाभ के लिए मैं बताता हूं: अलग-अलग सीपीयू का मिश्रण आज की तकनीक से परे नहीं है, लेकिन यह नहीं किया गया है - "क्यों नहीं" सवाल है। जैसा कि ऊपर उत्तर दिया गया है, यह तकनीकी रूप से जटिल होगा, इसलिए महंगा और बहुत कम या कोई वित्तीय लाभ के लिए नहीं है, इसलिए निर्माताओं को कोई दिलचस्पी नहीं है।

नीचे कुछ टिप्पणियों के जवाब दिए गए हैं:

टर्बो बूस्ट सीपीयू की गति को बढ़ाता है ताकि उन्हें बदला जा सके

टर्बो बूस्ट घड़ी की गति बढ़ाने और कुछ मल्टीप्लायरों को बदलने के द्वारा किया जाता है, जो वास्तव में ओवरक्लॉकिंग के दौरान लोग करते हैं, सिवाय इसके कि हार्डवेयर हमारे लिए करता है। एक ही CPU पर घड़ी को कोर के बीच साझा किया जाता है, इसलिए यह पूरे CPU और उसके सभी कोर को समान रूप से गति प्रदान करता है।

कुछ फोन में अलग-अलग गति के एक से अधिक सीपीयू होते हैं

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

2x Xeon E5-2670 v3 (HT के साथ 12 कोर) वाले मेरे सर्वर में वर्तमान में 1.3 गीगाहर्ट्ज़, 1.5 गीगाहर्ट्ज़, 1.6 गीगाहर्ट्ज़, 2.2 गीगाहर्ट्ज़, 2.5 गीगाहर्ट्ज़, 2.7 गीगाहर्ट्ज़, 2.8 गीगाहर्ट्ज़, 2.9 गीगाहर्ट्ज़ और कई अन्य स्पीड हैं।

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

इंटेल हैसवेल प्रोसेसर में एकीकृत वोल्टेज नियामक हैं जो प्रत्येक कोर के लिए व्यक्तिगत वोल्टेज और आवृत्तियों को सक्षम करते हैं

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


3
आह। अधिक mshorter और बात करने के लिए। +1
हेन्स

6
@harrymc सिंक्रोनाइज़र ब्लॉक हैं जो इसे पूरी तरह से अच्छी तरह से प्रबंधित करते हैं; DRAM कोर स्पीड से धीमी चलती है, और आप इंटेल कोर को अलग-अलग गति से गतिशील रूप से एक ही चिप पर चला सकते हैं।
pjc50

10
इंटेल कोर-सीरीज़ के प्रोसेसर एक ही समय में अलग-अलग गति से चलते हैं।
निक टी

9
बड़े.लिटेल आर्किटेक्चर और कोर-इंडिपेंडेंट क्लॉक बूस्टिंग का एकमात्र अस्तित्व आपको गलत साबित करता है। विषम बहुविधता मुख्यधारा है। यह कर सकते हैं किया जा, यह है फोन में किया है, लेकिन के लिए किसी कारण डेस्कटॉप में नहीं।
एजेंट_

9
@Agent_L: इसका कारण जटिलता है। डेस्कटॉप CPU पहले से काफी महंगे हैं। इसलिए मैं दोहराता हूं: सब कुछ संभव है, लेकिन वास्तविक सवाल यह है कि ऐसा क्यों नहीं किया जाता है, न कि यह किया जा सकता है। मुझ पर हमला मत करो जैसे कि मैंने दावा किया है कि यह असंभव है - सभी मैं कहता हूं कि यह बहुत जटिल और महंगा है और निर्माताओं के लिए बहुत कम लाभ के लिए।
harrymc

46

हमारे पास अलग-अलग घड़ी की गति के साथ वेरिएंट क्यों नहीं हैं? अर्थात। 2 'बड़ा' कोर और बहुत से छोटे कोर।

यह संभव है कि आपकी जेब में फोन ठीक उसी व्यवस्था में हो - ARM big.LITTLE ठीक उसी तरह काम करता है जैसा आपने बताया था। यह केवल एक घड़ी की गति का अंतर नहीं है, वे पूरी तरह से अलग-अलग कोर प्रकार हो सकते हैं - आमतौर पर, धीमी गति से चलने वाले भी "डम्बर" (कोई आउट-ऑफ-ऑर्डर निष्पादन और अन्य सीपीयू अनुकूलन) नहीं हैं।

यह बैटरी बचाने के लिए अनिवार्य रूप से एक अच्छा विचार है, लेकिन इसकी अपनी कमियां हैं; विभिन्न सीपीयू के बीच सामान को स्थानांतरित करने के लिए बहीखाता पद्धति अधिक जटिल है, बाकी बाह्य उपकरणों के साथ संचार अधिक जटिल है और, सबसे महत्वपूर्ण बात यह है कि ऐसे कोर का प्रभावी ढंग से उपयोग करने के लिए कार्य अनुसूचक को बेहद स्मार्ट होना चाहिए (और अक्सर "सही अनुमान लगाने के लिए") ।

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

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

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


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


1
Heuristics बहुत सरल होना चाहिए। किसी भी अनैच्छिक कार्य स्विच (पूर्ण काल ​​का उपयोग) एक संकेत है कि धीमी सीपीयू कार्य के लिए अनुपयुक्त है। बहुत कम उपयोग और सभी स्वैच्छिक कार्य स्विच यह संकेत है कि कार्य को धीमी सीपीयू में स्थानांतरित किया जा सकता है।
R ..

3
एक और समस्या यह है कि 4 बेवकूफ 2GHz कोर 2 स्मार्ट 4GHz कोर की तुलना में अधिक डाई आकार ले सकते हैं, या वे छोटे हो सकते हैं और 4 गीगाहर्ट्ज़ कोर की तुलना में बहुत कम शक्ति ले सकते हैं लेकिन बहुत धीमी गति से
चलते हैं

2
@ आर: सिद्धांत की पंक्ति में मैं आपसे सहमत हूं, लेकिन यहां तक ​​कि इसके लिए कुछ बुनियादी शेड्यूलर समर्थन को सक्षम करने पर मैंने एआरएम बोर्ड पर हास्यास्पद कोर जस्टिंग को देखा, जिसका मैंने इस्तेमाल किया, इसलिए इसके लिए कुछ और होना चाहिए। इसके अलावा, अधिकांश "नियमित" मल्टीथ्रेड सॉफ्टवेयर को एसएमपी को ध्यान में रखते हुए लिखा जाता है, इसलिए यह थ्रेड पूल को कोर की कुल संख्या के रूप में देखने के लिए अनपेक्षित नहीं है, धीमी कोर पर काम करने के साथ।
मट्टियो इतालिया

1
@ रामहुड: 120W 10-कोर वाले हिस्से में 12W प्रति कोर (सिंगल-कोर टर्बो मोड को छोड़कर) का पावर बजट है। यही कारण है कि क्वाड-कोर भागों में सबसे अधिक सिंगल-कोर घड़ियां पाई जाती हैं, जैसे कि इंटेल के i7-6700k में 4 कोर के लिए 91W का पावर बजट है: 22.75W प्रति कोर सभी कोर के साथ सक्रिय है (4.0 किमी की दूरी पर भी) एवीएक्स 2 + एफएमए वर्कलोड जैसे प्राइम 95)। यही कारण है कि सिंगल-कोर टर्बो हेडर केवल एक अतिरिक्त 0.2GHz है, बनाम 22-कोर ब्रॉडवेल E5-2699v4 2.2GHz बेस @ 145W, 3.6GHz टर्बो के साथ।
पीटर कॉर्डेस

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

14

खेलों में प्रदर्शन एकल कोर गति द्वारा निर्धारित किया जाता है,

अतीत में (डॉस युग खेल): सही।
इन दिनों, यह अब सच नहीं है। कई आधुनिक खेलों को पिरोया जाता है और कई कोर से लाभ होता है। कुछ खेल पहले से ही 4 कोर के साथ काफी खुश हैं और यह संख्या समय के साथ बढ़ती है।

जबकि वीडियो संपादन जैसे एप्लिकेशन कोर की संख्या से निर्धारित होते हैं।

सत्य की तरह।

कोर की संख्या * कोर की गति * दक्षता।
यदि आप एकल समरूप कोर की तुलना समरूप कोर के सेट से करते हैं, तो आप ज्यादातर सही हैं।

बाजार पर जो उपलब्ध है, उसके संदर्भ में - सभी सीपीयू में मुख्य अंतर के समान गति होती है, जिसमें अधिक धागे या अधिक कोर होते हैं। उदाहरण के लिए:

Intel Core i5 7600k, बेस Freq 3.80 GHz, 4 कोर Intel Core i7 7700k, Base Freq 4.20 GHz, 4 Cores, 8 थ्रेड्स AMD Ryzen 1600x, बेस Freq 3.60 GHz, 6 Cores, 12 थ्रेड्स AMD Ryzen 1800x, बेस Freq 3.60 GHz, 8 करोड़, 16 धागे

विभिन्न आर्किटेक्चर की तुलना करना खतरनाक है, लेकिन ठीक है ...

तो हम सभी कोर के साथ एक ही घड़ी की गति वाले बढ़ते कोर के इस पैटर्न को क्यों देखते हैं?

आंशिक रूप से क्योंकि हम एक बाधा में भाग गए। आगे घड़ी की गति बढ़ने का मतलब है अधिक बिजली की आवश्यकता और अधिक गर्मी उत्पन्न। अधिक गर्मी का मतलब और भी अधिक बिजली की जरूरत थी। हमने इस तरह से कोशिश की है, परिणाम भयानक पेंटियम 4 था। गर्म और बिजली की भूख। मुश्किल से ठंडा। और स्मार्टली डिज़ाइन किए गए पेंटियम-एम (3.0 गीगाहर्ट्ज़ पर ए पी 4) की तुलना में तेज़ भी नहीं था, जो लगभग 1.7 गीगाहर्ट्ज़ पर पी-भीड़ के रूप में तेज़ था)।

तब से, हमने ज्यादातर घड़ी की गति को आगे बढ़ाने पर ध्यान दिया और इसके बजाय हम बेहतर समाधान बनाते हैं। इसका एक हिस्सा कच्ची घड़ी की गति से अधिक कोर का उपयोग करना था।

उदाहरण के लिए, एक सिंगल 4 जीएचजेड कोर ज्यादा बिजली खींच सकता है और तीन 2GHz कोर जितनी गर्मी पैदा कर सकता है। यदि आपका सॉफ़्टवेयर एकाधिक कोर का उपयोग कर सकता है, तो यह बहुत तेज़ होगा।

सभी सॉफ़्टवेयर ऐसा नहीं कर सकते, लेकिन आधुनिक सॉफ़्टवेयर आमतौर पर कर सकते हैं।

जो आंशिक रूप से उत्तर देता है कि हमारे पास कई कोर के साथ चिप्स क्यों हैं, और हम विभिन्न कोर के साथ चिप्स क्यों बेचते हैं।

घड़ी की गति के अनुसार, मुझे लगता है कि मैं तीन बिंदुओं की पहचान कर सकता हूं:

  • कम बिजली का सीपीयू काफी कुछ मामलों के लिए समझ में आता है जिनकी कच्ची गति की आवश्यकता नहीं है। उदाहरण के लिए डोमेन नियंत्रक, NAS सेटअप, ... इनके लिए, हमारे पास कम आवृत्ति CPU हैं। कभी-कभी अधिक कोर के साथ भी (उदाहरण 8x कम गति सीपीयू एक वेब सर्वर के लिए समझ में आता है)।
  • बाकी के लिए, हम आम तौर पर अधिकतम आवृत्ति के पास होते हैं जो हम अपने वर्तमान डिजाइन के बिना बहुत गर्म हो सकते हैं। (वर्तमान डिजाइनों के साथ 3 से 4 हर्ट्ज तक)।
  • और उसके ऊपर, हम बिनिंग करते हैं। सभी CPU समान रूप से उत्पन्न नहीं होते हैं। कुछ CPU बुरी तरह से स्कोर करते हैं या उनके चिप्स के हिस्से में बुरी तरह से स्कोर करते हैं, उन हिस्सों को निष्क्रिय कर दिया जाता है और उन्हें एक अलग उत्पाद के रूप में बेचा जाता है।

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

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

और फिर उत्पादन और विपणन होता है और जो इसे आगे भी गड़बड़ करता है।

हमारे पास अलग-अलग घड़ी की गति के साथ वेरिएंट क्यों नहीं हैं? अर्थात। 2 'बड़ा' कोर और बहुत से छोटे कोर।

हम कर। उन स्थानों पर जहां यह समझ में आता है (उदाहरण के लिए मोबाइल फोन), हमारे पास अक्सर एक धीमी कोर सीपीयू (कम शक्ति), और कुछ तेज कोर के साथ एक SoC होता है। हालाँकि, विशिष्ट डेस्कटॉप पीसी में, यह नहीं किया जाता है। यह सेटअप को और अधिक जटिल बनाता है, अधिक महंगा होता है, और नाली में बैटरी नहीं होती है।


1
जैसा कि मैंने बताया - "मैं इस प्रश्न को एक सामान्य बिंदु के रूप में पूछता हूं - विशेष रूप से उन cpus के बारे में नहीं जिन्हें मैंने ऊपर सूचीबद्ध किया था", और एक कारण था कि मैंने प्रत्येक वास्तुकला से दो उदाहरण दिए। यदि हम दो परिदृश्यों को 1. सभी बड़े कोर के रूप में मानते हैं, और 2. दो बड़े और दो छोटे - तो मुझे लगता है कि आपके द्वारा उल्लिखित सभी बिंदु दोनों मामलों पर लागू होते हैं - यानी। एक सैद्धांतिक अधिकतम एकल कोर गति, चिप्स का उपयोग, डाउनक्लॉकिंग जब उपयोग में नहीं होता है।
जेमी

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

10

हमारे पास अलग-अलग घड़ी की गति के साथ वेरिएंट क्यों नहीं हैं? उदाहरण के लिए, दो 'बड़े' कोर और बहुत सारे छोटे कोर।

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

हमारे पास पहले से ही कोर हैं जो शक्ति को बचाने के लिए धीमा कर सकते हैं। उनके शिखर प्रदर्शन को सीमित करने का क्या मतलब होगा?


2
मेरे द्वारा यही विचार किया जा रहा था। जानबूझकर कुछ अवर घटकों का उपयोग क्यों करें जब वे सभी कुलीन हो सकते हैं? +1।
MPW

1
@MPW पसंद एक बड़ा कोर बनाने और फिर इसे बंद करने के बीच नहीं है, यह सभी बड़े बनाम कुछ बड़े और बहुत सारे छोटे कोर के बीच है। क्योंकि आपके पास दो प्रतिस्पर्धी परिदृश्य हैं - एकल थ्रेड प्रदर्शन और मल्टी थ्रेड प्रदर्शन - दोनों को अधिकतम क्यों नहीं? क्या हम जानते हैं कि आप कुछ बड़े और बहुत से छोटे कोर के साथ चिप नहीं बना सकते हैं?
जेमी

@ जैमी आप कुछ बड़े और बहुत सारे छोटे कोर के साथ एक चिप बना सकते हैं। लेकिन छोटी कोर घड़ी की गति से कम नहीं चलेगी।
डेविड श्वार्ट्ज

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

@ जैमी मुझे समझ नहीं आ रहा है कि आप क्या कह रहे हैं। पूरे सीपीयू को एक ही निर्माण प्रक्रिया के साथ बनाया जाना है, और अधिकतम घड़ी की गति मोटे तौर पर निर्माण प्रक्रियाओं की विशेषता है। एक ही निर्माण स्तर पर कम घड़ी की गति की आवश्यकता वाले कोर्स आमतौर पर अधिक जटिल होते हैं और अधिक स्थान लेते हैं, अन्यथा उन्हें कम घड़ी की गति की आवश्यकता क्यों होगी?
डेविड श्वार्ट्ज

9

हमारे पास अलग-अलग घड़ी की गति के साथ वेरिएंट क्यों नहीं हैं? उदाहरण के लिए, दो 'बड़े' कोर और बहुत सारे छोटे कोर।

नाममात्र घड़ी की गति वास्तव में आजकल ज्यादातर बड़े प्रोसेसर के लिए बहुत ज्यादा मायने नहीं रखती है क्योंकि वे सभी अपने आप को ऊपर और नीचे देखने की क्षमता रखते हैं। आप पूछ रहे हैं कि वे स्वतंत्र रूप से ऊपर और नीचे विभिन्न कोर घड़ी कर सकते हैं या नहीं।

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

यह नाममात्र 2.15 Ghz है, लेकिन दो कोर 1.593 Ghz पर हैं और दो 1.132 Ghz पर हैं।

वास्तव में, 2009 के बाद से इंटेल सीपीयू ने अन्य कोर को कम करते हुए व्यक्तिगत कोर को अधिक बढ़ावा देने के लिए तर्क दिया है, जिससे टीडीपी बजट के भीतर रहते हुए बेहतर एकल कोर प्रदर्शन की अनुमति मिलती है: http://www.anandtech.com/show/2832/4

"फेवरेट कोर" (एक इंटेल मार्केटिंग टर्म) के साथ नए इंटेल प्रोसेसर के कारखाने में प्रत्येक कोर की विशेषता है, जिसमें सबसे तेज कोर अतिरिक्त उच्च को बढ़ावा देने में सक्षम हैं: http://www.anandtech.com/show/11550/the-intel -skylakex समीक्षा कोर-i9-7900x-i7-7820x और i7-7800x परीक्षण / 7

एएमडी के बुलडोजर चिप्स का एक आदिम संस्करण था: http://www.anandtech.com/show/4955/the-bulldozer-review-amd-fx8150-tested/4

एएमडी के नए राइजन चिप्स में शायद यह भी है, हालांकि यह स्पष्ट रूप से यहां नहीं बताया गया है: http://www.anandtech.com/show/11170/the-amd-zen-and-ryzen-7-review-a-deep-dive ऑन-1800x-1700x व 1700/11


आप एक अलग सवाल का जवाब दे रहे हैं। सवाल बहुत सारे बड़े कोर के बारे में है; दो बड़े कोर और बहुत से छोटे कोर के बारे में - दो परिदृश्यों की खूबियाँ। दोनों ही स्थितियों में आप माँग पर निर्भर हो सकते हैं और कोर को बढ़ा सकते हैं।
जेमी

3
ऐसा नहीं है कि मैंने सवाल कैसे पढ़ा। प्रश्न "बड़े" और "छोटे" शब्दों का उपयोग करने के बावजूद, वास्तुशिल्प रूप से अलग-अलग कोर का उल्लेख नहीं करता है। यह विशेष रूप से घड़ी की गति पर केंद्रित है।
ग्रांट वू

8

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

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

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


7

फास्ट सिंगल-थ्रेड प्रदर्शन और बहुत उच्च मल्टी-थ्रेड थ्रूपुट वही है जो आपको इंटेल के एक्सोन ई 5-2699994 जैसे सीपीयू के साथ मिलता है

यह 22-कोर ब्रॉडवेल है। सभी कोर सक्रिय (जैसे वीडियो एन्कोडिंग) के साथ निरंतर घड़ी की गति 2.2GHz है, लेकिन सिंगल-कोर अधिकतम टर्बो 3.6GHz है।

इसलिए एक समानांतर कार्य को चलाने के दौरान, यह अपने 145W बिजली के बजट को 22 6.6W कोर के रूप में उपयोग करता है। लेकिन केवल कुछ थ्रेड के साथ एक कार्य चलाने के दौरान, वही पावर बजट 3.6GHz तक कुछ कोर टर्बो देता है। ( एक बड़े Xeon में कम सिंगल-कोर मेमोरी और L3- कैश बैंडविड्थ का मतलब है कि यह एक डेस्कटॉप क्वाड-कोर के रूप में 3.6GHz पर नहीं चल सकता है। हालांकि, डेस्कटॉप इंटेल CPU में एक सिंगल कोर बहुत अधिक उपयोग कर सकता है। कुल मेमोरी बैंडविड्थ।)

2.2GHz रेटेड घड़ी की गति थर्मल सीमा के कारण कम है। सीपीयू में जितने अधिक कोर होते हैं, उतने धीमे चलने पर उन्हें सक्रिय होना पड़ता है। यह प्रभाव आपके द्वारा प्रश्न में उल्लिखित 4 और 8 कोर सीपीयू में बहुत बड़ा नहीं है, क्योंकि 8 में कई कोर नहीं हैं, और उनके पास बहुत अधिक बिजली बजट है। यहां तक ​​कि उत्साही डेस्कटॉप सीपीयू भी इस प्रभाव को दिखाते हैं: इंटेल का स्काईलेक-एक्स i9-7900X बेस 3.3GHz, अधिकतम टर्बो 4.5GHz के साथ 10c20t हिस्सा है यह i7-6700k की तुलना में बहुत अधिक सिंगल-कोर टर्बो हेडर (ओवरक्लॉकिंग के बिना 4.0GHz निरंतर / 4.2GHz टर्बो) है।

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

स्पेक्ट्रम के दूसरे छोर पर, इंटेल कोर-एम सीपीयू में निरंतर कम आवृत्ति होती है, जैसे 4.5 डब्ल्यू पर 1.2 गीगाहर्ट्ज़ , लेकिन 2.9 जीबी तक टर्बो कर सकते हैं। कई कोर सक्रिय होने के साथ, वे अपने एक्स को विशाल एक्सोन की तरह अधिक कुशल घड़ी की गति पर चलाएंगे।

आपको अधिक से अधिक लाभ प्राप्त करने के लिए एक विषम बड़े.लिफ्ट स्टाइल आर्किटेक्चर की आवश्यकता नहीं है। एआरएम big.LITTLE में छोटे कोर बहुत ही भद्दे इन-ऑर्डर कोर हैं जो गणना कार्य के लिए अच्छे नहीं हैं। बिंदु बहुत कम शक्ति के साथ एक यूआई चलाने के लिए है। उनमें से बहुत सारे वीडियो एन्कोडिंग या अन्य गंभीर नंबर क्रंचिंग के लिए महान नहीं होंगे। ( @ Lưu Vĩnh Phúc में इस बारे में कुछ चर्चा हुई कि x86 के पास बड़ा क्यों नहीं है । मूल रूप से, बहुत कम-पावर-अतिरिक्त अतिरिक्त-धीमी कोर पर अतिरिक्त सिलिकॉन खर्च करने से यह विशिष्ट डेस्कटॉप / लैपटॉप उपयोग के लिए इसके लायक नहीं होगा।)


जबकि वीडियो संपादन जैसे एप्लिकेशन कोर की संख्या से निर्धारित होते हैं। [4x 4GHz की तुलना में बहु-थ्रेडेड वर्कलोड पर 2x 4.0 GHz + 4x 2.0 GHz बेहतर नहीं होगा?]

यह आपकी महत्वपूर्ण गलतफहमी है। आपको लगता है कि कुल घड़ी टिक की प्रति सेकंड की एक ही संख्या अधिक उपयोगी है अगर अधिक कोर में फैली हुई है। ऐसी बात नहीं है। यह अधिक पसंद है

cores * perf_per_core * (scaling efficiency)^cores

( perf_per_coreघड़ी की गति के समान नहीं है, क्योंकि एक 3GHz Pentium4 एक 3GHz Skylake की तुलना में प्रति घड़ी चक्र में बहुत कम काम करेगा।)

इससे भी महत्वपूर्ण बात, यह बहुत दुर्लभ है कि दक्षता 1.0 है। कुछ बड़े पैमाने पर समानांतर कार्य लगभग रैखिक रूप से करते हैं (जैसे कई स्रोत फ़ाइलों को संकलित करना)। लेकिन वीडियो एन्कोडिंग ऐसा नहीं है। X264 के लिए, स्केलिंग कुछ कोर तक बहुत अच्छी है, लेकिन अधिक कोर के साथ खराब हो जाती है। उदाहरण के लिए 1 से 2 कोर तक जाना लगभग दोगुना हो जाएगा, लेकिन 32 से 64 कोर तक जाना एक सामान्य 1080p डायोड के लिए बहुत कम मदद करेगा। जिस गति से पठारों पर बिंदु सेटिंग्स पर निर्भर करता है। ( -preset veryslowप्रत्येक फ्रेम पर अधिक विश्लेषण करता है, और अधिक कोर को व्यस्त रख सकता है -preset fast)।

बहुत धीमे कोर के साथ, x264 के एकल-थ्रेडेड हिस्से अड़चन बन जाएंगे। (उदाहरण के लिए अंतिम CABAC बिटस्ट्रीम एन्कोडिंग। यह h.264 के gzip के समतुल्य है, और समानांतर नहीं है।) कुछ तेज़ कोर होने से हल हो जाएगा, अगर OS ​​जानता था कि इसे कैसे शेड्यूल करना है (या अगर x264 ने उपयुक्त थ्रेड्स पिन किए हों। तेजी से कोर)।

x265 x264 की तुलना में अधिक कोर का लाभ उठा सकता है, क्योंकि इसके पास अधिक विश्लेषण करने के लिए है, और h.265 का WPP डिज़ाइन अधिक एनकोड और समानता को डिकोड करने की अनुमति देता है। लेकिन 1080p के लिए भी, आप किसी बिंदु पर शोषण करने के लिए समानता से बाहर निकलते हैं।


यदि आपके पास कई वीडियो हैं, तो एल 3 कैश क्षमता और बैंडविड्थ, और मेमोरी बैंडविड्थ जैसे साझा संसाधनों के लिए प्रतिस्पर्धा को छोड़कर, समानांतर स्केल में कई वीडियो कर रहे हैं। कम तेज़ कोर को L3 कैश की समान मात्रा से अधिक लाभ मिल सकता है, क्योंकि उन्हें समस्या के कई अलग-अलग हिस्सों पर एक ही बार में काम करने की आवश्यकता नहीं होगी।


4

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

एक सामान्य घड़ी से सबकुछ चलाने से सिंक्रोनाइज़ेशन की आवश्यकता से बचा जाता है, जो घड़ी के डोमेन के बीच सूचना या नियंत्रण संकेतों को पारित करने के लिए हर बार दो-चक्र संचार की देरी से बचा जाता है।


4

डेस्कटॉप कंप्यूटर पहले से ही ऐसा करते हैं।

उनके पास एक सीपीयू (एस) है, जिसमें एक बार में 1-72 धागे सक्रिय हैं, और 16-7168 कंप्यूटिंग इकाइयों के साथ जीपीयू (एस) का एक सेट है।

ग्राफिक्स एक कार्य का एक उदाहरण है जो हमने कुशल होने के लिए बड़े पैमाने पर समानांतर काम पाया है। GPU को उस प्रकार के ऑपरेशन करने के लिए अनुकूलित किया जाता है जिसे हम ग्राफिक्स करना चाहते हैं (लेकिन यह उस तक सीमित नहीं है)।

यह एक कंप्यूटर है जिसमें कुछ बड़े कोर हैं, और बहुत सारे छोटे कोर हैं।

सामान्य तौर पर, X / 2 FLOPS में तीन कोर के लिए X FLOPS में एक कोर का व्यापार करना इसके लायक नहीं है; लेकिन X / 5 FLOPS में एक सौ कोर के लिए X FLOPS पर एक कोर का व्यापार करना बहुत ज्यादा मायने रखता है।

इसके लिए प्रोग्रामिंग करते समय, आप सीपीयू और जीपीयू के लिए बहुत अलग कोड उत्पन्न करते हैं। वर्कलोड को विभाजित करने के लिए बहुत सारे काम किए जाते हैं, जिससे कि GPU को वे कार्य मिलते हैं जो GPU पर सबसे अच्छे तरीके से किए जाते हैं, और CPU को ऐसे कार्य मिलते हैं जो CPU पर सबसे अच्छे तरीके से किए जाते हैं।

सीपीयू के लिए कोड लिखना यकीनन बहुत आसान है, क्योंकि बड़े पैमाने पर समानांतर कोड सही होने के लिए कठिन है। तो केवल जब भुगतान बड़ा है तो क्या यह मल्टी-कोर स्थितियों के लिए एकल-कोर प्रदर्शन के लायक है। ठीक से उपयोग किए जाने पर GPU एक बड़ा भुगतान करते हैं।

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


-1

समान सिस्टम में समान गति से कोर होने का कारण एक साधारण गणित समस्या है। इनपुट और आउटपुट टाइमिंग (अनुकूलन के साथ) स्थिरांक के एक सेट के आधार पर (जो कई इकाइयों द्वारा मापनीय = गुणक हैं)।

और यहां किसी ने कहा कि मोबाइल उपकरणों में अलग-अलग गति के साथ बहु-सीपीस है। यह सिर्फ सच नहीं है। इसकी केंद्रीय प्रसंस्करण इकाई नहीं है यदि यह केंद्रीय प्रसंस्करण की इकाई नहीं है; कोई फर्क नहीं पड़ता कि निर्माता क्या कहता है या नहीं है। उस मामले में [एक सीपीयू नहीं] इसका सिर्फ एक "सपोर्ट पैकेज" है।


-10

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

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

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


1
मैं नहीं, इसलिए मेरा सवाल है। Intel i5 7600 से i5 7600k की तुलना करने पर, हम देखते हैं कि आधार घड़ी दोनों के लिए 100mhz है और अंतर मूल अनुपात है। तो आप 100mhz की एक ही आधार घड़ी के साथ दो कोर रख सकते थे लेकिन विभिन्न कोर अनुपात के साथ - क्या यह परिदृश्य सिंक्रोनाइज़ेशन आवश्यकता का उल्लंघन करता है?
जेमी

4
हाँ, यह बहुत अधिक है; यह वास्तव में सच नहीं है कि सभी कार्यों को एक ही घड़ी से जोड़ा जाना चाहिए , बहुत सारे घड़ी डोमेन हैं और एक ही गति से विभिन्न कोर को चलाने के लिए पूरी तरह से संभव है। बस घड़ी आंतरिक घड़ी के समान नहीं है, आदि
pjc50

11
आधुनिक चिप्स में पहले से ही कई क्लॉक डोमेन हैं (यहां तक ​​कि एक सस्ते और गूंगा माइक्रोकंट्रोलर का आरटीसी आमतौर पर एक अलग 32.7kHz डोमेन पर चलता है)। आपको बस घड़ी डोमेन के बीच सिंक्रनाइज़ करना होगा। एक आम घड़ी के साथ भी आप इसे 2, 4, 8 और इतने पर विभाजित कर सकते हैं।
माइकल

1
सब सच। लेकिन यह अभी भी ऑपरेशन की दक्षता कम करता है। और वह हमेशा प्रदर्शन के संबंध में लक्ष्य होता है। वह मेरी बात थी। ज़रूर, आप कर सकते हैं। लेकिन आप प्रदर्शन पर एक प्रहार करेंगे।
RyRoUK

"प्रदर्शन कम करता है" - क्या तुलना में? आप एक आधार स्थिति मान रहे हैं, जहां आपके पास एक ही घड़ी के साथ चलने वाले एन प्रोसेसर हैं। ऐसा नहीं होना चाहिए। प्रोसेसर X + प्रोसेसर Y अकेले प्रोसेसर X की तुलना में अधिक शक्तिशाली / लचीला समाधान है, कोई फर्क नहीं पड़ता कि प्रोसेसर वाई वास्तव में क्या है।
हमीज़ल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.