Peki mantıksal işlemci çekirdeği nedir (fiziksel işlemci çekirdeği yerine)?


48

Ben bir makinede CPU sayısını bulabiliriz nasıl Googling ve bazı mesajları buldum ama bazı vb çekirdekler fiziksel vs mantıksal çekirdek almak belirtildiği gibi karıştı
mantıksal ve fiziksel çekirdek ve arasındaki farkın ne So Sadece fiziksel çekirdekleri alabilmemin bir yolu var mı? Yoksa sayımıza mantıksal çekirdekler eklemek mantıklı mı?

Yanıtlar:


62

Fiziksel çekirdekler tam da bu, CPU içindeki fiziksel çekirdeklerdir. Mantıksal çekirdekler, tek bir çekirdeğin aynı anda 2 veya daha fazla şey yapma yetenekleridir. Bu, Pentium 4 işlemcilerin Hyper Threading (HTT) olarak adlandırılanları yapma yeteneklerinden kaynaklandı .

Biraz uzun süren bir talimat yürütülürken, çekirdeğin alt bileşenlerinin belirli talimatlar için kullanılmadığı bir oyundu. Böylece CPU aynı anda 2 şey üzerinde çalışabilir.

Daha yeni çekirdekler tam teşekküllü CPU'lardır, bu yüzden aynı anda birden fazla şey üzerinde çalışıyorlar, ancak fiziksel çekirdekler gibi gerçek CPU'lar değiller. Hyperthreading fonksiyonelliğinin sınırlamaları ve çekirdeğin fiziksel yetenekleri ile ilgili tomshardware'in kısıtlamaları hakkında daha fazla bilgi edinebilirsiniz: Intel Core i5 ve Core i7: Intel'in Mainstream Magnum Opus .

Aşağıdaki lscpukomutu kullanarak kutunuzun dökümünü görebilirsiniz :

$ 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

Yukarıdakilerde Intel i5 dizüstü bilgisayarımda toplam 4 "CPU" var

CPU (lar): 4

2 fiziksel çekirdek olduğu

Soket başına çekirdek (ler): 2

bunların her biri 2 dişe kadar koşabilir

Çekirdek başına diş sayısı: 2

aynı zamanda. Bu yivler çekirdeğin mantıksal yetenekleridir.


Benim yok. lscpuAlternatif bir araç var mı?
Jim

1
Ham bilgileri lscpukullanır burada maruz: cat /proc/cpuinfo. İşletim sisteminiz nedir?
slm

1
@ThomasWeller - burada diğer A'er'ime bakın - unix.stackexchange.com/questions/113544/… .
slm

1
Core(s) per socketçarpı Thread(s) per core: 2= CPU(s): 4? Doğru?
user3019105

1
@ user3019105 - Doğru
slm

12

Fiziksel çekirdekler fiziksel çekirdek sayısıdır, gerçek donanım bileşenleridir.

Mantıksal çekirdekler, her bir çekirdek üzerinde hiper-uç kullanımıyla çalıştırılabilen iplik sayısının fiziksel çekirdek sayısıdır.

örneğin, 4 çekirdekli işlemcim çekirdek başına iki iş parçacığı kullanıyor, bu yüzden 8 mantıksal işlemcim var.


Yani bu sayı sadece hiper-dişi destekleyen bir işlemci kullanıyorsa anlamlı olur Ve bu ne anlama geliyor? Hala bir iş parçacığı bir cpu her seferinde işgal edecek? Peki bu sayı ne anlama geliyor?
Jim

Öyleyse hangi numarayı almalıyım?
Jim,

zorunlu olarak, eşzamanlı çoklu okuma , örneğin, iki ipliğin aynı anda tek bir çekirdekte çalıştırılmasını sağlar. Bunun yanında başka avantajlar da var.
kül

Fiziksel çekirdek sayısına bakarım.
kül

1

Hyperthreading teknolojisi, tek bir fiziksel işlemci çekirdeğinin iki mantıksal işlemci gibi davranmasını sağlar.

Böylece, tek bir işlemci çekirdeği aynı anda iki bağımsız ipliği çalıştırabilir .

Intel, fiziksel bir işlemciyi bir soket olarak ifade eder.

Hyperthreading, bir Fiziksel İşlemciyi, Mantıksal İşlemci olarak adlandırılan iki Fiziksel İşlemciye sahip gibi davranmasını sağlar. neden?

Hyperthreading bir sistemin performansını iki katına çıkarmazken, bazı önemli iş yükü türleri için daha büyük verim sağlayan boş kaynakları daha iyi kullanarak performansı artırabilir. Meşgul bir çekirdeğin bir mantıksal işlemcisi üzerinde çalışan bir uygulama, hiper iş parçacıklı olmayan bir işlemcide tek başına çalışırken elde ettiği verimin yarısından biraz fazlasını bekleyebilir.


özet


Fiziksel İşlemci görebildiğimiz ve düştüğümüzdür.

Mantıksal İşlemci bir doğal ortamın gibidir Çekirdek İki Fiziksel Çekirdek olarak hareket


Vmware doc'ya bağlantı verildi.
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

İki yuva. Her soketin 14 fiziksel çekirdeği vardır. Her bir çekirdeğin iki dişi vardır (28/14). Toplam mantıksal "cpus" veya mantıksal işlem birimi sayısı 56'dır (bu "en iyi" dir ve diğer bazı komutlar size "cpus" sayısını gösterir).


Beni şaşırtan şey i3-3220'de yaklaşımınızla çekirdek sayım 2 ve iş parçacığı sayım 2'yi (= 4) elde lscpu shows CPUs 4 and threads per 2 (=8) but etmem ama lshw -C cpu` 0 - 15 numaralı 16 mantıksal cpu gösteriyor
Elder Geek

dmidecode, BIOS'takileri yorumluyor .. durumunuzda tam olarak neyin yanlış olduğundan emin değilsiniz, örneğin BIOS'ta hiper iş parçacıklığını devre dışı bırakmış olabilirsiniz. lscpu ve lshw işletim sistemi komutlarıdır, bu nedenle işletim sistemi çekirdeğinin tanıdığını gösterin. İşlemciniz için Intel özelliği 2 çekirdek 4 konu gösteriyor.
Tagar

Hyperthreading işlevinin devre dışı bırakılması, daha çok değil, daha az mantıksal çekirdeğe neden olmaz mı?
Elder Geek

İ3-3220'de 2 çekirdek yerine 2 çekirdek yerine dmidecode tarafından bildirilen 2 çekirdek 2 çekirdek olduğunu anladım. Yani daha küçük. Ve bu sadece bir tahmindi, aslında BIOS'ta hiper iş parçacığın devre dışı olup olmadığını bilmiyorum.
Tagar

lscpuÇıktıları yanlış yorumluyorum ve aslında toplam 4 başlık var ama "lshw -C cpu` 16 mantıksal CPU'su gösteriyor". Ne yapacağımdan emin değilim.
Elder Geek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.