क्यों "अधिक कोर जोड़ें" "सीपीयू को तेज बनाने" के समान शारीरिक सीमाओं का सामना नहीं करता है?


110

2014 में, मैंने बहुत सी प्रोग्रामिंग लैंग्वेज को उनके कंज्यूरिटी फीचर्स के लिए टाल दिया। प्रदर्शन लाभ के लिए कॉनकरी को निर्णायक माना जाता है।

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

कुछ प्रमुख उद्धरण:

हम 500 मेगाहर्ट्ज सीपीयू को देखते हुए 1 गीगा सीपीयू को 2GHz सीपीयू को रास्ता देते हैं, इत्यादि। आज हम मुख्यधारा के कंप्यूटरों पर 3GHz रेंज में हैं।

अहम सवाल यह है कि यह कब खत्म होगा? आखिरकार, मूर के कानून ने तेजी से विकास की भविष्यवाणी की है, और स्पष्ट रूप से घातीय वृद्धि हमेशा के लिए जारी नहीं रह सकती है इससे पहले कि हम कठिन शारीरिक सीमाओं तक पहुंचें; प्रकाश कोई तेज़ नहीं हो रहा है अंत में विकास धीमा होना चाहिए और अंत भी।

... न केवल एक बल्कि कई शारीरिक मुद्दों, विशेष रूप से गर्मी (इसके बहुत अधिक और बहुत फैलाने के लिए बहुत मुश्किल), बिजली की खपत (बहुत अधिक), और वर्तमान रिसाव समस्याओं के कारण उच्च घड़ी की गति का शोषण करना कठिन और कठिन हो गया है।

... इंटेल और अधिकांश प्रोसेसर विक्रेताओं का भविष्य कहीं और है क्योंकि चिप कंपनियां आक्रामक रूप से समान नए मल्टीकोर दिशाओं का पीछा करती हैं।

... मल्टीकोर एक चिप पर दो या अधिक वास्तविक सीपीयू चलाने के बारे में है।

इस लेख की भविष्यवाणियां प्रतीत हुई हैं, लेकिन मुझे समझ नहीं आता कि क्यों। मेरे पास केवल बहुत ही अस्पष्ट विचार हैं कि हार्डवेयर कैसे काम करता है।

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

लेकिन समाधान का हिस्सा मल्टी-कोर आर्किटेक्चर प्रतीत होता है। जब तक कंप्यूटर आकार में नहीं बढ़ता (जो वे नहीं है), यह सिर्फ कहने का एक और तरीका है "एक ही स्थान में अधिक पोस्चरिंग पावर पैक"।

क्यों "अधिक कोर जोड़ें" "सीपीयू को तेज बनाने" के समान शारीरिक सीमाओं का सामना नहीं करता है?

कृपया सरल शब्दों में समझाएं। :)



4
en.wikipedia.org/wiki/Moore%27s_law पढ़ने लायक - चूंकि हम दो अलग-अलग चीजों के बारे में बात कर रहे हैं। मूर के कानून क्लॉक के बारे में नहीं है - इसके बारे में ट्रांजिस्टर मायने रखता है
जर्नीमैन गीक

9
आइए दिखाते हैं कि यह 30 साल पहले था और सीपीयू 4.77 मेगाहर्ट्ज पर चलता था। आप 4MHz CPU के साथ 1000 कंप्यूटर एक ही कमरे में क्यों रख सकते हैं, हालांकि 4GHz CPU प्राप्त करना असंभव था?
user20574

3
@NathanLong लेकिन अभी भी अधिक स्थान (अधिक कंप्यूटरों के लिए) प्राप्त करना आसान है, जिससे तेज कंप्यूटर प्राप्त किया जा सके।
user20574

5
सादृश्य: एक कार इंजन केवल इतने ही आरपीएम पर बनाया जा सकता है, लेकिन आप आसानी से दो एक साथ बोल्ट कर सकते हैं।
OJFord

जवाबों:


143

सारांश

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

  • बिजली के उपयोग में उल्लेखनीय वृद्धि। जैसे ही आप घड़ी की गति बढ़ाते हैं, सीपीयू की खपत तेजी से बढ़ती है - आप थर्मल स्पेस में कम गति से काम करने वाले कोर की संख्या को दोगुना कर सकते हैं, यह घड़ी की गति को 25% तक बढ़ा देता है। 50% के लिए चौगुना।

  • अनुक्रमिक प्रसंस्करण गति को बढ़ाने के अन्य तरीके हैं, और सीपीयू निर्माता उन का अच्छा उपयोग करते हैं।


मैं हमारी बहन एसई साइटों में से एक पर इस प्रश्न के उत्कृष्ट उत्तरों पर बहुत अधिक आकर्षित होने जा रहा हूं । इसलिए उनके पास जाओ!


घड़ी की गति सीमाएँ

घड़ी की गति के लिए कुछ ज्ञात भौतिक सीमाएँ हैं:

  • संचारण समय

    सर्किट को पार करने के लिए विद्युत सिग्नल के लिए लगने वाला समय प्रकाश की गति से सीमित होता है। यह एक हार्ड सीमा है, और वहाँ उसके चारों ओर कोई ज्ञात तरीका है 1 । गीगाहर्ट्ज़-घड़ियों में, हम इस सीमा तक पहुंच रहे हैं।

    हालाँकि, हम अभी तक वहाँ नहीं हैं। 1 GHz का अर्थ है प्रति घड़ी टिक का एक नैनोसेकंड। उस समय में, प्रकाश 30 सेमी यात्रा कर सकता है। 10 GHz पर, प्रकाश 3cm यात्रा कर सकता है। एक सिंगल सीपीयू कोर लगभग 5 मिमी चौड़ा है, इसलिए हम इन मुद्दों पर पिछले 10 गीगाहर्ट्ज पर कहीं चलेंगे। 2

  • देरी से स्विच करना

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

    दुर्भाग्य से, मैं बारीकियों के बारे में निश्चित नहीं हूं, और कोई भी संख्या प्रदान नहीं कर सकता।

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

  • गर्मी अपव्यय / बिजली की खपत

    यह बड़ा वाला है। Fuzzyhair2 के उत्तर से उद्धरण :

    हाल के प्रोसेसर CMOS तकनीक का उपयोग कर निर्मित किए जाते हैं। हर बार जब घड़ी का चक्र होता है, तो शक्ति का प्रसार होता है। इसलिए, उच्च प्रोसेसर गति का मतलब अधिक गर्मी लंपटता है।

    इस आनंदटेक फोरम थ्रेड में कुछ प्यारे माप हैं , और उन्होंने बिजली की खपत के लिए एक सूत्र भी निकाला है (जो हाथ से उत्पन्न होने के साथ हाथ में जाता है:

    सूत्र
    Idontcare को श्रेय

    हम निम्नलिखित ग्राफ में इसकी कल्पना कर सकते हैं:

    ग्राफ़
    Idontcare को श्रेय

    जैसा कि आप देख सकते हैं, बिजली की खपत (और गर्मी उत्पन्न) बहुत तेजी से बढ़ती है क्योंकि घड़ी की गति एक निश्चित बिंदु से अधिक बढ़ जाती है। यह घड़ी की गति को लगातार बढ़ाने के लिए अव्यवहारिक बनाता है।

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


अधिक कोर?

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

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

कुछ लोगों ने इसे किया है - वर्तमान ओवरक्लॉकिंग वर्ल्ड रिकॉर्ड सिर्फ 9 गीगाहर्ट्ज का है। लेकिन स्वीकार्य सीमा के भीतर बिजली की खपत को ध्यान में रखते हुए ऐसा करना एक महत्वपूर्ण इंजीनियरिंग चुनौती है। कुछ बिंदुओं पर डिजाइनरों ने तय किया कि समानांतर में अधिक काम करने के लिए अधिक कोर जोड़ने से अधिकांश मामलों में प्रदर्शन को अधिक प्रभावी बढ़ावा मिलेगा।

यही वह जगह है जहां अर्थशास्त्र आता है - मल्टीकोर मार्ग पर जाने के लिए यह सस्ता (कम डिजाइन का समय, निर्माण के लिए कम जटिल) होने की संभावना थी। और यह बाजार के लिए आसान है - जो ब्रांड के नए ऑक्टा-कोर चिप से प्यार नहीं करता है ? (बेशक, हम जानते हैं कि जब सॉफ्टवेयर का उपयोग नहीं होता है तो मल्टीकोर बहुत बेकार है ...)

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

हमने पहले से ही एक सीमा को हिट कर दिया है, कोर की संख्या के साथ हम वर्तमान प्रक्रिया के आकार में एक एकल मरने पर फिट हो सकते हैं। हम जल्द ही चीजों को सिकोड़ सकते हैं। तो अगला क्या? क्या हमें और चाहिए? दुर्भाग्य से इसका जवाब देना मुश्किल है। यहाँ कोई एक क्लैरवॉयंट है?


प्रदर्शन में सुधार करने के अन्य तरीके

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

तो, हम और क्या कर सकते हैं? आधुनिक सीपीयू एक ही घड़ी की गति पर पुराने लोगों की तुलना में बहुत तेज कैसे हैं?

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

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

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

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


1 वैसे भी सैद्धांतिक क्वांटम भौतिकी में बहुत गहरे उतरे बिना नहीं।

2 यह वास्तव में कम हो सकता है, क्योंकि विद्युत क्षेत्र का प्रसार वैक्यूम में प्रकाश की गति के रूप में बहुत तेज नहीं है। इसके अलावा, यह सिर्फ सीधी रेखा की दूरी के लिए है - यह संभावना है कि कम से कम एक रास्ता है जो एक सीधी रेखा की तुलना में काफी लंबा है।


22
इसके अलावा, कई अनुप्रयोगों में अड़चन गणना समय नहीं है, लेकिन रैम से डेटा प्राप्त करने के लिए स्टाल का समय (या, डिस्क से देवता इसे मना करते हैं); तो, एक और प्रमुख स्पीडअप बड़े, तेज प्रोसेसर कैश से आता है।
मैटियो इटालिया

2
@ मत्तो इतालिया यप। और वहाँ भी शाखा भविष्यवाणी में सुधार है, और शायद अधिक के बारे में मुझे पता नहीं है। प्रोसेसर के बाहर, हमारे पास तेज बसें, तेज मेमोरी, तेज डिस्क और संबंधित प्रोटोकॉल आदि हैं।
बॉब

2
आपने उल्लेख किया है कि प्रकाश की गति की "हार्ड लिमिट" से संबंधित समस्याएं "कहीं न कहीं पिछले 20 गीगाहर्ट्ज" पर होंगी। आपकी गणना सही नहीं है; विद्युत संकेत तार की ज्यामिति के आधार पर प्रकाश की गति से कम गति पर यात्रा करते हैं।
Giulio Muscarello

5
कृपया "घातीय" का उपयोग न करें जब इस संबंध के लिए पूरी तरह से अधिक सही शब्द हों (द्विघात, घन, आदि।) ...
ओलिवर चार्ल्सवर्थ

7
@OliCharlesworth कृपया फुटनोट पढ़ें। यह ठीक है कि फुटनोट क्यों है, और मेरे पास इसके संदर्भ क्यों हैं, हर जगह exponentialइसका उपयोग किया जाता है। यह शब्द का पूरी तरह से मान्य उपयोग है, और यह गणितीय विवरण में फंसने के लिए इस उत्तर के बिंदु पर स्पर्शरेखा होगा। यदि आप वास्तव में इसे "सही" करने का प्रयास करना चाहते हैं, तो एक संपादन का सुझाव देने के लिए स्वतंत्र महसूस करें। जब तक आप इसका अर्थ नहीं बदलते हैं, तब तक यह मेरे ऊपर नहीं होगा।
बॉब

14

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

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

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

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

आप मेमोरी कंट्रोलर्स (ताकि आपके पास कम विलंबता) और IO संबंधित फ़ंक्शन (आधुनिक CPU में कोई उत्तर पुल नहीं है) के साथ-साथ वीडियो (जो कि लैपटॉप और AIW डिजाइन के साथ अधिक महत्वपूर्ण है) जैसी चीजों को भी स्थानांतरित कर सकते हैं। इन चीजों को 'सिर्फ' करने से ज्यादा समझ आता है।

कुछ बिंदु पर 'अधिक' कोर काम नहीं कर सकते हैं - हालांकि जीपीयू में सैकड़ों कोर हैं।

मल्टीकोर जैसे कि कंप्यूटर इन सभी तरीकों से स्मार्ट तरीके से काम करता है।


1
ध्यान दिया जाना चाहिए, कि सीपीयू कोर एक बहुत ही विशिष्ट उद्देश्य के लिए डिज़ाइन किए गए हैं, सीपीयू कोर के विपरीत जो सामान्य उद्देश्य से अधिक हैं। यह भी ध्यान दिया जाना चाहिए, कि वीडियो कार्ड बोर्ड सीपीयू की तुलना में काफी बड़े हैं (मतलब भले ही कोर बोर्ड के सभी कमरे का उपयोग नहीं कर रहे हैं, फिर भी उनके पास गर्मी को फैलाने के लिए अधिक जगह है)।
user2366842

3
सच है, लेकिन यह एक उदाहरण है जहां आप एक चरम राशि द्वारा कोर को बड़े पैमाने पर करते हैं। मैं संभावना सुबह में इस उत्तर को फिर से करेंगे
जर्नीमैन गीक

"आप बस एक ही पैकेज में दो मौजूदा कोर पॉप कर सकते हैं"। लेकिन वे अतिरिक्त कोर के लिए अधिक स्थान का उपयोग किए बिना इसे कैसे प्राप्त करते हैं कैसे ?! जादू? यूनिकॉर्न्स? पिल्ले? (आपके अवतार से, मुझे बाद का संदेह है)
वह ब्राजील के लड़के

पेंटियम डी एस थे कि en.wikipedia.org/wiki/Pentium_D मूल रूप से
जर्नीमैन गीक

6
wierd quantum crapउस अकेले के लिए + 1!
डेव

9

सरल उत्तर

प्रश्न का सबसे सरल उत्तर

क्यों "अधिक कोर जोड़ें" "सीपीयू को तेज बनाने" के समान शारीरिक सीमाओं का सामना नहीं करता है?

वास्तव में आपके प्रश्न के दूसरे भाग में पाया जाता है:

मैं निष्कर्ष की उम्मीद करूंगा "इसलिए, हमें बड़े कंप्यूटरों या कई कंप्यूटरों पर हमारे कार्यक्रम चलाने होंगे।"

संक्षेप में, एकाधिक कोर एक ही डिवाइस पर कई "कंप्यूटर" होने जैसा है।

जटिल उत्तर

एक "कोर" कंप्यूटर का वह हिस्सा है जो वास्तव में निर्देशों (जोड़ने, गुणा करने, "और" आईएनजी, आदि) को संसाधित करता है। एक कोर केवल एक समय में एक ही निर्देश को निष्पादित कर सकता है। यदि आप चाहते हैं कि आपका कंप्यूटर "अधिक शक्तिशाली" हो तो दो बुनियादी चीजें हैं जो आप कर सकते हैं:

  1. थ्रूपुट में वृद्धि (घड़ी की दर में वृद्धि, भौतिक आकार में कमी, आदि)
  2. एक ही कंप्यूटर में अधिक कोर का उपयोग करें

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

# 2 के लिए एक महत्वपूर्ण सीमा है: आपको अपनी समस्या को कई स्वतंत्र समस्याओं में विभाजित करने में सक्षम होना होगा , और फिर उत्तर को संयोजित करना होगा। एक आधुनिक व्यक्तिगत कंप्यूटर पर, यह वास्तव में कोई समस्या नहीं है, क्योंकि स्वतंत्र समस्याओं का भार है, जो कि वैसे भी कोर (एस) के साथ कम्प्यूटेशनल समय के लिए सभी मर रहे हैं। लेकिन जब गहन कम्प्यूटेशनल समस्याएं करते हैं, तो कई कोर केवल वास्तव में मदद करते हैं यदि समस्या संगामिति के लिए उत्तरदायी हो।


'कई कोर एक ही डिवाइस पर कई "कंप्यूटर" होने की तरह हैं।' सही है, लेकिन मेरी उलझन थी, आप उन सभी को वहाँ कैसे फिट करते हैं? मुझे लगा कि "हम तेजी से नहीं जा सकते" का एक लक्षण था "हम चीजों को बहुत अधिक नहीं सिकोड़ सकते।"
नाथन लॉन्ग

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

1
एक संक्षिप्त उत्तर यह है कि बिजली की खपत घड़ी की गति के घन के समानुपाती होती है। लंबी दूरी की यात्रा के संकेतों के साथ, एकल धागा भ्रम को बनाए रखना कठिन हो जाता है। विस्तृत उत्तर: amazon.com/…
रोब

6

क्यों "अधिक कोर जोड़ें" "सीपीयू को तेज बनाने" के समान शारीरिक सीमाओं का सामना नहीं करता है?

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

तथ्य 1: बिजली की खपत और उत्सर्जित गर्मी कम्प्यूटेशनल शक्ति की तुलना में तेजी से बढ़ती है। 1 गीगाहर्ट्ज से 2 जीएचजेड के लिए सीपीयू पुश करने से बिजली की खपत 20 डब्ल्यू से 80 डब्ल्यू तक हो जाएगी, जो कि असमान गर्मी के साथ होती है। (मैं अभी इन नंबरों को बनाया है, लेकिन यह काफी है कि यह कैसे काम करता है)

तथ्य 2: दूसरा सीपीयू खरीदना और दोनों 1 गीगाहर्ट्ज पर चलाना आपके कम्प्यूटेशनल पावर को दोगुना कर देगा। 1 गीगाहर्ट्ज पर चलने वाले दो सीपीयू एक ही डेटा को एक 2 गीगाहर्ट्ज सीपीयू के रूप में संसाधित कर सकते हैं, लेकिन हर एक में केवल 20 डब्ल्यू ऊर्जा की खपत होती है, जो कुल मिलाकर 40 डब्ल्यू है।

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

समस्या: आपको दो सीपीयू के बीच काम को विभाजित करना होगा और बाद में परिणाम गठबंधन करना होगा।

यदि आप स्वीकार्य समय में इस समस्या को हल कर सकते हैं और कम ऊर्जा का उपयोग कर सकते हैं, जो आपने अभी-अभी बचाया है, तो आपने कई सीपीयू का उपयोग करने के लिए सिर्फ धन्यवाद दिया है।

अब आपको बस दो सीपीयू को एक दोहरे कोर सीपीयू में मिलाना है और आप घर पर हैं। यह फायदेमंद है क्योंकि कोर सीपीयू के कुछ हिस्सों को साझा कर सकते हैं, उदाहरण के लिए कैश ( संबंधित उत्तर )।


हम 1000 अलग-अलग तरीकों से शारीरिक सीमाओं को मारते रहते हैं, मरने का आकार (बहु-कोर के लिए जो छोटी विनिर्माण प्रक्रिया की ओर जाता है), मोबो का आकार (मल्टी सीपीयू के लिए), एम्प्स ने खींचा (दोनों)। इसकी तरह आप एक एम-एएक्स या 4 पर 2 सीपीयू और एक एएक्स बोर्ड पर मेमोरी नहीं डाल सकते हैं और उन डिजाइनों को बदलने के लिए DECADES लेते हैं। मैं बाकी लोगों से सहमत हूं।
रोस्टोल

@ रोस्टोल यह एक अच्छा बिंदु है, मैंने उत्तर को संपादित किया है।
गोरोस्तज

5

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

मुझे लगता है कि यह समस्या बहुआयामी है और अधिक संपूर्ण चित्र को चित्रित करने में कुछ लेखन होगा:

  1. भौतिक सीमाएँ (वास्तविक भौतिकी द्वारा लागू): प्रकाश की गति, क्वांटम यांत्रिकी की तरह, वह सब।
  2. विनिर्माण समस्याएं: हम आवश्यक परिशुद्धता के साथ कभी छोटी संरचनाओं का निर्माण कैसे करते हैं? कच्चे माल से संबंधित समस्याएं, सर्किट के निर्माण के लिए उपयोग की जाने वाली सामग्री, स्थायित्व।
  3. वास्तु संबंधी समस्याएं: गर्मी, इंजेक्शन, बिजली की खपत आदि।
  4. किफायती समस्याएं: उपयोगकर्ता को अधिक प्रदर्शन प्राप्त करने का सबसे सस्ता तरीका क्या है?
  5. Usecases और प्रदर्शन की उपयोगकर्ता धारणा।

कई और भी हो सकते हैं। एक बहुउद्देशीय सीपीयू इन सभी कारकों (और अधिक) को एक, जन-producible चिप में घसीटने का समाधान खोजने की कोशिश कर रहा है जो बाजार में 93% विषयों पर फिट बैठता है। जैसा कि आप देखते हैं, अंतिम बिंदु सबसे महत्वपूर्ण एक है, ग्राहक धारणा, जो सीधे ग्राहक द्वारा सीपीयू का उपयोग करने के तरीके से ली गई है।

अपने आप से पूछें कि आपका सामान्य अनुप्रयोग क्या है? हो सकता है: 25 फ़ायरफ़ॉक्स टैब, प्रत्येक पृष्ठभूमि में कुछ विज्ञापन चला रहा हो, जब आप संगीत सुन रहे हों, तो सभी अपनी बिल्ड जॉब के लिए इंतजार कर रहे थे, जिसे आपने खत्म करने के लिए 2 घंटे पहले शुरू किया था। यह बहुत काम किया जाना है, और अभी भी आप एक सहज अनुभव चाहते हैं। लेकिन आपका CPU उस समय एक काम को संभाल सकता है! एक बात पर। तो आप क्या करते हैं, आप चीजों को विभाजित करते हैं और एक लूंग कतार बनाते हैं और हर एक को अपना हिस्सा मिलता है और सभी खुश होते हैं। सिवाय तुम्हारे लिए क्योंकि सभी चीजें सुस्त हो जाती हैं और बिल्कुल भी चिकनी नहीं होतीं।

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

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

हां, यह रणनीति अपनी सीमाओं तक पहुंच जाएगी! और इंटेल यह जानता है, इसीलिए वे कहते हैं कि भविष्य कहीं और निहित है। लेकिन वे इसे तब तक करते रहेंगे जब तक यह सस्ता और प्रभावी और उल्लेखनीय है।

अंतिम लेकिन कम से कम नहीं: भौतिकी। क्वांटम यांत्रिकी चिप सिकुड़ने को सीमित कर देगी। प्रकाश की गति अभी तक एक सीमा नहीं है, क्योंकि इलेक्ट्रॉन सिलिकॉन में प्रकाश की गति से यात्रा नहीं कर सकते हैं, वास्तव में यह उससे बहुत धीमा है। इसके अलावा, यह आवेग की गति है जो किसी सामग्री द्वारा दी गई गति पर हार्ड कैप डालती है। जिस तरह ध्वनि हवा की तुलना में पानी में तेजी से यात्रा करती है, उसी तरह इलेक्ट्रिक आवेग तेजी से यात्रा करते हैं, उदाहरण के लिए, सिलिकॉन की तुलना में ग्राफीन। इससे कच्चा माल वापस आ जाता है। जहां तक ​​इसके विद्युत गुण जाते हैं ग्राफीन महान है। यह सीपीयू के निर्माण के लिए एक बेहतर सामग्री बना देगा, दुर्भाग्य से बड़ी मात्रा में उत्पादन करना बहुत कठिन है।


2

कहो (एक अवास्तविक उदाहरण के रूप में, लेकिन अभी भी बिंदु को पार करना चाहिए) आपके पास एक सीपीयू है जो 100F पर चल रहा है। मल्टीकोर आमतौर पर कैसे काम करता है घड़ी की आवृत्ति को ले कर जो कि CPU 100F पर चल रहा है, और इसे कम कर रहा है, इस प्रकार गति को कम कर रहा है। क्योंकि यह अब गर्म के रूप में नहीं चल रहा है, वे सीपीयू के समग्र तापमान को प्रभावित किए बिना, मल्टीकोर से लाभ प्राप्त करने के बिना एक दूसरे, 3 या यहां तक ​​कि 4 के ठीक बगल में एक और को गिरा सकते हैं। यह स्पष्ट रूप से कुछ ओवरहेड के साथ आता है, क्योंकि कोर को अभी भी एक स्थान से नियंत्रित किया जाना है, एक कोर द्वारा। जितना अधिक कोर आप जोड़ते हैं, उतना अधिक उपरि है। एकल कोर के लिए, जितना अधिक आप उन पर गति बढ़ाते हैं, उतनी ही अधिक गर्मी वे उत्पन्न करते हैं। इसकी स्पष्ट रूप से भौतिक सीमाएँ हैं (अर्थात एक निश्चित बिंदु के बाद, यह प्रदर्शन के लिए हानिकारक होने लगती है,

जैसे-जैसे समय बीतता है, उन्होंने सीपीयू के भौतिक आकार को कम करने के तरीके ढूंढ लिए हैं, यही वजह है कि हम वास्तव में अभी तक अधिक स्थान की आवश्यकता के लिए नहीं दौड़े हैं, लेकिन उदाहरण के लिए, 16 कोर सीपीयू वास्तव में मौजूद नहीं हैं (पर सर्वर ग्रेड उपकरणों के बाहर लेखन का समय) भौतिक आकार की सीमाओं के कारण, क्योंकि सर्वर ग्रेड सीपीयू मानक उपभोक्ता ग्रेड की तुलना में भौतिक रूप से काफी बड़ा है।


2

सीपीयू = कार इंजन: उच्च आरपीएम कार की तुलना में 16 वाल्व, यानी लंबोर्गिनी के साथ अधिक शक्तिशाली कार बनाना आसान है, जिसमें 100 000 आरपीएम पर एक विशाल वाल्व / सिलेंडर होगा।

कारण भौतिक और रासायनिक हैं, कोर और कोर की गति के बीच संतुलन को बदलने के लिए एक कम्प्यूटेशनल रॉकेट ईंधन के साथ सिलिकॉन को बदलने की आवश्यकता है।


2

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

अतिरिक्त कोर जोड़ने से प्रोसेसर तेजी से नहीं बनेगा, हालांकि यह एक ही समय में अधिक प्रक्रिया करने की अनुमति देगा।

मूर का कानून एक बहुत ही रोचक और जानकारीपूर्ण पढ़ा गया है। विशेष रूप से यह उद्धरण यहां प्रासंगिक है:

व्यक्ति एक किलोग्राम के द्रव्यमान और एक लीटर की मात्रा के साथ एक बल्कि व्यावहारिक "अंतिम लैपटॉप" के सैद्धांतिक प्रदर्शन को सीमित कर सकता है। यह लगभग 10 31 बिट्स पर 5.4258 50 10 50 तार्किक संचालन प्रति सेकंड का प्रदर्शन देते हुए, प्रकाश की गति, क्वांटम स्केल, गुरुत्वाकर्षण स्थिरांक और बोल्ट्जमन स्थिरांक पर विचार करके किया जाता है ।


2
संयोग से, इलेक्ट्रॉनों वास्तव में बहुत धीमी गति से ("बहाव वेग") चलते हैं, प्रति सेकंड IIRC के मिलीमीटर के क्रम में। आप उस गति का अधिक उल्लेख कर रहे हैं जिस पर विद्युत क्षेत्र प्रचारित करता है।
बॉब

2
मुझे पता था कि मुझे इस तरह से अभिनय करने की हिम्मत नहीं है, जैसे मैं भौतिकी को थोड़ा सा समझता हूं। :) इस पर मुझे सही करने / सूचित करने के लिए धन्यवाद।
jredd

इसके अलावा, वास्तविक घड़ी की गति, जहां प्रसार की गति का महत्वपूर्ण प्रभाव होगा, 10+ GHz के आसपास अधिक होते हैं। अन्य कारण हैं कि आधुनिक प्रोसेसर उच्च घड़ियों पर कई कोर पसंद करते हैं।
बॉब

1

लंबी कहानी और भी छोटी:

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

कई मोबाइल डिवाइस, लैपटॉप आदि बेहतर बैटरी जीवन और कूलर तापमान के लिए सीपीयू को कम कर देंगे। 3.5GHz ARM कोर विकसित करने के लिए ज्यादा प्रोत्साहन नहीं अगर आपका मुख्य ग्राहक इसे 1.3GHz पर चलाता है।

  • उन विशिष्ट उपयोगों में 5GHz कोर के विकास को सही ठहराने के लिए पर्याप्त खरीद नहीं है। वे गर्मी या बिजली की भी परवाह नहीं करते हैं - सबसे तेज़ उपलब्ध खरीदें, इसे ओवरक्लॉक करें और एक टोस्टर के आकार को वॉटर-कूल्ड हीटसिंक पर बोल्ट करें।

1
यह "धारणा" नहीं है, लेकिन "बेहतर विलंबता" है। मुझे लगता है कि यह हमारी मुख्य समस्याओं में से एक है; हर कीमत पर एक मजबूत थ्रेडेड थ्रूपुट मानसिकता रखता है। उपभोक्ता ऑपरेटिंग सिस्टम अभी तक वास्तविक समय उन्मुख नहीं हैं, न ही मूलभूत रूप से समवर्ती या समानांतरवाद के लिए उन्मुख हैं।
रोब

@peter आप एक बहुत अच्छा बिंदु बनाते हैं, और यह समझाने के लिए धन्यवाद। यह कुछ ऐसा है जिसे मुझे प्रोग्रामर के रूप में याद रखना चाहिए। :) यह अभी भी इस सवाल के उद्देश्यों के लिए एक पक्ष का मुद्दा है, हालांकि। मेरा प्रश्न यह था कि हम तेज गति क्यों नहीं प्राप्त कर सकते ; आपका उत्तर इस बारे में है कि हमें वर्तमान में इसकी आवश्यकता क्यों नहीं है।
नाथन लॉन्ग

1
@NathanLong "नहीं" और "ज़रूरत नहीं है" जुड़े हुए हैं। आप तेजी से प्रोसेसर प्राप्त नहीं कर सकते हैं क्योंकि कोई भी इसे विकसित करने के लिए आवश्यक अरब या पांच निवेश करने के लिए तैयार नहीं है (5GHz शायद वैसे भी भौतिक सीमाओं को आगे बढ़ा रहा है)। कोई भी निवेश करने के लिए तैयार नहीं है क्योंकि कोई वास्तविक बाजार नहीं है जब समग्र प्रोसेसर गति नीचे चल रही है - कुछ वर्तमान निर्माण डेस्कटॉप 1.5GHz वर्ग (10 साल पहले लाइन के ऊपर) में हैं क्योंकि यह सस्ता, कूलर और उस बाजार के लिए काफी तेज है खंड।
पीटर

1

लघु और सरल उत्तर:

1 ट्रक माल माल से 100 ट्रकों के लिए 100 गुना अधिक क्यों नहीं चल रहा है, वही शारीरिक सीमाओं का सामना करना पड़ रहा है जो 1 ट्रक से चलकर 100mph पर 1 ट्रक से 10,000mph पर ड्राइविंग कर रहा है?

उस प्रश्न का उत्तर दें, और आपके प्रश्न का उत्तर भी दिया जाएगा। अवधारणा लगभग एक ही है।


1

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

एक और कारण यह है कि बढ़ती हुई घड़ी की आवृत्ति आपके द्वारा आवृत्ति को बढ़ाने वाले कारक के वर्ग के आधार पर बिजली की खपत को बढ़ाती है (इस पर निर्भर करता है कि आप किसी दिए गए बिंदु पर कितनी बाधाएं मार रहे हैं)। इसलिए, घड़ी की आवृत्ति बढ़ने से एक वर्ग द्वारा बिजली की खपत बढ़ जाती है, जबकि अधिक कोर जोड़ने से यह रैखिक रूप से बढ़ जाता है।


0

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


0

आप केवल अधिक फाटकों में cramming द्वारा तेजी से सीपीयू नहीं बना सकते हैं। अंततः, निर्देशों को निष्पादित किया जाना चाहिए, और प्रत्येक निर्देश के लिए कई "स्विचिंग" संचालन की आवश्यकता होती है। मौलिक भौतिक सीमाएं हैं (क्वांटम यांत्रिकी - अनिश्चितता सिद्धांत) जो वर्तमान टॉप-एंड सिस्टम की गति से परे सीपीयू की "घड़ी की गति" को बढ़ाना बहुत मुश्किल है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.