2012-06-19 10 views
24

कोई भी बता सकता है कि लोड बफर क्या है और यह अमान्यता कतारों से अलग कैसे है। और स्टोर बफर और संयोजन बफर लिखने के बीच भी अंतर? पॉल ई Mckenny http://www.rdrop.com/users/paulmck/scalability/paper/whymb.2010.07.23a.pdf द्वारा कागज दुकान बफ़र्स और अमान्यकरण कतारों के बारे में बहुत अच्छी तरह से बताते हैं लेकिन दुर्भाग्य से लिखने के संयोजन बफ़र्सस्टोर बफर क्या है?

के बारे में बात नहीं कर रहा है

उत्तर

27

एक अमान्य कतार अधिक एक दुकान बफर की तरह है, लेकिन यह स्मृति प्रणाली का हिस्सा है, सीपीयू नहीं। असल में यह एक कतार है जो अमान्यताओं का ट्रैक रखती है और यह सुनिश्चित करती है कि वे ठीक से पूरा करें ताकि कैश कैश लाइन का स्वामित्व ले सके ताकि वह उस पंक्ति को लिख सके। लोड कतार एक सट्टा संरचना है जो ऑर्डर प्रोसेसर के बाहर इन-फ्लाइट लोड का ट्रैक रखती है। उदाहरण के लिए, निम्न हो सकता है

  1. सीपीयू अनुमान के आधार पर एक्स से एक लोड जारी
  2. कि लोड वाई करने के लिए एक दुकान के बाद कार्यक्रम के क्रम में था, लेकिन Y का पता अभी तक हल नहीं होती है, तो दुकान आगे नहीं बढ़ता
  3. वाई हल हो गया है और यह एक्स के बराबर हो जाता है। उस समय जब स्टोर को वाई को हल किया जाता है, वह स्टोर जारी किए गए सट्टा भार के लिए लोड कतार की खोज करता है, लेकिन स्टोर में वाई के बाद स्टोर में मौजूद होता है आदेश। यह एक्स को लोड (जो वाई के बराबर है) को नोटिस करेगा और लोड एक्स और उसके बाद से शुरू होने वाले निर्देशों को स्क्वैश करना होगा।

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

+19

मैंने अभी सवाल देखा है, और इसका जवाब देने जा रहा था - बिल्ली, मैंने इंटेल के लेखन संयोजन और लोड बफर का आविष्कार किया, या कम से कम मेरा नाम पेटेंट पर है - लेकिन ऊपर का जवाब बिल्कुल ठीक है। –

+7

स्टोर बफर = हमेशा सट्टा नहीं, हमेशा सीपीयू के अंदर नहीं। सीपीयू के बाहर स्टोर बफर हो सकते हैं, उदा। एल 1 और एल 2 के माध्यम से लिखने के बीच। –

+9

लोड बफर (1) लोड-पतों की गणना के बाद लोड लोड करें, लेकिन जब तक लोड निष्पादित करने के लिए वास्तव में तैयार नहीं होता है; या, एक लोड निष्पादित करने का प्रयास करने के बाद, लेकिन यह निर्धारित किया गया कि एक समस्या है, जैसे कैश मिस या एक ही स्टोर में पहले की दुकान जो अभी तक डेटा तैयार नहीं है। (2) का उपयोग यह सत्यापित करने के लिए किया जा सकता है कि आउट ऑफ़ ऑर्डर लोड सही ढंग से अनुमान लगाए जाते हैं, जैसा कि मार्टिन वर्णन करता है। –

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