Jumlah core CPU sepertinya tidak benar

14

masukkan deskripsi gambar di sini

Seperti gambar menunjukkan jumlah prosesor adalah 4.

Tetapi intel i5-4210U hanya memiliki 2 core seperti yang ditunjukkan di bawah ini. (Spesifikasi Intel sendiri.)

masukkan deskripsi gambar di sini

Jadi, jika i5-4210U hanya memiliki 2 core dari apa yang ditunjukkan "4" di gambar 1?

lscpu memberikan hasil ini:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Stepping:              1
CPU MHz:               989.531
BogoMIPS:              4788.74
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
foxtrot9
sumber
10
Karena memiliki Hyperthreading , yang berarti CPU menghadirkan empat core ke OS, bukan hanya dua core fisik, untuk meningkatkan kinerja. (" # utas " dari lembar spesifikasi menunjukkan informasi CPU di Ubuntu)
JonasCz - Reinstate Monica
3
Cara lain untuk menemukan ini adalah dengan melakukan lscpudan melihat CPU(s), Thread(s) per coredan Core(s) per socketdan Socket(s).
edwinksl
@edwinksl, menambahkan hasil dari lscpu.
foxtrot9
2
Jadi Anda memiliki 4 "CPU" alias core logis, 2 thread per inti fisik (ini adalah bagian hyperthreading), 2 core fisik per soket dan 1 soket. 4 = 2 * 2 * 1.
edwinksl
Anda tidak mendengar hyperthreading yang ada sejak pentium 4?
phuclv

Jawaban:

31

CPU Anda hanya memiliki 2 core, tetapi mendukung 4 utas bersamaan .

Ini dicapai oleh teknologi Hyper-Threading Intel yang memungkinkan untuk menjalankan dua utas terpisah secara bersamaan pada satu inti tunggal.

Jadi 2 core x 2 utas per inti berarti 4 utas per CPU.

Komandan Byte
sumber
1
Saya tahu sedikit tentang utas jadi saya ingin tahu bagaimana ini dapat dicapai pada tingkat perangkat keras? Maksud saya 2 utas per CPU?
foxtrot9
7
Saya tidak bisa mulai menjelaskan seluruh konsep di balik hyper threading di sini, ini akan meledakkan jawabannya. Sebaliknya saya ingin menyarankan Anda untuk membaca artikel wikipedia yang sesuai atau memberi makan mesin pencari favorit Anda dengan "hyperthreading".
Byte Commander
6
Singkatnya, kita dapat mengatakan bahwa sebuah core yang memiliki kemampuan hyperhreading memiliki beberapa elemen (keadaan arsitektur, yaitu register, dll.) Digandakan sementara yang lain (mesin eksekusi, cache) dibagi.
Byte Commander
5
@ foxtrot9 pada dasarnya, satu utas eksekusi biasanya tidak menggunakan mendekati inti CPU 100% - CPU menghabiskan waktu menunggu data dimuat dari memori, dan instruksi apa pun yang diberikan tidak menggunakan semua sirkuit kecil (eksekusi unit) dalam inti yang melakukan berbagai hal. HT memungkinkan dua utas eksekusi berbagi inti, sehingga yang satu dapat berjalan sementara yang lain menunggu, atau keduanya dapat berjalan jika mereka menggunakan set unit eksekusi yang terpisah. Tetapi karena kedua utas tersebut harus berbagi sumber daya, terkadang yang satu menghentikan yang lain agar tidak berjalan, sehingga tidak secepat 2 inti keseluruhan.
hobbs
@ hobbs Penjelasan terperinci tapi sederhana, hebat! Terima kasih atas komentar yang informatif ini :)
Byte Commander
3

Seperti yang dapat Anda lihat pada gambar yang Anda berikan dari Intel, jumlah Threadnya adalah 4.

Jadi saya akan mengatakan bahwa Ubuntu menunjukkan jumlah Thread dan bukan dari Core

Nico T
sumber
1

Dalam prosesor Intel i5-4210 ada 2 core fisik yang selanjutnya dibagi menjadi 2 core logis; inti logis ini dicapai oleh teknologi hyper threading Intel. Sehingga membuatnya menjadi total 4 core seperti yang ditunjukkan pada gambar. Info ini juga diberikan di foto lain.

Moksh
sumber
Saya tidak tahu mengapa orang merendahkan jawaban Anda, apa yang Anda katakan itu benar.
Virtual Anomaly
Orang-orang bodoh kalau begitu, saya tidak keberatan.
Moksh
Hanya untuk mendukung jawaban ini, Wikipedia mengatakan: "Untuk setiap inti prosesor yang hadir secara fisik, sistem operasi membahas dua inti virtual (logis)."
Virtual Anomaly
Thnx @lightswitchr
Moksh
1
Saya pikir orang downvoting karena Anda mengatakan bahwa ada dua core fisik dan dua core logis. Itu tidak benar, setiap inti fisik dibagi menjadi dua inti logis, sehingga ada empat inti logis (dua berjalan pada setiap inti fisik).
Runemoro