मेरे दोहरे कोर सीपीयू को क्वाड-कोर के रूप में क्यों पहचाना जाता है?


52

मेरा प्रोसेसर एक Intel Core i3-380m है । जैसा कि आप देख सकते हैं, यह 2 कोर और 4 धागे हैं।

हालाँकि, दोनों Ubuntu 11.04 और विंडोज 7 को लगता है कि यह क्वाड-कोर CPU है:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

ऐसा क्यों है? क्या यह है क्योंकि 4 प्रसंस्करण इकाइयों में सीपीयू को विभाजित करते हुए, प्रति कोर 2 धागे हैं?

जवाबों:


43

जैसा कि आपको बताया गया है कि आपके पास एक दोहरे कोर प्रणाली है, जिसमें 2 धागे प्रति कोर हैं।

यह इंटेल द्वारा हाइपरथ्रेडिंग के रूप में विपणन किया गया है और विभिन्न वर्षों में विभिन्न निर्माताओं द्वारा विभिन्न तरीकों से किया गया है।

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

सिस्टम को सीपीयू कैसे देखा जाता है इसे सरल बनाने के लिए प्रत्येक हाइपरथ्रेड को एक अलग सीपीयू के रूप में देखा जाता है, इसलिए एक दोहरे कोर, 2 धागा प्रति-कोर प्रोसेसर एक क्वाड कोर प्रोसेसर के रूप में दिखाई देता है।

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


स्पष्टीकरण के लिए धन्यवाद। तो, क्या हम यहां यह कह सकते हैं कि एक धागा एक कोर के लिए है जो एक प्रोसेसर के लिए एक कोर है?
गंभीरदेव

2
एक तरह से, हाँ। ओएस प्रोसेसर को देखता है, जानता है कि उस प्रोसेसर पर कितने कोर हैं और बदले में प्रत्येक कोर कितने धागे का समर्थन करता है, जिसमें से आप जो सीपीयू उपयोग देख रहे हैं वह अब "प्रति कोर" के बजाय "प्रति-धागा" है। यह काफी सरल नहीं है (जैसा कि प्रत्येक थ्रेड वास्तव में गैर-हाइपरथ्रेडिंग अवगत ओएस को पूरी तरह से सीपीयू कोर के रूप में प्रकट होता है) लेकिन यह इसका सामान्य विचार है।
Mokubai

@ मोकूबाई कोर-पार्किंग लिंक काम नहीं करता है।
बिस्वाप्रियो

49

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


7
क्या इसे भौतिक बनाम तार्किक कोर के रूप में जाना जाता है?
xdumaine

11
हाँ, एक भौतिक कोर है - अच्छी तरह से ... शारीरिक। आप इसे छू सकते हैं। हाइपरथ्रेडेड कोर असली हैं, इसलिए तार्किक। आप वर्चुअलाइजेशन के माध्यम से भौतिक कोर को तार्किक कोर में तोड़ सकते हैं, भी।
कल्टारी

3
@ केल्टरी वास्तव में, इसका एक भौतिक हिस्सा है ... हाइपरथ्रेडिंग एक CPU कोर में एक हार्डवेयर घटक है (और इसे केवल एक हार्डवेयर स्तर पर अक्षम किया जा सकता है)। देखें इस इंटेल श्वेतपत्र जानकारी के लिए। मूल रूप से, यह दो भौतिक निष्पादन इकाइयों के बीच एक कोर के संसाधनों को साझा करता है। तकनीकी रूप से, हाइपरथ्रेडेड कोर में ओएस द्वारा देखे गए दोनों कोर "तार्किक" हैं, भौतिक और तार्किक दोनों नहीं हैं।
ब्रेकथ्रू

1
सच है, हाइपरथ्रेडिंग प्रोसेसर का एक भौतिक हिस्सा है, लेकिन भौतिक कोर नहीं है।
कल्टारी

1
एचटी के बारे में सोचने का सबसे अच्छा तरीका एक "कोर-एंड-ए हाफ" है, यह अलग-अलग संसाधनों को अपने भाई के साथ साझा करता है, जो अलग-अलग कोर करते हैं। हालांकि यह "अपने दम पर" एक थ्रेड को निष्पादित करने में सक्षम है और ओएस इसे थ्रेड निष्पादन इकाई (जिसे आप कोर के साथ जुड़ा हुआ है) के रूप में मानते हैं।
crasic

12

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

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

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

यहां यह ध्यान देने योग्य है कि जब हाइपरथ्रेडिंग आपके सीपीयू से बाहर निकलने वाले काम की मात्रा में काफी वृद्धि कर सकता है, तो यह कहीं नहीं है क्योंकि यह कई भौतिक कोर के रूप में अच्छा है। आपके कार्य-भार के आधार पर, इसका मतलब हो सकता है कि १५% सुधार पर या ४०% सुधार के रूप में हो। कुछ परिस्थितियों में, आप इस सुविधा को निष्क्रिय करना चाह सकते हैं ताकि शेष कोर को उस कोर के लिए L1 / L2 कैश तक पूर्ण अनन्य पहुंच प्राप्त हो (यह कभी-कभी समर्पित डेटाबेस सर्वर के साथ किया जाता है)।

जब आपकी चिप 4 थ्रेड्स के साथ 2 कोर के रूप में खुद को विज्ञापित करती है, तो इसका मतलब है कि यह एक दोहरे कोर प्रोसेसर है जो हाइपरथ्रेडिंग का समर्थन करता है।


2

इस इंटेल पेज पर एक नज़र डालें - इसमें बहुत सारे एनिमेशन हैं जो दिखाते हैं कि हाइपरथ्रेडिंग आपके कार्यों को कैसे गति देता है।

Utilization of Processor Resourcesसबसे अच्छा एनीमेशन है, यह देखने के लिए और उन्हें "अग्रिम" बटन पर क्लिक करें।


1

ऐसा क्यों है? क्या यह है क्योंकि 4 प्रसंस्करण इकाइयों में सीपीयू को विभाजित करते हुए, प्रति कोर 2 धागे हैं?

इसे सीधे शब्दों में कहें तो इसका जवाब हां में है। आपके सीपीयू का प्रत्येक कोर दो स्वतंत्र धागे का समर्थन कर सकता है, इसलिए कुल 4। लेकिन इसका मतलब यह नहीं है कि यह क्वाड-कोर सिंगल-थ्रेडेड सीपीयू के समान प्रदर्शन है। व्यावहारिक रूप से दोहरे कोर डबल-थ्रेडेड सीपीयू का प्रदर्शन क्वाड-कोर सिंगल-थ्रेडेड सीपीयू की तुलना में कम है। एएमडी फेनोम एक्स 4 की तरह।


तुम जानते हो क्यों?
गंभीरदेव

1
कारण यह है कि एक डबल-थ्रेडेड कोर में हार्डवेयर संसाधन (जैसे कि रिफ़र बफर) को दो थ्रेड्स के बीच साझा किया जाता है, जबकि सिंगल थ्रेडेड सीपीयू में सभी संसाधन एक कोर को समर्पित होते हैं। यह ध्यान देने योग्य है कि एक मल्च-थ्रेडेड कोर आपके हार्डवेयर उपयोग और थ्रूपुट को बढ़ाता है, लेकिन यह विलंबता के लिए बुरा है। इसमें कई ट्रेड-ऑफ शामिल हैं। तो "प्रदर्शन" शब्द वास्तव में यहाँ अस्पष्ट है। सामान्य लोगों के लिए इसका अर्थ है एक एकल धागे की विलंबता।
एमिनफार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.