Jadi apa itu core cpu yang logis (berbeda dengan cpu core fisik)?

48

Saya sedang googling tentang bagaimana saya dapat menemukan jumlah CPU di mesin dan saya menemukan beberapa posting tapi saya bingung karena beberapa disebutkan bahwa Anda mendapatkan core logis vs core fisik dll.
Jadi apa perbedaan antara core logis dan fisik dan ada cara saya bisa mendapatkan core fisik saja? Atau masuk akal untuk memasukkan core logis dalam hitungan kita?

Jim
sumber

Jawaban:

62

Core fisik hanya itu, core fisik dalam CPU. Inti logis adalah kemampuan satu inti untuk melakukan 2 atau lebih hal secara bersamaan. Ini tumbuh dari kemampuan Pentium 4 CPU awal untuk melakukan apa yang disebut Hyper Threading (HTT) .

Itu adalah sedikit permainan yang dimainkan di mana sub komponen inti tidak digunakan untuk jenis instruksi tertentu sementara, instruksi lain yang berjalan lama mungkin telah dieksekusi. Jadi CPU bisa bekerja pada 2 hal secara bersamaan.

Core yang lebih baru adalah CPU yang lebih lengkap sehingga mereka bekerja pada banyak hal secara bersamaan, tetapi mereka bukan CPU sejati seperti core fisiknya. Anda dapat membaca lebih lanjut tentang keterbatasan fungsionalitas hyperthreading vs kemampuan fisik inti di sini di tomshardware dalam artikel ini berjudul: Intel Core i5 Dan Core i7: Mainstream Magnum Opus dari Intel .

Anda dapat melihat rincian kotak Anda menggunakan lscpuperintah:

$ 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

Di atas laptop Intel i5 saya memiliki total 4 "CPU"

CPU: 4

di mana ada 2 inti fisik

Inti per soket: 2

yang masing-masing dapat berjalan hingga 2 utas

Utas per inti: 2

pada waktu bersamaan. Utas ini adalah kemampuan logis inti.

slm
sumber
Saya tidak punya. lscpuApakah ada alat alternatif?
Jim
1
Info baku yang lscpumenggunakan terkena sini: cat /proc/cpuinfo. Apa OS kamu?
slm
1
@ ThomasWeller - lihat A'er saya yang lain di sini - unix.stackexchange.com/questions/113544/… .
slm
1
Core(s) per socketkali Thread(s) per core: 2= CPU(s): 4? Benar?
user3019105
1
@ user3019105 - benar
slm
12

Core fisik adalah jumlah core fisik, komponen perangkat keras aktual.

Core logis adalah jumlah core fisik kali jumlah thread yang dapat berjalan pada setiap inti melalui penggunaan hyperthreading.

misalnya, prosesor 4-core saya menjalankan dua utas per inti, jadi saya memiliki 8 prosesor logis.

Abu
sumber
Jadi angka ini masuk akal hanya jika menggunakan prosesor yang mendukung hyperthreading? Dan apa artinya ini? Masih satu utas akan menempati setiap CPU pada waktu yang tepat? Jadi, apa artinya angka ini?
Jim
Jadi nomor mana yang harus saya tuju?
Jim
tidak harus, multithreading simultan , misalnya, memungkinkan dua utas dijalankan pada saat yang sama pada satu inti. Ada sejumlah keunggulan lain juga.
ash
Saya melihat jumlah core fisik.
ash
1

Teknologi Hyperthreading memungkinkan inti prosesor fisik tunggal berperilaku seperti dua prosesor logis.

Jadi satu inti prosesor dapat menjalankan dua utas independen secara bersamaan .

Intel menyebut prosesor fisik sebagai soket.

Hyperthreading membuat Prosesor Fisik untuk berperilaku seperti itu memiliki dua Prosesor Fisik, yang disebut Prosesor Logika. Mengapa?

Meskipun hyperthreading tidak menggandakan kinerja suatu sistem, itu dapat meningkatkan kinerja dengan lebih baik memanfaatkan sumber daya idle yang mengarah ke throughput yang lebih besar untuk jenis beban kerja penting tertentu. Aplikasi yang berjalan pada satu prosesor logis dari inti yang sibuk dapat mengharapkan sedikit lebih dari setengah dari throughput yang diperolehnya saat berjalan sendiri pada prosesor yang tidak mengalami hipertipik.


Ringkasan


Prosesor Fisik adalah yang bisa kita lihat dan jatuh.

Logical Processor seperti, Core Phsical yang bertindak sebagai Two Core Fisik

Johnny Blaze
sumber
Tautan rusak ke 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

Dua soket. Setiap soket memiliki 14 inti fisik. Setiap inti memiliki dua utas (28/14). Jumlah total logis "cpus" atau unit pemrosesan logis adalah 56 (itulah yang "top" dan beberapa perintah lain akan menunjukkan kepada Anda sebagai jumlah "cpus").

Tagar
sumber
Apa yang membingungkan saya adalah bahwa pada i3-3220 dengan pendekatan Anda, saya mendapatkan jumlah inti 2 dan jumlah utas 2 (= 4) tetapi lscpu shows CPUs 4 and threads per 2 (=8) but lshw -C cpu` menunjukkan 16 cpu logis bernomor 0 - 15
Penatua Geek
dmidecode menginterpretasikan apa yang ada di BIOS .. tidak yakin persis apa yang salah dalam kasus Anda, mis. Anda mungkin mengalami hiphreading dinonaktifkan di BIOS atau sesuatu seperti itu. lscpu dan lshw adalah perintah OS jadi tunjukkan apa yang telah dikenali kernel OS. Intel spec untuk prosesor Anda menampilkan 2 core 4 thread.
Tagar
Tidakkah hiphreading dinonaktifkan akan menghasilkan lebih sedikit core logis daripada lebih banyak?
Penatua Geek
Saya mengerti bahwa Anda mendapat 2 inti 2 utas yang dilaporkan oleh dmidecode alih-alih 2 inti 4 utas jumlah sebenarnya dari utas / inti i3-3220 miliki. Jadi lebih kecil. Dan itu hanya dugaan, saya tidak tahu apakah Anda benar-benar menonaktifkan hiphreading di BIOS atau tidak.
Tagar
Sepertinya saya sudah salah mengartikan lscpuoutput dan sebenarnya total 4 thread tetapi "lshw -C cpu` menunjukkan 16 CPU logis" Saya tidak yakin apa yang harus saya lakukan.
Penatua Geek