घर पेड़ और झाड़ियाँ आधुनिक माइक्रोप्रोसेसरों के कोर और धागे। परिशिष्ट बी. इंजन और सिस्टम के बीच इंटरेक्शन आरेख

आधुनिक माइक्रोप्रोसेसरों के कोर और धागे। परिशिष्ट बी. इंजन और सिस्टम के बीच इंटरेक्शन आरेख

  • ट्यूटोरियल

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

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

लेख में ®, ™ संकेतों के बारे में चेतावनी दी गई है

मेरा यह कहना है कि कंपनी के कर्मचारियों को सार्वजनिक संचार में कॉपीराइट नोटिस का उपयोग क्यों करना चाहिए। इस लेख में मुझे उनका अक्सर उपयोग करना पड़ा।

CPU

बेशक, सबसे पुराना, सबसे अधिक इस्तेमाल किया जाने वाला और विवादास्पद शब्द "प्रोसेसर" है।

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

मोबाइल सिस्टम (फोन, टैबलेट, लैपटॉप) और अधिकांश डेस्कटॉप में एक प्रोसेसर होता है। वर्कस्टेशन और सर्वर कभी-कभी एक ही मदरबोर्ड पर दो या दो से अधिक प्रोसेसर का दावा करते हैं।

एकाधिक समर्थन केंद्रीय प्रसंस्करण इकाइयाँएक सिस्टम में इसके डिज़ाइन में कई बदलावों की आवश्यकता होती है। कम से कम, उनका भौतिक कनेक्शन सुनिश्चित करना (मदरबोर्ड पर कई सॉकेट प्रदान करना), प्रोसेसर पहचान के मुद्दों को हल करना (इस लेख में बाद में देखें, साथ ही मेरा नोट), मेमोरी एक्सेस का समन्वय और इंटरप्ट डिलीवरी (इंटरप्ट) सुनिश्चित करना आवश्यक है। नियंत्रक को कई प्रोसेसरों तक इंटरप्ट को रूट करने में सक्षम होना चाहिए) और, निश्चित रूप से, ऑपरेटिंग सिस्टम से समर्थन। दुर्भाग्य से, मुझे इंटेल प्रोसेसर पर पहले मल्टीप्रोसेसर सिस्टम के निर्माण का कोई दस्तावेजी उल्लेख नहीं मिला, लेकिन विकिपीडिया का दावा है कि सीक्वेंट कंप्यूटर सिस्टम ने इंटेल 80386 प्रोसेसर का उपयोग करके उन्हें 1987 में ही आपूर्ति कर दी थी, एक सिस्टम में कई चिप्स के लिए समर्थन व्यापक हो रहा है। इंटेल® पेंटियम से शुरुआत।

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


उड़ान भरने के लिए तैयर! Intel® डेस्कटॉप बोर्ड D5400XS

मुख्य

ऐतिहासिक रूप से, Intel IA-32 में मल्टी-कोर Intel® हाइपरथ्रेडिंग की तुलना में बाद में दिखाई दिया, लेकिन तार्किक पदानुक्रम में यह अगले स्थान पर आता है।

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

इंटेल का पहला मल्टी-कोर IA-32 प्रोसेसर 2005 में पेश किया गया था। तब से, सर्वर, डेस्कटॉप और अब में कोर की औसत संख्या मोबाइल प्लेटफार्मलगातार बढ़ रहा है.

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


नेहलेम कोडनेम वाले क्वाड-कोर इंटेल प्रोसेसर का माइक्रोग्राफ। अलग कोर, एक सामान्य तृतीय-स्तरीय कैश, साथ ही अन्य प्रोसेसर के लिए क्यूपीआई लिंक और एक सामान्य मेमोरी नियंत्रक आवंटित किए जाते हैं।

हाइपरथ्रेड

लगभग 2002 तक, समानांतर में दो या दो से अधिक प्रोग्राम चलाने में सक्षम IA-32 सिस्टम प्राप्त करने का एकमात्र तरीका मल्टीप्रोसेसर सिस्टम का उपयोग करना था। Intel® Pentium® 4, साथ ही Xeon लाइन कोडनेम Foster (Netburst) ने एक नई तकनीक पेश की - हाइपरथ्रेड्स या हाइपरथ्रेड्स - Intel® हाइपरथ्रेडिंग (इसके बाद HT)।

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

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

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

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

वीडियो त्वरक पर किए गए विशिष्ट कार्यों में एक अलग स्थिति देखी जाती है। इसलिए, इन आर्किटेक्चर की विशेषता बड़ी संख्या में धागों के साथ एसएमटी तकनीक का उपयोग है। चूँकि Intel® Xeon Phi कोप्रोसेसर (2010 में प्रस्तुत) वैचारिक और वंशावली रूप से वीडियो कार्ड के काफी करीब हैं, हो सकता है कि उनमें चारप्रत्येक कोर पर हाइपरथ्रेडिंग - IA-32 के लिए अद्वितीय कॉन्फ़िगरेशन।

तार्किक प्रोसेसर

समानता के तीन वर्णित "स्तरों" (प्रोसेसर, कोर, हाइपरथ्रेड्स) में से कुछ या यहां तक ​​कि सभी एक विशेष प्रणाली में गायब हो सकते हैं। यह BIOS सेटिंग्स (मल्टी-कोर और मल्टीथ्रेडिंग स्वतंत्र रूप से अक्षम हैं), माइक्रोआर्किटेक्चर फीचर्स (उदाहरण के लिए, HT Intel® Core™ डुओ से अनुपस्थित था, लेकिन नेहलेम की रिलीज के साथ वापस लाया गया था) और सिस्टम इवेंट (मल्टी-) से प्रभावित है। यदि खराबी पाई जाती है तो प्रोसेसर सर्वर विफल प्रोसेसर को बंद कर सकते हैं और शेष पर "उड़ना" जारी रख सकते हैं)। समवर्तीता का यह बहु-स्तरीय चिड़ियाघर ऑपरेटिंग सिस्टम और अंततः, एप्लिकेशन अनुप्रयोगों के लिए कैसे दृश्यमान है?

इसके अलावा, सुविधा के लिए, हम एक निश्चित सिस्टम में प्रोसेसर, कोर और थ्रेड्स की संख्या को तीन से दर्शाते हैं ( एक्स, , जेड), कहाँ एक्सप्रोसेसर की संख्या है, - प्रत्येक प्रोसेसर में कोर की संख्या, और जेड- प्रत्येक कोर में हाइपरथ्रेड्स की संख्या। अब से मैं इन्हें तीन कहूँगा टोपोलॉजी- एक स्थापित शब्द जिसका गणित की शाखा से बहुत कम लेना-देना है। काम पी = xyzबुलायी गयी इकाइयों की संख्या को परिभाषित करता है तार्किक प्रोसेसरसिस्टम. यह समानांतर में निष्पादित होने वाली साझा मेमोरी सिस्टम पर एप्लिकेशन प्रक्रियाओं के स्वतंत्र संदर्भों की कुल संख्या को परिभाषित करता है, जिसे ऑपरेटिंग सिस्टम को ध्यान में रखना पड़ता है। मैं "मजबूर" कहता हूं क्योंकि यह विभिन्न तार्किक प्रोसेसर पर दो प्रक्रियाओं के निष्पादन क्रम को नियंत्रित नहीं कर सकता है। यह हाइपरथ्रेड्स पर भी लागू होता है: हालांकि वे एक ही कोर पर "क्रमिक रूप से" चलते हैं, विशिष्ट क्रम हार्डवेयर द्वारा तय होता है और प्रोग्राम द्वारा देखा या नियंत्रित नहीं किया जा सकता है।

अक्सर, ऑपरेटिंग सिस्टम अंतिम अनुप्रयोगों से उस सिस्टम की भौतिक टोपोलॉजी की विशेषताओं को छुपाता है जिस पर वह चल रहा है। उदाहरण के लिए, निम्नलिखित तीन टोपोलॉजी: (2, 1, 1), (1, 2, 1) और (1, 1, 2) - ओएस दो लॉजिकल प्रोसेसर का प्रतिनिधित्व करेगा, हालांकि उनमें से पहले में दो प्रोसेसर हैं, दूसरा - दो कोर, और तीसरा - केवल दो धागे।


विंडोज़ टास्क मैनेजर 8 लॉजिकल प्रोसेसर दिखाता है; लेकिन प्रोसेसर, कोर और हाइपरथ्रेड्स में यह कितना है?


लिनक्स टॉप 4 लॉजिकल प्रोसेसर दिखाता है।

एप्लिकेशन निर्माताओं के लिए यह काफी सुविधाजनक है - उन्हें उन हार्डवेयर सुविधाओं से जूझना नहीं पड़ता जो अक्सर उनके लिए महत्वहीन होती हैं।

टोपोलॉजी की सॉफ्टवेयर परिभाषा

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

संपूर्ण सिस्टम की टोपोलॉजी के साथ-साथ IA-32 में प्रत्येक लॉजिकल प्रोसेसर की स्थिति के बारे में जानकारी CPUID निर्देश का उपयोग करके उपलब्ध है। पहले मल्टीप्रोसेसर सिस्टम के आगमन के बाद से, तार्किक प्रोसेसर पहचान योजना का कई बार विस्तार किया गया है। आज तक, इसके हिस्से सीपीयूआईडी की शीट 1, 4 और 11 में समाहित हैं। कौन सी शीट देखनी है यह लेख से लिए गए निम्नलिखित फ़्लोचार्ट से निर्धारित किया जा सकता है:

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

एपीआईसी आईडी
लोकल एपीआईसी (एडवांस्ड प्रोग्रामेबल इंटरप्ट कंट्रोलर) एक डिवाइस (अब प्रोसेसर का हिस्सा) है जो एक विशिष्ट लॉजिकल प्रोसेसर में आने वाले इंटरप्ट को संभालने के लिए जिम्मेदार है। प्रत्येक लॉजिकल प्रोसेसर का अपना APIC होता है। और सिस्टम में उनमें से प्रत्येक के पास एक अद्वितीय एपीआईसी आईडी मान होना चाहिए। इस नंबर का उपयोग इंटरप्ट नियंत्रकों द्वारा संदेश वितरित करते समय संबोधित करने के लिए किया जाता है, और बाकी सभी (उदाहरण के लिए, ऑपरेटिंग सिस्टम) द्वारा तार्किक प्रोसेसर की पहचान करने के लिए किया जाता है। इस इंटरप्ट कंट्रोलर के लिए विनिर्देशन इंटेल 8259 PIC से डुअल PIC, APIC और xAPIC से x2APIC तक विकसित हुआ है।

वर्तमान में, एपीआईसी आईडी में संग्रहीत संख्या की चौड़ाई पूर्ण 32 बिट्स तक पहुंच गई है, हालांकि अतीत में यह 16 तक सीमित थी, और उससे भी पहले - केवल 8 बिट्स तक। आज, पुराने दिनों के अवशेष पूरे CPUID में बिखरे हुए हैं, लेकिन CPUID.0xB.EDX APIC ID के सभी 32 बिट्स लौटाता है। प्रत्येक तार्किक प्रोसेसर पर जो स्वतंत्र रूप से सीपीयूआईडी निर्देश निष्पादित करता है, एक अलग मान लौटाया जाएगा।

पारिवारिक संबंधों का पता लगाना
एपीआईसी आईडी मान स्वयं आपको टोपोलॉजी के बारे में कुछ नहीं बताता है। यह पता लगाने के लिए कि कौन से दो लॉजिकल प्रोसेसर एक भौतिक प्रोसेसर के अंदर स्थित हैं (यानी, वे "भाई" हाइपरथ्रेड हैं), कौन से दो एक ही प्रोसेसर के अंदर हैं, और कौन से पूरी तरह से अलग प्रोसेसर हैं, आपको उनके एपीआईसी आईडी मानों की तुलना करने की आवश्यकता है। रिश्ते की डिग्री के आधार पर, उनके कुछ हिस्से मेल खाएंगे। यह जानकारी CPUID.0xB उपसूचियों में निहित है, जो ECX में एन्कोडेड ऑपरेंड हैं। उनमें से प्रत्येक EAX में टोपोलॉजी स्तरों में से एक के बिट फ़ील्ड की स्थिति का वर्णन करता है (अधिक सटीक रूप से, बिट्स की संख्या जिन्हें निचले टोपोलॉजी स्तरों को हटाने के लिए एपीआईसी आईडी में दाईं ओर स्थानांतरित करने की आवश्यकता होती है), साथ ही साथ इस स्तर का प्रकार - हाइपरथ्रेड, कोर या प्रोसेसर - ईसीएक्स में।

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

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

मैं ध्यान देता हूं कि CPUID.0xB ऑपरेटिंग सिस्टम के लिए उपलब्ध लॉजिकल प्रोसेसर के बारे में जानकारी का एकमात्र स्रोत नहीं है। इसके लिए उपलब्ध सभी प्रोसेसरों की एक सूची, उनके एपीआईसी आईडी मूल्यों के साथ, एमएडीटी एसीपीआई तालिका में एन्कोड की गई है।

ऑपरेटिंग सिस्टम और टोपोलॉजी

ऑपरेटिंग सिस्टम अपने स्वयं के इंटरफेस का उपयोग करके अनुप्रयोगों को लॉजिकल प्रोसेसर की टोपोलॉजी के बारे में जानकारी प्रदान करते हैं।

लिनक्स पर, टोपोलॉजी जानकारी /proc/cpuinfo स्यूडोफ़ाइल के साथ-साथ dmidecode कमांड के आउटपुट में निहित है। नीचे दिए गए उदाहरण में, मैं HT के बिना कुछ क्वाड-कोर सिस्टम पर cpuinfo की सामग्री को फ़िल्टर करता हूं, केवल टोपोलॉजी से संबंधित प्रविष्टियां छोड़ता हूं:

छिपा हुआ पाठ

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "प्रोसेसर\|भौतिक\ आईडी\|भाई-बहन\|कोर\|कोर\|एपिसिड" प्रोसेसर: 0 भौतिक आईडी: 0 भाई-बहन: 4 कोर आईडी: 0 सीपीयू कोर: 2 एपिसिड: 0 प्रारंभिक एपिसिड: 0 प्रोसेसर: 1 भौतिक आईडी: 0 सहोदर: 4 कोर आईडी: 0 सीपीयू कोर: 2 एपिसिड: 1 प्रारंभिक एपिसिड: 1 प्रोसेसर: 2 भौतिक आईडी: 0 सहोदर: 4 कोर आईडी: 1 सीपीयू कोर: 2 एपिसिड: 2 प्रारंभिक एपिसिड: 2 प्रोसेसर: 3 भौतिक आईडी: 0 सहोदर: 4 कोर आईडी: 1 सीपीयू कोर: 2 एपिसिड: 3 प्रारंभिक एपिसिड: 3

FreeBSD पर, टोपोलॉजी को XML के रूप में kern.sched.topology_spec वेरिएबल में sysctl तंत्र के माध्यम से रिपोर्ट किया जाता है:

छिपा हुआ पाठ

उपयोगकर्ता@होस्ट:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 धागा समूहश्रीमती समूह 2, 3 धागा समूहश्रीमती समूह 4, 5 धागा समूहश्रीमती समूह 6, 7 धागा समूहश्रीमती समूह

MS Windows 8 में, टोपोलॉजी जानकारी टास्क मैनेजर में देखी जा सकती है।

मल्टीथ्रेडिंग के सिद्धांत को समझने के बाद, आइए एक व्यावहारिक उदाहरण देखें - पेंटियम 4. पहले से ही इस प्रोसेसर के विकास चरण में, इंटेल इंजीनियरों ने सॉफ्टवेयर इंटरफ़ेस में बदलाव किए बिना इसके प्रदर्शन को बढ़ाने पर काम करना जारी रखा। पाँच सरलतम तरीकों पर विचार किया गया:
1. घड़ी की आवृत्ति बढ़ाएँ।
2. एक चिप पर दो प्रोसेसर लगाना।
3. नए कार्यात्मक ब्लॉकों का परिचय।
1. कन्वेयर एक्सटेंशन।
2. मल्टीथ्रेडिंग का उपयोग करना।
प्रदर्शन में सुधार करने का सबसे स्पष्ट तरीका अन्य मापदंडों को बदले बिना घड़ी की गति को बढ़ाना है। एक नियम के रूप में, प्रत्येक अगले प्रोसेसर मॉडल की घड़ी की गति पिछले वाले की तुलना में थोड़ी अधिक होती है। दुर्भाग्य से, जब घड़ी की गति एक सीधी रेखा में बढ़ती है, तो डेवलपर्स को दो समस्याओं का सामना करना पड़ता है: बिजली की खपत में वृद्धि (जो लैपटॉप और अन्य बैटरी चालित कंप्यूटिंग उपकरणों के लिए महत्वपूर्ण है) और ओवरहीटिंग (जिसके लिए अधिक कुशल हीट सिंक के निर्माण की आवश्यकता होती है)।
दूसरी विधि - एक चिप पर दो प्रोसेसर रखना - अपेक्षाकृत सरल है, लेकिन इसमें चिप द्वारा कब्जा किए गए क्षेत्र को दोगुना करना शामिल है। यदि प्रत्येक प्रोसेसर का अपना कैश है, तो वेफर पर चिप्स की संख्या आधी हो जाती है, लेकिन इसका मतलब यह भी है कि उत्पादन लागत दोगुनी हो जाती है। यदि दोनों प्रोसेसर कैश मेमोरी साझा करते हैं, तो कब्जे वाले क्षेत्र में महत्वपूर्ण वृद्धि से बचा जा सकता है, लेकिन इस मामले में एक और समस्या उत्पन्न होती है - प्रति प्रोसेसर कैश मेमोरी की मात्रा आधी हो जाती है, और यह अनिवार्य रूप से प्रदर्शन को प्रभावित करता है। इसके अलावा, यदि पेशेवर सर्वर एप्लिकेशन कई प्रोसेसर के संसाधनों का पूरी तरह से उपयोग करने में सक्षम हैं, तो पारंपरिक में डेस्कटॉप प्रोग्रामआंतरिक समानता बहुत कम सीमा तक विकसित होती है।
नए कार्यात्मक ब्लॉकों का परिचय भी मुश्किल नहीं है, लेकिन यहां संतुलन बनाए रखना महत्वपूर्ण है। यदि चिप पाइपलाइन को उस गति से कमांड जारी नहीं कर सकता है जो आपको इन सभी ब्लॉकों को लोड करने की अनुमति देता है, तो एक दर्जन ALU ब्लॉक रखने का क्या मतलब है?
चरणों की बढ़ी हुई संख्या वाली एक पाइपलाइन, जो कार्यों को छोटे खंडों में विभाजित करने और उन्हें कम समय में संसाधित करने में सक्षम है, एक ओर प्रदर्शन में सुधार करती है, दूसरी ओर, गलत शाखा भविष्यवाणियों, कैश मिस, व्यवधान के नकारात्मक परिणामों को बढ़ाती है। और अन्य घटनाएं जो प्रोसेसर में सामान्य प्रवाह प्रोसेसिंग कमांड को बाधित करती हैं। इसके अलावा, विस्तारित पाइपलाइन की क्षमताओं को पूरी तरह से महसूस करने के लिए, घड़ी की आवृत्ति को बढ़ाना आवश्यक है, और जैसा कि हम जानते हैं, इससे बिजली की खपत और गर्मी अपव्यय में वृद्धि होती है।
अंत में, आप मल्टीथ्रेडिंग लागू कर सकते हैं। इस तकनीक का लाभ एक अतिरिक्त सॉफ्टवेयर थ्रेड की शुरूआत है जो हार्डवेयर संसाधनों को उपयोग में लाने की अनुमति देता है जो अन्यथा निष्क्रिय होते। प्रायोगिक अध्ययनों के परिणामों के आधार पर, इंटेल डेवलपर्स ने पाया कि कई अनुप्रयोगों के लिए मल्टीथ्रेडिंग लागू करते समय चिप क्षेत्र को 5% बढ़ाने से प्रदर्शन में 25% की वृद्धि होती है। मल्टीथ्रेडिंग को सपोर्ट करने वाला पहला इंटेल प्रोसेसर 2002 Xeon था। इसके बाद, 3.06 गीगाहर्ट्ज से शुरू होकर, मल्टीथ्रेडिंग को पेंटियम 4 लाइन में पेश किया गया, इंटेल ने पेंटियम 4 हाइपरथ्रेडिंग में मल्टीथ्रेडिंग के कार्यान्वयन को कहा।
हाइपरथ्रेडिंग का मूल सिद्धांत दो प्रोग्राम थ्रेड्स (या प्रक्रियाओं - प्रोसेसर प्रोग्राम थ्रेड्स से प्रक्रियाओं को अलग नहीं करता है) का एक साथ निष्पादन है। ऑपरेटिंग सिस्टम पेंटियम 4 हाइपरथ्रेडेड प्रोसेसर को साझा कैश और मुख्य मेमोरी के साथ एक दोहरे प्रोसेसर कॉम्प्लेक्स के रूप में मानता है। ऑपरेटिंग सिस्टम प्रत्येक प्रोग्राम थ्रेड के लिए अलग से शेड्यूलिंग करता है। इस तरह, दो एप्लिकेशन एक ही समय में चल सकते हैं। जैसे, मेल कार्यक्रमउपयोगकर्ता के साथ इंटरैक्ट करते समय पृष्ठभूमि में संदेश भेज या प्राप्त कर सकता है इंटरैक्टिव अनुप्रयोग- अर्थात, डेमॉन और उपयोगकर्ता प्रोग्राम को एक साथ निष्पादित किया जाता है, जैसे कि सिस्टम में दो प्रोसेसर उपलब्ध हों।
एप्लिकेशन प्रोग्राम जिन्हें एकाधिक थ्रेड के रूप में निष्पादित किया जा सकता है, वे "वर्चुअल प्रोसेसर" दोनों का उपयोग कर सकते हैं। उदाहरण के लिए, वीडियो संपादन प्रोग्राम आम तौर पर उपयोगकर्ताओं को सभी फ़्रेमों पर फ़िल्टर लागू करने की अनुमति देते हैं। ऐसे फ़िल्टर फ़्रेम की चमक, कंट्रास्ट, रंग संतुलन और अन्य गुणों को समायोजित करते हैं। ऐसी स्थिति में, प्रोग्राम एक वर्चुअल प्रोसेसर को सम फ़्रेम को प्रोसेस करने के लिए और दूसरे को विषम फ़्रेम को प्रोसेस करने के लिए असाइन कर सकता है। इस स्थिति में, दोनों प्रोसेसर एक-दूसरे से पूरी तरह स्वतंत्र रूप से काम करेंगे।
चूँकि सॉफ़्टवेयर थ्रेड्स समान हार्डवेयर संसाधनों तक पहुँचते हैं, इसलिए इन थ्रेड्स के बीच समन्वय आवश्यक है। हाइपरथ्रेडिंग के संदर्भ में, इंटेल ने संसाधन साझाकरण के प्रबंधन के लिए चार उपयोगी रणनीतियों की पहचान की है: संसाधन दोहराव, और हार्ड, थ्रेशोल्ड और पूर्ण संसाधन साझाकरण। आइए इन रणनीतियों पर नजर डालें।
आइए संसाधन दोहराव से शुरुआत करें। जैसा कि ज्ञात है, कार्यक्रम प्रवाह को व्यवस्थित करने के उद्देश्य से कुछ संसाधनों की नकल की जाती है। उदाहरण के लिए, चूंकि प्रत्येक प्रोग्राम थ्रेड को व्यक्तिगत नियंत्रण की आवश्यकता होती है, इसलिए एक दूसरे प्रोग्राम काउंटर की आवश्यकता होती है। इसके अलावा, भौतिक रजिस्टरों में वास्तुशिल्प रजिस्टरों (ईएएक्स, ईबीएक्स, आदि) को मैप करने वाली दूसरी तालिका पेश करना आवश्यक है; इसी तरह, इंटरप्ट कंट्रोलर को डुप्लिकेट किया गया है, क्योंकि प्रत्येक थ्रेड के लिए इंटरप्ट को अलग-अलग नियंत्रित किया जाता है।
निम्नलिखित प्रोग्राम थ्रेड्स के बीच संसाधनों के कठिन विभाजन (विभाजित संसाधन साझाकरण) के लिए एक तकनीक है। उदाहरण के लिए, यदि प्रोसेसर में पाइपलाइन के दो कार्यात्मक चरणों के बीच एक कतार है, तो आधे स्लॉट थ्रेड 1 को दिए जा सकते हैं, दूसरे आधे थ्रेड 2 को। संसाधन साझाकरण को लागू करना आसान है, इससे असंतुलन नहीं होता है और यह सुनिश्चित होता है पूर्ण स्वतंत्रताप्रोग्राम थ्रेड एक दूसरे से। सभी संसाधनों को पूरी तरह से साझा करके, एक प्रोसेसर प्रभावी रूप से दो में बदल जाता है। दूसरी ओर, ऐसी स्थिति भी हो सकती है जिसमें एक प्रोग्राम थ्रेड उन संसाधनों का उपयोग नहीं करता है जो दूसरे थ्रेड के लिए उपयोगी हो सकते हैं, लेकिन जिसके लिए उसके पास एक्सेस अधिकार नहीं हैं। परिणामस्वरूप, जिन संसाधनों का अन्यथा उपयोग किया जा सकता था वे निष्क्रिय हैं।
हार्ड शेयरिंग के विपरीत पूर्ण संसाधन शेयरिंग है। इस योजना में, कोई भी प्रोग्राम थ्रेड आवश्यक संसाधनों तक पहुंच सकता है, और उन्हें उसी क्रम में सेवा प्रदान की जाती है जिसमें एक्सेस अनुरोध प्राप्त होते हैं। ऐसी स्थिति पर विचार करें जिसमें एक तेज धागा, जिसमें मुख्य रूप से जोड़ और घटाव संचालन शामिल है, एक धीमे धागे के साथ मिलकर गुणन और विभाजन संचालन को कार्यान्वित करता है। यदि गुणा और भाग संचालन की तुलना में निर्देशों को मेमोरी से तेजी से बुलाया जाता है, तो धीमे थ्रेड के भीतर बुलाए गए और पाइपलाइन में कतारबद्ध निर्देशों की संख्या धीरे-धीरे बढ़ जाएगी। आख़िरकार ये कमांड कतार को भर देंगे, जिससे जगह की कमी के कारण तेज़ प्रवाह रुक जाएगा। पूर्ण संसाधन साझाकरण से कम खर्च की समस्या हल हो जाती है साझा संसाधन, लेकिन उनके उपभोग में असंतुलन पैदा करता है - एक प्रवाह धीमा हो सकता है या दूसरे को रोक सकता है।
मध्यवर्ती योजना थ्रेशोल्ड संसाधन साझाकरण के ढांचे के भीतर कार्यान्वित की जाती है। इस योजना के अनुसार, कोई भी प्रोग्राम थ्रेड गतिशील रूप से एक निश्चित (सीमित) मात्रा में संसाधन प्राप्त कर सकता है। जब प्रतिकृति संसाधनों पर लागू किया जाता है, तो यह दृष्टिकोण संसाधनों को प्राप्त करने में असमर्थता के कारण प्रोग्राम थ्रेड में से किसी एक के डाउनटाइम होने के खतरे के बिना लचीलापन प्रदान करता है। यदि, उदाहरण के लिए, आप प्रत्येक थ्रेड को कमांड कतार के 3/4 से अधिक हिस्से पर कब्जा करने से रोकते हैं, तो धीमे थ्रेड की बढ़ी हुई संसाधन खपत तेज़ थ्रेड के निष्पादन में हस्तक्षेप नहीं करेगी।
पेंटियम 4 हाइपरथ्रेडिंग मॉडल विभिन्न संसाधन साझाकरण रणनीतियों को जोड़ता है। इस प्रकार, प्रत्येक रणनीति से जुड़ी सभी समस्याओं को हल करने का प्रयास किया जाता है। दोहराव उन संसाधनों में होता है जिन्हें दोनों थ्रेड्स को लगातार एक्सेस करने की आवश्यकता होती है (विशेष रूप से, प्रोग्राम काउंटर, रजिस्टर मैप टेबल और इंटरप्ट कंट्रोलर)। इन संसाधनों की नकल करने से चिप क्षेत्र में केवल 5% की वृद्धि होती है - आप सहमत हैं, मल्टीथ्रेडिंग के लिए एक बहुत ही उचित मूल्य। जो संसाधन इतनी मात्रा में उपलब्ध हैं कि उन्हें एक ही थ्रेड (उदाहरण के लिए, कैश लाइन) द्वारा कैप्चर किए जाने की लगभग संभावना नहीं है, उन्हें गतिशील रूप से आवंटित किया जाता है। पाइपलाइन के संचालन को नियंत्रित करने वाले संसाधनों तक पहुंच (विशेष रूप से, इसकी कई कतारें) विभाजित है - प्रत्येक प्रोग्राम थ्रेड को आधे स्लॉट दिए गए हैं। पेंटियम 4 में लागू नेटबर्स्ट आर्किटेक्चर की मुख्य पाइपलाइन चित्र में दिखाई गई है। 8.7; इस चित्रण में सफेद और भूरे क्षेत्र सफेद और भूरे प्रोग्राम थ्रेड के बीच संसाधनों को वितरित करने के तंत्र को दर्शाते हैं।
जैसा कि आप देख सकते हैं, इस चित्रण में सभी कतारें विभाजित हैं - प्रत्येक प्रोग्राम थ्रेड को आधे स्लॉट आवंटित किए गए हैं। कोई भी प्रोग्राम थ्रेड दूसरे के कार्य को प्रतिबंधित नहीं कर सकता। वितरण एवं प्रतिस्थापन ब्लॉक भी विभाजित है। शेड्यूलर संसाधनों को गतिशील रूप से आवंटित किया जाता है, लेकिन कुछ सीमा के आधार पर - ताकि कोई भी थ्रेड सभी कतार स्लॉट पर कब्जा न कर सके। कन्वेयर के अन्य सभी चरणों के लिए पूर्ण पृथक्करण है।
हालाँकि, मल्टीथ्रेडिंग के साथ, सब कुछ इतना सरल नहीं है। ऐसी प्रगतिशील तकनीक के भी नुकसान हैं। संसाधनों का कठोर विभाजन गंभीर लागतों से जुड़ा नहीं है, लेकिन गतिशील विभाजन, विशेष रूप से थ्रेसहोल्ड को ध्यान में रखते हुए, रनटाइम पर संसाधन खपत की निगरानी की आवश्यकता होती है। इसके अलावा, कुछ मामलों में, मल्टीथ्रेडिंग की तुलना में प्रोग्राम बिना मल्टीथ्रेडिंग के बहुत बेहतर तरीके से चलते हैं। उदाहरण के लिए, मान लीजिए कि यदि आपके पास दो प्रोग्राम थ्रेड हैं, तो उनमें से प्रत्येक को ठीक से काम करने के लिए 3/4 कैश की आवश्यकता होती है। यदि उन्हें वैकल्पिक रूप से निष्पादित किया जाता है, तो प्रत्येक कम संख्या में कैश मिस (अतिरिक्त ओवरहेड के साथ जुड़ा हुआ माना जाता है) के साथ उचित दक्षता दिखाएगा। समानांतर निष्पादन के मामले में, प्रत्येक में काफी अधिक कैश छूट होगी, और अंतिम परिणाम मल्टीथ्रेडिंग के बिना भी बदतर होगा।
रिपपिट 4 मल्टीथ्रेडिंग तंत्र के बारे में अतिरिक्त जानकारी यहां पाई जा सकती है।

परिचय। कंप्यूटर प्रौद्योगिकी तीव्र गति से विकसित हो रही है। कंप्यूटिंग डिवाइस अधिक शक्तिशाली, अधिक कॉम्पैक्ट, अधिक सुविधाजनक होते जा रहे हैं, लेकिन हाल ही में डिवाइस के प्रदर्शन में वृद्धि हुई है बड़ी समस्या. 1965 में, गॉर्डन मूर (इंटेल के संस्थापकों में से एक) इस निष्कर्ष पर पहुंचे कि "एक एकीकृत सर्किट चिप पर रखे गए ट्रांजिस्टर की संख्या हर 24 महीने में दोगुनी हो जाती है।"

मल्टीप्रोसेसर सिस्टम बनाने के क्षेत्र में पहला विकास 70 के दशक में शुरू हुआ। लंबे समय तकपारंपरिक सिंगल-कोर प्रोसेसर के प्रदर्शन को चिप पर ट्रांजिस्टर की संख्या में एक साथ वृद्धि के साथ-साथ घड़ी आवृत्ति (80% तक प्रदर्शन केवल घड़ी आवृत्ति द्वारा निर्धारित किया गया था) में वृद्धि करके बढ़ाया गया था। मौलिक कानूनभौतिकविदों ने इस प्रक्रिया को रोक दिया: चिप्स ज़्यादा गरम होने लगे, तकनीकी सिलिकॉन परमाणुओं के आकार के करीब पहुंचने लगे। इन सभी कारकों ने इस तथ्य को जन्म दिया कि:

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

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

हाइपर-थ्रेडिंग टेक्नोलॉजी (HTT) या अल्ट्रा-थ्रेडिंग डेटा प्रोसेसिंग तकनीक जो एक प्रोसेसर को एक कोर पर कई प्रोग्राम थ्रेड निष्पादित करने की अनुमति देती है। कई विशेषज्ञों की राय में, यह HTT ही था, जो इसके निर्माण के लिए पूर्व शर्त बन गया मल्टी-कोर प्रोसेसर. एक प्रोसेसर द्वारा एक साथ कई प्रोग्राम थ्रेड्स के निष्पादन को थ्रेड-लेवल पैरेललिज्म (टीएलपी) कहा जाता है।

मल्टी-कोर प्रोसेसर की क्षमता को अनलॉक करने के लिए, निष्पादन योग्य प्रोग्राम को सभी कंप्यूटिंग कोर का उपयोग करना होगा, जो हमेशा प्राप्त करने योग्य नहीं होता है। पुराने अनुक्रमिक प्रोग्राम जो केवल एक कोर का उपयोग कर सकते हैं, अब नई पीढ़ी के प्रोसेसर पर तेजी से नहीं चलेंगे, इसलिए प्रोग्रामर नए माइक्रोप्रोसेसर के विकास में तेजी से शामिल हो रहे हैं।

1. सामान्य अवधारणाएँ

वास्तुकला में व्यापक अर्थों मेंयह कई तत्वों से बनी एक जटिल प्रणाली का वर्णन है।

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

माइक्रोप्रोसेसर (या प्रोसेसर) कंप्यूटर का मुख्य घटक है। यह सूचना संसाधित करता है, प्रोग्राम निष्पादित करता है और सिस्टम में अन्य उपकरणों को नियंत्रित करता है। प्रोसेसर की शक्ति यह निर्धारित करती है कि प्रोग्राम कितनी तेजी से निष्पादित होंगे।

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

आईबीएम-संगत पीसी में उपयोग किए जाने वाले इंटेल प्रोसेसर में एक हजार से अधिक निर्देश होते हैं और वे एक विस्तारित निर्देश प्रणाली वाले प्रोसेसर से संबंधित होते हैं - सीआईएससी प्रोसेसर (सीआईएससी - कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटिंग)।

1.1 उच्च प्रदर्शन कंप्यूटिंग। समानता

विकास दर कंप्यूटर प्रौद्योगिकीइसका पता लगाना आसान है: ENIAC (पहला सामान्य प्रयोजन इलेक्ट्रॉनिक डिजिटल कंप्यूटर) से लेकर प्रति सेकंड कई हजार ऑपरेशन के प्रदर्शन के साथ तियानहे -2 सुपरकंप्यूटर (प्रति सेकंड 1000 ट्रिलियन फ्लोटिंग पॉइंट ऑपरेशन) तक। इसका मतलब है कि कंप्यूटिंग की गति 60 वर्षों में एक ट्रिलियन गुना बढ़ गई है। उच्च-प्रदर्शन कंप्यूटिंग सिस्टम का निर्माण सबसे कठिन वैज्ञानिक और तकनीकी समस्याओं में से एक है। यह देखते हुए कि गणना की गति तकनीकी साधनकेवल कुछ मिलियन गुना वृद्धि हुई, गणना की समग्र गति खरबों गुना बढ़ गई। यह प्रभाव गणना के सभी चरणों में समानता के उपयोग के माध्यम से प्राप्त किया जाता है। समानांतर कंप्यूटिंग के लिए तर्कसंगत मेमोरी आवंटन, सूचना प्रसारित करने के विश्वसनीय तरीकों और कम्प्यूटेशनल प्रक्रियाओं के समन्वय की खोज की आवश्यकता होती है।

1.2 सममित मल्टीप्रोसेसिंग

सममित मल्टीप्रोसेसिंग (संक्षिप्त रूप में एसएमपी) या सममित मल्टीप्रोसेसिंग मल्टीप्रोसेसर सिस्टम का एक विशेष आर्किटेक्चर है जिसमें कई प्रोसेसर के पास साझा मेमोरी तक पहुंच होती है। यह एक बहुत ही सामान्य वास्तुकला है, जिसका हाल ही में काफी व्यापक रूप से उपयोग किया गया है।

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

ऊपर सूचीबद्ध विशेषताओं के कारण, एसएमपी सिस्टम का उपयोग विशेष रूप से वैज्ञानिक क्षेत्र, उद्योग, व्यवसाय और कार्य कार्यालयों में बहुत कम ही किया जाता है। हार्डवेयर कार्यान्वयन की उच्च लागत के अलावा, ऐसे सिस्टम के लिए बहुत महंगे और उच्च गुणवत्ता वाले सॉफ़्टवेयर की आवश्यकता होती है जो कार्यों का बहु-थ्रेडेड निष्पादन प्रदान करता है। नियमित कार्यक्रम (गेम, टेक्स्ट एडिटर) एसएमपी सिस्टम में प्रभावी ढंग से काम नहीं करेंगे, क्योंकि वे इस तरह की समानता प्रदान नहीं करते हैं। यदि आप किसी प्रोग्राम को एसएमपी सिस्टम के लिए अनुकूलित करते हैं, तो यह एकल-प्रोसेसर सिस्टम पर बेहद अप्रभावी हो जाएगा, जिसके कारण एक ही प्रोग्राम के कई संस्करण बनाने की आवश्यकता होती है। विभिन्न प्रणालियाँ. एक अपवाद है, उदाहरण के लिए, ABLETON LIVE प्रोग्राम (संगीत बनाने और डीजे सेट तैयार करने के लिए डिज़ाइन किया गया), जिसमें मल्टीप्रोसेसर सिस्टम के लिए समर्थन है। यदि आप मल्टीप्रोसेसर सिस्टम पर एक नियमित प्रोग्राम चलाते हैं, तो यह एकल-प्रोसेसर सिस्टम की तुलना में थोड़ा तेज़ चलेगा। यह तथाकथित हार्डवेयर इंटरप्ट (कर्नेल द्वारा प्रोसेसिंग के लिए प्रोग्राम को रोकना) के कारण होता है, जिसे दूसरे फ्री प्रोसेसर पर निष्पादित किया जाता है।

एक एसएमपी प्रणाली (समानांतर कंप्यूटिंग पर आधारित किसी भी अन्य प्रणाली की तरह) मेमोरी बस बैंडविड्थ जैसे मेमोरी पैरामीटर पर बढ़ी हुई मांग रखती है। यह अक्सर सिस्टम में प्रोसेसर की संख्या को सीमित करता है (आधुनिक एसएमपी सिस्टम प्रभावी रूप से 16 प्रोसेसर तक चलते हैं)।

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

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

एसएमपी सिस्टम कंप्यूटिंग सिस्टम के फ्लिन वर्गीकरण (स्टैनफोर्ड यूनिवर्सिटी के प्रोफेसर, पालिन एसोसिएट्स के सह-संस्थापक) के एमआईएमडी (मल्टी-इन-स्ट्रक्शन मल्टी डेटा - मल्टीपल कमांड स्ट्रीम और मल्टीपल डेटा स्ट्रीम वाला एक कंप्यूटिंग सिस्टम) का एक उपसमूह हैं। इस वर्गीकरण के अनुसार, लगभग सभी प्रकार की समानांतर प्रणालियों को एमआईएमडी के रूप में वर्गीकृत किया जा सकता है।

मल्टीप्रोसेसर सिस्टम को मेमोरी उपयोग के सिद्धांत के आधार पर प्रकारों में विभाजित किया गया है। इस दृष्टिकोण ने हमें निम्नलिखित महत्वपूर्ण प्रकारों में अंतर करने की अनुमति दी

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

इन प्रणालियों में हम निम्नलिखित पर प्रकाश डाल सकते हैं:

  • सिस्टम जहां केवल प्रोसेसर की व्यक्तिगत कैश मेमोरी का उपयोग डेटा (कैश-ओनली मेमोरी आर्किटेक्चर) प्रस्तुत करने के लिए किया जाता है।
  • सिस्टम जो विभिन्न प्रोसेसर (कैश-सुसंगत NUMA) के लिए स्थानीय कैश की सुसंगतता सुनिश्चित करते हैं।
  • समर्थन के साथ सिस्टम सार्वजनिक अभिगमहार्डवेयर स्तर (गैर-कैश सुसंगत NUMA) पर कैश सुसंगतता को लागू किए बिना प्रोसेसर की व्यक्तिगत मेमोरी में।

मल्टीप्रोसेसर सिस्टम बनाने की समस्या का सरलीकरण वितरित साझा मेमोरी का उपयोग करके प्राप्त किया जाता है, लेकिन इस पद्धति से समानांतर प्रोग्रामिंग की जटिलता में उल्लेखनीय वृद्धि होती है।

1.3 एक साथ मल्टीथ्रेडिंग

सममित मल्टीप्रोसेसिंग के उपरोक्त सभी नुकसानों के आधार पर, प्रदर्शन में सुधार के अन्य तरीकों को विकसित करना और विकसित करना समझ में आता है। यदि आप प्रोसेसर में प्रत्येक व्यक्तिगत ट्रांजिस्टर के संचालन का विश्लेषण करते हैं, तो आप बहुत पर ध्यान दे सकते हैं दिलचस्प तथ्य- अधिकांश कम्प्यूटेशनल ऑपरेशन करते समय, सभी प्रोसेसर घटकों का उपयोग नहीं किया जाता है (के अनुसार)। नवीनतम शोध- सभी ट्रांजिस्टर का लगभग 30%)। इस प्रकार, यदि प्रोसेसर एक साधारण अंकगणितीय ऑपरेशन करता है, तो अधिकांश प्रोसेसर निष्क्रिय होता है, इसलिए, इसका उपयोग अन्य गणनाओं के लिए किया जा सकता है। तो, अगर अंदर इस पलप्रोसेसर वास्तविक संचालन करता है, फिर अंदर मुक्त भागआप एक पूर्णांक अंकगणितीय ऑपरेशन लोड कर सकते हैं। प्रोसेसर पर लोड बढ़ाने के लिए, आप संचालन का सट्टा (या आगे) निष्पादन बना सकते हैं, जिसके लिए प्रोसेसर हार्डवेयर तर्क की एक बड़ी जटिलता की आवश्यकता होती है। यदि आप प्रोग्राम थ्रेड्स (कमांडों के अनुक्रम) को पहले से परिभाषित करते हैं जिन्हें एक दूसरे से स्वतंत्र रूप से निष्पादित किया जा सकता है, तो यह कार्य को काफी सरल बना देगा (यह विधि हार्डवेयर स्तर पर आसानी से कार्यान्वित की जाती है)। डीन टॉल्सन के स्वामित्व वाले (उनके द्वारा 1955 में वाशिंगटन विश्वविद्यालय में विकसित) इस विचार को एक साथ मल्टीथ्रेडिंग कहा जाता था। इसे बाद में Intel द्वारा हाइपरथ्रेडिंग नाम से विकसित किया गया। इस प्रकार, कई थ्रेड्स को निष्पादित करने वाला एक प्रोसेसर ऑपरेटिंग सिस्टम द्वारा माना जाता है विंडोज़ सिस्टमएकाधिक प्रोसेसर की तरह. इस तकनीक का फिर से उपयोग करने की आवश्यकता है उचित स्तरसॉफ़्टवेयर। मल्टीथ्रेडिंग तकनीक के उपयोग से अधिकतम प्रभाव लगभग 30% है।

1.4 मल्टी-कोर

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

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

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

* हमेशा वर्तमान मुद्दोंप्रोसेसर चुनते समय आपको किन बातों पर ध्यान देना चाहिए, ताकि गलती न हो।

इस लेख में हमारा लक्ष्य प्रोसेसर के प्रदर्शन और अन्य परिचालन विशेषताओं को प्रभावित करने वाले सभी कारकों का वर्णन करना है।

यह शायद कोई रहस्य नहीं है कि प्रोसेसर कंप्यूटर की मुख्य कंप्यूटिंग इकाई है। आप यह भी कह सकते हैं - कंप्यूटर का सबसे महत्वपूर्ण भाग।

यह वह है जो कंप्यूटर पर होने वाली लगभग सभी प्रक्रियाओं और कार्यों को संसाधित करता है।

चाहे वह वीडियो देखना हो, संगीत हो, इंटरनेट सर्फिंग हो, मेमोरी में लिखना और पढ़ना हो, 3डी और वीडियो प्रोसेस करना हो, गेम हो। और भी बहुत कुछ।

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

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

इंटेल बनाम एएमडी

*हमेशा के लिए पकड़ो

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

प्रोसेसर मूल्य निर्धारण नीति इंटेल, दोनों पर आधारित है कोर की संख्या, कैश की मात्रा, लेकिन पर भी वास्तुकला की "ताजगी"।, प्रति घड़ी प्रदर्शनवाट,चिप प्रक्रिया प्रौद्योगिकी. कैश मेमोरी का अर्थ, "तकनीकी प्रक्रिया की सूक्ष्मताएं" और अन्य महत्वपूर्ण विशेषताएँप्रोसेसर पर नीचे चर्चा की जाएगी। ऐसी प्रौद्योगिकियों के कब्जे के साथ-साथ एक निःशुल्क आवृत्ति गुणक के लिए, आपको अतिरिक्त राशि का भुगतान भी करना होगा।

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

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

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

कोर- व्यावहारिक रूप से अपरिवर्तित रहते हैं, केवल उनकी संख्या भिन्न होती है (प्रोसेसर के लिए सच है)। 2006-2011 साल)। अपने प्रोसेसर की मॉड्यूलैरिटी के कारण, कंपनी अस्वीकृत चिप्स को बेचने का उत्कृष्ट काम करती है, जो, जब कुछ ब्लॉक बंद हो जाते हैं, तो कम उत्पादक लाइन से प्रोसेसर बन जाते हैं।

कंपनी कई वर्षों से कोड नाम के तहत पूरी तरह से नए आर्किटेक्चर पर काम कर रही है बुलडोज़र, लेकिन रिलीज़ के समय में 2011 वर्ष, नए प्रोसेसर ने सर्वोत्तम प्रदर्शन नहीं दिखाया। एएमडीमैंने डुअल कोर और "अन्य मल्टीथ्रेडिंग" की वास्तुशिल्प विशेषताओं को न समझ पाने के लिए ऑपरेटिंग सिस्टम को दोषी ठहराया।

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

प्रोसेसर आवृत्ति, कोर की संख्या, मल्टी-थ्रेडिंग।

समय के दौरान पेंटियम 4और उससे पहले - सीपीयू आवृत्ति, प्रोसेसर का चयन करते समय मुख्य प्रोसेसर प्रदर्शन कारक था।

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

क्याहमारे लिए भी वैसा ही मल्टी-कोर देता है?

आवृत्ति के साथ क्वाड-कोर प्रोसेसर 2.4 गीगाहर्ट्ज़बहु-थ्रेडेड अनुप्रयोगों में, सैद्धांतिक रूप से आवृत्ति के साथ सिंगल-कोर प्रोसेसर के लगभग बराबर होगा 9.6 गीगाहर्ट्ज़या आवृत्ति के साथ 2-कोर प्रोसेसर 4.8 गीगाहर्ट्ज़. लेकिन वह केवल इतना ही है सिद्धांत में. वास्तव मेंहालाँकि, दो-सॉकेट मदरबोर्ड में दो डुअल-कोर प्रोसेसर समान ऑपरेटिंग आवृत्ति पर एक 4-कोर प्रोसेसर से तेज़ होंगे। बस की गति सीमाएँ और मेमोरी विलंबता पर असर पड़ता है।

* समान आर्किटेक्चर और कैश मेमोरी की मात्रा के अधीन

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

अनुप्रयोग जो "प्यार" करते हैं और उपयोगमल्टीथ्रेडिंग: संग्रहकर्ता, वीडियो प्लेयर और एनकोडर, antiviruses, डीफ्रैग्मेंटर प्रोग्राम, ग्राफ़िक संपादक , ब्राउज़रों, चमक.

इसके अलावा, मल्टीथ्रेडिंग के "प्रेमियों" में ऐसे ऑपरेटिंग सिस्टम शामिल हैं विंडोज 7और विंडोज विस्टा, उतने कि जितने अधिक ओएसकर्नेल आधारित लिनक्स, जो मल्टी-कोर प्रोसेसर के साथ काफी तेजी से काम करता है।

अधिकांश खेल, कभी-कभी उच्च आवृत्ति पर 2-कोर प्रोसेसर काफी होता है। हालाँकि, अब अधिक से अधिक गेम रिलीज़ हो रहे हैं जो मल्टी-थ्रेडिंग के लिए डिज़ाइन किए गए हैं। ये तो ले लो सैंडबॉक्सखेल जैसे जीटीए 4या प्रोटोटाइप, जिसमें कम आवृत्ति के साथ 2-कोर प्रोसेसर पर 2.6 गीगाहर्ट्ज़- आप सहज महसूस नहीं करते, फ्रेम दर 30 फ्रेम प्रति सेकंड से नीचे चली जाती है। हालाँकि इस मामले में, ऐसी घटनाओं का सबसे अधिक कारण गेम का "कमजोर" अनुकूलन, समय की कमी या गेम को कंसोल से स्थानांतरित करने वालों के "अप्रत्यक्ष" हाथ हैं। पीसी.

गेमिंग के लिए नया प्रोसेसर खरीदते समय अब ​​आपको 4 या अधिक कोर वाले प्रोसेसर पर ध्यान देना चाहिए। लेकिन फिर भी, आपको "उच्च श्रेणी" के 2-कोर प्रोसेसर की उपेक्षा नहीं करनी चाहिए। कुछ खेलों में, ये प्रोसेसर कभी-कभी कुछ मल्टी-कोर प्रोसेसर से बेहतर महसूस होते हैं।

प्रोसेसर कैश मेमोरी.

प्रोसेसर चिप का एक समर्पित क्षेत्र है जिसमें प्रोसेसर कोर, रैम और अन्य बसों के बीच मध्यवर्ती डेटा को संसाधित और संग्रहीत किया जाता है।

यह बहुत तेज़ क्लॉक स्पीड पर चलता है (आमतौर पर प्रोसेसर की आवृत्ति पर ही), इसमें बहुत अधिक बैंडविड्थ होती है और प्रोसेसर कोर इसके साथ सीधे काम करते हैं ( एल1).

उसकी वजह से कमी, प्रोसेसर समय लेने वाले कार्यों में निष्क्रिय हो सकता है, प्रसंस्करण के लिए कैश में नए डेटा के आने की प्रतीक्षा कर रहा है। साथ ही कैश मेमोरी भी के लिए कार्य करता हैबार-बार दोहराए जाने वाले डेटा के रिकॉर्ड, जिन्हें यदि आवश्यक हो, तो अनावश्यक गणनाओं के बिना, प्रोसेसर को उन पर फिर से समय बर्बाद किए बिना तुरंत बहाल किया जा सकता है।

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

इस तकनीक का उपयोग अब किया जाता है लेवल 3 कैश. प्रोसेसर के लिए इंटेलएकीकृत स्तर 2 कैश मेमोरी वाले प्रोसेसर थे ( सी2डी ई 7***,ई 8***), जिसकी बदौलत यह विधि बहु-थ्रेडेड प्रदर्शन को बढ़ाती दिखाई दी।

प्रोसेसर को ओवरक्लॉक करने पर कैश मेमोरी बन सकती है कमजोर बिंदु, प्रोसेसर को त्रुटियों के बिना उसकी अधिकतम ऑपरेटिंग आवृत्ति से अधिक ओवरक्लॉक होने से रोकना। हालाँकि, प्लस यह है कि यह ओवरक्लॉक किए गए प्रोसेसर के समान आवृत्ति पर चलेगा।

सामान्य तौर पर, कैश मेमोरी जितनी बड़ी होगी और तेज CPU। वास्तव में किन अनुप्रयोगों में?

सभी एप्लिकेशन जो बहुत सारे फ़्लोटिंग पॉइंट डेटा, निर्देशों और थ्रेड्स का उपयोग करते हैं, कैश मेमोरी का भारी उपयोग करते हैं। कैश मेमोरी बहुत लोकप्रिय है संग्रहकर्ता, वीडियो एनकोडर, antivirusesऔर ग्राफ़िक संपादकवगैरह।

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

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

कैश मेमोरी हमेशा संभावित त्रुटियों से सुरक्षा से सुसज्जित होती है ( ईसीसी), यदि पता चलता है, तो उन्हें ठीक कर दिया जाता है। यह बहुत महत्वपूर्ण है, क्योंकि मेमोरी कैश में एक छोटी सी त्रुटि, संसाधित होने पर, एक विशाल, निरंतर त्रुटि में बदल सकती है जो पूरे सिस्टम को क्रैश कर देगी।

मालिकाना प्रौद्योगिकियाँ।

(हाइपर थ्रेडिंग, हिंदुस्तान टाइम्स)–

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

प्रणाली का सिद्धांत यह है कि प्रत्येक भौतिक कोर के लिए, एक दो कंप्यूटिंग धागे, एक के बजाय। यानी अगर आपके पास 4-कोर प्रोसेसर है हिंदुस्तान टाइम्स (कोर मैं 7), तो आपके पास वर्चुअल थ्रेड हैं 8 .

प्रदर्शन लाभ इस तथ्य के कारण प्राप्त होता है कि डेटा पहले से ही पाइपलाइन में प्रवेश कर सकता है, और जरूरी नहीं कि शुरुआत में ही। यदि इस क्रिया को करने में सक्षम कुछ प्रोसेसर ब्लॉक निष्क्रिय हैं, तो उन्हें निष्पादन के लिए कार्य प्राप्त होता है। प्रदर्शन लाभ वास्तविक भौतिक कोर के समान नहीं है, लेकिन तुलनीय है (अनुप्रयोग के प्रकार के आधार पर ~50-75%)। यह काफी दुर्लभ है कि कुछ अनुप्रयोगों में, HT नकारात्मक प्रभाव डालता हैप्रदर्शन के लिए. यह इस तकनीक के लिए अनुप्रयोगों के खराब अनुकूलन, यह समझने में असमर्थता कि "आभासी" धागे हैं और समान रूप से धागे के भार के लिए सीमाओं की कमी के कारण है।

टर्बोबढ़ाना - एक बहुत ही उपयोगी तकनीक जो सबसे अधिक उपयोग किए जाने वाले प्रोसेसर कोर की ऑपरेटिंग आवृत्ति को उनके लोड स्तर के आधार पर बढ़ाती है। यह बहुत उपयोगी है जब एप्लिकेशन सभी 4 कोर का उपयोग करना नहीं जानता है और केवल एक या दो को लोड करता है, जबकि उनकी ऑपरेटिंग आवृत्ति बढ़ जाती है, जो प्रदर्शन के लिए आंशिक रूप से क्षतिपूर्ति करती है। कंपनी के पास इस तकनीक का एक एनालॉग है एएमडी, प्रौद्योगिकी है टर्बो कोर.

, 3 पता है!निर्देश. प्रोसेसर को तेज़ करने के लिए डिज़ाइन किया गया मल्टीमीडियाकंप्यूटिंग (वीडियो, संगीत, 2डी/3डी ग्राफिक्स आदि), और आर्काइवर्स, छवियों और वीडियो के साथ काम करने के लिए प्रोग्राम (इन प्रोग्रामों के निर्देशों के समर्थन से) जैसे कार्यक्रमों के काम को भी तेज करता है।

3पता है! - काफी पुरानी तकनीक एएमडी, जिसमें मल्टीमीडिया सामग्री को संसाधित करने के लिए अतिरिक्त निर्देश शामिल हैं एसएसईपहला संस्करण.

*विशेष रूप से, एकल-सटीक वास्तविक संख्याओं को स्ट्रीम करने की क्षमता।

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

* उदाहरण - एसएसई 4.1(इंटेल) - एसएसई 4ए(एएमडी)।

इसके अलावा, ये निर्देश सेट समान नहीं हैं। ये थोड़े अंतर वाले एनालॉग हैं।

कूल'एन'शांत, स्पीडस्टेप कूलकोर जादू आधा राज्य(C1E) औरटी. डी.

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

इनमें से कुछ प्रौद्योगिकियाँ सिस्टम में पंखे की घूर्णन गति को नियंत्रित करती हैं। उदाहरण के लिए, यदि प्रोसेसर को बढ़ी हुई गर्मी अपव्यय की आवश्यकता नहीं है और लोड नहीं किया गया है, तो प्रोसेसर पंखे की गति कम हो जाती है ( एएमडी कूल'एन'क्वाइट, इंटेल स्पीड स्टेप).

इंटेल वर्चुअलाइजेशन टेक्नोलॉजीऔर एएमडी वर्चुअलाइजेशन।

ये हार्डवेयर प्रौद्योगिकियाँ विशेष प्रोग्रामों का उपयोग करके एकाधिक को चलाना संभव बनाती हैं ऑपरेटिंग सिस्टमप्रदर्शन में किसी भी महत्वपूर्ण हानि के बिना, तुरंत। इसका उपयोग सर्वर के उचित संचालन के लिए भी किया जाता है, क्योंकि अक्सर उन पर एक से अधिक OS स्थापित होते हैं।

निष्पादित करना अक्षम करना अंशऔरनहीं निष्पादित करना अंशकंप्यूटर को वायरस हमलों और सॉफ़्टवेयर त्रुटियों से बचाने के लिए डिज़ाइन की गई तकनीक जो सिस्टम को क्रैश कर सकती है बफ़र अधिकता.

इंटेल 64 , एएमडी 64 , ईएम 64 टी - यह तकनीक प्रोसेसर को 32-बिट आर्किटेक्चर वाले ओएस और 64-बिट आर्किटेक्चर वाले ओएस दोनों में काम करने की अनुमति देती है। प्रणाली 64 बिट- लाभ की दृष्टि से, औसत उपयोगकर्ता के लिए यह अलग है कि यह सिस्टम 3.25GB से अधिक RAM का उपयोग कर सकता है। 32-बिट सिस्टम पर, b का उपयोग करें हेएड्रेसेबल मेमोरी* की सीमित मात्रा के कारण बड़ी मात्रा में रैम संभव नहीं है।

32-बिट आर्किटेक्चर वाले अधिकांश एप्लिकेशन 64-बिट ओएस वाले सिस्टम पर चलाए जा सकते हैं।

* आप क्या कर सकते हैं यदि 1985 में कोई भी उस समय के मानकों के अनुसार इतनी विशाल रैम के बारे में सोच भी नहीं सकता था।

इसके अतिरिक्त.

के बारे में कुछ शब्द.

यह बिंदु ध्यान देने योग्य है। तकनीकी प्रक्रिया जितनी पतली होगी, प्रोसेसर उतनी ही कम ऊर्जा की खपत करेगा और परिणामस्वरूप, यह उतना ही कम गर्म होगा। और अन्य बातों के अलावा, इसमें ओवरक्लॉकिंग के लिए उच्च सुरक्षा मार्जिन है।

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

प्रोसेसर में निर्मित.

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

इसके अलावा, जो कोर प्रोसेसर में निर्मित होते हैं वे केवल ओएस लोड करने, इंटरनेट पर सर्फिंग करने और वीडियो देखने (और किसी भी गुणवत्ता के नहीं) के लिए उपयुक्त होते हैं।

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

प्रोसेसर के लिए सॉकेट. प्लेटफार्म का जीवनकाल.


इंटेलअपने प्लेटफार्मों के लिए कठोर नीतियां रखता है। प्रत्येक का जीवनकाल (इसके लिए प्रोसेसर की बिक्री की शुरुआत और समाप्ति तिथियां) आमतौर पर 1.5 - 2 वर्ष से अधिक नहीं होता है। इसके अलावा, कंपनी के पास कई समानांतर विकासशील प्लेटफॉर्म हैं।

कंपनी एएमडी, अनुकूलता की विपरीत नीति है। उसके मंच पर पूर्वाह्न 3, सभी भावी पीढ़ी के प्रोसेसर जो समर्थन करते हैं डीडीआर3. यहां तक ​​कि जब प्लेटफॉर्म पहुंच जाता है पूर्वाह्न 3+और बाद में, या तो नए प्रोसेसर के लिए पूर्वाह्न 3, या नए प्रोसेसर पुराने प्रोसेसर के साथ संगत होंगे motherboards, और आप केवल प्रोसेसर को बदलकर (मदरबोर्ड, रैम आदि को बदले बिना) और मदरबोर्ड को फ्लैश करके अपने वॉलेट के लिए दर्द रहित अपग्रेड कर सकते हैं। प्रकार बदलते समय असंगति की एकमात्र बारीकियाँ उत्पन्न हो सकती हैं, क्योंकि प्रोसेसर में निर्मित एक अलग मेमोरी नियंत्रक की आवश्यकता होगी। इसलिए अनुकूलता सीमित है और सभी मदरबोर्ड द्वारा समर्थित नहीं है। लेकिन सामान्य तौर पर, बजट के प्रति जागरूक उपयोगकर्ता के लिए या उन लोगों के लिए जो हर 2 साल में प्लेटफॉर्म को पूरी तरह से बदलने के आदी नहीं हैं, प्रोसेसर निर्माता की पसंद स्पष्ट है - यह एएमडी.

सीपीयू ठंडा होना.

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

निष्कर्ष।

प्रोसेसर के प्रदर्शन और प्रदर्शन को प्रभावित करने वाले सभी महत्वपूर्ण पहलुओं पर विचार किया गया है। आइए दोहराएँ कि आपको किन बातों पर ध्यान देना चाहिए:

  • निर्माता का चयन करें
  • प्रोसेसर आर्किटेक्चर
  • तकनीकी प्रक्रिया
  • सीपीयू आवृत्ति
  • प्रोसेसर कोर की संख्या
  • प्रोसेसर कैश का आकार और प्रकार
  • प्रौद्योगिकी और अनुदेश समर्थन
  • उच्च गुणवत्ता वाली शीतलन

हम आशा करते हैं पदार्थआपकी अपेक्षाओं को पूरा करने वाले प्रोसेसर की पसंद को समझने और निर्णय लेने में आपकी सहायता करेगा।

मल्टीथ्रेडिंग के सिद्धांत को समझने के बाद, आइए एक व्यावहारिक उदाहरण देखें - पेंटियम 4. पहले से ही इस प्रोसेसर के विकास चरण में, इंटेल इंजीनियरों ने सॉफ्टवेयर इंटरफ़ेस में बदलाव किए बिना इसके प्रदर्शन को बढ़ाने पर काम करना जारी रखा। पाँच सरलतम तरीकों पर विचार किया गया:

घड़ी की आवृत्ति में वृद्धि;

एक चिप पर दो प्रोसेसर लगाना;

नए कार्यात्मक ब्लॉकों का परिचय;

कन्वेयर विस्तार;

मल्टीथ्रेडिंग का उपयोग करना.

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

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

नए कार्यात्मक ब्लॉकों का परिचय भी मुश्किल नहीं है, लेकिन यहां संतुलन बनाए रखना महत्वपूर्ण है। यदि चिप पाइपलाइन को उस गति से कमांड जारी नहीं कर सकता है जो आपको इन सभी ब्लॉकों को लोड करने की अनुमति देता है, तो एक दर्जन ALU ब्लॉक रखने का क्या मतलब है?

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

अंत में, आप मल्टीथ्रेडिंग लागू कर सकते हैं। इस तकनीक का लाभ एक अतिरिक्त सॉफ्टवेयर थ्रेड की शुरूआत है जो हार्डवेयर संसाधनों को उपयोग में लाने की अनुमति देता है जो अन्यथा निष्क्रिय होते। प्रायोगिक अध्ययनों के परिणामों के आधार पर, इंटेल डेवलपर्स ने पाया कि कई अनुप्रयोगों के लिए मल्टीथ्रेडिंग लागू करते समय चिप क्षेत्र को 5% बढ़ाने से प्रदर्शन में 25% की वृद्धि होती है। मल्टीथ्रेडिंग को सपोर्ट करने वाला पहला इंटेल प्रोसेसर 2002 Xeon था। इसके बाद, 3.06 गीगाहर्ट्ज से शुरू होकर, मल्टीथ्रेडिंग को पेंटियम 4 लाइन में पेश किया गया, इंटेल ने पेंटियम 4 हाइपरथ्रेडिंग में मल्टीथ्रेडिंग के कार्यान्वयन को कहा।

साइट पर नया

>

सबसे लोकप्रिय