क्या कैश आकार और पहुंच विलंबता के बीच एक पत्राचार है?


9

क्या कैश आकार और पहुंच विलंबता के बीच एक पत्राचार है? अन्य सभी चीजें बराबर होती हैं, क्या एक बड़ा कैश धीमा काम करता है? यदि हां, तो क्यों? कितना धीमा है?


1
यदि आप कैश डिज़ाइन में कुछ ट्रेड-ऑफ़ की खोज करने में रुचि रखते हैं, तो एचपी ने उपकरण सीएसीटीआई विकसित किया जो डिज़ाइन विशेषताओं के आधार पर विलंबता और बिजली के उपयोग के लिए अनुमान प्रदान करता है। संस्करण 5.3 के लिए एक वेब इंटरफ़ेस भी उपलब्ध है
पॉल ए। क्लेटन

जवाबों:


5

आपके हाथों में आइटम आपकी जेब में मौजूद वस्तुओं की तुलना में जल्दी पहुंच जाते हैं, जो आपके अलमारी में मौजूद वस्तुओं की तुलना में जल्दी पहुंच जाते हैं, जो कि डिजिके की वस्तुओं की तुलना में जल्दी पहुंच जाते हैं। मेरे द्वारा सूचीबद्ध प्रत्येक प्रकार का भंडारण पिछले की तुलना में बड़ा लेकिन धीमा है।

तो, चलो दोनों दुनिया का सबसे अच्छा है, चलो अपने हाथों को एक Digikey गोदाम के रूप में बड़ा करें! नहीं, यह काम नहीं करता है, क्योंकि अब वे वास्तव में किसी भी हाथ नहीं हैं। वे एक तोप का गोला आपके नीचे का वजन कर रहे हैं।

बड़े भंडारण का उपयोग करने का कारण धीमी दूरी है । बड़े भंडारण औसतन आपसे अधिक दूर हैं। यह भौतिक वस्तुओं के लिए, और RAM के लिए सही है।

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

रैम के मामले में, गति सीमाएं विद्युत संकेतों की प्रसार गति, द्वार और चालकों के प्रसार में देरी, और तुल्यकालिक घड़ियों का सामान्य उपयोग हैं। यहां तक ​​कि अगर पैसा कोई वस्तु नहीं थी, और आप जितनी तेजी से रैम प्रौद्योगिकी आज उपलब्ध चाहते हैं, आप खरीद सकते हैं, तो आप इसका लाभ नहीं उठा पाएंगे। यदि आपको पसंद है, तो एल 1 कैश की एक ए 4 आकार की शीट बिछाएं और अपने सीपीयू को केंद्र में रखें। जब सीपीयू मेमोरी के कोने में कुछ मेमोरी को एक्सेस करना चाहता है, तो यह वस्तुतः वहां पहुंचने के लिए अनुरोध के लिए नैनोसेकंड लेगा, और इसे वापस पाने के लिए एक नैनोसेकंड। और यह सभी के माध्यम से और फाटकों और ड्राइवरों के प्रसार में देरी शामिल नहीं है। यह आपके 3GHz CPU को गंभीर रूप से धीमा करने वाला है।

चूंकि सिंक्रोनस लॉजिक अतुल्यकालिक लॉजिक की तुलना में डिजाइन करना बहुत आसान है, इसलिए रैम का एक 'ब्लॉक' एक ही घड़ी के साथ देखा जाएगा। यदि आप पूरी मेमोरी को L1 कैश बनाना चाहते हैं, तो आपको स्मृति के सबसे दूर के स्थान के सबसे खराब मामले के समय का सामना करने के लिए पूरी घड़ी को धीमी गति से देखना होगा। इसका मतलब यह है कि दूर के स्मृति स्थान अब स्थानीय लोगों को वापस पकड़ रहे हैं, जिन्हें तेजी से देखा जा सकता था। तो, सबसे अच्छी बात यह है कि मेमोरी को ज़ोन करना होगा। कैश का निकटतम और सबसे छोटा खंड सबसे तेज़ घड़ी का उपयोग करेगा। अगले निकटतम और सबसे छोटे खंड में थोड़ी धीमी घड़ी का उपयोग होगा, आदि।

और अब आपके पास एल 1 और एल 2 कैश और रैम है।

जो हमें अगले कारण, बिजली की खपत के लिए लाता है।

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

शक्ति और प्रदर्शन अनुकूलन के लिए कैश डिज़ाइन ट्रेड-ऑफ़ देखें : एक केस स्टडी (चिंग-लॉन्ग सु और एल्विन एम। डेस्पैन, 1995)।


1
+1 मुझे आपका जवाब पसंद है। सभी प्रासंगिक बिंदुओं को हिट करता है और इसे बैक अप भी करता है। पढ़ने में आसान
गुस्तावो लिटोव्स्की

क्या वह सही है? एक इंच बनाम कई इंच की रोशनी की गति में देरी पर उत्तर का अनुमान लगाया जाता है?
एंडीज स्मिथ

1
यह उत्तर एक सामान्य अवलोकन के रूप में अच्छा है, लेकिन मुझे संदेह है कि यह प्रारंभिक प्रश्न का उत्तर नहीं देता है। एक uArch विशेषज्ञ को यह महसूस करने के लिए नहीं होना चाहिए कि A4 आकार का कैश व्यावहारिक नहीं है। मेरा मानना ​​है कि ओपी ने कैश के आकार में कुछ उचित वृद्धि के बारे में पूछा और इस वृद्धि से कैश एक्सेस की विलंबता प्रभावित होगी।
वासली

1
@AndyzSmith - यह एक अतिशयोक्ति और अति-सरलीकरण है, लेकिन मुझे लगता है कि यह सामान्य बिंदु भर में हो जाता है, कि कुछ बिंदु पर, कि L1 कैश को अनिश्चित काल तक नहीं बढ़ाया जा सकता है। कुछ बिंदु पर, भौतिकी के नियम आते हैं, और इसे धीमा कर देते हैं।
रॉकेटमेग्नेट

ऑन-चिप सिग्नल की देरी प्रकाश की गति नहीं है, यह आरएलसी नेटवर्क के रूप में नेट / वायर प्लस संचालित गेट कैपेसिटेंस पर विचार करके एक अधिक जटिल मूल्य है। ट्रांसमिशन लाइन बनना काफी लंबा नहीं है। नेट जितना लंबा होगा, ड्राइविंग गेट जितना बड़ा होना चाहिए, या आपको रिपीटर्स के रूप में बफ़र्स डालने की आवश्यकता है। जिनमें से सभी अधिक बिजली की खपत करते हैं।
pjc50

4

सभी किफायती / प्रदर्शन / बिजली की खपत के कारकों को छोड़कर, आपके प्रश्न का उत्तर है: यह कई सूक्ष्म वास्तु कारकों पर निर्भर करता है।

एक उदाहरण के रूप में इस संदर्भ को देखें - परीक्षण के तहत सभी प्रोसेसर के लिए मापा गया एल 1 एक्सेस विलंबता 4 घड़ी चक्र है। प्रोसेसर की आवृत्तियाँ लगभग समान होती हैं, लेकिन L1 कैश का आकार 3 के कारक तक भिन्न होता है।

उपरोक्त परीक्षण में कई अलग-अलग प्रोसेसरों में L1 पर निरंतर विलंबता का कारण कैश के माइक्रो-आर्किटेक्चर में निहित है: कैश स्वयं (मेमोरी से डेटा प्राप्त करना) केवल एक घड़ी चक्र लेता है। अतिरिक्त तीन चक्रों को एक्सेस को डिकोड करने, डेटा की उपस्थिति और अधिक के लिए जाँच करने के लिए खर्च किया जाता है ... अतिरिक्त चरणों की संख्या परीक्षण में प्रोसेसर भर में समान है, इसलिए एक्सेस विलंबताएं समान हैं।

उपरोक्त उदाहरण के बावजूद, किसी को यह निष्कर्ष नहीं निकालना चाहिए कि कैश विलंबता कैश के आकार से स्वतंत्र है। यदि कोई हास्यास्पद रूप से बड़े एल 1 कैश को लागू करने की कोशिश करेगा, तो तर्क जो कैश रीड के लिए सभी आवश्यक संचालन करता है, वह भी बड़ा हो जाएगा। कुछ बिंदु पर, इस सभी तर्क के माध्यम से प्रसार में देरी बहुत लंबी होगी और जिन ऑपरेशनों में पहले से एक ही घड़ी चक्र लिया गया था, उन्हें कई घड़ी चक्रों में विभाजित करना होगा। यह विलंबता को बढ़ाएगा।

यह मानते हुए कि SRAM में लागू कैश इन क्वेश्चन, मॉड्यूल जो कैश साइज से सबसे ज्यादा प्रभावित होते हैं: पंक्ति डिकोडर और मक्स। हालांकि, यहां तक ​​कि अर्थ एम्प्स बहुत बड़े कैश के लिए प्रभावित होंगे: उच्च समाई के कारण बिट लाइन पर छोटे वोल्टेज स्विंग को "मजबूत" अर्थ एम्प की आवश्यकता होगी। कहा कि, लॉजिक स्पीड पर सबसे गंभीर प्रभाव वायर इंटरकनेक्ट्स कैपेसिटेंस द्वारा जोड़ा जाएगा - इस कैपेसिटेंस का SRAM साइज पर रेखीय निर्भरता से अधिक है। सटीक विवरण कार्यान्वयन विशिष्ट हैं।

अब, L1 कैश अपने अक्षांशों में बहुत स्थिर है क्योंकि उनका प्रदर्शन सबसे महत्वपूर्ण है। यदि आप L2 और L3 कैश का विश्लेषण करने का प्रयास करते हैं, तो चित्र बहुत जटिल हो जाता है।

जब आप मल्टी-कोर प्रोसेसर पर विचार करते हैं तो चित्र बहुत अधिक जटिल हो जाता है - उनके पास कैश-सुसंगतता सुनिश्चित करने के लिए अतिरिक्त तर्क होते हैं । यह एक अतिरिक्त कारक की ओर जाता है जो कैश एक्सेस की विलंबता को प्रभावित करता है: सभी कोर की स्मृति तक पहुंच का इतिहास ।

सारांश

जैसा कि आप देख सकते हैं कि आपका प्रश्न तुच्छ है और पूरी तरह से उत्तर नहीं दिया जा सकता है। हालाँकि, अगर आप आर्थिक और प्रदर्शन को बेहतर मानते हैं, तो मैं कहूंगा कि उनका आकार किसी भी सराहनीय तरीके से विलंबता को प्रभावित नहीं करेगा।

इच्छुक पाठकों के लिए:

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


जवाब के लिए धन्यवाद! तुम्हारा और @ रॉकेटमैग्नेट के उत्तर बहुत अधिक पूरक हैं। उम्मीद है कि मैं दोनों को चुन सकता हूं। मैंने पहले ही संदर्भ की अपनी प्रति उद्धृत कर ली है और हाल ही में इस विषय में बहुत रुचि रखता हूं, इसलिए प्रश्न।
ivanmp

रीड ऑपरेशन करने का तर्क कैश आकार पर क्यों निर्भर करता है .. यह पता क्यों विशिष्ट संख्या पर 'असतत कूद' बन जाता है। या यदि कोई असतत कूद नहीं है, तो आकार समय बनाम आकार के लिए सूत्र क्या है?
एंडीज स्मिथ

क्या आप इस घटक के बारे में विशिष्ट हो सकते हैं: "महत्वपूर्ण पुनरावृत्ति, फिर, एक योजक, एक विकोडक, SRAM शब्द रेखा, SRAM बिट लाइन (s), भावना amp (s), बाइट स्टीयरिंग muxes, और बाईपास है muxes। " तर्क बड़े होने का कारण बनता है? en.wikipedia.org/wiki/Sum_addressed_decoder
Andyz Smith

@AndyzSmith, एक्सेस समय बनाम आकार का सूत्र केवल किसी को डिज़ाइन करके और कैश का अनुकरण करके दिया जा सकता है। मेरे द्वारा पोस्ट किए गए संदर्भ में आप देख सकते हैं कि L1 से डेटा प्राप्त करने के लिए 4 घड़ी चक्र लगते हैं, लेकिन कोई भी इन रीड्स से जुड़े स्लैक्स का अनुमान लगाने का प्रयास नहीं करता है। फॉर्मूला के लिए पूछना एक तरह से अतिरिक्त कार्यान्वयन विशिष्ट जानकारी के बिना व्यावहारिक प्रश्न नहीं है।
वसीली

1
@AndyzSmith, यह मानते हुए कि SRAM में लागू कैश इन क्वेश्चन, मॉड्यूल जो कैश साइज से सबसे ज्यादा प्रभावित होते हैं: पंक्ति डिकोडर और मक्स। हालांकि, यहां तक ​​कि भावना एम्प्स बहुत बड़े कैश के लिए प्रभावित होंगे: उच्च समाई के कारण बिट लाइन पर छोटे वोल्टेज स्विंग -> "मजबूत" भावना amp। कहा कि, लॉजिक स्पीड पर सबसे गंभीर प्रभाव वायर इंटरकनेक्ट्स कैपेसिटेंस द्वारा जोड़ा जाएगा - इस कैपेसिटेंस का SRAM साइज पर रेखीय निर्भरता से अधिक है। फिर से, विवरण कार्यान्वयन विशिष्ट हैं।
वासली

3

यहाँ सीपीयू कैश टेस्ट इंजीनियर - डेव ट्वीड ने टिप्पणियों में सही स्पष्टीकरण दिया है। CPU के अपेक्षित मूल्य बिंदु पर प्रदर्शन को अधिकतम करने के लिए कैश आकार में है। कैश आम तौर पर डाई स्पेस का सबसे बड़ा उपभोक्ता है और इसलिए इसका आकार एक बड़ा आर्थिक (और प्रदर्शन) अंतर बनाता है।

इंटेल के आइवी ब्रिज सीपीयू परिवार पृष्ठ पर एक नजर डालें: http://ark.intel.com/products/codename/29902/Ivy-Bridge

शीर्ष अंत Xeon 30MB कैश के साथ आता है, इसमें 12 कोर हैं और लागत लगभग $ 2700 है। 3MB कैश (i3-3217) के निचले छोर i3 की कीमत पूरे लैपटॉप के लिए सिर्फ $ 500 है (मैं इसे व्यक्तिगत रूप से नहीं पा सकता हूं)।

Xeon अंतिम प्रदर्शन देता है लेकिन इसके निर्माण और परीक्षण में अधिक खर्च होता है। I3 बहुत सस्ता है, लेकिन व्यापार बंद होने का एक छोटा सा आकार है जिसमें कैश सबसे बड़ा हिस्सा है।


2
बहुत दिलचस्प जवाब। लेकिन जैसा कि मैंने सवाल में कहा है, मैं किफायती, स्पष्ट, उत्तर की तलाश में नहीं हूं। मैं जो समझने की कोशिश कर रहा हूं वह बहुत (> 512 एमबी) बड़े कैश तक पहुंचने में शामिल प्रदर्शन से संबंधित है। क्या आकार कैश के प्रदर्शन को नीचा दिखाएगा?
ivanmp
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.