Mengapa Apple Activity Monitor melaporkan bahwa Mac saya dengan CPU dual-core Intel i5 Ivy Bridge memiliki 4 core?

12

Saya baru saja mendapatkan Apple MacBook Pro 13 ", pertengahan 2012, yang memiliki CPU dual-core Intel i5 Ivy Bridge. Ketika saya menjalankan Activity Monitor dan menyalakan Floating CPU Window, ia memperlihatkan grafik 4-bar (menunjukkan 4 core).

Pada MacBook Pro lama saya dengan prosesor Intel Core 2 Duo dual-core, Activity Monitor hanya menunjukkan grafik 2-bar (menunjukkan 2 core).

Mengapa Monitor Aktivitas tampaknya menunjukkan bahwa Mac saya memiliki 4 core, padahal jelas tidak?

Cajunluke
sumber
4
Saya pikir ini adalah
jawaban

Jawaban:

22

Ini adalah teknologi yang disebut Hyperthreading yang mendukung chip i5 tersebut.

Ini berarti dua utas dapat berjalan secara bersamaan pada setiap inti yang menghasilkan dua inti virtual tambahan . Monitor Aktivitas OS X hanya menampilkan core virtual, bukan core fisik . Demikian juga, chip quad-core memiliki delapan core virtual dan itulah yang disajikan dalam Activity Monitor.

Singkatnya:

  • 1 CPU
  • 2 inti fisik
  • 4 core virtual (2 per inti fisik)
kremalicious
sumber
OK, tapi ... Jika dua utas dapat berjalan pada saat yang sama, masing-masing utas hanya dapat berjalan pada setengah kecepatan normal, bukan? Dan saya katakan maksimal , hukum Amdahl masuk ...
Nicolas Barbulesco
Tidak demikian ... melaksanakan instruksi melibatkan beberapa langkah (baca dari memori, set register, jalankan, simpan hasil, sakelar konteks, dll.) Pembaruan hp memungkinkan 2 utas berjalan pada berbagai tahapan proses secara bersamaan tanpa kehilangan kecepatan.
Dasar
Perilaku ini disebabkan oleh teknologi Intel SMP, yang mereka sebut "Hyper-threading", seperti yang ditunjukkan oleh @kremalicious. Juga penting untuk menunjukkan bahwa Hyper-threading tidak berhubungan dengan pipelining (seperti yang disarankan oleh @Basic), tetapi superscalar. Berikut adalah contoh sederhana untuk memahami arsitektur superscalar: Alih-alih satu unit aritmatika, kami memiliki, katakanlah, dua salinan yang sama (satu untuk setiap inti virtual), sehingga perhitungan dapat dilakukan secara paralel pada operan data yang berbeda. Oleh karena itu, core virtual tidak membagi waktu p
AmanNoug
@AmanNoug Kau benar sekali. Kesalahanku.
Dasar