i7

2012-06-30 10 views
9

की शाखा भविष्यवाणी के बारे में मैं जानना चाहता हूं कि इंटेल i7 प्रोसेसर की शाखा भविष्यवाणी कैसे काम करती है?i7

उत्सुकता से, मैं "गतिशील शाखा भविष्यवाणी" नामक भविष्यवाणियों को जानता हूं।

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

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

क्या i7 के ऊपर जैसा ही भविष्यवाणी है?

+4

मैं आपको लगभग गारंटी देता हूं कि पूरा विवरण एक कंपनी मालिकाना रहस्य है। – Mysticial

उत्तर

9

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

इंटेल दो स्तर की शाखा भविष्यवाणियों का उपयोग करता है। माना जाता है कि आंतरिक स्तर को कोर 2 सीपीयू से अपरिवर्तित माना जाता है।

बाहरी स्तर अधिक परिष्कृत है और 64 तक की निश्चित गणना के साथ लूप को सही ढंग से भविष्यवाणी भी कर सकता है। दो 18-बिट वैश्विक इतिहास बफर का उपयोग किया जाता है। एक में सभी कूद होते हैं जिन्हें कम से कम एक बार लिया जाता है। दूसरे में सबसे महत्वपूर्ण कूद हैं। (इन बफर में प्रविष्टियों की संख्या अज्ञात है।)

ध्यान दें कि अप्रत्यक्ष कूद और कॉल का अपना भविष्यवाण्य है।

6

संक्षिप्त उत्तर नहीं है।

मुझे यकीन है कि कोई इंटेल सीपीयू आपके द्वारा वर्णित एक-बिट भविष्यवाणियों का उपयोग नहीं करता है।

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

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

मैं नहीं कर रहा हूँ यकीन i7 में शाखा भविष्यवाणी के विवरण के बारे, लेकिन मुझे लगता है कि यह है कि यह कम से कम के रूप में के रूप में परिष्कृत है कहना सुरक्षित पेंटियम प्रो के था, नहीं मूल पेंटियम के लिए एक विपर्ययण।

+0

कृपया ध्यान दें कि दो-बिट भविष्यवाणियों संतृप्त हो सकते हैं (यानी एक राज्य से अगले तक, सीमाओं को मजबूती से लिया या मजबूती से नहीं लिया जा सकता है), या उनके पास हिस्टैरेसीस काउंटर हो सकता है, जिससे उन्हें कमजोर नहीं किया जाता है दृढ़ता से लिया गया और कमजोर रूप से सीधे दृढ़ता से नहीं लिया गया। –

संबंधित मुद्दे