TLB और डेटा कैश कैसे काम करता है?


15

मैं एक परीक्षा के लिए अध्ययन करने की कोशिश कर रहा हूं और मैंने महसूस किया कि मैं उलझन में हूं कि टीएलबी और डेटा कैश कैसे काम करते हैं।

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

मैं अपनी अज्ञानता के लिए पहले से माफी मांगता हूं, लेकिन पुस्तक मुश्किल से टीएलबी को कवर करती है (यह एक पृष्ठ की तुलना में थोड़ा अधिक है) और यह टीएलबी और कैश के बीच के संबंध को समझाने में बहुत अच्छा काम नहीं करता है।

आकृति


यह सवाल बहुत लंबा है। क्या आप इसमें से एक संकीर्ण, विशिष्ट प्रश्न निकाल सकते हैं , और फिर अपने प्रश्न को संपादित करके केवल एक विशिष्ट प्रश्न को नीचे कर सकते हैं? एक अच्छे प्रश्न को पूछने के एक हिस्से में सावधानीपूर्वक विचार करना शामिल है कि आपको क्या जानने की आवश्यकता है और उस प्रश्न के लिए क्या प्रासंगिक और आवश्यक है, सहित न्यूनतम सार है। उदाहरण के लिए, यदि आपके पास एक विशिष्ट प्रश्न है कि टीएलबी कैसे काम करते हैं, तो इन सभी को डंप करने के बजाय, टीएलबी के बारे में एक ही संकीर्ण रूप से तैयार किए गए प्रश्न को फ्रेम करने की कोशिश कैसे करें?
DW

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

@ क्या यह बेहतर है?
ऑडियोफैनेटिक

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

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

जवाबों:


23

मुझे लगता है कि मैं आपका भ्रम देखता हूं। टीएलबी और डेटा कैश दो अलग-अलग तंत्र हैं। वे दोनों एक प्रकार के कैश हैं, लेकिन वे अलग-अलग चीजों को कैश करते हैं:

  • इसलिए, TLB इस लुकअप के लिए एक समर्पित कैश के रूप में कार्य करता है। TLB में कुछ TLB प्रविष्टियाँ होती हैं, जहाँ प्रत्येक TLB प्रविष्टि में एक आभासी पता और उसके अनुरूप भौतिक पता दोनों होते हैं।

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

  • मेमोरी की सामग्री के लिए डेटा कैश एक कैश है। मुख्य मेमोरी आपको एक भौतिक पता निर्दिष्ट करने देती है और उस भौतिक पते पर मूल्य पढ़ती है। हालांकि, मुख्य मेमोरी धीमी है। यदि हमें हर बार मुख्य मेमोरी में जाना होता है तो हम कोई भी मेमोरी ऑपरेशन करना चाहते हैं, तो हमारा प्रोसेसर बहुत धीमा होगा।

    इसलिए, डेटा कैश मेमोरी रीड के लिए समर्पित कैश के रूप में कार्य करता है। डेटा कैश में कुछ कैश प्रविष्टियाँ होती हैं, जहाँ प्रत्येक कैश प्रविष्टि में एक भौतिक पता और उस पते पर मेमोरी का मूल्य होता है।

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

वे दोनों कैश हैं, लेकिन वे एक अलग उद्देश्य की सेवा करते हैं। प्रोसेसर प्रत्येक मेमोरी ऑपरेशन के लिए दोनों का उपयोग करता है: यह पहले वर्चुअल पते से भौतिक पते में परिवर्तित करने के लिए टीएलबी का उपयोग करता है, फिर यह उस पते पर मेमोरी में संग्रहीत मूल्य को पढ़ने की प्रक्रिया को तेज करने के लिए डेटा कैश की जांच करता है।

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

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


1
धन्यवाद! यह सब कुछ साफ हो गया। मैंने इस पर (कई दिनों) शोध करने में बहुत समय बिताया, मुझे बस एक स्पष्ट, संक्षिप्त जानकारी नहीं मिल पाई, जिसने इसे एक साथ बांधा हो (साथ ही मेरा भ्रम शायद मेरी खोज में मदद नहीं करता)। एक सादृश्य के रूप में, मुझे ऐसा लगा जैसे मैं कुछ अनियंत्रित बीमारी के इलाज की तलाश में फार्मेसी में था; एक गाइड के रूप में केवल लक्षणों का उपयोग करना।
ऑडियोफैनेटिक

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

1
वीपीवी+1पी+1वी+2पी+2वी+4095पी+4095

मैंमैंमैं

ठीक है अच्छा है। धन्यवाद। मुझे लगता है कि यह सबसे अलग था जो मुझे भ्रमित कर रहा था।
ऑडीफैनेटिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.