Neden çok çekirdekli işlemciler?


16

Çipler neden daha fazla çekirdek içeriyor? Neden daha büyük bir tek çekirdekli işlemci üretmiyoruz? Üretimi daha kolay mı? Programların, ayrı çekirdekler kullanarak çok iş parçacıklı olmasına izin vermek mi?


Nedeni çoğunlukla pazarlama. Çoğu kullanıcı çok çekirdekten faydalanamaz, ancak daha iyi bir şekilde hiperlenir. Çoğunlukla sunucular veya ileri düzey kullanıcılar için anlamlıdır.
harrymc

Elbette yutturmaca var, ama faydası da var. Günümüzde çoğu kullanıcı çoklu çekirdekten (yani tipik olarak çift çekirdekli) yararlanabilir, çünkü çoğu kullanıcı birden fazla yürütme iş parçacığına sahip bir işletim sistemi kullanır. Ancak hala Windows 95 veya daha eski sürümleri kullananlar için, çok çekirdekli yazılımın muhtemelen tam bir zaman kaybı olduğu konusunda hemfikirim.
irrasyonel John

at harrymc: "Nedeni çoğunlukla pazarlama. Çoğu kullanıcı çok çekirdekten faydalanmayacak, ancak daha iyi hiper. Daha çok sunucular veya ileri düzey kullanıcılar için mantıklı." --- Bu açgözlü yılan petrol satıcıları ...
Daniel

Yanıtlar:


25

Birden çok çekirdeğe yönelme eğilimi, CPU tasarımcılarının giderek artan frekans ölçeklendirmesiyle birlikte gelen güç tüketimi probleminden kaçınmasına yardımcı olan bir mühendislik yaklaşımıdır. CPU hızları 3-4 Ghz aralığına yükseldikçe, daha hızlı gitmek için gereken elektrik gücü engelleyici olmaya başladı. Bunun teknik nedenleri karmaşıktır, ancak ısı kayıpları ve kaçak akım gibi faktörler (yararlı bir şey yapmadan devreden geçen güç) her ikisi de frekanslar arttıkça daha hızlı artar. 6 GHz genel amaçlı bir x86 CPU oluşturmak kesinlikle mümkün olsa da, bunu verimli bir şekilde yapmak ekonomik değildir. Bu yüzden çok çekirdekliğe geçiş başladı ve bu yüzden bu eğilimin en azından paralelleşme sorunları aşılmaz hale gelene kadar devam edeceğini göreceğiz.

Pratik bir örnek olarak, E5640 Xeon (2.66 GHz'de 4 çekirdek) 95 watt'lık bir güç zarfına sahipken, L5630 (2.13 GHz'de 4 Çekirdek) sadece 40 watt gerektirir. Çoğunlukla özellik özellikli CPU'lar için% 24 daha fazla CPU gücü için% 137 daha fazla elektrik gücü. X5677, biraz daha fazla özellik ile hızı 3,46 GHz'e kadar yükseltiyor, ancak bu,% 225 daha fazla elektrik gücü için sadece% 60 daha fazla işlem gücü.

Şimdi X5560'ı (2.8 GHz, 4 çekirdek, 95 watt) daha yeni X5660 (2.8 GHz, 6 çekirdek, 95 watt) ile karşılaştırın ve sokette% 50 ekstra bilgi işlem gücü var (potansiyel olarak, Amdahl yasasının bize karşı nazik olduğunu varsayarak) şimdi) herhangi bir ek elektrik gücü gerektirmeden. AMD'nin 6100 serisi CPU'ları, elektrik güç tüketimini düz tutarken 2400 \ 8400 serisi üzerinde toplam performansta benzer kazançlar görüyor.

Tek iş parçacıklı görevler için bu bir sorundur, ancak gereksinimleriniz dağıtılmış bir işlem kümesine veya sanallaştırma kümesine büyük miktarlarda toplam CPU gücü sağlamaksa, bu makul bir yaklaşımdır. Bu, günümüzde çoğu sunucu ortamı için, her CPU'daki çekirdek sayısını ölçeklendirmek, daha hızlı \ daha iyi tek çekirdekli CPU'lar oluşturmaya çalışmaktan çok daha iyi bir yaklaşımdır.

Eğilim bir süre devam edecek, ancak zorluklar var ve sürekli olarak çekirdek sayısını ölçeklendirmek kolay değil (bellek bant genişliğini yeterince yüksek tutmak ve çekirdek sayısı arttıkça önbellekleri yönetmek daha da zorlaşıyor). Bu, soket başına çekirdek sayısındaki mevcut patlayıcı büyümenin birkaç kuşakta yavaşlaması gerekeceği ve başka bir yaklaşım göreceğimiz anlamına geliyor.


3
5 yıl önce hala 3,6 GHz CPU'nun en son teknolojiye sahip 2,8 GHz CPU'dan daha hızlı olduğunu düşünen insanlara bunu kaç kez açıklamaya çalıştığımı söyleyemem. Çok sinir bozucu. Megahertz mitinden nefret ediyorum.
churnd

Elektrik sinyalleri için de ışık hızından dolayı fiziksel bir sınırlama yok mu?
mouche

1
@churnd - Ama bir şekilde haklı olduklarını göz önünde bulundurun. Çünkü hızı güçle karıştırmamalıyız (3,6 Ghz kuşkusuz 2,8 Ghz'den daha hızlıdır; ne olmadığı daha güçlüdür). Daha yüksek hızlara sahip olması gereken, ancak diş açma / paralel programlama teknikleri konusunda henüz yeterli olmayan programcılar için önemli bir fark yaratabilir.
Rook

3
@ldigas Bu programcılar çekirdek saat hızlarını değil, tek çekirdekli komut yürütme oranlarını önemsiyorlar. Modern CPU'lar, saat hızı daha düşük olsa bile, çok daha yüksek tek çekirdekli komut yürütme oranlarına sahiptir.
David Schwartz

5

Onları daha hızlı hale getirmek çok zorlaşıyordu.

Sorun şu ki, bir kerede bir sürü talimat üzerinde çalışmanız gerekiyor, mevcut x86 cpu bir kerede 80 veya daha fazla talimat üzerinde çalışıyor ve P4, heck ile vurulduğu için limit olduğu anlaşılıyor Pentium Pro, 1995'te 40 yaptı. Tipik talimat akışları, bir kerede birkaç talimatdan daha fazlasını yürütmek için (dalları, bellek erişimini vb. tahmin etmeniz gerekir) ötesinde öngörülebilir değildir (486 5 yaptı, Pentium 10 yaptı, ancak) .

Bu yüzden onları daha geniş (talimatın her bir parçasını yapmak için daha işlevsel birimler), daha uzun (gecikmeyi gizlemek için daha derin boru hatları) yapabilirsiniz, ancak çok iyi görünmüyor. Ve saat hızıyla da bir duvara çarpmışız gibi görünüyor. Ve hala hafızayı geride bırakıyoruz. Bu yüzden birçok cpu'ya bölünmek bir kazanç gibi görünüyor. Ayrıca, önbellekleri paylaşabilirler.

Biraz daha fazlası var, ancak geleneksel programlara kadar kaynar, nasıl tasarlanacağını ve inşa edileceğini hayal edebileceğimiz herhangi bir donanımda önemli ölçüde daha hızlı çalıştırılamıyor.

Şimdi tahmin edilebilirlik bir sorun değilse, örneğin birçok bilimsel sorun ve grafik (genellikle bu sayı kümesini bu sayı kümesiyle çarpmak için kaybolurlar), durum böyle değildir ve Intel'in IA64'ün popülaritesi ( Itanium) ve GPU'lar, bu da hızlanmaya devam ediyor, ancak Word'ü daha iyi çalıştırmanıza yardımcı olmayacaklar.


4

Tek bir işlemcinin bilgi işlem gücü ve saat frekansı birkaç yıl önce zirveye ulaştı, mevcut olanlardan daha güçlü ve / veya daha hızlı işlemciler oluşturmak kolay değil; büyük CPU üreticileri (Intel, AMD) stratejiyi değiştirdi ve çok çekirdekli oldu. Bu, elbette, çoklu görevlerin tüm gücünü kullanmak için uygulama geliştiricilerinden çok daha fazla çalışma gerektirir: tek bir görevde çalışan bir program, çok çekirdekli bir CPU'dan herhangi bir fayda sağlamaz (sistem bir Genel bonus çünkü tek bir işlem tek bir CPU'yu% 100 kullanıma alırsa kilitlenmez).

Fiziksel mimari hakkında (birden çok tek çekirdekli işlemci yerine çok çekirdekli işlemciler) ... Intel'e sormalısınız. Ama bunun tek bir CPU soketi ile tasarımı ve üretimi çok olan kartlardan çok daha kolay olan anakartlarla bir ilgisi olduğundan eminim.


2
Sonunda, Amdahl yasası hakkında Moore yasasından daha fazlasını duyacağımızı umuyorum .
Evan Anderson

1

Saat hızlarını arttırmak için, çip üzerindeki silikon transistörlerin daha hızlı geçiş yapabilmesi gerekir. Bu daha yüksek hızlar, daha yüksek sızıntıya neden olan daha yüksek giriş voltajları ve yarı iletken üretim süreçleri gerektirir ; bunların ikisi de güç tüketimini ve ısı çıkışını artırır. Sonunda aşırı miktarda güç gerektirmeden veya egzotik soğutma çözümleri kullanmadan saat hızlarını daha fazla artıramayacağınız bir noktaya ulaşırsınız.

Bu sorunu göstermek için, iki modern AMD işlemcisini karşılaştıracağım. AMD FX-9590, kutudan 5 GHz'e kadar saat hızlarına ulaşabilir, ancak 32nm çip için son derece yüksek olan 1.912 V'a kadar çekirdek voltajlarında çalışır ve deli bir 220 watt ısı yayar. Aynı kalıba dayanan FX-8350 maksimum 4,2 GHz'de çalışır, ancak maksimum 1,4 V'da çalışır ve 125 watt harcar.

Sonuç olarak, mühendisler saatleri daha da artırmaya çalışmak yerine, yongaların aynı anda birden çok işlemi, yani çok çekirdekli işlemcileri çalıştıracak şekilde tasarlanması da dahil olmak üzere diğer yollarla daha hızlı çalışmasını sağlamaya çalıştılar.


0

Moore yasası . Temel olarak işlemciler daha hızlı hale getirilemez (frekans 5 yıl önce 3 GHz'e ulaştı ve asla bunun üzerine çıkmadı), bu yüzden daha fazla çekirdek alarak daha güçlü hale getirildi.


IMHO Moore yasası bir tahminden çok bir tanımdır ... emin olun ve hala öyle, ama yarın kırılmayacağını garanti eden hiçbir şey yok. Bir mühendise gidemezsiniz ve ona "bunu yapabilmelisiniz, çünkü moore yasası bunun yapılabileceğini söylüyor" diyemezsiniz, fizik artık buna izin vermeyecektir.
vlad-ardelean
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.