सीपीयू कैसे राम को जानकारी लिखता है?


10

मेरा सवाल यह है कि सीपीयू रैम को डेटा कैसे लिखता है?

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

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

अग्रिम में धन्यवाद,

-Faken

संपादित करें: मैंने अभी भी एक जवाब नहीं दिया है जिसे मैं पूरी तरह से स्वीकार कर सकता हूं। मैं विशेष रूप से रैम लिखने के सिंक्रनाइज़ेशन भाग के बारे में जानना चाहता हूं। मुझे पता है कि हम सीपीयू से सीधे एल 1 कैश को लिखते हैं और यह डेटा कैश स्तरों को नीचे धकेल देता है क्योंकि हम कैश के विभिन्न स्तरों को सिंक्रनाइज़ करते हैं और अंततः मुख्य रैम उच्चतम टीयर कैश के साथ सिंक्रनाइज़ हो जाता है। हालाँकि, मैं जो जानना चाहूंगा वह है कि कैश मुख्य रैम के साथ सिंक्रनाइज़ और स्कोनोक्रोनाइज़ करता है और कमांड पढ़ने के संबंध में उनकी गति कितनी तेज़ है।

जवाबों:


11

आह, यह उन सरल प्रश्नों में से एक है जिनके वास्तव में जटिल उत्तर हैं। सरल उत्तर है, ठीक है, यह इस बात पर निर्भर करता है कि लेखन कैसे किया गया था और किस प्रकार का कैशिंग है। यहां बताया गया है कि कैश कैसे काम करता है, इस पर एक उपयोगी प्राइमर है

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

एक और जटिलता तब है जब एक से अधिक सीपीयू मौजूद हैं। सिस्टम द्वारा डिज़ाइन किए जाने के तरीके के आधार पर, एक सीपीयू अन्य सीपीयू द्वारा नहीं देखा जाएगा क्योंकि डेटा अभी भी पहले सीपीयू कैश (कैश गंदा है) में है। कई सीपीयू सिस्टम में, प्रत्येक सीपीयू के कैशे का मिलान भौतिक मेमोरी में होता है, जिसे कैशे की संगति कहा जाता है। ऐसे कई तरीके हैं जिनसे इसे ठीक किया जा सकता है।

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

योग करने के लिए, रैम को लिखना उन दिनों में बहुत सरल हुआ करता था जब सीपीयू की गति रैम की गति से मेल खाती थी, लेकिन जैसे-जैसे सीपीयू की गति में वृद्धि हुई और कैश को पेश किया गया, यह प्रक्रिया कई अलग-अलग तरीकों से और अधिक जटिल हो गई।

Skizz


2

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

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