तो तार्किक सीपीयू कोर क्या हैं (भौतिक सीपीयू कोर के विपरीत)?


48

मैं इस बारे में गुगली कर रहा था कि मैं एक मशीन में सीपीयू की संख्या का पता कैसे लगा सकता हूं और मुझे कुछ पोस्ट मिलीं, लेकिन मुझे भ्रम है कि कुछ का उल्लेख है कि आपको तार्किक कोर बनाम भौतिक कोर आदि मिलते हैं,
इसलिए तार्किक और भौतिक कोर के बीच अंतर क्या है और क्या है एक तरीका है कि मैं केवल भौतिक कोर प्राप्त कर सकता हूं? या क्या हमारी गिनती में तार्किक कोर को शामिल करने का कोई मतलब है?

जवाबों:


62

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

यह एक ऐसा खेल था जिसमें खेला जा रहा था जहां कोर के उप-घटकों का उपयोग कुछ विशेष प्रकार के निर्देशों के लिए नहीं किया जा रहा था, जबकि एक और लंबे समय तक चलने वाले निर्देश को निष्पादित किया जा रहा था। इसलिए CPU एक साथ 2 चीजों पर काम कर सकता है।

नए कोर अधिक पूर्ण सीपीयू हैं इसलिए वे एक साथ कई चीजों पर काम कर रहे हैं, लेकिन वे वास्तविक सीपीयू नहीं हैं क्योंकि भौतिक कोर हैं। आप हाइपरथ्रेडिंग कार्यक्षमता की सीमाओं के बारे में अधिक पढ़ सकते हैं। इस लेख में शीर्षक: Intel Core i5 और Core i7: Intel का मेनस्ट्रीम मैग्नम ओपस: यहाँ की मुख्य भौतिक क्षमताओं के बारे में बताया गया है ।

आप lscpuकमांड का उपयोग करके अपने बॉक्स के टूटने को देख सकते हैं :

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

ऊपर मेरे इंटेल i5 लैपटॉप में कुल 4 "सीपीयू" हैं

CPU (s): 4

जिनमें से 2 भौतिक कोर हैं

कोर (एस) प्रति सॉकेट: 2

जिनमें से प्रत्येक 2 थ्रेड तक चल सकता है

थ्रेड प्रति कोर: 2

एक ही समय में। ये धागे कोर की तार्किक क्षमताएं हैं।


मेरे पास lscpuकोई वैकल्पिक उपकरण नहीं है ।
जिम

1
कच्ची जानकारी जो lscpuउपयोग करती है वह यहां उजागर है cat /proc/cpuinfo:। आपका ओएस क्या है?
स्लम

1
@ThomasWeller - मेरे अन्य A'er को यहाँ देखें - unix.stackexchange.com/questions/113544-…
स्लम

1
Core(s) per socketसमय Thread(s) per core: 2= CPU(s): 4? सही बात?
user3019105

1
@ user3019105 - सही
SLM

12

भौतिक कोर भौतिक कोर की संख्या, वास्तविक हार्डवेयर घटक हैं।

तार्किक कोर शारीरिक कोर की संख्या है जो थ्रेड्स की संख्या है जो हाइपरथ्रेडिंग के उपयोग के माध्यम से प्रत्येक कोर पर चल सकते हैं।

उदाहरण के लिए, मेरा 4-कोर प्रोसेसर प्रति कोर दो धागे चलाता है, इसलिए मेरे पास 8 तार्किक प्रोसेसर हैं।


तो यह संख्या केवल तभी समझ में आती है जब हाइपरथ्रेडिंग का समर्थन करने वाले प्रोसेसर का उपयोग किया जाता है? और इसका क्या मतलब है? फिर भी एक धागा सही समय पर प्रत्येक सीपीयू पर कब्जा कर लेगा; तो इस संख्या का क्या मतलब है?
जिम

तो मुझे कौन सी संख्या प्राप्त करने का लक्ष्य रखना चाहिए?
जिम

जरूरी नहीं, एक साथ मल्टीथ्रेडिंग , उदाहरण के लिए, एक ही कोर पर एक ही समय में दो धागे को चलाने की अनुमति देता है। कई अन्य फायदे भी हैं।
राख

मैं भौतिक कोर की संख्या को देखता हूं।
राख

1

हाइपरथ्रेडिंग तकनीक एकल भौतिक प्रोसेसर कोर को दो तार्किक प्रोसेसर की तरह व्यवहार करने की अनुमति देती है।

तो एक एकल प्रोसेसर कोर एक साथ दो स्वतंत्र थ्रेड निष्पादित कर सकता है ।

इंटेल एक भौतिक प्रोसेसर को सॉकेट के रूप में संदर्भित करता है।

हाइपरथ्रेडिंग एक फिजिकल प्रॉसेसर बनाता है जैसे कि उसके दो फिजिकल प्रोसिजर्स होते हैं, जिसे लॉजिकल प्रॉसेसर कहते हैं। क्यों?

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


सारांश


फिजिकल प्रोसिजर है जिसे हम देख और गिर सकते हैं।

लॉजिकल प्रोसेसर की तरह है, दो शारीरिक कोर के रूप में एक Phsical कोर अभिनय


Vmware doc के लिए लिंक किया गया हलचल।
SLM

0
$ sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
        Core Count: 14
        Thread Count: 28
Socket Designation: Proc 2
        Core Count: 14
        Thread Count: 28

दो सॉकेट। प्रत्येक सॉकेट में 14 भौतिक कोर होते हैं। प्रत्येक कोर के दो धागे (28/14) हैं। तार्किक "cpus" या तार्किक प्रसंस्करण इकाइयों की कुल संख्या 56 है (यह "शीर्ष" है और कुछ अन्य कमांड आपको "cpus" की संख्या के रूप में दिखाएंगे)।


मुझे क्या आश्चर्य है कि आपके दृष्टिकोण के साथ मेरे i3-3220 पर मुझे कोर काउंट 2 और थ्रेड काउंट 2 (= 4) मिलता है, लेकिन lscpu shows CPUs 4 and threads per 2 (=8) but lshw -C cpu` में 16 लॉजिकल सीपीयू के नंबर 0 - 15
एल्डर गीक

dmidecode व्याख्या करता है कि BIOS में क्या है .. निश्चित रूप से आपके मामले में गलत क्या है, उदाहरण के लिए, आप BIOS में हाइपरथ्रेडिंग अक्षम हो सकते हैं या ऐसा कुछ। lscpu और lshw OS कमांड होते हैं इसलिए OS कर्नेल ने जो मान्यता दी है उसे दिखाएं। आपके प्रोसेसर के लिए इंटेल कल्पना 2 कोर 4 धागे दिखाती है।
तगार

कम तार्किक कोर में हाइपरथ्रेडिंग अक्षम परिणाम होने के बजाय अधिक नहीं होगा?
एल्डर गीक

मैं समझ गया कि आपको 2 कोर 2 धागे मिलते हैं जो dmidecode द्वारा रिपोर्ट किए जाते हैं 2 कोर के बजाय 4 थ्रेड्स की वास्तविक संख्या / कोर i3-3220 है। तो यह छोटा है। और यह सिर्फ एक अनुमान था, मुझे नहीं पता कि क्या आप वास्तव में BIOS में हाइपरथ्रेडिंग अक्षम हैं या नहीं।
तगार

ऐसा लगता है कि मैंने lscpuआउटपुट को गलत तरीके से समझा है और यह वास्तव में कुल 4 धागे हैं लेकिन "lshw -C cpu` 16 तार्किक सीपीयू दिखाता है" मुझे यकीन नहीं है कि क्या बनाना है।
एल्डर गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.