किस तरह की शाखा की भविष्यवाणी अधिक महत्वपूर्ण है?


11

मैंने देखा है कि शाखा भविष्यवाणी में दो अलग-अलग प्रकार के राज्य हैं।

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

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

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


1
शायद दोनों ही महत्वपूर्ण हैं, परिस्थितियों पर निर्भर करता है?
राफेल

जवाबों:


6

मुझे नहीं पता कि कौन सा मामला प्रचलित है, लेकिन मैं डबल पाइपलाइन के आपके प्रस्ताव पर कुछ विचार देना चाहूंगा।

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

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

आइए हम एक मोटा हिसाब करें। सरलता के लिए, मान लें कि एक के बजाय दो पाइपलाइनों को संभालने से अतिरिक्त प्रबंधन नहीं हो पाता है। एक पाइप लाइन के साथ अपेक्षित लागत (जैसे ऊर्जा, गर्मी) ( c या तो वैकल्पिक रूप से निष्पादित करने की लागत, रोलबैक के लिए p की संभावना और निष्पादन के लिए लागत के बिना रोलबैक के लिए c r लागत। अन्य विकल्प) लेकिन या तो 2 सी या 2 सी + पी सी आर - या तो बहुत कुछ हैसी=सी+पी(सीआर+सी)सीपीसीआर2सी2सी+पीसीआर से बड़ा यदि p और c r दो के साथ; जैसा कि पी छोटा है, समय की बचत नगण्य है।सीपीसीआरअपेक्षाकृत छोटे हैं, और निश्चित रूप से है (जहां तक ​​मुझे पता है, आधुनिक शाखा की भविष्यवाणियों में 90% से अधिक सटीकता है)। और हम इस लागत के लिए ज्यादा नहीं है! अपेक्षित निष्पादन समय एक पाइपलाइन और टी सम्मान के साथ टी + पी ( टी आर + टी ) हैटी + पी टी आरपीटी+पी(टीआर+टी)टीटी+पीटीआरपी


जहां तक ​​मुझे पता है, इंटेल ने "शाखा के दोनों किनारों के लिए निर्देश पढ़ने" और यहां तक ​​कि "शाखा के दोनों किनारों के लिए निर्देशों का निष्पादन" करने की कोशिश की है, और ऐसा करना बंद कर दिया है। या तो क्योंकि यह कुछ हासिल नहीं किया, या क्योंकि लागत और जटिलता इतनी अधिक थी कि वे एक ही लागत के लिए अलग-अलग तरीकों से अधिक लाभ प्राप्त कर सकते थे।
gnasher729

@ gnasher729 और शायद इससे पहले कि हम इस तरह की सुविधाओं से बंधे सुरक्षा दोषों के बारे में जानें?
राफेल

2

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

एक शाखा के दोनों मार्गों को निष्पादित करने के संबंध में, इसे उत्सुक निष्पादन कहा जाता है और कुछ हद तक शोध किया गया है। ऑगस्टस के। उहट और विजय सिंद्गी की "डिस्गॉइंट एगर एक्ज़ीक्यूशन: एन ऑप्टिमल फॉर्म ऑफ़ सट्टा एग्ज़िक्यूशन" (1995) देखने लायक हो सकती है।

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

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


यह एक बहुत अच्छा जवाब है! धन्यवाद। :-)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.