नमस्ते,
अगर मैं इसे डेल T410 पर निष्पादित करता हूं, जिसमें दो Xeon E5530 क्वाड कोर प्रोसेसर हैं, तो मुझे नीचे दिखाए गए आउटपुट मिलते हैं:
mov eax, 4
mov ebx, 0
mov ecx, 0
mov edx, 0
CPUID
; at this point eax=0x1c004121, ebx=0x1c0003f, ecx=0x3f, edx=0x0
Intel AP-485 के अनुसार: "BIOS एक विशिष्ट भौतिक प्रोसेसर पैकेज में कार्यान्वित कोर की संख्या निर्धारित करने के लिए इस फ़ंक्शन का उपयोग करेगा। ऐसा करने के लिए BIOS को शुरू में EAX रजिस्टर को 4 पर सेट करना होगा और ECX रजिस्टर को निष्पादित करने से पहले 0 पर करना होगा। CPUID निर्देश। CPUID निर्देश को निष्पादित करने के बाद, (EAX [31:26] + 1) में कोर की संख्या होती है। "
जैसा कि आप देख सकते हैं, EAX [31:26] 7 है, इसलिए इस पैकेज में 8 कोर हैं। लेकिन मुझे पता है कि यह केवल 4 है। क्या कोई मुझे बता सकता है कि E5530 के लिए काम करने वाले इंटेल प्रोसेसर में कोर की संख्या कैसे निर्धारित करें?
वैसे, लॉजिकल प्रोसेसर की संख्या 16 हो जाती है, जिसकी मुझे उम्मीद है कि यह प्रोसेसर हाइपरथ्रेडेड है। लेकिन फिर से मुझे पता है कि यह वास्तव में केवल 8 तार्किक प्रोसेसर है।
यदि मुझे मेरे द्वारा प्राप्त सभी समर्थित कार्यों के लिए CPUID निर्देश निष्पादित करें:
cpuid function, eax, ebx, ecx, edx
0x0, 0xb, 0x756e6547, 0x6c65746e, 0x49656e69,
0x1, 0x106a5, 0x7100800, 0x9ce3bd, 0xbfebfbff,
0x2, 0x55035a01, 0xf0b2e4, 0x0, 0x9ca212c,
0x3, 0x0, 0x0, 0x0, 0x0,
0x4, 0x1c004121, 0x1c0003f, 0x3f, 0x0,
0x5, 0x40, 0x40, 0x3, 0x1120,
0x6, 0x3, 0x2, 0x1, 0x0,
0x7, 0x0, 0x0, 0x0, 0x0,
0x8, 0x0, 0x0, 0x0, 0x0,
0x9, 0x0, 0x0, 0x0, 0x0,
0xa, 0x7300403, 0x44, 0x0, 0x603,
0xb, 0x1, 0x2, 0x100, 0x7,
0x80000000, 0x80000008, 0x0, 0x0, 0x0,
0x80000001, 0x0, 0x0, 0x1, 0x28100000,
0x80000002, 0x65746e49, 0x2952286c, 0x6f655820, 0x2952286e,
0x80000003, 0x55504320, 0x20202020, 0x20202020, 0x45202020,
0x80000004, 0x30333535, 0x20402020, 0x30342e32, 0x7a4847,
0x80000005, 0x0, 0x0, 0x0, 0x0,
0x80000006, 0x0, 0x0, 0x1006040, 0x0,
0x80000007, 0x0, 0x0, 0x0, 0x100,
0x80000008, 0x3028, 0x0, 0x0, 0x0,
cat /proc/cpuinfo