2017-01-26 8 views
5

इंटेल ईसा विस्तार के मैनुअल में pcommit के लिए विवरण थोड़ा गुप्त है:पीसीओएमएमआईटी निर्देश क्या करता है?

PCOMMIT अनुदेश लगातार स्मृति करने के लिए कुछ की दुकान करने के लिए स्मृति के संचालन का कारण बनता है सीमाओंको लगातार बन (बिजली की विफलता संरक्षित) । विशेष रूप से, PCOMMIT उन स्टोरों पर लागू होता है जो मेमोरी को स्वीकार किए गए हैं।
[...]
यदि PCOMMIT को स्मृति के लिए एक सतत मेमोरी रेंज को स्टोर के बाद निष्पादित किया जाता है, तो स्टोर बन जाता है जब PCOMMIT विश्व स्तर पर दिखाई देता है।
[...]
लगातार स्मृति करने के लिए एक दुकान में डेटा हो जाता है लगातार (टिकाऊ) होने के बाद ही यह या तो लक्षित नॉन-वोलाटाइल डिवाइस के लिए लिखा गया है, या कुछ मध्यवर्ती बिजली-fail संरक्षित भंडारण के लिए/बफर।

यह नाम लगातार स्मृति की तरह अवधारणाओं पर्वतमाला, दुकानों स्मृति को स्वीकार कर लिया, दुकानों लगातार और नॉन-वोलाटाइल डिवाइस हो रहा है।

सटीक संदर्भ क्या है?


यह न ही फ्लैश ROM या NVMe डिवाइस (पढ़ें: नई एसएसडी) की तरह शास्त्रीय NV उपकरणों नहीं किया जा सकता के रूप में वे subtractive डिकोडिंग भी शामिल होते हैं पुलों के परिवर्तनशील, के पीछे हैं, सीपीयू है पर कोई नियंत्रण नहीं

उत्तर

8

सबसे पहले pcommithas been deprecated before even shipping to an actual CPU
इनमें से अधिकतर उत्तर उपरोक्त लिंक की सामग्री पर आधारित है।


इंटेल, माइक्रोन के साथ संयोजन के रूप में, Non-volatile memory (NVM) बुलाया 3D XPoint (इसकी आंतरिक संरचना से) का एक नया रूप का विकास किया।
डिस्क कैश के रूप में actual implementation, पहले से ही उपलब्ध है और इंटेल ने कुछ समय पहले अपनी एनवीएम तकनीक को व्यापक रूप से अपनाने के लिए तैयार करना शुरू कर दिया था।

विशेष रूप से इंटेल कल्पना DIMMs के कुछ 3 डी XPoint तकनीक के साथ बनाया एक हिस्से को रख सकती है और इस तरह एक नॉन-वोलाटाइल डिवाइस का गठन कि।

यह एक या अधिक स्मृति पर्वतमाला लगातार होगा, इन लगातार पर्वतमाला के संग्रह लगातार डोमेन कहा जाता है।
लगातार डोमेन की मुख्य विशेषताओं में से एक शक्ति-असफल होने की क्षमता है।

  • दुकान बफर:

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

  • कैश पदानुक्रम
    स्टोर विश्व स्तर पर दिखाई देता है (कैश समेकन प्रोटोकॉल यह सुनिश्चित करता है)।
    कैश को विभिन्न निर्देशों के साथ फ़्लश किया जा सकता है (उदा। clflush, clflushopt, clwb, et al)।
  • मेमोरी नियंत्रक लंबित कतार (WPQ) लिखें।
    स्टोर स्मृति मेमोरी को स्वीकार किया गया है लेकिन यह अभी तक डीआईएमएम को नहीं लिखा गया है।
    WPQ को स्मृति नियंत्रक के विशिष्ट पीसीआई कॉन्फ़िगरेशन रजिस्टरों या pcommit के साथ फ़्लश किया जा सकता है।
  • मेमोरी
    स्टोर मेमोरी में प्रतिबद्ध/लिखा गया है।

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

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

इस तरह एक दुकान लगातार किए जाने के लिए

mov [X], rax  ;Store 

;Here the store has started moving to the store buffer 

clwb [X] 

;Here the store has moved to the cache (CLWB is ordered with previous stores) 
;and then starting moving to the memory controller WPQ 
;(the line containing X has been written back) 

sfence   ;Wait for CLWB to become globally visible 

;Here the store is in the WPQ 

pcommit   

;The store is being committed 

sfence   ;Wait for pcommit to become globally visible 

;The store is committed 

यह पता चला कि हर मंच है कि नई इंटेल NVM तकनीक का समर्थन करने के लिए योजना बना रहा है भी एडीआर समर्थन करने के लिए योजना बना रहा है, इसलिए इंटेल में pcommit पदावनत करना था है एक सरल प्रोग्रामिंग मॉडल के पक्ष:

mov [X], rax 
clwb [X] 
sfence   

;Here the store is in the WPQ and that's enough 
संबंधित मुद्दे