नई पीढ़ी की प्रोसेसर एक ही घड़ी की गति से अधिक तेज़ क्यों हैं?


38

उदाहरण के लिए, 2.66 गीगाहर्ट्ज का डुअल-कोर कोर i5 2.66 गीगाहर्ट्ज के कोर 2 डुओ से तेज होगा, जो कि डुअल-कोर भी है?

क्या यह नए निर्देशों के कारण कम घड़ी चक्रों में जानकारी संसाधित कर सकता है? क्या अन्य वास्तु परिवर्तन शामिल हैं?

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



वाह दोनों सफलताएं और दाविद के शानदार जवाब हैं ... मुझे नहीं पता कि कौन सा सही चुनना है: पी
एग्ज

इसके अलावा बेहतर निर्देश सेट और अधिक रजिस्टर। उदाहरण के लिए MMX (अभी बहुत पुराना), और x86_64 (जब AMD ने x86_64 का आविष्कार किया, तो उन्होंने 64 बिट मोड में कुछ संगतता ब्रेकिंग सुधारों को जोड़ा। उन्हें एहसास हुआ कि तुलनात्मकता वैसे भी टूट जाएगी)।
ctrl-alt-delor-

X86 आर्किटेक्चर के वास्तविक बड़े सुधारों के लिए, एक नए इंस्ट्रक्शन सेट की जरूरत होती है, लेकिन अगर ऐसा किया गया तो यह x86 नहीं होगा। यह एक PowerPC, mips, Alpha,… या ARM होगा।
ctrl-alt-delor

जवाबों:


30

यह आमतौर पर नए निर्देशों के कारण नहीं है। यह सिर्फ इसलिए है क्योंकि प्रोसेसर को समान निर्देशों को निष्पादित करने के लिए कम अनुदेश चक्र की आवश्यकता होती है। यह बड़ी संख्या में कारणों से हो सकता है:

  1. बड़े कैश का मतलब है कि स्मृति की प्रतीक्षा में कम समय बर्बाद।

  2. अधिक निष्पादन इकाइयों का अर्थ है एक निर्देश पर संचालन शुरू करने के लिए कम समय की प्रतीक्षा।

  3. बेहतर शाखा भविष्यवाणी का मतलब है कम समय बर्बाद करना जो कि वास्तव में कभी भी निष्पादित करने के निर्देशों को जानबूझकर निष्पादित नहीं करता है।

  4. निष्पादन इकाई में सुधार का मतलब है कि निर्देशों को पूरा करने के लिए कम समय की प्रतीक्षा करना।

  5. छोटी पाइपलाइनों का मतलब है कि पाइपलाइनें तेजी से भरती हैं।

और इसी तरह।


मेरा मानना ​​है कि कोर आर्किटेक्चर में 14-15 चरण की पाइपलाइन ( रेफरी ) है, और नेहेल्म / सैंडी ब्रिज में लगभग 14-17 चरण की पाइपलाइन ( रेफरी ) है।
ब्रेकथ्रू

शॉर्टर पिपलाइन को पूरा रखने और पाइपलाइन फ्लश के दंड को कम करना आसान है। लंबी पाइपलाइन आमतौर पर उच्च घड़ी की गति की अनुमति देती हैं।
डेविड श्वार्ट्ज

यही मेरा मतलब है, मुझे लगता है कि पाइपलाइन की गहराई खुद ही बनी हुई है या बढ़ गई है । इसके अलावा में इंटेल 64 और IA-32 दप देव नियमावली , एक पाइप लाइन के परिवर्तन के अंतिम उल्लेख खंड में है। 1, चौ। २.२.३ / २.२.४ (इंटेल कोर / एटम माइक्रोआर्किटेक्चर)।
ब्रेकथ्रू

2
घड़ी की गति बढ़ाने के प्रयास के परिणामस्वरूप लंबी पाइपलाइनें हैं। कि नेटबर्स्ट युग के अंत की ओर हास्यास्पद (31 चरणों के रूप में कई!)। इन दिनों, यह फायदे और नुकसान दोनों तरीकों से एक नाजुक इंजीनियरिंग निर्णय है।
डेविड श्वार्ट्ज

भी शाखा भविष्यवाणी में सुधार, अनुदेश reordering / अनुकूलन / mux इकाई में सुधार, miniaturization (कम गर्मी) और मरने के डिजाइन (सुधार एक मरो पथ / सर्किट, आदि), ...
शॉन विल्सन

40

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

घड़ी की दरें अनिश्चित काल तक नहीं बढ़ सकती हैं।

  • पहली नज़र में, ऐसा लग सकता है कि एक प्रोसेसर एक के बाद एक निर्देशों की एक धारा को निष्पादित करता है, उच्च घड़ी की दरों के माध्यम से प्रदर्शन में वृद्धि होती है। हालाँकि, अकेले घड़ी की दर बढ़ाना पर्याप्त नहीं है। घड़ी की दरें बढ़ने के साथ बिजली की खपत और गर्मी का उत्पादन बढ़ता है।

  • बहुत अधिक घड़ी दरों के साथ, सीपीयू कोर वोल्टेज में महत्वपूर्ण वृद्धि आवश्यक हो जाती है। क्योंकि टीडीपी वी कोर के वर्ग के साथ बढ़ता है , हम अंततः एक बिंदु तक पहुंचते हैं जहां अत्यधिक बिजली की खपत, गर्मी उत्पादन, और शीतलन आवश्यकताएं घड़ी दर में और वृद्धि को रोकती हैं। यह सीमा 2004 में पेंटियम 4 प्रेस्कॉट के दिनों में पहुंच गई थी । जबकि बिजली दक्षता में हाल के सुधारों ने मदद की है, घड़ी दर में उल्लेखनीय वृद्धि संभव नहीं है। देखें: सीपीयू निर्माताओं ने अपने प्रोसेसर की घड़ी की गति को क्यों रोक दिया है?

वर्षों में अत्याधुनिक उत्साही पीसी में स्टॉक घड़ी की गति का ग्राफ।
वर्षों में अत्याधुनिक उत्साही पीसी में स्टॉक घड़ी की गति का ग्राफ। छवि स्रोत

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

लगातार अनुक्रमिक निर्देश धाराओं को अक्सर समानांतर किया जा सकता है।

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

पाइपलाइनिंग निर्देश को छोटे टुकड़ों में तोड़ता है जिसे समानांतर में निष्पादित किया जा सकता है।

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

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

पांच-चरण की अनुदेश पाइपलाइन का आरेख
छवि स्रोत

हालांकि, पाइपलाइनिंग खतरों को पेश कर सकती है जिन्हें सही कार्यक्रम निष्पादन सुनिश्चित करने के लिए हल किया जाना चाहिए।

  • क्योंकि प्रत्येक निर्देश के विभिन्न भागों को एक ही समय में निष्पादित किया जा रहा है, इसलिए संघर्षों के लिए संभव है जो सही निष्पादन में हस्तक्षेप करते हैं। इन्हें खतरा कहा जाता है । तीन प्रकार के खतरे हैं: डेटा, संरचनात्मक और नियंत्रण।

  • डेटा खतरे तब होते हैं जब निर्देश एक ही समय में या गलत क्रम में एक ही डेटा को पढ़ते और संशोधित करते हैं, संभवतः गलत परिणामों की ओर ले जाते हैं। संरचनात्मक खतरे तब होते हैं जब एक ही समय में कई निर्देशों को प्रोसेसर के किसी विशेष भाग का उपयोग करने की आवश्यकता होती है। नियंत्रण संबंधी खतरे तब होते हैं जब एक सशर्त शाखा निर्देश का सामना करना पड़ता है।

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

शाखा की भविष्यवाणी का उपयोग नियंत्रण खतरों को हल करने के लिए किया जाता है जो पूरी पाइपलाइन को बाधित कर सकता है।

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

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

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

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

मेमोरी एक्सेस को तेज करने के लिए कैश का उपयोग किया जाता है।

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

  • प्रोसेसर डाई पर सीमित स्थान उपलब्ध होने के कारण, कैश बहुत सीमित आकार के होते हैं। इस सीमित क्षमता का अधिकतम उपयोग करने के लिए, कैश केवल सबसे हाल ही में या अक्सर एक्सेस किए गए डेटा ( टेम्पोरल लोकलिटी ) को स्टोर करता है । जैसे-जैसे मेमोरी एक्सेस विशेष क्षेत्रों ( स्थानिक इलाके ) के भीतर क्लस्टर होते जाते हैं , हाल ही में एक्सेस किए जाने वाले डेटा के ब्लॉक भी कैश में जमा हो जाते हैं। देखें: संदर्भ की स्थानीयता

  • प्रदर्शन को अनुकूलित करने के लिए अलग-अलग आकार के कई स्तरों में कैश का आयोजन किया जाता है क्योंकि बड़े कैश छोटे कैश की तुलना में धीमा होते हैं। उदाहरण के लिए, एक प्रोसेसर में एक स्तर 1 (L1) कैश हो सकता है जो आकार में केवल 32 KB है, जबकि इसका स्तर 3 (L3) कैश कई मेगाबाइट बड़े हो सकते हैं। कैश का आकार, साथ ही कैश की संबद्धता , जो प्रभावित करती है कि प्रोसेसर पूर्ण कैश पर डेटा के प्रतिस्थापन का प्रबंधन कैसे करता है, कैश के माध्यम से प्राप्त होने वाले प्रदर्शन लाभ को महत्वपूर्ण रूप से प्रभावित करता है।

आउट-ऑफ-ऑर्डर निष्पादन पहले के निष्पादन के स्वतंत्र निर्देशों की अनुमति देकर खतरों के कारण स्टालों को कम करता है।

  • एक निर्देश धारा में प्रत्येक निर्देश एक दूसरे पर निर्भर नहीं करता है। उदाहरण के लिए, हालांकि a + b = cपहले निष्पादित किया जाना चाहिए c + d = e, a + b = cऔर d + e = fस्वतंत्र हैं और एक ही समय में निष्पादित किया जा सकता है।

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

आउट-ऑफ-ऑर्डर निष्पादन का आरेख
छवि स्रोत

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

Superscalar आर्किटेक्चर एक निर्देश स्ट्रीम के भीतर एक ही समय में निष्पादित करने के लिए कई निर्देशों की अनुमति देते हैं।

  • उपरोक्त तकनीकों पर केवल निर्देश पाइपलाइन के प्रदर्शन में वृद्धि हुई है। ये तकनीकें अकेले ही एक से अधिक निर्देशों को प्रति घड़ी चक्र पूरा करने की अनुमति नहीं देती हैं। हालांकि, अक्सर समानांतर में एक निर्देश धारा के भीतर व्यक्तिगत निर्देशों को निष्पादित करना संभव होता है, जैसे कि जब वे एक-दूसरे पर निर्भर नहीं होते हैं (जैसा कि ऊपर दिए गए आदेश निष्पादन अनुभाग में चर्चा की गई है)।

  • Superscalar आर्किटेक्चर एक बार में कई कार्यात्मक इकाइयों को भेजे जाने के निर्देश देकर इस निर्देश-स्तरीय समानता का लाभ उठाते हैं। प्रोसेसर में एक विशेष प्रकार की कई कार्यात्मक इकाइयाँ हो सकती हैं (जैसे पूर्णांक ALUs) और / या विभिन्न प्रकार की कार्यात्मक इकाइयाँ (जैसे फ़्लोटिंग-पॉइंट और पूर्णांक इकाइयाँ) जिनमें निर्देश समवर्ती रूप से भेजे जा सकते हैं।

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

हसवेल निष्पादन इंजन का आरेख
छवि स्रोत

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

अधिक उन्नत निर्देश जोड़े जाते हैं जो कम समय में जटिल ऑपरेशन करते हैं।

  • जैसा कि ट्रांजिस्टर बजट बढ़ता है, अधिक उन्नत निर्देशों को लागू करना संभव हो जाता है जो जटिल परिचालन को उस समय के कुछ हिस्सों में निष्पादित करने की अनुमति देते हैं जो वे अन्यथा लेते हैं। उदाहरणों में SSE और AVX जैसे वेक्टर निर्देश सेट शामिल हैं जो एक ही समय में डेटा के कई टुकड़ों पर गणना करते हैं और एईएस निर्देश सेट जो डेटा एन्क्रिप्शन और डिक्रिप्शन को गति देता है

  • इन जटिल ऑपरेशनों को करने के लिए, आधुनिक प्रोसेसर माइक्रो-ऑपरेशंस (μops) का उपयोग करते हैं । जटिल निर्देशों को μops के अनुक्रमों में डिकोड किया जाता है, जो एक समर्पित बफर के अंदर संग्रहीत होते हैं और व्यक्तिगत रूप से निष्पादन के लिए निर्धारित होते हैं (डेटा निर्भरता द्वारा अनुमत सीमा तक)। यह प्रोसेसर को ILP का फायदा उठाने के लिए अधिक जगह प्रदान करता है। प्रदर्शन को और बढ़ाने के लिए, हाल ही में डिकोड किए गए μops को स्टोर करने के लिए एक विशेष μop कैश का उपयोग किया जा सकता है, ताकि हाल ही में निष्पादित निर्देशों के लिए ops को जल्दी से देखा जा सके।

  • हालाँकि, इन निर्देशों का जोड़ प्रदर्शन को स्वचालित रूप से बढ़ावा नहीं देता है। नए निर्देश केवल प्रदर्शन बढ़ा सकते हैं यदि कोई एप्लिकेशन उनका उपयोग करने के लिए लिखा गया हो। इन निर्देशों को अपनाने से इस तथ्य में बाधा आती है कि उनका उपयोग करने वाले एप्लिकेशन पुराने प्रोसेसर पर काम नहीं करेंगे जो उनका समर्थन नहीं करते हैं।


तो इन तकनीकों से समय के साथ प्रोसेसर के प्रदर्शन में सुधार कैसे होता है?

  • प्रत्येक चरण को पूरा करने के लिए समय की मात्रा को कम करने और इसलिए उच्चतर घड़ी की दरों को सक्षम करने में समय के साथ पाइपलाइनें लंबी हो गई हैं। हालांकि, अन्य बातों के अलावा, लंबी पाइपलाइन गलत शाखा की भविष्यवाणी के लिए जुर्माना बढ़ाती हैं, इसलिए पाइपलाइन बहुत लंबी नहीं हो सकती है। बहुत उच्च गति तक पहुंचने की कोशिश में, पेंटियम 4 प्रोसेसर ने बहुत लंबी पाइपलाइनों का उपयोग किया, प्रेस्कॉट में 31 चरणों तक । प्रदर्शन की कमी को कम करने के लिए, प्रोसेसर निर्देशों को निष्पादित करने की कोशिश करेगा भले ही वे विफल हों, और जब तक वे सफल नहीं हो जाते तब तक प्रयास करते रहेंगे । इससे बहुत अधिक बिजली की खपत हुई और हाइपर-थ्रेडिंग से प्राप्त प्रदर्शन में कमी आई । नए प्रोसेसर अब लंबे समय तक पाइपलाइनों का उपयोग नहीं करते हैं, खासकर जब से घड़ी की दर स्केलिंग एक दीवार तक पहुंच गई है;हैसवेल एक पाइपलाइन का उपयोग करता है जो 14 और 19 चरणों के बीच भिन्न होता है, और कम-शक्ति वाले आर्किटेक्चर छोटी पाइपलाइनों का उपयोग करते हैं (इंटेल एटम सिल्वरमोंट में 12 से 14 चरण होते हैं)।

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

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

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

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

  • उपरोक्त के अलावा, सीपीयू के बाहरी हिस्से जैसे कि नॉर्थब्रिज, मेमोरी कंट्रोलर, और पीसीआई लेन से पहले के हिस्सों का अधिक एकीकरण आई / ओ और मेमोरी लेटेंसी को कम करता है। यह अन्य उपकरणों से डेटा तक पहुँचने में देरी के कारण होने वाले स्टालों को कम करके थ्रूपुट को बढ़ाता है।


6
यह एक अच्छा ब्लॉग पोस्ट बना सकता है।
Mokubai

ऊर्जा दक्षता में सुधार भी पावर वॉल को देखते हुए एक कारक है।
पॉल ए। क्लेटन

यह अब नहीं है कि घड़ी कितनी तेज है, यह प्रति चक्र चक्र कितने निर्देशों के बारे में अधिक है, संसाधित किया जा सकता है। यदि किसी प्रोसेसर के पास मेमोरी से कैश तक 4x को संसाधित करने के लिए बैंडविड्थ है, तो यह प्रोसेसर प्रभावी रूप से 4x तेज है, भले ही यह एक सुस्त घड़ी हो। यही कारण है कि एएमडी को इंटेल के उत्पादों के प्रदर्शन
रामहाउंड

18

पूर्ण निश्चित संदर्भ इंटेल 64 और IA-32 आर्किटेक्चर सॉफ्टवेयर डेवलपर मैनुअल है । वे आर्किटेक्चर के बीच परिवर्तनों का विस्तार करते हैं, और वे x86 आर्किटेक्चर को समझने के लिए एक महान संसाधन हैं।

मैं आपको सलाह दूंगा कि आप 3C के माध्यम से संयुक्त वॉल्यूम 1 डाउनलोड करें (उस पृष्ठ पर पहला डाउनलोड लिंक)। वॉल्यूम 1 अध्याय 2.2 में वह जानकारी है जो आप चाहते हैं।


उस अध्याय में सूचीबद्ध कुछ सामान्य अंतर, जो कोर से नेहेल्म / सैंडी ब्रिज के लिए जा रहे हैं, वे हैं:

  • बेहतर शाखा की भविष्यवाणी, गलतफहमी से जल्दी ठीक होने की संभावना
  • हाइपरथ्रेडिंग टेक्नोलॉजी
  • एकीकृत मेमोरी कंट्रोलर, नया कैश hirearchy
  • तेज़ फ़्लोटिंग-पॉइंट अपवाद हैंडलिंग (केवल सैंडी ब्रिज)
  • LEA बैंडविड्थ सुधार (केवल सैंडी ब्रिज)
  • AVX निर्देश एक्सटेंशन (केवल सैंडी ब्रिज)

पूरी सूची ऊपर दिए गए लिंक में पाई जा सकती है (वॉल्यूम 1, Ch। 2.2)।


0

पहले कहा गया सब कुछ सच है, लेकिन एक हद तक। मेरा जवाब छोटा है: नई पीढ़ी के प्रोसेसर मुख्य रूप से "तेज" हैं क्योंकि उनके पास बड़े और बेहतर संगठित कैश हैं । यह कंप्यूटर के प्रदर्शन का प्रमुख कारक है। अधिक मात्रात्मक विचारों के लिए, " लिनक्स पत्रिका: एचपीसी में प्रदर्शन क्या है " देखें

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

इसलिए, यदि कोई "तेज़" पीसी चाहता है, तो इसे सीपीयू के साथ खरीदें जिसमें सबसे बड़ी कैश है जिसे आप खर्च कर सकते हैं।


-1

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

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

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