एक सीपीयू प्रति चक्र एक से अधिक निर्देश कैसे दे सकता है?


41

विकिपीडिया के निर्देश प्रति सेकंड पेज कहते हैं कि i7 3630QM 3.2 गीगाहर्ट्ज़ की आवृत्ति पर ~ 110,000 MIPS प्रदान करता है; यह होगा (110 / 3.2 निर्देश) / 4 कोर = ~ 8.6 निर्देश प्रति चक्र प्रति कोर ?! प्रति चक्र एक से अधिक निर्देश एक एकल कोर कैसे पहुंचा सकता है?

मेरी समझ में एक पाइपलाइन प्रति घड़ी केवल एक परिणाम देने में सक्षम होना चाहिए।

ये मेरे विचार हैं:

  • आंतरिक आवृत्ति वास्तव में 3.2 गीगाहर्ट्ज़ से अधिक है
  • सीपीयू के कुछ हिस्से एक तरह से अतुल्यकालिक हैं जैसे कि एक विनम्र मानव खुद को समझ नहीं सकता है
  • प्रति कोर में कई समवर्ती पाइपलाइन हैं
  • एक पाइपलाइन प्रति घड़ी परिणाम से अधिक वितरित कर सकती है, एक निर्देश पाइपलाइन चरणों को छोड़ सकता है और ऊपर रखने के लिए कई प्रीफ़ेचर हैं
  • मुझे कुछ याद आ रहा है

1
यह 110,000 Dhrystone MIPS बचाता है , इसलिए DMIPS, MIPS नहीं, कुछ ऐसा है जिसे मैं सीधे देख रहा हूं - शायद इससे फर्क पड़ सकता है? देखें en.wikipedia.org/wiki/Dhrystone

जवाबों:


44

सबसे पहले, कीलन की टिप्पणी और टर्बो जे के जवाब के रूप में, माप 113,093 Dhrystone MIPS देशी MIPS नहीं था ।

I7 3630QM का आइवी ब्रिज माइक्रोआर्किटेक्चर प्रति चक्र केवल 4 फ्यूज़्ड ,ops कर सकता है, हालांकि यह प्रति चक्र 6 perops का निष्पादन शुरू कर सकता है। (कोड के एक ट्रेस में फ्यूज किए गए usedops की संख्या लगभग निर्देशों की संख्या के बराबर है; कुछ जटिल निर्देशों को कई intoops में डिकोड किया जाता है जो फ्यूज़ नहीं किए जाते हैं और कुछ जोड़े गए निर्देशों को एक एकल intoop में फ्यूज किया जा सकता है, उदाहरण के लिए, तुरंत तुलना करें एक सशर्त कूद के बाद।)

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

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

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

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

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

उन्मूलन को स्थानांतरित करने के लिए इसी तरह की तकनीक का नाम बदलने के दौरान रजिस्टर शून्य निर्देश का संचालन है। एक पंजीकृत नाम प्रदान करके जो शून्य मान प्रदान करता है, एक रजिस्टर समाशोधन निर्देश (जैसे xor या दोनों ऑपरेंड एक ही रजिस्टर होने के साथ घटाना) बस उस नाम को नाम बदलने की तालिका (RAT) में सम्मिलित कर सकते हैं।

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

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

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

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

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


बहुत बढ़िया! बहुमूल्य जानकारी के लिए धन्यवाद। क्या आप एक पुस्तक का सुझाव दे सकते हैं जहां मैं इन सभी वास्तु तकनीकों को पढ़ सकता हूं?
वर्कलेस

@वर्कलेस एक बार जब आप पाइपलाइनिंग और आउट-ऑफ-ऑर्डर सुपरसेलकर निष्पादन की मूल बातें से परे हो जाते हैं (जो कि अधिकांश कंप्यूटर आर्किटेक्चर पाठ्यपुस्तकों द्वारा कवर किया जाएगा), जानकारी के लिए सबसे अच्छा स्रोत संभवतः विशिष्ट प्रोसेसर माइक्रोआर्किटेक्चर्स का वर्णन हैं (जैसे कि हैसवेल पर लेख जुड़ा हुआ है) में gnasher729 का जवाब ) और शैक्षिक पेपर (आईएससीए और कुटीर [सम्मेलनों] आम तौर पर अच्छा कागजात है, एचपीसीए, PACT, ASPLOS, और शायद कुछ अन्य लोगों के भी अच्छी प्रतिष्ठा है)। एंडी गेलव (शायद पेंटियम प्रो पर अपने काम के लिए सबसे प्रसिद्ध) ...
पॉल ए। क्लेटन

1
... एक कॉम्पैक विकी पर काम कर रहा था, जो अधिक उन्नत अवधारणाओं को प्रस्तुत करेगा, लेकिन प्रगति धीमी थी और यह स्पष्ट रूप से कुछ समय पहले हैक किया गया था और इसलिए अब केवल एक त्रुटि संदेश देता है ( semipublic.comp-arch.net/wiki )। वह विभिन्न विकी सॉफ़्टवेयर का उपयोग करके विकी (मूल पाठ को संरक्षित किया गया है) को फिर से स्थापित करने का इरादा रखता है (उसके पास कुछ सॉफ्टवेयर था जो वह उपयोग कर रहा था और इसे सुधार करने के अवसर के रूप में ले रहा है), लेकिन "यह थोड़ी देर होगी।"
पॉल ए। क्लेटन

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

@ PaulA.Clayton - वेबैक के दो पृष्ठ इस पृष्ठ पर हैं। 20 दिसंबर 2013 और 14 फरवरी 2014 । मुझे नहीं पता है कि अगर उन लोगों को पृष्ठ के साथ समस्याओं का पूर्वानुमान है। दुर्भाग्य से, जब मैंने वेबैक पर उन पृष्ठों पर जाने की कोशिश की, तो मुझे " बम्मर " मिला इस फ़ाइल को परोसने वाली मशीन डाउन है। हम इस पर काम कर रहे हैं। "संदेश, इसलिए मुझे यकीन नहीं है कि उन पृष्ठों पर क्या देखा जा सकता है। ।
केविन फगन

10

आधुनिक प्रोसेसर के अंदर कुछ काला जादू होता है, लेकिन आपके विचार निश्चित रूप से सही लाइनों के साथ होते हैं।

आधुनिक प्रोसेसर की दक्षता को समझने की कुंजी यह महसूस कर रही है कि वे सुपरसेलकर हैं । विकिपीडिया (जोर मेरा) से:

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

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

आउट-ऑफ-ऑर्डर निष्पादन के बारे में पढ़ने के लिए भी दिलचस्प है, लेकिन सीधे आपके प्रश्न का उत्तर नहीं देता है। यह हालांकि "बर्बाद" सीपीयू चक्रों की संख्या को कम करता है।

दक्षता कई अन्य चीजों से भी प्रभावित होती है जो प्रोसेसर के अंदर एक स्टाल का कारण बन सकती हैं, जिसमें शामिल हैं (लेकिन निश्चित रूप से सीमित नहीं):

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

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

आधुनिक सीपीयू पाइपलाइन की मानव पठनीय व्याख्या के लिए, सीपीयू पाइपलाइन के माध्यम से एक यात्रा देखें । कुछ हद तक अधिक तकनीकी व्याख्या के लिए Agner Fog का माइक्रोआर्किटेक्चर पेपर देखें।


स्पष्टीकरण और बहुत दिलचस्प लिंक के लिए धन्यवाद। एक नोट सेल के रूप में बहुत दिलचस्प लग रहा है, मैं cpu आर्किटेक्चर ^ _ ^ के बारे में अधिक अध्ययन करने के लिए उत्सुक हूं। जैसा कि ऊपर वर्णित है "" x86 एक "सुपरपिपलीन" का उपयोग करता है। सेल परिवार एक "synergistic" दृष्टिकोण का उपयोग करता है जिसमें नौ मिनी cpus शामिल हैं। यह सच है कि प्रत्येक मिनी-सीपीयू ज्यादातर इन-ऑर्डर पाइपलाइन का अनुसरण करता है, मिनी-सीपीयू में एकल पाइप लाइन के बजाय कई समानांतर सुपरसेलकर पाइपलाइनें होती हैं। ""
वर्कलेस

3

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

उदाहरण के लिए हैसवेल आर्किटेक्चर के अच्छे परिचय के लिए आप इस लिंक का अनुसरण कर सकते हैं http://www.realworldtech.com/haswell-cpu/ या आप बस इंटेल वेबसाइट पर जा सकते हैं और आपको वहां कुछ प्रलेखन मिलेगा।

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

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

3630 प्रोसेसर इंटेल की नवीनतम मूल्य सूची में नहीं है, लेकिन चार कोर के साथ 3740QM जैसे मॉडल हैं। इसलिए 32 के बजाय, आप प्रति घड़ी चक्र में 128 फ़्लोटिंग-पॉइंट ऑपरेशन प्राप्त कर सकते हैं। यह सैद्धांतिक अधिकतम है। वास्तविक जीवन में इसका आधा हासिल करना एक चुनौती है, लेकिन उपयुक्त कार्यों के लिए असंभव नहीं है। 15 कोर के साथ अन्य प्रोसेसर उपलब्ध हैं (कीमतों के लिए जो सबसे कट्टर गेमिंग कट्टरपंथियों का भुगतान भी नहीं करेंगे)।

तो आपके पास कई गुणकों का एक संयोजन है:

  1. प्रति प्रोसेसर एकाधिक कोर।
  2. (हाइपरथ्रेडिंग, पहले उल्लेख नहीं किया गया है, आपको सैद्धांतिक सीमाओं के करीब लाने की अनुमति देता है)
  3. फ़्यूज्ड मल्टीप्ले-ऐड ऑपरेशन केवल एक के रूप में गिनती के दो अंकगणितीय ऑपरेशन करता है।
  4. 256-बिट वैक्टर केवल एक के रूप में गिनती करते हुए 8 ऑपरेशन कर रहे हैं।
  5. दो सदिश निष्पादन इकाइयाँ जो जुड़े हुए-बहुगुणित जोड़ने में सक्षम हैं।

प्रति चक्र 8.6 संचालन हासिल करना बहुत मुश्किल नहीं है। यहां तक ​​कि प्रति चक्र प्रति 8.6 संचालन भी मुश्किल नहीं है।


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

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

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

... ऐसा लगता है कि यह निष्पादन निर्भरता को कम करने में मदद करनी चाहिए।
सुपरकैट

2

Drystone बेंचमार्क 1984 से है, और इसी नाममात्र 1 MIPS VAX मशीन आधुनिक संदर्भ में बहुत कुशल नहीं है। यहां तक ​​कि एक कोर्टेक्स एम 3 1,25 डीएमपीआईएस / मेगाहर्ट्ज बचाता है।

Intel Core achitecture प्रोसेसर वास्तव में एक कोर में समानांतर में कई निर्देश चला सकता है, क्योंकि इसमें कई कंप्यूटिंग इकाइयाँ मौजूद होती हैं।


1

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

किसी लेख के अगले भाग के कुछ लिंक टूटे हुए हैं, हालाँकि ऐसा लगता है कि आप उन्हें पहले भाग के URL और अगले पृष्ठ के टूटे हुए URL (जैसे m-URL में कहीं भी जोड़कर ) की सावधानीपूर्वक तुलना करके खुद को ठीक कर सकते हैं ।

(हां, यह एक शानदार लिंक-ओनली उत्तर है, क्षमा करें; लेख बहुत अच्छे हैं कि उनका उल्लेख न करें)

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