2012-05-03 9 views
9

मैं प्रणाली में जानकारी इकट्ठा करने के लिए कोशिश कर रहा हूँ और एक इंटेल जिऑन E5420 पर निम्नलिखित पर ध्यान:हाइपर-थ्रेडिंग को प्रोसेसर पर समर्थित के रूप में क्यों सूचित किया जाता है?

को क्रियान्वित करने के बाद CPUID(EAX=1), EDX [28] सेट किया गया है, यह दर्शाता है हाइपर-थ्रेडिंग समर्थन, तथ्य यह है कि प्रोसेसर पर सूचीबद्ध है के बावजूद इंटेल वेबसाइट हाइपर-थ्रेडिंग का समर्थन नहीं कर रही है (ark.intel.com)

क्या किसी के पास इसके लिए कोई स्पष्टीकरण है?

+0

यह केवल "थ्रेड-थ्रेडिंग" केवल एक थ्रेड का विशेष मामला है। – Flexo

+0

संबंधित: http://msdn.microsoft.com/en-us/library/hskdteyh.aspx "एएमडी चिपसेट के साथ, सभी बहु-कोर एएमडी सीपीयू फीचर सूचना बिट्स के बिट 28 सेट करते हैं ताकि यह इंगित किया जा सके कि चिप में एक से अधिक कोर। यह मामला है हालांकि एएमडी हाइपर-थ्रेडिंग का समर्थन नहीं करता है। " लेकिन यह एएमडी चिप्स के लिए है। – Mysticial

+0

एमएसडीएन पर चार्ट भी बिट 28 को "मल्टीथ्रेडिंग" के रूप में लेबल करता है ... – Mysticial

उत्तर

3

यहाँ इंटेल डेवलपर के मैनुअल के अनुसार कि बिट की परिभाषा है:

मैक्स APIC आईडी आरक्षित क्षेत्र मान्य है। एचटीटी के लिए 0 का मान इंगित करता है कि पैकेज में केवल एक ही लॉजिकल प्रोसेसर है और सॉफ़्टवेयर को मानना ​​चाहिए केवल एक ही एपीआईसी आईडी आरक्षित है। एचटीटी के लिए 1 का मान CPUID.1.EBX [23:16] में मान इंगित करता है (इस पैकेज में तार्किक प्रोसेसर के लिए एड्रेसेबल आईडी की अधिकतम संख्या) पैकेज के लिए मान्य है।

मैनुअल के वॉल्यूम 3 ए के अध्याय 8 में, यह वर्णन करता है कि कैसे हार्डवेयर हार्डवेयर बहु-थ्रेडिंग का सही ढंग से पता लगाता है। एक इंटेल में एक अर्द्ध सरकारी स्पष्टीकरण बात https://software.intel.com/en-us/articles/hyper-threading-technology-and-multi-core-processor-detection

असल में इंटेल पेंटियम 4 के अंतिम संस्करण में श्रीमती/हाइपरथ्रेडिंग पेश किया के बाद, वे नहीं है

http://download.intel.com/products/processor/manual/325462.pdf

+0

हां, ऐसा लगता है कि एचटीटी बिट समय के साथ एक पैकेज से अधिक लॉजिकल थ्रेड इंगित करने के लिए आता है, चाहे एचटीटी या एकाधिक भौतिक कोर की वजह से। – andrewmu

4

:

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

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

एक तरफ के रूप में, आपको 2010 में किए गए प्रोसेसर के लिए उस पुराने इंटेल टॉक में दिए गए टोपोलॉजी गणना एल्गोरिदम का उपयोग नहीं करना चाहिए और इसके बाद यह गलत/फुलाए गए कोर गणना देगा। इसके बजाय https://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/ पर दी गई अद्यतन विधि का उपयोग करें। हां यह नया पृष्ठ अधिक सूखा है और उदाहरण के लिए आपके द्वारा पूछे गए प्रश्न का उत्तर नहीं देता है, जबकि पुरानी बात करता है ...

संबंधित मुद्दे

 संबंधित मुद्दे