CPU Cores: Ne kadar iyi?


69

Şu anda iş yerinde bir çift çekirdekli işlemci ve evde bir dört çekirdekli var. Her iki bilgisayarın da uygulamaları başlatırken / internette gezinirken oldukça eşit olduğunu fark ettim.

Görebildiğim fark, çift çekirdeğimin 2.8GHz ve dört çekirdeğimin 2.4GHz olmasıdır.

Hızlı saat hızına sahip bir çift çekirdekli veya vasat saat hızına sahip bir dört çekirdekli olması daha mı iyidir?


5
'Hızlı' ve 'vasat' görecelidir. Senin durumunda, dört çekirdekli daha iyi olurdu çünkü saat hızlarındaki fark sadece 400 MHz. Bununla birlikte, 3 GHz'lik bir çift çekirdekli, çoğu zaman 1.5 GHz'lik dört çekirdekten daha iyidir.
Sasha Chedygov

İşlemcileri karşılaştırmak için GHz kullanmayın, işlemcinin etkin hızını karşılaştırmak için bazı hız / yük test sonuçlarını kullanın. Bir çift çekirdekli 3GHz işlemci 2,4 GHz i7'den daha yavaş olabilir (i7 ön veri yolu yok ...) ...
Ben

2
@Ben, aynı işlemci mimarisi olacağı açık olmalıdır (örn. 45nm Core 2 Duo vs Quad).
Mircea Chirea,

Yanıtlar:


53

NOT: Bu cevap 8 yıl önce yazıldı. Paralel programlama o zamandan beri daha alakalı hale geldi. Bu, içsel saat hız limitleri ve yaklaşmakta olan hızlı transistör boyut limitleri nedeniyle olasıdır.


Birincil probleminiz çok çekirdekli bir yazılım değil.

Jeff Atwood'un Çift çekirdekli veya Dört Çekirdekli Seçimi hakkındaki mükemmel makalesine bakın .

çoğu yazılım için, iki çekirdekten sonra çok hızlı bir şekilde azalan dönüş noktalarına çarpıyorsunuz. In Dört Çekirdekli Masaüstü ve Azalan Verim , ben bugünün yazılım gerçekten biz bundan bir kaç yıl göreceksiniz çok daha az, hatta kaçınılmaz sekiz ve onaltı CPU çekirdeği dört CPU çekirdeği kullanabilirsiniz ne kadar etkili sorguladı.

Burada cevaplanırsınız (Jeff'in makalesinden kopyalananları vurgulayın),

Ancak, burada Excel 2007 ve Lost Planet "eşzamanlı işlemler" ayarı gibi bazı sürprizler vardı. Yazılım mühendisliğinin, saat hızının paralellikten daha az önemli olduğu noktaya gelmesi olasıdır. Veya daha hızlı saat hızları ve daha fazla CPU çekirdeği arasında seçim yapamazsak, sonuçta alakasız olabilir. Ancak bu arada, saat hızı çoğu zaman kazanır. Daha fazla CPU çekirdeği otomatik olarak daha iyi değildir . Tipik kullanıcılar, karşılayabilecekleri en hızlı çift çekirdekli CPU ile daha iyi olacaklardır.


Ön Taraf Veri Yolu sorunu (bu terim her zaman beni eğlendirdi).
Nehalem ile işler değişti ... ArsTechnica'nın geçen yıl söylediği gibi.

Moore Yasası, işlemci tasarımcılarına transistör zenginliklerini utandırdı ve hiçbir yerde Intel'in 45nm Nehalem işlemcisinden daha belirgin değil. Bu yılın sonunda 4- ve 8 çekirdekli varyantlarda ilk kez piyasaya çıkan Nehalem, tek bir işlemci soketine bir ton donanım paketliyor. (İlk sayılar dört çekirdekli Nehalem'in transistör sayısını 781 milyona çıkardı; 8 çekirdekli model için henüz hiç bir rakam çıkmadı.) Ancak bu donanımı tüm Intel platformunun mevcut ön veri yolu mimarisiyle beslemeye çalışmak aptallık olurdu. Bu yüzden, en önemlisi, Nehalem ayrıca Intel'in olumlu geriatrik ön otobüs mimarisinin gecikmiş ölüm zilini de çalar.

Intel'in sistem bant genişliği durumundaki radikal değişim, Intel'in yeni QuickPath Interconnect'in (QPI) temsil ettiği, belki de Nehalem'in tasarımını şekillendiren en büyük tek faktördür. QuickPath ve Nehalem'in entegre bellek denetleyicisi arasında bir Nehalem işlemcisi, özellikle iki ve dört soketli uygulamalarda, benzeri görülmemiş bir toplam bant genişliğine erişebilecek.

AMD, bellek denetleyicisini işlemciye daha önce taşıdı ve Hypertransport'u kullandı.


3
Dikkate alınacak bir diğer konu ise ön veri yolu performansı. Çok fazla çekirdek, çok fazla bellek ve bu kadar büyük programlarla belleğe erişim kritik hale geliyor! CPU ana belleğe ulaşmak için hata yapmak zorunda kalırsa, performansa zarar verir. Ne kadar çok görevli olursanız, çip önbelleğinde ne kadar büyük olduğuna bakılmaksızın, bu o kadar olasıdır.
geoffc

1
Bu sorunun 2009 yılında açılmasından bu yana geçen 8 yılda, işler değişti. Yazılım artık birçok çekirdekten faydalanma konusunda çok daha iyi ve bu trend devam edecek.
Contango

1
@Contango Anlaşıldı, bu cevabın mevcut eğilimleri yansıtacak şekilde güncellenmesi gerekiyor.

18

Tecrübelerime göre, bir ila iki çekirdekten oluşan devasa bir performans avantajı var. Birdenbire yüksek bir CPU programı makinenizi kilitlemez veya kullanılamaz şekilde yavaşlatmaz. Büyük fark.

Ama iki ila dört? İnsanların% 99'u için bir fark yaratmaz. Aynı anda çok sayıda program çalıştırmanız veya 2'den fazla çekirdekten faydalanabilecek programlar kullanmanız gerekir (ve gerçekçi olarak bunların çoğu yok). Bazı medya kodlayıcıları akla gelir.

Bu konuda Intel Core 2'ler ve AMD Phenom'ları arasında da bir fark var. AMD, her bir çekirdeğin kendine özgü bant genişliğine sahip olması için protokolü işaret eden bir nokta olan Hypertransport'u kullanır. Intel Core 2s (ama değil Çekirdek i7s ve diğer Niehalem tabanlı CPU) aynı bant genişliği için yarışan fazla çekirdeğe sahip böylece bant genişliği paylaşılan bir FSB kullanın.

Bu, bazı durumlarda aynı saat dört çekirdeğini (marjinal olarak) yavaşlatır. Paranın değeri hala çift çekirdekli IMHO ile. Olduğu söyleniyor, dört çekirdekli var.


1
Nehalem, Hypertransport ile aynı parkta bulunan QPI'yi (QuickPathInterconnect) kullanır.
nik

10

Donald Knuth'un özetlemesini seviyorum :

Bana göre, donanım tasarımcılarının fikirleri tükeniyor ve az da olsa daha hızlı çalışan makineler vererek, Moore Yasasının gelecekteki ölümü suçunu yazılım yazarlarına aktarmaya çalışıyor gibi görünüyorlar. temel kriterler! Tüm okuyuculu fikri, bir fiyaskoya dönüştüğünde, bu kadar müthiş olması beklenen "Itanium" yaklaşımından daha kötüyse, istenildiği gibi derleyicilerin yazması imkansız hale gelene kadar hiç şaşırmam. .

Bunu şöyle söyleyeyim: Son 50 yılda, çoğu büyüklükte olan binin üzerinde programı yazdım. Paralellik ya da okuyuculukla gözle görülür biçimde geliştirilecek olan bu programlardan beşini bile düşünemiyorum. Şüphesiz, örneğin, çoklu işlemciler TeX'e yardımcı olmaz.

Bazı uygulamalar için, çoklu çekirdeklerden yararlanmak çok kolaydır. Ancak bazı diğer uygulamalar olacaktır asla başkalarının ederken, onlardan istifade olabilir geliştiriciler (çok zor) onları optimize eğer faydalanırlar.


4
Genel olarak, çoklu çekirdeğin TeX'in kendisine yardım etmeyeceğine katılıyorum. Ancak bir grafik TeX editörü için büyük bir kazanç olacaktır; bu, dokümanı düzenlenirken ekranı güncellemek için defalarca TeX'i çağırır.
KeithB

3
Burası kalbimin Knuth'a gittiği yerlerden biri, ancak aklım tamamen aynı fikirde değil.
nik

5

İşverenimdeki ana masaüstüm için 8 GB RAM'e sahip çift çekirdekli bir Xeon makinesi kullanıyorum.

Programlama yaparken, Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (veya 2010) ve yerel bir SQL Server Express örneği var ... her şey yolunda gidiyor.

Nispeten, daha önce çift çekirdekli bir çekirdeğim vardı ve sadece Visual Studio, Chrome ve Sql Express çalışıyorken işler taramaya başlayacaktı.

Makine ile ne yaptığınız meselesi. Video düzenleme, üç boyutlu modelleme veya önemli kaynaklarla programlama yapacak bir güç kullanıcısıysanız .. o zaman evet, dört çekirdekli ve çok miktarda RAM isteyeceksiniz.


1

Günlük kullanım için ve çok çekirdekli optimize edilmemiş programlar için hızlı bir çift çekirdekli daha yavaş bir dört çekirdekli yenecek.

Zaman geçtikçe ve uygun şekilde çoklu iş parçacıklı uygulamalar norm haline geldiğinde, dört çekirdekli cihazlar ön plana çıkacaktır.

Sizin paranın karşılığını almak için bir patlama, çift çekirdekli hala rahat bir ipucu var.


1

Değişir. Her çekirdeği çok sık kullanacak şeyler yapıyorsanız 4 çekirdek daha iyidir (video düzenleme, oluşturma vb.). Çoğu kişi şu anda iki hızlı çekirdeği daha iyi bulacaktır, çünkü pek çok uygulama 4 çekirdeği tam olarak kullanmak için yazılmaz.


1

En son i7 işlemcilerin, hepsine ihtiyaç duyulmadığında aktif çekirdeklerdeki saat hızını gerçekten artırabileceğini unutmayın; örneğin, 2.4GHz'de dört çekirdekli bir makineye sahipseniz, ancak yazılımın çalışması için yalnızca 2 çekirdeğe ihtiyaç duyuyorsa, otomatik olarak 2.8GHz'e kadar saatlenebilir (gerçek bir şekil değil, sadece bir örnek).

Ve i7'nin en yeni nesli, sadece bir veya iki çekirdeğe ihtiyaç duyulduğunda 3 veya 4 kutuyu doldurabileceğini düşünüyorum. Gibi, şu anda olduğu gibi bir takas olarak kalmak kadar olmayabilir ...


1

Anandtech.com'a göre :

Hepsi çipin TDP'sine veya Termal Tasarım Noktasına kadar kaynıyor. Bir platform ne kadar TDP ile sınırlandırılırsa, Intel'in Turbo modundan o kadar fazla kazanırsınız. Başka şekilde ifade etmeme izin verin; Dört çekirdeği 130W TDP'ye sığdırmak için, her bir çekirdeğin aynı TDP'de yalnızca bir çekirdeğe sahip olduğumuzdan daha düşük bir saat hızında çalışması gerekir.

Daha yüksek TDP'lerde, çekirdeklerin oldukça yüksek olması için genellikle yeterli termal tavan boşluğu bulunur. Daha düşük TDP'lerde, CPU üreticileri çekirdek sayısı ve saat hızları arasında bir değişim yapmak zorunda - bu yüzden biraz eğlenelim.

Tüm bunlar, çekirdekler (veya dişler) ve çekirdek frekans arasında seçim yapmak zorunda olma bağlamındadır.


Bu, overclock ilgisiyle daha mı alakalı? Zaten iyi makale.
nik

0

Senin durumunda dört çekirdekli daha iyi olurdu. Unutmayın, ne kadar çok çekirdeğe sahipseniz o kadar çok paralel işlem yapabilirsiniz. Böylece, çift çekirdekli bilgisayarınızda, tek bir uygulamayı dörtlüden daha hızlı çalıştırabilirsiniz, ancak dörtlü, ikiliden alabileceğinizden daha hızlı 4 uygulama çalıştırabilir. Ayrıca, bir uygulama paralel olarak (çok iş parçacıklı) işlemden geçirilirse, uygulama çok çekirdekli bir mimaride daha iyi çalışacaktır.

Her şey göreceli, ancak 100 Mhz'de çalışan dört çekirdekli bir çift çekirdekli 4 GHz gerçekleştirmeyecek. Genel olarak konuşursak, ne kadar çok çekirdek olursa o kadar iyi olur.


İki çekirdek üzerinde çalışabilecek bir uygulamanın da dört çekirdekten yararlanabileceğini varsayıyorsunuz. Bu her zaman doğru değildir.
nik

@nik Hayır değilim, çok iş parçacıklı bir uygulamanın çok çekirdekli mimaride daha iyi performans göstereceğini belirtiyordum. Sahip olduğunuz çekirdek sayısı üzerinden orantılı kazanç hakkında hiçbir şey belirtmedim.
Joseph,

0

Yaptığınız şeye ve işletim sisteminizin ve uygulamalarınızın yeteneklerine bağlıdır.

Hafif bir işletim sisteminiz varsa ve yalnızca bir işlemciyi kullanabilen tek bir CPU'ya bağlı uygulama kullanıyorsanız, daha yüksek hızda iki işlemci daha iyi bir seçim olacaktır.

Aksi takdirde, işletim sistemi tüm çekirdekleri etkili bir şekilde programlayabilir ve birden fazla işlemciyi daha yavaş dört çekirdekli hale getirebilecek birçok uygulama veya uygulama kullanıyorsanız, daha düşük güç tüketimi ve dolayısıyla daha az ısı çıkışı için daha iyi performans beklenir.


0

Çok fazla video kodlaması, 3B oluşturma veya dağıtılmış kaynak kodu yapıyorsanız, daha fazla çekirdek daha iyi olur. 1 ila 2 ila 4 çekirdek arasında hareket ettiğinizde bu uygulama türleri için performansta belirgin bir fark göreceksiniz.

Aksi halde standart uygulamaları çalıştırmak gerçekten daha fazla çekirdekten faydalanamaz. Oyunlar bile pek çok çekirdekten bu kadar faydalanmayacak. IMO, parayı daha iyi bir grafik kartına harcamaktan daha iyi.


0

Bağlı olmak.

Çok çok.

Yalnızca iki çekirdeği kullanarak dört çekirdekli bir bilgisayarı kolayca bulabilirsiniz. Bunun kısmen işletim sistemi ve yazılım tasarımı ile ilgisi var. Dahası, yine de her şeyi, özellikle de belleği, diski ve cihazları paylaşırlar.

İşletim sisteminin daha hızlı açılmayacağını (gözle görülür şekilde) daha hızlı ve web sayfalarının daha hızlı indirilmeyeceğini biliyorsunuzdur (yine de daha hızlı olabilirler).

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.