CPU performansını tartarken önbellek boyutu veya çekirdek sayısı daha mı önemli?


9

Oğlumun okul için kullanması için bir dizüstü bilgisayar alıyorum, bu yüzden bir oyun makinesi olması gerekmiyor. Bilgisayarları daha önce sıfırdan bir araya getirdim, ama bir süre oldu.

Mevcut giriş seviyesi makinelerin birçoğunun çift çekirdekli veya tek çekirdekli bir CPU ile donatıldığını fark ettim. Çift çekirdekli CPU'ya eşit olan diğer tüm şeylerin muhtemelen daha iyi performans göstereceğini anlıyorum. Ancak, tek çekirdekli çok daha büyük bir L2 önbelleği varsa (tek çekirdekli için 3 MB, çift çekirdekli için 1 MB diyelim)? Bunun performansı da önemli ölçüde etkileyebileceğini biliyorum.

Bellek hızı ve grafik donanımı gibi diğer sistem bileşenlerinin de sistem performansını etkileyeceğini anlıyorum. Sorum şu ki, fazladan bir CPU çekirdeği veya daha fazla önbellek arasında seçim yapmam gerekirse, ne seçmeliyim?


2
Aynı zamanda kullanım senaryosuna da bağlıdır. Hangi yazılımı kullandığınız (ne yaptıkları ve nasıl programlandıkları) üzerinde daha büyük bir etki yaratabilir. Örneğin, geçmişte, daha hızlı Celeronlar genellikle web tarama ve sıradan oyunlar için daha iyiydi, daha yavaş P4'ler ise sıkıştırma ve 3D oyunlar için daha iyiydi.
Synetech

@Synetech, Elbette, bu yılın + 3 yıl tipik uygulamaları anlamına geliyordu. Eski uygulamalar önemli değil.
Pacerier

Yanıtlar:


12

CPU Önbellek

Daha düşük CPU önbelleği, performansı önemli ölçüde düşürecek daha yüksek önbellek kaçırma olasılığıyla sonuçlanır . Bununla birlikte, başka bir tüm çekirdek, bilgisayarın aynı anda en az iki iş parçacığı çalıştırmasına izin verecektir, bu yüzden birini diğerinden seçmeniz gerektiğinde bir değiş tokuş.

CPU önbellek boyutu ve hata oranı

Yukarıdaki grafikte, önbellek boyutu 1 MB'ın üzerinde olduğunda, önbellek kaçırma olasılığının zaten çok düşük olduğunu ve artan önbellek boyutuyla azalan geri dönüşleri gösterdiğini görebiliriz.

CPU Çekirdekleri

Ekstra CPU çekirdekleri, uygulamalar çoklu çekirdeklerden yararlandığında ciddi hız artışları gösterebilir.

Çoğu gerçek dünyadaki uygulamalar için, ekstra yürütme çekirdeği ekstra önbellek üzerinde daha iyi bir performans kazancı sağlayacaktır. Bir bilgisayarın performansını tartarken hem önbellek boyutu hem de çekirdek sayısı hayati önem taşır, ancak başlamak için nispeten düşük miktarda çekirdekle uğraşırken, ekstra çekirdekler genellikle önemli performans kazanımları sağlar.

...


Düşündüğüm şey bu ... ama önbellekle azalan getirilere nereden gireceğinizden emin değildim. Teşekkürler!
David

Ben mi yoksa grafiğin X ekseni oldukça yanlış mı? 4-1 = 3; 16-4 = 12; 64-16 = 48 vb. Ancak hepsi aynı mesafeyle temsil edilir. Ama sanırım grafikte sunulan veriler hala doğru, değil mi? Ayrıca Y ekseninin de buna sahip olduğunu fark ettim.
Utku

@ Hem x ekseni hem de y ekseni logaritmik ölçekler kullanır, x ekseni base-2'yi ve y ekseni base-10'u kullanır.
Etkileme

6

Ekstra çekirdek, kolay, çoğu uygulama için. Optimum koşullar altında iki kez hesaplama yapabilirsiniz. Önbellek yardımcı olur, ancak hızı iki katına çıkarmaz.


3

Doğru seçim (çift çekirdekli ve ekstra önbellek kapasitesi) dizüstü bilgisayarda çalıştırılacak hedef uygulamalara bağlıdır.

Çift çekirdekli işlemciler, tek çekirdekli işlemciye kıyasla teorik olarak yürütme süresini yarı yarıya azaltacaktır. Bununla birlikte, pratikte, paralel uygulama yazma zorlukları nedeniyle 2x hızlanma nadiren elde edilir. Amdahl yasası (link) , uygulamanın yürütme işleminin% 90'ı mükemmel bir şekilde paralelleştirilmiş olsa bile (büyük uygulamalar için zorlu bir görev) hızlandırmanın 2X yerine 1.82X olduğunu gösterir. İkinci çekirdekten gelen hızlanma, yalnızca ölçeklenebilir bir şekilde uygulanmayan uygulamalar için düşecektir.

Daha büyük bir L2 önbellek kapasitesi, @Breakthrough tarafından verilen yanıtta gösterildiği gibi önbelleklerde eksiklik oranını azaltacaktır. Bununla birlikte, cevap , 1MB'nin üzerindeki önbellek kapasitesinin sadece marjinal iyileştirmeler sağlayacağı grafiğinden yanlış bir sonuç çıkarmaktadır. Azalan getiriler, uygulamanın (özellikle çalışma kümesi boyutu bağlantısı ) uygulamasına bağlıdır. Çoğu uygulamanın 1MB üzerinde çalışma kümesi boyutu olması muhtemeldir ve bu nedenle daha büyük önbellekler, uzun gecikmeli DRAM erişiminden kaçınarak performansı artırmaya yardımcı olur (işlemciler ana bellekten 3 büyüklüğe kadar daha hızlı çalışır)

Son olarak, cevabım ikinci bir işlemci üzerinde daha büyük bir önbellek lehine gibi görünse de, en modern CS müfredatının öğrencilere paralel programlama sunmaya odaklandığını belirtmek isterim. Bu nedenle, çok çekirdekli işlemciler performans açısından daha iyi bir seçim olmamasına rağmen daha mantıklıdır



1

Çift çekirdekli makineyi tek çekirdekten tavsiye ederim.

Windows temel olarak aynı anda çok şey yaptığından (örneğin, Web'e göz atarken, Windows Update indirilirken ve virüsten korunma sadece indirilen dosyayı tararken), çift çekirdekli bir sistem çoğunlukla tek çekirdekten daha "duyarlı" makineleri.


0

Önbellek boyutu önemlidir, çünkü önbellek kaçırma olasılığını azaltır. Önbellek kaçması pahalıdır çünkü CPU bellek adresine erişmek için ana belleğe gitmelidir, bu çok daha uzun sürer ve bu nedenle daha yavaş bir bilgisayarla sonuçlanır.

Çekirdek sayısı da önemlidir çünkü daha fazla çekirdek aynı anda çalıştırılabilecek daha fazla işlem vardır. Bu, birden çok komutun paralel olarak çalıştırılabileceği ve daha hızlı bir bilgisayar elde edilebileceği anlamına gelir.

Gördüğünüz gibi, her ikisi de oldukça kritik ve her ikisi de optimize etmek önemlidir, ancak kişisel deneyimlerden, çok çekirdekli bir işlemci yongası, yalnızca bir şeyi optimize etmeniz gerekiyorsa daha büyük bir önbellekten daha faydalıdır ...

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.