Hiper iş parçacığı ve çoklu çekirdek arasındaki fark nedir?


42

Ağ yöneticisi ile yapılan bir konuşmada, makinemin çift çekirdekli olduğunu söyledim. Bana olmadığını söyledi. Görev yöneticisini büyüttüm, performans sekmesine gittim ve ona iki ayrı CPU kullanım grafiği olduğunu gösterdim. Evde dört çekirdekli bir makinem var ve dört grafiği var. Bu makinede hiper iş parçacığı yüzünden iki grafik olduğunu söyledi. Eskiden hiper iplikli bir pentium 4 işlemcim vardı, ama ne anlama geldiğini tam olarak anlamadım. Peki, hiper iş parçacığı ve çift çekirdekli arasındaki fark nedir? Ve hangisine sahip olduğunuzu nasıl söylersiniz?

Yanıtlar:


20

Hyper-threading , tek bir fiziksel CPU çekirdeği için birden fazla mantıksal çekirdek ortaya çıkarır . Basit bir ifadeyle, hiper iş parçacığı bağlam değiştirme her CPU çekirdeği için daha verimli hale getirir .

Öte yandan, çift çekirdekli yongalar aslında aynı anda farklı işlemleri gerçekleştirebilen iki fiziksel CPU çekirdeğine sahiptir.

İkiden fazla çekirdeğe sahip diğer çok çekirdekli yongalar da var ve - Svish'in dediği gibi - Intel'in en yeni çok çekirdekli teklifleri aynı zamanda tüm çekirdekte Hyper-thread özelliğini destekliyor.

Kaç tane çekirdeğiniz olduğunu belirlemek için CPU-Z gibi bir CPU tanımlama yardımcı programını kullanabilirsiniz . Ekran görüntüsünün alt kısmında görebileceğiniz gibi, bu durumda CPU 2 fiziksel çekirdeğe sahiptir. Diş sayısı çekirdek sayısından fazla ise, Hyper-threading etkinleştirilir. Hyper-threading özellikli tüm tüketici odaklı CPU'larda çekirdek başına 2 iplik vardır, bu nedenle HT etkinse, iplik sayısı çekirdek sayısının 2 katı olacaktır.

görüntü tanımını buraya girin

Bir Intel CPU'nuz varsa, bunun yerine Intel'in CPU ID yardımcı programını indirebilirsiniz .


Ve hiper iş parçacığı destekleyen çok çekirdekli yongalar böylece iki kat mantıksal çekirdek elde edersiniz.
Svish

Teşekkür! Hangi tür CPU'ya sahip olduğumu (işletim sisteminden) nasıl anlarım?
Josh Stodola

3
UltraSparc T2 +, her biri 8 yongayı destekleyen ve her biri tek bir yongada 64 sanal işlemci yapan 8 Çekirdeğe sahip: en.wikipedia.org/wiki/UltraSPARC_T2
jlliagre

Sahip olduğunuz CPU'yu tanımanın yolu, çalıştırdığınız işletim sistemine bağlıdır.
jlliagre

@jilliagre: nice!
soymak

16

Hiper iş parçacığı, işlemcinizin 2 fiziksel işlemci çekirdeğine sahip olduğunu iddia ettiği, ancak yalnızca 1 ve bazı ekstra önemsiz şeylere sahip olduğu yerdir.

Hiper-dişlemenin amacı, işlemcide kod yürütürken, işlemcinin boşta olan kısımları olduğudur. Ek bir CPU kayıt takımı ekleyerek, işlemci iki çekirdeğe sahip gibi davranabilir ve böylece işlemcinin tüm parçalarını paralel olarak kullanabilir. 2 çekirdeğin her ikisi de işlemcinin bir bileşenini kullanması gerektiğinde, bir çekirdek elbette beklemeye başlar. Bu yüzden çift çekirdekli ve bu tür işlemcilerin yerini alamaz.

Ayrıca bakınız: Bu soru


6

Hyperthreading çift çekirdekli olanlara göre daha ucuz ve daha yavaş bir alternatiftir

Kılavuzu Programlama Intel Manuel Cilt 3 Sistem - 325384-056US Eylül 2015 8.7 "Intel Hyper-Threading TEKNOLOJİ MİMARİSİ" HT kısaca açıklanmaktadır. Aşağıdaki şemayı içerir:

görüntü tanımını buraya girin

TODO, gerçek uygulamalarda ortalama yüzde ne kadar daha yavaş?

Hyperthreading mümkündür çünkü modern tek işlemcili çekirdekler zaten komut satırında birden fazla komut uygularlar https://en.wikipedia.org/wiki/Instruction_pipelining

Komut satırı, devrenin her bir parçasının herhangi bir zamanda kullanılmasını sağlamak için tek bir çekirdeğin içindeki fonksiyonların ayrılmasıdır: hafızanın okunması, kod çözme talimatı, talimatların yürütülmesi vb.

Hyperthreading, aşağıdakileri kullanarak işlevleri ayırır:

  • gerçekte boru hattıyla talimatları çalıştıran tek bir arka uç.

    Çift çekirdekli iki arka uç vardır, bu da daha fazla maliyet ve performansı açıklar.

  • iki talimat akışını alan ve bunları tek bir arka ucun borulama kullanımını en üst düzeye çıkaracak şekilde tehlikelerden kaçınarak düzenleyen iki ön uç .

    Çift çekirdekli, her bir arka uç için bir tane olmak üzere 2 ön uca sahip olacaktır.

    Talimatın yeniden sıralanmasının fayda yaratmadığı, hiper-titremeyi işe yaramaz hale getiren son durumlar vardır. Ancak ortalama olarak önemli bir gelişme sağlar.

Tek bir çekirdekteki iki köprü, yalnızca L3'ü paylaşan iki farklı çekirdekten daha fazla önbellek düzeyini (TODO kaç tane? L1?) Paylaşır, bakınız:

Her köprü dizisinin işletim sistemine gösterdiği arabirim gerçek çekirdeğinkine benzer ve her ikisi de ayrı ayrı kontrol edilebilir. Bu cat /proc/cpuinfoyüzden bana 4 işlemciyi gösteriyor, ancak her birinde 2 köprü olan sadece 2 çekirdeğim var.

Bununla birlikte işletim sistemleri, belirli bir programın birden fazla ipliğini tek bir çekirdek üzerinde çalıştırmak için hangi çekirdeklerin aynı çekirdekte olduğunu bilmek avantajını kullanabilir ve bu da önbellek kullanımını artırabilir.

Bu LinusTechTips videosu açık yürekli teknik olmayan bir açıklama içeriyor: https://www.youtube.com/watch?v=wnS50lJicXc


1
"TODO" sorularınızı cevaplayacak mısınız?
pacoverflow

1
Birisi :-) benim için yanıtı değiştirebilir eğer ben bir gün cevabını öğrenmek veya eğer @pacoverflow
Ciro Santilli新疆改造中心法轮功六四事件
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.