कंप्यूटर में L1, L2 और L3 कैश कहाँ स्थित हैं?


32

कंप्यूटर में L1, L2 और L3 कैश कहां स्थित हैं?

मुझे पता है, हम Cache का इस्तेमाल Main Memory के बजाय Cache से DATA और INSTRUCTIONS उठाकर परफॉर्मेंस बढ़ाने के लिए करते हैं।

मेरे सवाल निम्नलिखित हैं

  1. ठीक L1 कैश कहाँ स्थित है? । CPU चिप पर है
  2. बिल्कुल L2 कैश कहाँ स्थित है?

  3. बिल्कुल L3 कैश कहाँ स्थित है? मदर बोर्ड में है?

मुझे लगता है कि नवीनतम एसएमपी प्रोसेसर 3 स्तरीय कैश का उपयोग करता है इसलिए मैं कैश स्तर पदानुक्रम और उनकी वास्तुकला को समझना चाहता हूं।


1
सटीक पदानुक्रम विभिन्न प्रोसेसर के बीच भिन्न होता है। अपनी खुद की मशीन पर कैश पदानुक्रम जानने के लिए, आप SysInternal के CoreInfo.exe उपयोगिता (इस्तेमाल कर सकते हैं technet.microsoft.com/en-us/sysinternals/cc835722.aspx )

2
इसके अलावा, कैश जितना बड़ा हो जाता है (L3> L2> 1) उसके मूल से दूर स्थित होता है (उदाहरण के लिए L1 से एल 3 तक पहुंच विलंब)।

जवाबों:


48

इससे शुरू करें:

मुझे लगता है कि नवीनतम एसएमपी प्रोसेसर 3 स्तरीय कैश का उपयोग करता है इसलिए मैं कैश स्तर पदानुक्रम और उनकी वास्तुकला को समझना चाहता हूं।

कैश को समझने के लिए आपको कुछ बातें जानने की जरूरत है:

एक CPU में रजिस्टर होता है। इसमें दिए गए मूल्यों का सीधा उपयोग किया जा सकता है। कुछ भी तेज नहीं है।

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

(छवि 500 ​​सेमी 2 के साथ एक काल्पनिक वेफर । मैंने इसमें से 10 चिप्स काटे, प्रत्येक चिप 50 सेमी 2 आकार में। उनमें से एक टूट गया है। मैं इसे छोड़ देता हूं और मैं इसे 9 काम करने वाले चिप्स छोड़ रहा हूं। अब वही वेफर लें और मैंने काट दिया। इसमें से एक 100 चिप्स, प्रत्येक दस गुना छोटा। उनमें से एक अगर टूटा हुआ है। मैं टूटी हुई चिप को छोड़ देता हूं और मुझे 99 काम करने वाले चिप्स छोड़ दिए जाते हैं। यह उस नुकसान का एक हिस्सा है जो मुझे अन्यथा होता था। चिप्स मुझे उच्च मूल्य पूछने की आवश्यकता होगी। अतिरिक्त सिलिकॉन के लिए सिर्फ कीमत से अधिक)

यह एक कारण है कि हम छोटे, सस्ते चिप्स क्यों चाहते हैं।

हालाँकि कैशे CPU के जितना करीब होता है, उतनी ही तेज़ी से इसे एक्सेस किया जा सकता है।

यह भी समझाना आसान है; विद्युत सिग्नल प्रकाश की गति के पास यात्रा करते हैं। यह तेज़ है लेकिन अभी भी एक परिमित गति है। आधुनिक CPU GHz घड़ियों के साथ काम करता है। वह भी तेज है। अगर मैं 4 गीगाहर्ट्ज का सीपीयू लेता हूं तो एक इलेक्ट्रिकल सिग्नल 7.5 सेमी प्रति घड़ी टिक से यात्रा कर सकता है। जो कि सीधी रेखा में 7.5 सेमी है। (चिप्स कुछ भी है लेकिन सीधे कनेक्शन हैं)। व्यवहार में आपको उन 7.5 सेमी की तुलना में काफी कम की आवश्यकता होगी क्योंकि चिप्स किसी भी समय अनुरोधित डेटा को पेश करने और सिग्नल की यात्रा करने की अनुमति नहीं देता है।

निचला रेखा, हम कैश को यथासंभव भौतिक रूप से बंद करना चाहते हैं। जिसका अर्थ है बड़े चिप्स।

इन दोनों को संतुलित करने की आवश्यकता है (प्रदर्शन बनाम लागत)।

कंप्यूटर में L1, L2 और L3 कैश वास्तव में कहाँ स्थित हैं?

पीसी शैली को ही हार्डवेयर मान लें (मेनफ्रेम प्रदर्शन बनाम लागत संतुलन सहित काफी भिन्न हैं);

IBM XT
मूल 4.77Mhz एक: कोई कैश नहीं। CPU मेमोरी को सीधे एक्सेस करता है। स्मृति से एक पाठ इस पैटर्न का पालन करेगा:

  • सीपीयू उस पते को डालता है जिसे वह मेमोरी बस में पढ़ना चाहता है और रीड फ्लैग को मुखर करता है
  • मेमोरी डेटा को डेटा बस में रखती है।
  • सीपीयू डेटा बस से डेटा को उसके आंतरिक रजिस्टरों में कॉपी करता है।

80286 (1982)
अभी भी कैश नहीं है। मेमोरी स्पीड कम स्पीड संस्करणों (6Mhz) के लिए कोई बड़ी समस्या नहीं थी, लेकिन तेज़ मॉडल 20Mhz तक चला गया और मेमोरी एक्सेस करते समय विलंब करने की आवश्यकता थी।

फिर आपको एक परिदृश्य मिलता है:

  • सीपीयू उस पते को डालता है जिसे वह मेमोरी बस में पढ़ना चाहता है और रीड फ्लैग को मुखर करता है
  • मेमोरी डाटा को डाटा बस में डालना शुरू कर देती है। CPU प्रतीक्षा करता है।
  • मेमोरी डेटा प्राप्त कर रही है और यह अब डेटा बस पर स्थिर है।
  • सीपीयू डेटा बस से डेटा को उसके आंतरिक रजिस्टरों में कॉपी करता है।

यह एक अतिरिक्त चरण है जो मेमोरी के लिए इंतजार कर रहा है। एक आधुनिक प्रणाली पर जो आसानी से 12 चरणों में हो सकती है, यही वजह है कि हमारे पास कैश है

80386 : (1985)
सीपीयू तेज हो गया। दोनों प्रति घड़ी, और उच्च गति पर चलकर।
रैम तेज हो जाता है, लेकिन सीपीयू जितना तेज नहीं।
परिणामस्वरूप अधिक प्रतीक्षा राज्यों की आवश्यकता है। कुछ मदरबोर्ड मदरबोर्ड पर कैश (जो 1 सेंट स्तर कैश होगा) को जोड़कर इसके चारों ओर काम करते हैं ।

मेमोरी से एक रीड अब एक चेक से शुरू होता है अगर डेटा पहले से कैश में है। यदि यह है तो यह बहुत तेजी से कैश से पढ़ा जाता है। यदि 80286 के साथ वर्णित एक ही प्रक्रिया नहीं है

80486 : (1989)
यह इस पीढ़ी का पहला सीपीयू है जिसमें सीपीयू पर कुछ कैश है।
यह 8KB यूनिफाइड कैश है जिसका मतलब है कि यह डेटा और निर्देशों के लिए उपयोग किया जाता है।

लगभग इस समय मदरबोर्ड पर 256KB की फास्ट स्टेटिक मेमोरी को 2 एनडी लेवल कैश के रूप में रखना आम बात है । इस प्रकार CPU पर 1 सेंट कैश, मदरबोर्ड पर 2 एन डी स्तर कैश।

सीपीयू स्थान और दूसरे स्तर के कैश के साथ 486 मदरबोर्ड चिह्नित

80586 (1993)
586 या पेंटियम -1 एक विभाजन स्तर 1 कैश का उपयोग करता है। 8 KB प्रत्येक डेटा और निर्देशों के लिए। कैश को विभाजित किया गया था ताकि डेटा और निर्देश कैश को उनके विशिष्ट उपयोग के लिए व्यक्तिगत रूप से ट्यून किया जा सके। आपके पास अभी भी सीपीयू के पास एक छोटा सा बहुत तेज 1 सेंट कैश है, और मदरबोर्ड पर एक बड़ा लेकिन धीमा 2 एन डी कैश है। (एक बड़ी भौतिक दूरी पर)।

एक ही पेंटियम 1 क्षेत्र में इंटेल ने पेंटियम प्रो ('80686') का उत्पादन किया । मॉडल के आधार पर इस चिप में 256Kb, 512KB या बोर्ड कैश पर 1MB था। यह भी बहुत अधिक महंगा था, जो कि निम्नलिखित तस्वीर के साथ समझाना आसान है।

एक पेंटियम प्रो सीपीयू, 256KB कैश मॉडल का चित्र

ध्यान दें कि चिप में आधा स्थान कैश द्वारा उपयोग किया जाता है। और यह 256KB मॉडल के लिए है। अधिक कैश तकनीकी रूप से संभव था और कुछ मॉडल जहां 512KB और 1MB कैश के साथ निर्मित होते थे। इनके लिए बाजार मूल्य अधिक था।

यह भी ध्यान दें कि इस चिप में दो मरते हैं। एक वास्तविक सीपीयू और 1 सेंट कैश के साथ, और दूसरा 256KB 2 एनडी कैश के साथ मरता है ।

पेंटियम -2

पेंटियम 2 एक पेंटियम प्रो कोर है। अर्थव्यवस्था के कारणों के लिए सीपीयू में कोई 2 एन डी कैश नहीं है। इसके बजाय क्या बेचा जाता है एक सीपीयू हमें एक सीपीयू (और 1 सेंट कैश) और 2 एन डी कैश के लिए अलग-अलग चिप्स के साथ एक पीसीबी ।

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

एक पेंटियम 2 'सीपीयू' (दोनों बिना और कवर के)

पेंटियम -3
पेंटियम -4
यह पेंटियम -3 या पेंटियम -4 के लिए नहीं बदलता है।

इस समय के आसपास हम सीपीयू को कितनी तेजी से देख सकते हैं, इस पर एक व्यावहारिक सीमा तक पहुंच गए हैं। 8086 या 80286 को शीतलन की आवश्यकता नहीं थी। 3.0GHz पर चलने वाले एक पेंटियम -4 में इतनी गर्मी पैदा होती है और वह इतनी शक्ति का उपयोग करता है कि यह एक तेज के बजाय दो अलग-अलग सीपीयू को मदरबोर्ड पर लगाने के लिए अधिक व्यावहारिक हो जाता है।

(दो 2.0 गीगाहर्ट्ज़ सीपीयू एक समान 3.0 गीगाहर्ट्ज सीपीयू से कम बिजली का उपयोग करेगा, फिर भी अधिक काम कर सकता है)।

इसे तीन तरीकों से हल किया जा सकता है:

  1. सीपीयू को अधिक कुशल बनाते हैं, इसलिए वे एक ही गति से अधिक काम करते हैं।
  2. कई CPU का उपयोग करें
  3. एक ही 'चिप' में कई सीपीयू का उपयोग करें।

1) एक सतत प्रक्रिया है। यह नया नहीं है और यह बंद नहीं होगा।

2) पर जल्दी किया गया था (जैसे दोहरी पेंटियम -1 मदरबोर्ड और एनएक्स चिपसेट के साथ)। अब तक तेज पीसी बनाने का एकमात्र विकल्प यही था।

3) सीपीयू की आवश्यकता होती है जहां एक ही चिप में कई 'सीपीयू कोर' बनाए जाते हैं। (फिर हमने उस सीपीयू को भ्रम बढ़ाने के लिए एक दोहरे कोर सीपीयू कहा। धन्यवाद विपणन :))

इन दिनों हम भ्रम से बचने के लिए सीपीयू को 'कोर' के रूप में संदर्भित करते हैं।

अब आपको पेंटियम-डी (डुओ) जैसे चिप्स मिलते हैं, जो मूल रूप से एक ही चिप पर दो पेंटियम -4 कोर होते हैं।

प्रारंभिक पेंटियम-डी (2 पी 4 कोर)

पुराने पेंटियम-प्रो की तस्वीर याद है? विशाल कैश आकार के साथ? इस चित्र में दो बड़े क्षेत्र
देखें ?

यह पता चला है कि हम दोनों सीपीयू कोर के बीच उस 2 एन डी कैश को साझा कर सकते हैं । गति थोड़ी कम हो जाएगी, लेकिन 512KiB साझा 2 एनडी कैश अक्सर आधे आकार के दो स्वतंत्र 2 एनडी स्तर कैश को जोड़ने की तुलना में तेज होता है ।

यह आपके प्रश्न के लिए महत्वपूर्ण है।

इसका मतलब है कि यदि आप एक सीपीयू कोर से कुछ पढ़ते हैं और बाद में इसे दूसरे कोर से पढ़ने की कोशिश करते हैं जो उसी कैश को साझा करता है जिससे आपको कैश हिट मिलेगा। मेमोरी को एक्सेस करने की आवश्यकता नहीं होगी।

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

इस प्रकार बाद के मॉडलों में आप साझा स्तर 2 कैश देखेंगे।

एक ओपन कोर 2 सीपीयू की छवि

यदि आप आधुनिक सीपीयू के लिए प्रोग्रामिंग कर रहे हैं तो आपके पास दो विकल्प हैं:

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


मुझे एहसास है कि मैंने अभी तक एल 3 कैश का उल्लेख नहीं किया है, लेकिन वे अलग नहीं हैं। एक L3 कैश उसी तरह से काम करता है। L2 से बड़ा, L2 से धीमा। और यह अक्सर कोर के बीच साझा किया जाता है। यदि यह मौजूद है तो L2 कैश की तुलना में बहुत बड़ा है (अन्यथा इसका कोई मतलब नहीं होगा) और इसे अक्सर सभी कोर के साथ साझा किया जाता है।

modernCPUwithL3.png


क्या बेहतरीन आलेख है!
lukas.pukenis 11

"लेकिन एक 512MB साझा 2 कैश है" मुझे लगता है कि यह 512KB है।
lukas.pukenis

ऐसा उत्कृष्ट उत्तर! आदमी को साझा करने के लिए धन्यवाद
संस्कारम

14

कि कैश प्रोसेसर के इंटर्नल हैं। कुछ कोर के बीच साझा किए जाते हैं, कुछ व्यक्तिगत होते हैं, कार्यान्वयन पर निर्भर करते हैं। लेकिन वे सभी चिप पर स्थित हैं। कुछ विवरण: Intel Intel® Core ™ i7 प्रोसेसर, यहां लिया गया है :

  • प्रत्येक कोर के लिए एक 32-केबी निर्देश और 32-केबी डेटा प्रथम-स्तरीय कैश (एल 1)
  • प्रत्येक कोर के लिए एक 256-KB साझा निर्देश / डेटा द्वितीय-स्तरीय कैश (L2)
  • 8-एमबी शेयर्ड इंस्ट्रक्शन / डेटा लास्ट-लेवल कैश (L3), सभी कोर के बीच साझा किया गया

प्रोसेसर चिप की तस्वीर (क्षमा करें, सटीक मॉडल नहीं जानते हैं)। आप देख सकते हैं कि कैश चिप पर महत्वपूर्ण क्षेत्र लेता है:

वैकल्पिक शब्द


1
अगर चिप से आपका मतलब सिलिकॉन डाई है, तो कैश का आखिरी स्तर चिप से हट सकता है। जैसे, IBM का zEC12 ( en.wikipedia.org/wiki/IBM_zEC12_(microprocessor) ) छह प्रोसेसर चिप्स और L4 कैश के साथ दो साझा कैश चिप्स के साथ एक मल्टीचिप मॉड्यूल का उपयोग करता है। इंटेल का क्रिस्टल वेल एक एल 4 ऑफ-चिप कैश (ईडीआरएएम का उपयोग करके) भी प्रदान करता है।
पॉल ए। क्लेटन

5

सबसे तेज़ पहुंच के लिए कैश लगभग हमेशा चिप पर होता है। यहाँ एक अच्छा आरेख है जिसमें क्वाड कोर इंटेल सीपीयू दिखाया गया है जिसमें एल 3 कैश हाइलाइट किया गया है। जब आप CPU के इस तरह के चित्रों को देखते हैं, तो बड़े समान क्षेत्रों में आमतौर पर कैश के रूप में उपयोग की जाने वाली ऑन-चिप मेमोरी के बैंक होते हैं।

नेहेलम डाई (http://www.legitreviews.com/article/824/1/)


5

इन दिनों सीपीयू मरने पर कैश सभी हैं। वे कभी-कभी मदरबोर्ड, या सीपीयू बेटी-बोर्ड पर स्थित होते थे, लेकिन मुझे नहीं लगता कि कोई वर्तमान प्रोसेसर हैं जो चिप कैश का उपयोग करते हैं।


1
इन दिनों के लिए +1 भाग। तु पुराने दिनों में यह अलग था। (साइरोक्स / पेंटियम -1 समय में मदरबोर्ड में एल 2 कैश)
हेन्नेस

0

मुझे L3 के बारे में निश्चित नहीं है, लेकिन L1 / L2 हमेशा सीपीयू पर स्थित होता है। पदानुक्रम-वार, मूल रूप से, L1 आमतौर पर निर्देश कैश है, L2 और L3 डेटा कैश हैं।


L1 साझा कैश (निर्देश और डेटा कैश) हो सकता है। इसमें L1 डेटा और L1 इंस्ट्रक्शन कैश के साथ CPU भी हैं। और एल 2 कैश हमेशा सीपीयू पर स्थित नहीं होता है (यहां तक ​​कि एल 1 को सीपीयू पर होने की आवश्यकता नहीं है, लेकिन मुझे केवल एक कंप्यूटर याद है जहां यह मामला था)।
हेन्नेस

0

एल 1 सीपीयू चिप पर स्थित है, एल 2 प्रोसेसर और मुख्य मेमोरी के बीच स्थित है, लेकिन यह जानने का एक बिंदु है कि किसी सिस्टम में एल 2 सीपीयू चिप पर स्थित है, जबकि कुछ अन्य सिस्टम में एल 2 मदर बोर्ड पर ही स्थित है, और एल 3 लगातार है मुख्य बोर्ड चिप पर स्थित है।

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