सीपीयू चिप पर रैम क्यों नहीं डाली जाती है?


55

मेमोरी (रैम) सहित बाहरी सभी चीजों की तुलना में आधुनिक सीपीयू बहुत तेज हैं।

यह समझ में आता है, क्योंकि सीपीयू घड़ी की आवृत्ति एक बिंदु पर पहुंच गई है, जहां बस इलेक्ट्रिक सिम के लिए सीपीयू से बस के माध्यम से रैम चिप्स और बैक तक चलाने के लिए कई घड़ी टिक जाती है।

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

अगर सीपीयू चिप पर सीधे रैम की एक महत्वपूर्ण मात्रा स्थित थी, तो इनमें से कई समस्याओं से बचा जा सकता था। इसकी कोई विशेष व्यवस्था नहीं है: हो सकता है कि चिप पर 1-4 जीबी लगा हो, यह उसकी कक्षा पर निर्भर करता है और अतिरिक्त मेमोरी को अलग से स्थापित करने की अनुमति देता है।

मुझे यकीन है कि इंटेल, एएमडी और अच्छे कारण हैं कि ऐसा नहीं कर रहे हैं। ये कारण क्या हैं? क्या ऐसा है कि चिप पर अतिरिक्त जगह नहीं है?


29
कैश रैम है। मरने पर जगह और पिन एक प्रीमियम पर हैं।
ताम्र।

2
@ Copper.hat Cache RAM है, लेकिन कैश आकार स्थापित RAM का एक छोटा सा अंश है (आमतौर पर, हम MBytes बनाम Gbytes पर्वतमाला के बारे में बात कर रहे हैं)। मुझे आश्चर्य है कि सीपीयू चिप में 1 जीबी क्यों नहीं डाला गया।
हेजहोग

5
आम तौर पर इसे कुछ निर्देश / डेटा प्रवाह मिश्रण के लिए अनुकूलित किया जाता है। इसके अलावा, रैम से / से सभी डेटा सीपीयू के माध्यम से नहीं जाते हैं।
ताम्र।

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

@LesserHedgehog आपकी कैश हिट दर सामान्य रूप से कितनी हो सकती है इसकी एक सीमा है, इसलिए अधिक कैश जोड़ने से वास्तव में कुछ भी मदद नहीं मिलती है। बहुत सारे सीपीयू वास्तव में अब डीआरएएम को एम्बेडेड कर चुके हैं, खासकर मोबाइल / एम्बेडेड स्पेस (उदाहरण के लिए कई एआरएम-आधारित SoCs) में।
शराबी

जवाबों:


79

इंटेल के हैसवेल (या कम से कम उन उत्पादों में आइरिस प्रो 5200 जीपीयू शामिल हैं) और आईबीएम के POWER7 और POWER8 सभी में एम्बेडेड DRAM, "eDRAM" शामिल हैं।

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

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

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

यह भी ध्यान दिया जाना चाहिए कि अधिकांश कार्यभार के लिए कैश हिट दर बहुत अधिक है: लगभग सभी व्यावहारिक मामलों में 90% से ऊपर, और 99% से ऊपर भी असामान्य रूप से नहीं। इसलिए, मरने पर बड़ी यादों को शामिल करने का लाभ स्वाभाविक रूप से इस कुछ प्रतिशत यादों के प्रभाव को कम करने के लिए सीमित है। एंटरप्राइज़ सर्वर मार्केट (जैसे कि पॉवर) के लिए लक्षित प्रोसेसर में आम तौर पर भारी कैश होते हैं और लाभदायक रूप से ईडीआरएएम को शामिल कर सकते हैं क्योंकि यह कई एंटरप्राइज वर्कलोड के बड़े सेट को समायोजित करने के लिए उपयोगी है। हैसवेल में यह GPU का समर्थन करने के लिए है, क्योंकि बनावट बड़े हैं और कैश में समायोजित नहीं किए जा सकते हैं। ये आज ईडीआरएएम के लिए उपयोग के मामले हैं, न कि विशिष्ट डेस्कटॉप या एचपीसी वर्कलोड, जो विशिष्ट कैश पदानुक्रम द्वारा बहुत अच्छी तरह से परोसे जाते हैं।

टिप्पणियों में उठाए गए कुछ मुद्दों को संबोधित करने के लिए:

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

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

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


1
अच्छी तरह से समझाया गया है, @ ऑलेक्ज़ेंडर आर। संक्षेप में, ऐसा लगता है कि सीपीयू और डीआरएएम के बीच "प्रतिबाधा बेमेल" जैसा कुछ है, जो दो मुश्किलों को जोड़ देता है।
कम हेजल

3
और निश्चित रूप से, SRAM अभी भी काफी विशाल है - यहां तक ​​कि छोटे (RAM की तुलना में) कैश आधुनिक सीपीयू पर मरने के लगभग आधे क्षेत्र को ले जाता है (अच्छी तरह से, एकीकृत जीपीयू के साथ सीपीयू को छोड़कर: डी)।
लुआं

2
मुझे आश्चर्य है कि अगर मुख्य मेमोरी के बिना चलने का कोई तरीका है। 128MB एक स्लिम-डाउन लिनक्स वितरण (या विंडोज के एक पुराने संस्करण) को चलाने के लिए बहुत होना चाहिए।
user253751

इसे 'GPU-on-die' कहा जाता है, न कि 'GPU-on-package'।
एस्फोटो

4
@cybermonkey: निर्देश वास्तव में L1 कैश से प्राप्त किए जाते हैं, मुख्य मेमोरी नहीं। उन्हें मुख्य मेमोरी - 60 ns चक्र समय या तो, जो आपके CPU को सिंगल-कोर डिज़ाइन के लिए 16 Mhz तक सीमित करता है, को लाने के लिए भयावह होगा।
एमएसलटर्स

17

मुख्य कारण बड़ी मेमोरी (DRAM का GB) CPU पर शामिल नहीं है, यह मुख्यतः लागत के बारे में है। बहुत छोटी सुविधाओं को बनाने के लिए आवश्यक विनिर्माण प्रक्रिया के कारण सीपीयू डाई स्पेस काफी अधिक महंगा है। हो सकता है कि एक ही मृत्यु पर दोनों का निर्माण संभव न हो, हालाँकि मुझे यहाँ कोई निश्चित उत्तर देने के लिए विवरण के बारे में पर्याप्त जानकारी नहीं है।

आइए सीपीयू डाई पर सीधे डीआरएएम की एक बड़ी मात्रा डालने की व्यवहार्यता का मूल्यांकन करें।

22

हालांकि, सीपीयू के करीब मेमोरी को चिपके रहने का विचार पूरी तरह से एक खो कारण नहीं है। यह संभावना है कि भविष्य में स्मृति कहां स्थानांतरित होगी क्योंकि तथ्य यह है कि प्रकाश की गति परिमित है और केवल एक निश्चित दूरी पर इतनी तेजी से संचार करना संभव है।

सीपीयू के पास चलती स्मृति के लिए यथार्थवादी तकनीक (ध्यान दें कि ये पारंपरिक तकनीकों के साथ व्यापार-बंद भी हैं):

  1. सीपीयू के ऊपर ही उन्हें ढेर कर दें। यह पहले से ही रास्पबेरी पाई पर किया गया है, और वाइड I / O मेमोरी मानक का हिस्सा है। स्मृति अभी भी एक अलग प्रक्रिया पर निर्मित एक अलग डाई है। हालांकि, यह समस्या है कि सीपीयू में किसी भी गर्मी का प्रसार गर्मी सिंक तक पहुंचने से पहले मेमोरी से गुजरना चाहिए। इसका मतलब है कि यह उच्च शक्ति वाले प्रोसेसर के लिए काम नहीं करेगा, और क्यों इस तकनीक के लिए प्राथमिक अनुप्रयोग मोबाइल प्रोसेसर / अन्य एम्बेडेड अनुप्रयोगों में हैं जहां आपका सीपीयू कई दसियों या सैकड़ों वाट का उपभोग नहीं कर रहा है।

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


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

4
2

@ जॉन - एक डायट पर बड़ी संख्या में बार-बार मॉड्यूल लगाने से यह फायदा होता है कि जब कोई दोष होता है तो आप इसे घटने वाले मॉड्यूल को निष्क्रिय कर सकते हैं और डाई को कम-लागत वाले मानक के अनुरूप जारी कर सकते हैं (यह DRAM के साथ बहुत कुछ होता है, 80 के दशक में वापस सही होने पर जब 32KB मॉड्यूल वाली बहुत सारी मशीनें वास्तव में 64K चिप्स का उपयोग कर रही थीं जिसमें एक दोषपूर्ण खंड अक्षम था)। इसका वास्तव में मतलब हो सकता है कि जब आप प्रोसेसर के साथ DRAM को एकीकृत करते हैं तो पैदावार बढ़ जाती है ...
जूल्स

7

सीपीयू में बड़ी मात्रा में डीआरएएम को जोड़ने के कई कारण हो सकते हैं।

  1. प्रक्रिया और फैब DRAM के लिए सेट नहीं किया जा सकता है। DRAM को विशेष सर्किट तत्वों की आवश्यकता होती है जो उत्पादन के लिए अतिरिक्त विनिर्माण कदम उठाते हैं। इससे विनिर्माण की लागत बढ़ जाती है।

  2. वह सब स्मृति को परखना पड़ता है। मेमोरी परीक्षण आपके परीक्षण समय को बढ़ाता है। यह एक और लागत वृद्धि है।

  3. मरने को बढ़ाना अपने आप में एक लागत वृद्धि है, क्योंकि इसका अर्थ है प्रति वफ़र कम मरना। यह उपज को भी प्रभावित करता है - एक दोष आपके वेफर का एक बड़ा अंश निकालता है। इसके एक चरम उदाहरण के लिए, कैमरों में पूर्ण-फ्रेम (35 मिमी) छवि सेंसर की लागत को देखें।

  4. एक ऐसी प्रक्रिया का विकास करना जो विशेष प्रकार की मेमोरी को संभाल सकती है, अधिक समय, पैसा और काम करती है, और विफलता का उच्च जोखिम होता है। DRAM की कोई भी समस्या CPU की रिलीज़ में देरी करेगी। डेस्कटॉप सीपीयू सेमीकंडक्टर मैन्युफैक्चरिंग के अत्याधुनिक हैं, इसलिए देरी एक बहुत बड़ा प्रतिस्पर्धी नुकसान हो सकता है। (देखें: पिछले कई वर्षों से AMD बनाम Intel।)

  5. DRAM में रीडिंग के साथ-साथ समय-समय पर रिफ्रेशिंग के लिए एनालॉग सेंसिंग की आवश्यकता होती है। मैं एक ड्रामा विशेषज्ञ नहीं हूं, लेकिन मुझे संदेह है कि यह कभी भी हाई-एंड सीपीयू जितना तेज हो सकता है, चाहे वह ऑफ-चिप हो या ऑन-चिप। तो आप शायद SRAM कैशिंग के साथ फंस जाएंगे।

  6. यहां तक ​​कि अगर आप उपरोक्त समस्याओं को दूर कर सकते हैं और एक सीपीयू मरने पर DRAM के एक जोड़े गीगाबाइट को रटना कर सकते हैं, यह अभी भी एक डेस्कटॉप पीसी, लैपटॉप, या सर्वर को चलाने के लिए पर्याप्त नहीं है, तो आपके पास वैसे भी ऑफ-चिप मेमोरी होना चाहिए ।


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

सच है, यादों के साथ उच्च उपज प्राप्त करना आसान है। जैसा मैंने कहा, यह एक चरम उदाहरण था।
एडम हुन

3

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

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

ध्यान रखें कि हम पूरे सिस्टम पर वाट क्षमता के उपयोग के बारे में बात नहीं कर रहे हैं, जो कम हो जाएगा, बल्कि यह भी है कि एकल क्षेत्र में वाट क्षमता (और इस प्रकार गर्मी) की और भी अधिक एकाग्रता होगी, जो संभवतः इसकी संभावना को बढ़ाएगा विफलता।

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

एएमडी सक्रिय रूप से प्रौद्योगिकी का उपयोग कर रहा है जो वास्तव में उस तरह से काम करता है, जहां प्रोसेसर का प्रत्येक भाग एक असतत तर्क इकाई है जिसे अलग-अलग कॉन्फ़िगरेशन के लिए स्वैप किया जा सकता है। भविष्य में, यदि ऐसा डिज़ाइन व्यवहार्य है, तो हम सीपीयू को बहुत अच्छी तरह से देख सकते हैं जो एक महंगी मॉड्यूल उन्नयन के रूप में इन-चिप मेमोरी की पेशकश करते हैं, शायद बदले में कुछ प्रसंस्करण शक्ति को स्वैप कर रहे हैं, या अन्य tweaks। उदाहरण के लिए, एक दिन हमारे पास 256 कोर के बीच कोई अंतर्निहित मेमोरी के साथ विकल्प हो सकता है, या अंतर्निहित मेमोरी के साथ 128 कोर या भाग GPU, भाग सीपीयू, भाग रैम जैसे अन्य कॉन्फ़िगरेशन भी हो सकता है।


इस उत्तर के साथ मुख्य समस्या यह है कि स्मार्टफ़ोन के लिए SoC डिज़ाइन वास्तव में RAM से युक्त होते हैं। वे बहुत अधिक महंगे नहीं हैं, वास्तव में वे सस्ते हैं।
MSalters 12

@MSalters को छोड़कर वे एक ही डाई में एकीकृत नहीं हैं। स्मृति मर जाती है अलग, परीक्षण किया गया और सही ढंग से काम करने की पुष्टि की है, और केवल माइक्रोप्रोसेसर मरने के साथ पैक किया जाता है।
टूथब्रश

2

उपरोक्त लगभग सभी + एक और अतिरिक्त समस्या: गर्मी।

DRAM सेल अनिवार्य रूप से टपका हुआ कैपेसिटर हैं। और यहाँ ढांकता हुआ SiO2 परत ही है। जैसे ही तापमान बढ़ता है, रिसाव की धाराएं आनुपातिक रूप से बढ़ जाती हैं। ये DRAM सेल्स को बहुत तेजी से डिस्चार्ज करते हैं जिसके लिए बहुत तेज रिफ्रेश रेट की जरूरत होती है, जिससे जटिलता बढ़ेगी, करंट की जरूरत होगी और निश्चित रूप से और अधिक हीट मिलेगी।


2

पहले से दिए गए उत्तरों के अलावा एक अतिरिक्त पहलू है: उत्पादन दोष के कारण अपशिष्ट:

मान लीजिए कि उत्पादित एक निश्चित मॉडल के सभी सीपीयू में से 1/100 दोषपूर्ण हैं (वास्तव में यह कम है; 1/100 की गणना करना आसान है) और उत्पादित सभी रैम के 1/100 दोषपूर्ण हैं।

यदि दोनों घटकों को एक एकल चिप पर जोड़ा जाएगा, तो सभी चिप्स के 1/100 में दोषपूर्ण सीपीयू होगा और सभी चिप्स के 1/100 में एक दोषपूर्ण रैम होगा।

इसका मतलब होगा:

  • 10000 चिप्स में से 1 में दोषपूर्ण रैम और सीपीयू होगा
  • 99 चिप्स में दोषपूर्ण रैम होगा
  • 99 चिप्स में एक दोषपूर्ण सीपीयू होगा
  • उत्पादित सभी 10000 भागों में से सभी बेकार हो जाएंगे

अलग चिप्स का उत्पादन गणना निम्नलिखित है:

  • 5000 रैम में से 50 दोषपूर्ण हैं
  • 5000 सीपीयू में से 50 दोषपूर्ण हैं
  • उत्पादित 10000 भागों में से 100 बेकार हो जाएंगे

ध्यान दें कि एक जीबी रैम आमतौर पर एक बैंक के रूप में होती है जिसमें आठ चिप्स होते हैं ताकि आपको एक ही चिप पर दो और 9 घटकों को एक चिप में संयोजित न करना पड़े। यह ऊपर के साधारण उदाहरण में उत्पादित 10000 के लगभग 865 दोषपूर्ण भागों को जन्म देगा।

"आईबीएम सेल" सीपीयू में वास्तव में यह समस्या थी। "Playstation" कंसोल में उन चिप्स का उपयोग किया गया था जो आंशिक रूप से दोषपूर्ण थे; Playstation सॉफ्टवेयर इस तरह से लिखा गया था कि दोषपूर्ण कोर और SRAMs का उपयोग नहीं किया गया था।


1
एएमडी ने उसी कारण से थोड़ी देर के लिए 3-कोर सीपीयू की पेशकश की। मुझे लगता है कि आमतौर पर भागों को पैक किए जाने से पहले डाई स्तर पर परीक्षण किया जाता है, इसलिए आपकी चिंता अखंड सीपीयू और मेमोरी संयोजनों पर लागू होती है।
ऑलेक्ज़ेंडर आर।

डारपा darpa को छोड़कर, Intel और Qualcom के इंजीनियरों के सापेक्ष फंतासी भूमि है, जो कि 3DSoC का उपयोग करके मेमोरी वॉल पर काबू पाकर 50x की शक्ति दक्षता के लिए एक पुरस्कार के साथ सामने आई है। monolithic3d.com/blog/… SoC's (एक चिप पर सिस्टम) पैरलल प्रोसेसर के लिए सबसे अच्छा है, जिसका अर्थ है कि 2/16 के बजाय 1000 समूह हैं।
com.prehensible

1

वास्तव में दो प्रकार के रैम होते हैं। वे स्टैटिक रैम और डायनेमिक रैम हैं। स्टैटिक मेमोरी बहुत तेज़ होती है लेकिन यह अधिक लागत में आती है। इस बीच डायनामिक रैम स्टैटिक रैम की तुलना में धीमा है, लेकिन स्टैटिक रैम की तुलना में सस्ती कीमत में आता है।

कैश मेमोरी स्थिर रैम में आती है। आप देख सकते हैं कि वे KB या MB आकार में आते हैं। वे तीव्र हैं। लेकिन उच्च लागत।


बिल्कुल नहीं, हाँ, वे तेज़ हैं, लेकिन इसका मुख्य कारण यह है कि दूरी डेटा को यात्रा करना DRAM की तुलना में बहुत कम है।
एस्फोटो

3
दरअसल, SRAM सेल तेज है क्योंकि यह सरल है। यह एक डिजिटल द्वि-स्थिर सर्किट है। यदि आप गलती से इसे अनुरूप मान 0.8 पर सेट करेंगे, तो यह स्थिर स्थिति 1.0 पर जाकर खुद को ठीक कर लेगा। DRAM में ऐसे स्थिर राज्य नहीं हैं। यह मध्यवर्ती राज्यों से दूर नहीं जाता है । इससे भी बदतर, यह ऐसे राज्यों की ओर बढ़ता है, यही कारण है कि आपको अतिरिक्त सुधारात्मक "ताज़ा" सर्किटरी की आवश्यकता होती है।
एमएसलटर्स

@ संग्राहक: SRAM सेल DRAM सेल की तुलना में सरल नहीं है। आप सही हैं कि यह जो बनाता है और अधिक स्थिर है, का उपयोग करते हुए यह सरल (दोनों सर्किट और समय चित्र समर्थन के संदर्भ में)। लेकिन SRAM कोशिकाएं DRAM की तुलना में लगभग प्रति सर्किटट्री 6 गुना ज्यादा होती हैं।
बेन वोइगट

1
@BenVoigt: ट्रांजिस्टर काउंट में, हाँ - 6T बनाम 1T। लेकिन DRAM में एक कैपेसिटर होता है, जो काफी अजीब घटक होता है। SRAM सिर्फ एक साथ वायर किए गए ट्रांजिस्टर हैं।
एमएसलटर्स

DRAM में संधारित्र एक ट्रांजिस्टर के रूप में भी लागू होता है
बेन वोइगट

1

उल्लिखित अन्य कारणों के अलावा, कई प्रणालियों में एक से अधिक सीपीयू कोर हैं। ऐसे समय में जब मुख्य DRAM में संग्रहीत जानकारी सभी कैश्ड प्रतियों के अनुरूप होती है, सभी प्रोसेसर जिनके पास कैश नहीं की गई जानकारी होती है, उनके पास समान पहुंच होगी। कुछ आर्किटेक्चर इस धारणा के चारों ओर डिज़ाइन किए गए हैं कि प्रत्येक सीपीयू कोर पता स्थान की "स्वयं" "" करेगा, और भले ही एक सीपीयू मेमोरी तक पहुंचने में सक्षम हो, जो अन्य प्रोसेसर के स्वामित्व में है, इस तरह की एक्सेस अपनी स्वयं की मेमोरी तक पहुंचने की तुलना में बहुत धीमी होगी। , लेकिन x86 आमतौर पर इस तरह के फैशन में लागू नहीं होता है।

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

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


2
गैर-समान मेमोरी आर्किटेक्चर आज पहले से ही (और यहां तक ​​कि आम) उपयोग किए जाते हैं। एक बहु-प्रोसेसर प्रणाली में उपयोग किए जाने वाले एकीकृत मेमोरी कंट्रोलरों के साथ सीपीयू के लिए, एक और प्रोसेसर की भौतिक मेमोरी में संग्रहीत डेटा अधिक दूरी पर और इसके स्थानीय रूप से संलग्न रैम की तुलना में उच्च विलंबता के साथ सुलभ है। व्यवहार में, इन प्रणालियों में क्या होता है कि प्रोसेसर कैश के अतिरिक्त स्तरों से लैस होते हैं और सहवास ट्रैफ़िक को आंशिक रूप से कनेक्टिंग फैब्रिक द्वारा नियंत्रित किया जाता है। POWER7 और POWER8 इस प्रकार के हैं।
ऑलेक्ज़ेंडर आर।

1

जबकि पिछले सभी उत्तर यह इंगित करने में सही हैं कि सीपीयू में अधिक मेमोरी को जोड़ना इतना मुश्किल क्यों है, यह भी सच है कि आधुनिक सीपीयू में काफी मेमोरी है।

वास्तविक समय के संचालन में जब नियतात्मक विलंब महत्वपूर्ण होते हैं तो कोड और / या डेटा के लिए ऑन-चिप कैश को पता योग्य मेमोरी के रूप में उपयोग करना अनसुना नहीं होता है। लाभ तेजी से और निरंतर पहुंच समय है, और नुकसान यह है कि ऑन-चिप मेमोरी बहुत सीमित है।


1

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

RAM सस्ती है और आमतौर पर उपयोगकर्ताओं द्वारा अपने CPU के उन्नयन के बीच एक या दो बार विस्तारित की जाती है।

यह भी याद रखें कि एक विशिष्ट "Fetch" कॉल, भले ही RAM CPU घड़ी की गति से चल रही हो, CPU पर कई निष्क्रिय टिकों की ओर ले जाती है।

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

हां, चिप पर अपने रैम के साथ एक मशीन आधुनिक अनुप्रयोगों में अच्छा प्रदर्शन करेगी, लेकिन एक मानक ऑपरेटिंग सिस्टम चलाने वाली चिप पर इसकी रैम के साथ एक मशीन संभवतः प्रदर्शन में वृद्धि प्रदान नहीं करेगी जो आप सोच सकते हैं कि यह होगा।

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