CPU Cores: Semakin banyak semakin baik?

69

Saat ini saya memiliki prosesor dual-core di tempat kerja dan quad-core di rumah. Saya perhatikan kedua PC cukup sama sejauh meluncurkan aplikasi / menjelajahi web.

Perbedaan yang dapat saya lihat adalah bahwa dual-core saya adalah 2.8GHz dan quad-core saya adalah 2.4GHz.

Apakah lebih baik memiliki dual-core dengan kecepatan clock cepat atau quad-core dengan kecepatan clock biasa-biasa saja?

Travis
sumber
5
'Cepat' dan 'biasa-biasa saja' adalah relatif. Dalam kasus Anda, quad core akan lebih baik karena perbedaan kecepatan clock hanya 400 MHz. Namun, dual-core 3 GHz lebih baik daripada quad-core 1,5 GHz, untuk sebagian besar.
Sasha Chedygov
Jangan gunakan GHz untuk membandingkan prosesor, gunakan beberapa hasil tes kecepatan / beban untuk membandingkan kecepatan efektif suatu prosesor. Prosesor 3G dual core mungkin lebih lambat dari 2,4 GHz i7 (i7 tidak memiliki bus depan, ...) ...
Ben
2
@ Ben, harus jelas bahwa itu akan menjadi arsitektur prosesor yang sama (misalnya 45nm Core 2 Duo vs Quad).
Mircea Chirea

Jawaban:

53

CATATAN: Jawaban ini ditulis 8 tahun yang lalu. Sejak itu, pemrograman paralel menjadi lebih relevan. Ini kemungkinan karena batas kecepatan clock yang melekat dan batas ukuran transistor yang semakin dekat.


Masalah utama Anda adalah perangkat lunak yang tidak ditulis untuk multi-core.

Lihatlah artikel hebat Jeff Atwood tentang Memilih Dual core atau Quad Core .

untuk sebagian besar perangkat lunak, Anda mencapai titik pengembalian menurun dengan sangat cepat setelah dua core. Di Quad-Core Desktops dan Diminishing Returns , saya mempertanyakan seberapa efektif perangkat lunak saat ini dapat benar-benar menggunakan bahkan empat core CPU, apalagi delapan dan enam belas core CPU yang tak terhindarkan yang akan kita lihat beberapa tahun dari sekarang.

Anda dijawab di sini (sorotan disalin dari artikel Jeff),

Namun, ada beberapa kejutan di sini, seperti Excel 2007, dan pengaturan "concurrent operations" Lost Planet. Ada kemungkinan rekayasa perangkat lunak pada akhirnya akan maju ke titik bahwa kecepatan clock kurang penting daripada paralelisme. Atau akhirnya itu mungkin tidak relevan, jika kita tidak bisa membuat pilihan antara kecepatan clock yang lebih cepat dan lebih banyak core CPU. Tetapi sementara itu, kecepatan clock menang sebagian besar waktu. Semakin banyak inti CPU tidak secara otomatis lebih baik . Pengguna biasa akan lebih baik dengan CPU dual-core tercepat yang mereka mampu.


Masalah Bus Sisi Depan (istilah itu selalu menghibur saya).
Dengan Nehalem segalanya berubah ... seperti yang dikatakan ArsTechnica tahun lalu.

Hukum Moore telah memberi malu pada perancang prosesor kekayaan transistor, dan tidak ada yang lebih jelas daripada prosesor Nehalem 45nm milik Intel. Memulai debutnya dalam varian 4- dan 8-core akhir tahun ini, Nehalem mengemas satu ton perangkat keras ke dalam soket prosesor tunggal. (Angka awal menyebutkan jumlah transistor quad-core Nehalem pada 781 juta; belum ada nomor untuk model 8-core yang muncul.) Tetapi mencoba memberi makan semua perangkat keras dengan arsitektur bus frontside platform Intel saat ini akan menjadi kebodohan. Jadi, sama pentingnya, Nehalem juga terdengar lonceng kematian yang sudah lama ditunggu untuk arsitektur bus frontside Intel positif geriatrik.

Perubahan radikal dalam situasi bandwidth sistem Intel yang ditunjukkan QuickPath Interconnect (QPI) baru Intel mungkin merupakan faktor tunggal terbesar yang membentuk desain Nehalem. Antara QuickPath dan pengontrol memori terintegrasi Nehalem, prosesor Nehalem akan memiliki akses ke jumlah agregat bandwidth yang belum pernah terjadi sebelumnya, terutama dalam implementasi dua dan empat soket.

AMD memindahkan pengontrol memori ke prosesor sebelumnya dan menggunakan Hypertransport.

nik
sumber
3
Masalah lain yang perlu dipertimbangkan adalah kinerja bus sisi depan. Dengan begitu banyak core, begitu banyak memori, dan program-program besar seperti itu, akses ke memori menjadi sangat penting! Jika CPU memiliki kesalahan untuk mendapatkan memori utama, itu akan merusak kinerja. Semakin banyak Anda melakukan multitask, semakin besar kemungkinan hal ini terjadi, terlepas dari seberapa besar cache cache yang diperoleh.
geoffc
1
Dalam 8 tahun sejak pertanyaan ini dibuka pada 2009, banyak hal telah berubah. Perangkat lunak sekarang jauh lebih baik dalam memanfaatkan banyak core, dan tren ini hanya akan berlanjut.
Contango
1
@Contango Setuju, jawaban ini perlu diperbarui untuk mencerminkan tren saat ini.
18

Dalam pengalaman saya, ada manfaat kinerja yang sangat besar mulai dari satu hingga dua core. Tiba-tiba satu program CPU tinggi tidak mengunci mesin Anda atau membuatnya sangat lambat. Perbedaan besar.

Tapi dua atau empat? Bagi 99% orang, itu tidak akan membuat perbedaan. Anda harus menjalankan banyak program sekaligus atau menggunakan program yang dapat memanfaatkan lebih dari 2 core (dan secara realistis tidak ada banyak dari mereka). Pembuat enkode media tertentu muncul dalam pikiran.

Ada juga perbedaan antara Intel Core 2s dan AMD Phenoms dalam hal ini. AMD menggunakan Hypertransport, yang merupakan protokol point to point sehingga setiap core memiliki bandwidth khusus. Intel Core 2s (tetapi bukan Core i7s dan CPU berbasis Niehalem lainnya) menggunakan bus sisi depan, yang berbagi bandwidth sehingga Anda memiliki lebih banyak core yang bersaing untuk bandwidth yang sama.

Ini berpotensi membuat clock quad core yang sama (sedikit) lebih lambat dalam beberapa keadaan. Nilai untuk uang masih dengan IMHO dual core. Yang sedang berkata, saya punya quad core.

Peter Mortensen
sumber
1
Nehalem menggunakan QPI (QuickPathInterconnect) yang berada di taman yang sama dengan Hypertransport.
nik
10

Saya suka bagaimana Donald Knuth merangkumnya :

Bagi saya, ini kurang lebih seperti para perancang perangkat keras kehabisan ide, dan mereka sedang berusaha menyalahkan kesalahan Hukum Moore di masa depan kepada para penulis perangkat lunak dengan memberi kami mesin yang bekerja lebih cepat hanya pada beberapa tolok ukur kunci! Saya tidak akan terkejut sama sekali jika seluruh ide multithreading ternyata gagal, lebih buruk daripada pendekatan "Itanium" yang seharusnya begitu hebat — sampai ternyata kompiler yang diinginkan pada dasarnya tidak mungkin untuk ditulis .

Biarkan saya begini: Selama 50 tahun terakhir, saya telah menulis lebih dari seribu program, banyak di antaranya memiliki ukuran besar. Saya tidak dapat memikirkan bahkan lima dari program itu yang akan ditingkatkan secara nyata oleh paralelisme atau multithreading. Tentunya, misalnya, beberapa prosesor tidak membantu untuk TeX.

Untuk beberapa aplikasi, sangat mudah untuk mengambil keuntungan dari banyak core. Tetapi beberapa aplikasi lain tidak akan pernah mendapat manfaat dari mereka, sementara yang lain mungkin mendapat manfaat jika pengembang mengoptimalkannya (yang sangat sulit).

Bastien Léonard
sumber
4
Secara umum saya setuju bahwa multi-core tidak akan membantu TeX itu sendiri. Tapi itu akan menjadi kemenangan besar bagi editor TeX grafis, yang berulang kali memanggil TeX untuk memperbarui tampilan saat dokumen sedang diedit.
KeithB
3
Ini adalah salah satu tempat di mana hati saya mencari Knuth, tetapi pikiran saya tidak setuju sama sekali.
nik
5

Untuk desktop utama saya di perusahaan saya, saya menggunakan mesin Xeon quad-core ganda dengan 8 GB RAM.

Ketika saya pemrograman, dan saya memiliki Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (atau 2010) dan contoh lokal Sql Server Express ... semuanya bersenandung dengan baik.

Secara komparatif, saya memiliki dual core sebelumnya, dan segalanya akan mulai merangkak hanya dengan menjalankan Visual Studio, Chrome, dan Sql Express.

Ini masalah apa yang Anda lakukan dengan mesin. Jika Anda adalah pengguna daya yang akan mengedit video, pemodelan 3-d, atau pemrograman dengan sumber daya yang signifikan .. maka ya, Anda akan menginginkan quad-core dan banyak RAM.

Jeff Fritz
sumber
1

Untuk penggunaan sehari-hari dan program yang tidak dioptimalkan multi-core, dual-core cepat akan mengalahkan quad-core yang lebih lambat.

Seiring berjalannya waktu dan aplikasi multi-threaded yang benar menjadi norma quad-core akan maju.

Dari bang untuk perspektif uang Anda, dual-core masih memiliki keunggulan yang nyaman.

Auxonic
sumber
1

Tergantung. Jika Anda melakukan hal-hal yang akan menggunakan setiap inti dengan berat 4 core lebih baik (mengedit video, rendering dll). Kebanyakan orang akan menemukan dua core cepat yang lebih baik saat ini karena tidak banyak aplikasi yang ditulis untuk menggunakan penuh 4 core

David Hayes
sumber
1

Perhatikan bahwa prosesor i7 terbaru benar-benar dapat meningkatkan kecepatan clock pada core aktif ketika tidak semuanya diperlukan; misalnya, jika Anda memiliki quad-core pada 2.4GHz, tetapi perangkat lunak hanya membutuhkan 2 core untuk berjalan, maka secara otomatis clock bisa mencapai 2.8GHz (bukan angka sebenarnya, hanya sebuah contoh).

Dan generasi terbaru dari i7 saya pikir dapat mencatat 3 atau 4 nampan jika hanya satu atau dua core yang dibutuhkan. Dengan demikian, itu mungkin tidak berakhir sebagai trade-off seperti saat ini ...

jerigen
sumber
1

Menurut Anandtech.com :

Semuanya bermuara pada TDP chip, atau Thermal Design Point-nya. Semakin banyak platform yang dibatasi oleh TDP, semakin Anda bisa mendapatkan dari mode Turbo Intel. Biarkan saya meletakannya dengan cara yang lain; untuk memasukkan empat core ke TDP 130W, setiap core harus berjalan pada kecepatan clock yang lebih rendah daripada jika kita hanya memiliki satu core pada TDP yang sama.

Pada TDP yang lebih tinggi, biasanya ada ruang kepala termal yang cukup untuk menjalankan masing-masing core cukup tinggi. Pada TDP yang lebih rendah, produsen CPU harus melakukan tradeoff antara jumlah core dan kecepatan clock mereka - di situlah kita bisa bersenang-senang.

Ini semua dalam konteks harus memilih antara inti (atau utas) dan frekuensi inti.

Ivo Flipse
sumber
Apakah ini lebih relevan untuk minat overclocking? Artikel yang bagus.
nik
0

Dalam kasus Anda, quad-core akan lebih baik. Ingat, semakin banyak inti yang Anda miliki, semakin banyak pemrosesan paralel yang dapat Anda lakukan. Jadi pada dual-core Anda, Anda mungkin dapat menjalankan satu aplikasi lebih cepat daripada quad, tetapi quad dapat menjalankan 4 aplikasi lebih cepat dari pada dual Anda. Selain itu, jika aplikasi ditulis untuk diproses secara paralel (multi-threaded), maka aplikasi akan berjalan lebih baik pada arsitektur multi-core.

Ini semua relatif, karena quad-core berjalan pada 100 Mhz tidak akan keluar melakukan dual-core 4 Ghz. Namun secara umum, semakin banyak inti semakin baik.

Yusuf
sumber
Anda mengasumsikan bahwa aplikasi yang dapat bekerja pada dua core juga akan dapat memanfaatkan empat core. Itu tidak selalu benar.
nik
@nik Tidak, bukan, saya menyatakan bahwa aplikasi multi-ulir akan berkinerja lebih baik pada arsitektur multi-inti. Saya tidak menunjukkan apa pun tentang keuntungan proporsional atas jumlah inti yang Anda miliki.
Joseph
0

Tergantung apa yang Anda lakukan dan kemampuan OS dan aplikasi Anda.

Jika Anda memiliki OS yang ringan dan menjalankan satu aplikasi yang terikat CPU yang hanya dapat menggunakan satu prosesor maka dua prosesor pada kecepatan yang lebih tinggi akan menjadi pilihan yang lebih baik.

Jika tidak, jika OS dapat menjadwalkan semua core secara efektif dan Anda menjalankan banyak aplikasi atau aplikasi yang dapat menggunakan lebih dari satu prosesor quad-core yang lebih lambat maka orang akan mengharapkan kinerja yang lebih baik untuk konsumsi daya yang lebih rendah dan karenanya lebih sedikit keluaran panas.

mas
sumber
0

Jika Anda melakukan banyak encoding video, rendering 3d, atau kode sumber terdistribusi dibangun maka semakin banyak core semakin baik. Anda akan melihat perbedaan mencolok dalam kinerja untuk jenis aplikasi ini saat Anda berpindah dari 1 ke 2 ke 4 ke 8 core.

Kalau tidak, menjalankan aplikasi standar benar-benar tidak akan mendapat manfaat dari lebih banyak core. Bahkan game benar-benar tidak akan mengeksploitasi banyak core. IMO, Anda lebih baik menghabiskan uang untuk kartu grafis yang lebih baik.

Nick Haddad
sumber
0

Tergantung.

Sangat banyak sehingga.

Anda dapat dengan mudah menemukan quad-core hanya dengan menggunakan dua core. Ini sebagian berkaitan dengan OS dan desain perangkat lunak. Terlebih lagi, mereka masih berbagi segalanya, terutama memori, disk, dan perangkat.

Anda tahu OS tidak akan boot (terasa) lebih cepat dan halaman web tidak akan mengunduh lebih cepat (mereka mungkin menggambar lebih cepat).

dlamblin
sumber