यह उस पते के लिए मेमोरी बस लॉक करने के बारे में है। The Intel 64 and IA-32 Architectures Software Developer's Manual - Volume 3A: System Programming Guide, Part 1 हमें बताता है:
7.1.4 आंतरिक प्रोसेसर कैश पर एक LOCK ऑपरेशन के प्रभाव।
Intel486 और पेंटियम प्रोसेसर के लिए, लॉक # सिग्नल हमेशा एक ताला आपरेशन के दौरान बस में जोर दिया जाता है, भले ही स्मृति के क्षेत्र बंद होने प्रोसेसर में कैश किया गया है।
पी 6 और अधिक हाल ही में प्रोसेसर परिवारों के लिए, अगर स्मृति के क्षेत्र की जा रही एक ताला आपरेशन के दौरान बंद कर दिया प्रोसेसर कि लिखने-वापस स्मृति के रूप में लॉक कार्रवाई करते है और पूरी तरह से है में कैश किया गया है एक कैश लाइन में निहित, प्रोसेसर बस पर LOCK # सिग्नल पर जोर नहीं दे सकता है। इसके बजाय, यह आंतरिक रूप से मेमोरी स्थान को संशोधित करेगा और यह सुनिश्चित करने के लिए [0] कैश कोरेन्सी तंत्र को अनुमति देता है कि ऑपरेशन परमाणु रूप से किया जाता है। यह ऑपरेशन को "कैश लॉकिंग" कहा जाता है। कैश कोहेरेंसी तंत्र स्वचालित रूप से दो या दो से अधिक प्रोसेसर को रोकता है जिसमें मेमोरी का क्षेत्रफल उसी क्षेत्र में डेटा को संशोधित करने से होता है। (जोर जोड़ा)
यहाँ हम सीखना है, तो वे वास्तव में बस से उतर ब्लॉक करने के लिए है या आप केवल बुद्धिमान कैशिंग पर भरोसा कर सकते कि पी 6 और नए चिप्स बहुत चालाक निर्धारित करने के लिए कर रहे हैं। मुझे लगता है कि यह एक साफ अनुकूलन है।
मैं अपने ब्लॉग पोस्ट "How Do Locks Lock?"
स्रोत
2010-07-26 22:10:32
संबंधित में यह अधिक चर्चा की: [? संख्या ++ 'पूर्णांक संख्या' के लिए किया जा सकता है परमाणु] (https://stackoverflow.com/questions/39393850/can-num-be -atomic-for-int-num) जहां मेरा उत्तर इस बारे में और बताता है कि 'लॉक' निर्देश आंतरिक रूप से कैसे निष्पादित होते हैं। –